編譯安裝ffmpeg以支援mp3,x264等
阿新 • • 發佈:2019-01-26
本來ffmpeg是個挺好的東西,但可能是因為License衝突方面的問題(個人感覺好像是GPLv3跟別的License有衝突),所以這兩年 的ffmpeg中已經不包含如libmp3lame和libx264之類常用庫的支援,這在實際使用中就會很不方便。雖然據說有一些簡單的方法,如《HOWTO: Easily enable MP3, MPEG4, AAC, and other restricted encoders in FFmpeg》,但我試了其中的兩個比較簡單的方法:安裝extra庫和安裝Medibuntu,結果都沒有能達到目的。所以不得不自己編譯安裝ffmpeg。
所用的平臺是Ubuntu 12.04 amd64版。之前主要的問題就是kdenlive和openshot這樣的視訊編輯軟體無法匯出MP4/H.264/Xvid等格式,所以這裡的解決方案也主要是針對這兩個軟體來的。
先按照ffmpeg的官方文件《Compile FFmpeg on Ubuntu》編譯安裝x264和libvpx。不過在64位下要注意,編譯x264時要使用下面的命令(加上--enable-shared),否則編譯ffmpeg會出錯:
./configure --enable-static --enable-shared
64位平臺需要注意此命令執行完成後的結果,其中shared和PIC兩項都必須是yes。
編譯安裝ffmpeg是用kdenlive的《Installing FFmpeg》文件推薦的編譯引數,其中包含的一些庫可能需要自己用apt安裝一下。注意,要裝相應的-dev版本。
./configure --prefix=/usr --enable-shared --enable-libmp3lame --enable-gpl --enable-libfaac \ --enable-libvorbis --enable-pthreads --enable-libfaac --enable-libxvid --enable-x11grab \ --enable-libgsm --enable-libx264 --enable-libtheora --enable-libdc1394 --enable-nonfree \ --disable-stripping --enable-avfilter --enable-libschroedinger --enable-libopencore-amrnb \ --enable-libopencore-amrwb --enable-version3
我是另外裝了這些:
sudo apt-get install libgsm1-dev libschroedinger-dev libdc1394-22-dev
編譯也是用kdenlive推薦的:
make -j3
安裝是用ffmpeg官方推薦的:
sudo checkinstall --pkgname=ffmpeg --pkgversion="5:$(date +%Y%m%d%H%M)-git" --backup=no \ --deldoc=yes --fstrans=no --default hash x264 ffmpeg ffplay ffprobe
這樣一般就可以了。