Linux系統安裝FFmpeg以及依賴庫
最近這兩週都在搞FFmpeg的安裝,先是在windows平臺上做了一個rtsp音視訊流採集程式。但總監必須要我執行在Linux 平臺上,沒辦法,就這樣開始了我的噩夢。小白一個,大神勿噴。
附件中有:FFmpeg的依賴庫、FFmpeg--help
進入正題了,首先安裝FFmpeg有伴隨的很多依賴庫,這些依賴庫大多是音視訊編解碼器。這個可以根據自己的需求來安裝相印的依賴。總監讓我做的這個程式要用到FFmpeg的依賴庫如下表:
依賴庫名稱 |
說明 |
./configure配置 |
備註 |
yasm-1.3.0 |
接受NASM和GNU彙編器(gas)語法,產出二進位制 |
無 |
|
x264-snapshot-20140817-2245 |
h264編解碼器(依賴yasm) |
--enable-libx264 |
|
fdk-aac-0.1.4 |
aac編解碼器 |
--enable-libfdk-aac |
|
lame-3.99.5 |
mpg, flv, avi, wmv etc的編解碼器 |
--enable-libmp3lame |
|
vo-amrwbenc-0.1.3 |
amr編解碼器 |
--enable-libopencore-amrnb |
安裝後還需建立libopencore-amrnb的軟連結 |
安裝libopencore-amrnb libopencore-amrwb(暫時不知道作用)時使用apt-get去安裝,命令如下:
sudo apt-get install libopencore-amrnb-dev libopencore-amrwb-dev
安裝順序是:
yasm-1.3.0 -> x264 -> fdk-aac -> libmp3lame -> amrnb->amrwb
安裝FFmpeg時,./configure 命令:
./configure --prefix=/usr/local/ffmpeg --enable-libmp3lame --enable-gpl --enable-version3 --enable-nonfree --enable-pthreads --enable-libfdk-aac --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libx264 --enable-postproc --enable-ffserver --enable-ffplay
安裝庫出現的錯誤:
1. ERROR: xxx not found(找不到庫檔案)
例如:ERROR: libx264 not found
解決辦法:編輯/etc/ld.so.conf,加入一行: /usr/local/lib(庫install後.so檔案預設儲存的為止) 執行ldconfig命令即可
2. -bash: ./configure: Permission denied(./configure檔案沒有許可權訪問)
解決辦法:chmod +x ./configure(設定對./configure檔案可執行)
3.安裝x264時,error: ‘X264_VERSION’ undeclared
解決辦法:在目錄下有一個version.sh的檔案,找到VER=“”這個屬性,然後改為VER="你自己下載的庫的版本號,我的是2245"。然後chmod +x version.sh(設定對version.sh檔案的可執行)。最後再 ./configuremakesudo make install
安裝FFmpeg出現的錯誤:
1. Unknown option "--enable-libfaac" 解決辦法:安裝 fdk-aac 當前版本的FFmpeg不支援 faac ,所以./configure後 引數為 --enable-libfdk-aac2.make: *** [libavcodec/libxvid.o] 錯誤
解決辦法:去掉--enable-libxvid (暫時就這個辦法,後期找到後再修改)
安裝FFmpeg後執行出現的錯誤:
1. error while decoding mb (程式任然正常執行,一段時間後程序才會異常退出)
問題原因:未安裝 amrwb 庫。
解決辦法:按照上述安裝方式安裝 amrwb 庫,並在./configure中開啟(--enable-libopencore-amrwb),再次編譯安裝方可解決問題