ffmpeg對amr格式編解碼

來源:互聯網
上載者:User

linux下的ffmpeg預設情況下是不支援amr格式解碼的,因此考慮手動編譯ffmpeg原始碼增加解碼器以便支援amr檔案格式的解碼。

系統內容:Suse 64bit OS
前期準備:
1、  下載ffmpeg原始碼:http://ffmpeg.org/download.html,這裡選擇版本為0.11.1
2、  下載OpenCORE AMR:http://sourceforge.net/projects/opencore-amr/,這裡選擇的版本為0.1.3。

並將下載的檔案存放與/home/ffmpeg目錄下,以root使用者登入系統。

具體步驟:

1、  編譯安裝opencore-amr,這裡需要注意的是在執行configure命令的時候要添加--enable-shared=no --enable-static=yes參數,其主要作用是禁止生產動態連結程式庫、允許生產靜態庫。

chmod 755 opencore-amr-0.1.3.tar.gz

tar -xzvf opencore-amr-0.1.3.tar.gz

cd opencore-amr-0.1.3

./configure --enable-shared=no --enable-static=yes

make

make install

 

2、  編譯安裝ffmpeg,注意configure命令後面所要添加的參數,可以通過執行configure --help命令查看後面所允許帶的參數

chomd 755 ffmpeg-0.11.1.tar.gz

tar -xzvf ffmepg-0.11.1.tar.gz

cd ffempg

./configure --enable-gpl --enable-version3 --enable-nonfree --disable-ffplay --disable-ffprobe --disable-ffserver --enable-libopencore-amrnb --enable-libopencore-amrwb --prefix=/home/ffmpeg/target

make

make install

以上命令成功執行後將會在/home/ffmpeg/target目錄下的bin目錄得到ffmpeg檔案,該檔案已經包含amr解碼器

3、  測試:

chmod 755 ffmpeg

./ffmpeg -I PA003.wav -ar 8000 -ab 12.2k -ac 1 target.amr

 

4、  注意事項:

a)         以上方式都是通過靜態庫的形式編譯,採用靜態庫的形式編譯的好處在於:編譯後的可執行檔ffmpeg可以不依賴於amr解碼器,簡單地說,可執行檔已經將amr解碼器包含在內了。

b)         ffmpeg在編譯時間候會優先尋找amr解碼器的動態連結程式庫,如果沒有找到,則尋找amr解碼器的靜態庫。在第一步中如果沒有禁止amr產生動態連結程式庫,則ffmpeg將採用amr的動態連結程式庫進行編譯,其缺點是,編譯後的可執行檔ffmpeg將依賴於amr的動態連結程式庫,如果系統的動態連結程式庫搜尋路徑LD_LIBRARY_PATH不包含amr動態連結程式庫所在路徑,則ffmpeg將會報錯,無法正常工作。

c)         amr編譯安裝時不建議添加prefix=XXX參數(./configure)修改amr安裝路徑,這樣ffmpeg在編譯安裝時將出現找不到amr解碼器的情況。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.