Ubuntu安裝FFmpeg編碼出MP4文件的方法
FFmpeg是Ubuntu下強大的視頻、音頻編解碼工具。 x264可以編碼出高質(zhì)量的h.264視頻,iPad必須要h.264編碼或mpeg-4編碼的視頻才能正常播放。
由于版權(quán)方面尚未確定,雖然全國很多網(wǎng)站都在使用h.264編碼,但將來很有可能會被版權(quán)問題所困擾,所以Ubuntu官方源默認是不提供h.264編碼的,這就需要我們手工編譯安裝FFmpeg的h.264支持,使之能夠編碼出MP4文件。
Ubuntu下安裝、使用和升級FFmpeg的方法如下
1、安裝支持包
- #libMP3lame
- sudo apt-get remove libMP3lame-dev
- sudo apt-get install nasm
- wget
- tar xzvf lame-3.98.4.tar.gz
- cd lame-3.98.4
- ./configure --enable-nasm --disable-shared
- make
- sudo checkinstall --pkgname=lame-ffmpeg --pkgversion="3.98.4" --backup=no --default --deldoc=yes
#卸載現(xiàn)有的 x264、libx264-dev、FFmpeg
- sudo apt-get remove ffmpeg x264 libx264-dev
#安裝所有的 FFmpeg 和 x264 支持包
- sudo apt-get update
- sudo apt-get install build-essential subversion git-core checkinstall yasm texi2html libfaac-dev libMP3lame-dev libopencore-amrnb-dev libopencore-amrwb-dev libsdl1.2-dev libtheora-dev libvorbis-dev libvpx-dev libx11-dev libxfixes-dev libxvidcore-dev zlib1g-dev
2、安裝x264
- cd
- git clone git://git.videolan.org/x264.git
- cd x264
- ./configure
- make
- sudo checkinstall --pkgname=x264 --pkgversion "2:0.`grep X264_BUILD x264.h -m1 | cut -d' ' -f3`.`git rev-list HEAD | wc -l`+git`git rev-list HEAD -n 1 | head -c 7`" --backup=no --deldoc=yes --fstrans=no --default
3、安裝FFmpeg
- cd
- svn checkout svn://svn.ffmpeg.org/ffmpeg/trunk ffmpeg
- cd ffmpeg
- ./configure --enable-gpl --enable-version3 --enable-nonfree --enable-postproc --enable-libfaac --enable-libMP3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxvid --enable-x11grab
- make
- sudo checkinstall --pkgname=ffmpeg --pkgversion "4:SVN-r`LANG=C svn info | grep Revision | awk '{ print $NF }'`" --backup=no --deldoc=yes --fstrans=no --default
- hash x264 ffmpeg ffplay
4、安裝qt-faststart(可選)
這是個重要的x264再編碼工具, 它的作用是使得視頻不必等待下載完成即可開始播放。
使用方法:
- qt-faststart input.foo output.foo
安裝方法:
- cd ~/ffmpeg
- make tools/qt-faststart
- sudo checkinstall --pkgname=qt-faststart --pkgversion "4:SVN-r`LANG=C svn info | grep Revision | awk '{ print $NF }'`" --backup=no --deldoc=yes --fstrans=no --default install -D -m755 tools/qt-faststart /usr/local/bin/qt-faststart
5、基本安裝完成,你可以保留 ~/x264、~/ffmpeg目錄以便將來升級時使用。
6、升級 FFmpeg 和 x264
- sudo apt-get remove ffmpeg x264 libx264-dev libvpx
- cd ~/x264
- make distclean
- git pull
- cd ~/ffmpeg
- make distclean
- svn update
- ./configure --enable-gpl --enable-version3 --enable-nonfree --enable-postproc --enable-libfaac --enable-libMP3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxvid --enable-x11grab
- make
- sudo checkinstall --pkgname=ffmpeg --pkgversion "4:SVN-r`LANG=C svn info | grep Revision | awk '{ print $NF }'`" --backup=no --deldoc=yes --fstrans=no --default
- hash x264 ffmpeg ffplay
7、使用 FFmpeg and x264
容易的輸出高質(zhì)量視頻的方法是使用FFmpeg中l(wèi)ibx264的預設(shè)模式。你可以手工調(diào)整一些選項 (例如窗口大小: -s 640×480) 。 另外你可以參考 libx264 預設(shè)模式在線列表或再 /usr/local/share/ffmpeg 目錄中查找?guī)椭?/p>
One-pass CRF (Constant Rate Factor) 使用預設(shè)模式:slow. One-pass CRF是經(jīng)常使用的常規(guī)編碼方式. 調(diào)整 -crf 可以改變輸出質(zhì)量. 數(shù)字越小輸出質(zhì)量越高同時輸出尺寸越大. 可使用的數(shù)字范圍是:18 ~ 28。
- ffmpeg -i input.avi -acodec libfaac -ab 128k -ac 2 -vcodec libx264 -vpre slow -crf 22 -threads 0 output.MP4
Two-Pass encode 使用預設(shè)模式: fast. 想要精確設(shè)置目標編碼率、文件大小的時候會使用到這個編碼模式。
- ffmpeg -i input.avi -pass 1 -vcodec libx264 -vpre fast_firstpass -b 512k -bt 512k -threads 0 -f rawvideo -an -y /dev/null && ffmpeg -i input.avi -pass 2 -acodec libfaac -ab 128k -ac 2 -vcodec libx264 -vpre fast -b 512k -bt 512k -threads 0 output.MP4
iPod/iPad 640×480,使用預設(shè)值: slow 和 ipod640:
- ffmpeg -i input.avi -acodec libfaac -aq 100 -ac 2 -vcodec libx264 -vpre slow -vpre ipod640 -crf 26 -map_meta_data 0:0 -vf scale=640:-1 -threads 0 output.MP4
總結(jié):
欲知更多有關(guān)Ubuntu安裝FFmpeg編碼出MP4文件的方法,請點擊Ubuntu如何轉(zhuǎn)換mp4與x264和h.264。