压片学习笔记(二)-Linux下的万能视频处理方法

ffmpeg作为一个"万能"的解码器, 有时候实在可以帮我们很多忙.
这个方法的原理是, 安装ffmpeg来开启x264的lavf输入, 内部调用ffmpeg处理各种视频, 从而"一个命令"通吃所有视频:)

1, 编译前准备

sudo apt-get remove ffmpeg x264 libx264-dev
sudo apt-get update
sudo apt-get install build-essential subversion git-core checkinstall yasm texi2html libfaac-dev libfaad-dev libmp3lame-dev libopencore-amrnb-dev libopencore-amrwb-dev libsdl1.2-dev libx11-dev libxfixes-dev libxvidcore4-dev zlib1g-dev

2, 编译安装ffmpeg

svn checkout svn://svn.ffmpeg.org/ffmpeg/trunk ffmpeg
cd ffmpeg
./configure --enable-gpl --enable-postproc --enable-memalign-hack --enable-runtime-cpudetect --disable-devices --disable-filters --disable-encoders --disable-muxers --disable-network --disable-decoder=aac,ac3,adpcm_*,alac,als,ape,atrac?,cook,dca,dsicinaudio,dxa,eac3,flac,interplay_dpcm,mlp,mp1,mp2,mp3,mp3*,mpc?,pcm_*,qcelp,ra_*,sipr,truehd,truespeech,tta,vorbis,wavpack,wma*,twinvq --disable-demuxer=aac,ac3,pcm_*,ape,amr,ass,au,avs,dts,eac3,flac,mp3,mpc,mpc8,truehd,tta,w64,wav,wv --disable-parser=aac,ac3,dca,mlp,mpegaudio
make
sudo checkinstall --pkgname=ffmpeg --pkgversion "4:0.5+svn`date +%Y%m%d`" --backup=no --default

3, 编译安装x264

git clone git://git.videolan.org/x264.git
cd x264
./configure  #这一步看到Lavf支持是"开启", 则ffmpeg配置成功
make
sudo checkinstall --pkgname=x264 --pkgversion "1:0.svn`date +%Y%m%d`+`git rev-list HEAD -n 1 | head -c 7`" --backup=no --default

4, 现在可以用一句话直接压缩视频流了:) 举例:

x264 --crf 20 --preset slower --tune film --vf crop:2,0,-2,0/resize:848*480 --ref 8 --bframes 6 -o <输出文件> <输入文件>

虽然这个方法应该也适用于Windows, 不过我MinGW32没弄成功, 还希望各位大大指教:)

8 thoughts on “压片学习笔记(二)-Linux下的万能视频处理方法”

  1. 汗,这些基本的我懂。但是还没找到有什么办法向视频添加音频。mencdoer的参数是多少哦。man看起累。

Leave a Reply

Your email address will not be published. Required fields are marked *

QR Code Business Card