Ubuntu編譯安裝FFmpeg

refer to:

http://www.cnblogs.com/hongyanee/archive/2013/09/09.html


 這幾天安裝FFmpeg搞得很頭疼,直接用apt-get安裝工具安裝會比較方便,但是想要自定義編解碼器就比較麻煩了。所以編譯安裝FFmpeg倒成了一個比較靠譜的做法。

 FFmpeg版本:

 平臺: Ubantu 12.0 64位

1. 首先下載最新版本的FFmpeg源碼

sudo git clone https://github.com/FFmpeg/FFmpeg.git

2. 然後按照需求配置

sudo ./configure --prefix=/usr/local/ffmpeg --enable-shared --enable-nonfree --enable-gpl --enable-pthreads --disable-yasm --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libfaac --enable-libmp3lame --enable-libtheora --enable-libvorbis --enable-libx264 --enable-libxvid --enable-libvpx --enable-x11grab --extra-cflags=-I/usr/local/ffmpeg/include/ --extra-ldflags=-L/usr/local/ffmpeg/lib --enable-version3 --extra-version=syslin 

 

--prefix=PREFIX 設置的是ffmpeg安裝目錄

--enable-shared 設置允許編譯共享庫

--enable-nonfree --enable-gpl 設置對License的限制,分別爲允許使用付費代碼和gpl代碼。

--disable-yasm 禁用匯編程序

--enable-lib* 設置可能會用到的編解碼器

--enable-x11grab 允許錄製屏幕,需要安裝libxfixes庫。

--extra-ldflags 設置動態鏈接庫目錄(後面還會提到)

 

如果設置系統沒安裝的編解碼器,上面命令就會報錯。例如,系統中沒有 libfaac,而上述命令中包含enable-libfaac,上述命令就會執行錯誤。

ERROR: libfaac not found

只要安裝libfaac就可以解決了。執行

sudo apt-get install libfaac-dev

上述配置前,需要執行一個安裝編解碼器的操作。

sudo apt-get install libfaac-dev libmp3lame-dev libopencore-amrnb-dev libopencore-amrwb-dev libtheora-dev libvorbis-dev libvpx-dev libx264-dev libxvidcore-dev libxfixes-dev

 

3. 編譯安裝

sudo make

sudo make install

安裝完成後,如果我們直接運行ffmpeg程序,會報錯:

ffmpeg: error while loading shared libraries: libavdevice.so.55: cannot open shared object file: No such file or directory

這是因爲還有一些動態鏈接庫沒有註冊到系統中。第4步執行註冊動態鏈接庫。

4. 註冊動態鏈接庫

 我們設置了動態鏈接庫的目錄,需要註冊到系統中。

 echo "/usr/local/ffmpeg/lib" > /etc/ld.so.conf.d/ffmpeg.conf

 ldconfig -v

4. 設置快捷方式

 進入ffmpeg的安裝目錄,運行ffmpeg,可以發現是正常的。然後通過設置連接設置快捷方式。

 cd /usr/local/bin

 ln -sf /usr/local/ffmpeg/ffmpeg

 ln -sf /usr/local/ffmpeg/ffserver

 ln -sf /usr/local/ffmpeg/ffprobe

 

這樣ffmpeg就安裝完成了。

 

5. 常見錯誤

Unknown input or output format: x11grab -- 安裝時未設置允許錄製屏幕

error while loading shared libraries: libavdevice.so.55 -- 未註冊動態鏈接庫

ERROR: libfaac not found -- 編解碼器不存在


發佈了30 篇原創文章 · 獲贊 2 · 訪問量 16萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章