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没弄成功, 还希望各位大大指教:)
汗,这些基本的我懂。但是还没找到有什么办法向视频添加音频。mencdoer的参数是多少哦。man看起累。
封装…比如你想封装mkv, 就用mmg
晕,几千行的代码也往博客上面贴~~~你不是有个google code仓库么
这个..哈哈..贴上来也没什么…
又是沙发
不是沙发,哈哈… 现在我的评论是倒序输出的, 最新的在最前面..杜绝沙发党 哈哈
还好不算太常~~学习
=.=惨遭反话