FFmpeg開發筆記(十)Linux環境給FFmpeg整合vorbis和amr

aqi00發表於2024-03-31
FFmpeg內建了aac音訊格式,在《FFmpeg開發實戰:從零基礎到短影片上線》一書的“5.2.2 Linux環境整合mp3lame”又介紹瞭如何給FFmpeg整合mp3格式,常見的音訊檔案除了這兩種之外,還有ogg和amr兩種格式也較常用。其中ogg格式的編解碼依賴於libogg和libvorbis,而amr格式的編解碼依賴於opencore-amr。因此要先安裝編譯這三個庫,再讓FFmpeg開啟ogg和amr支援,在Linux環境的操作過程包含四個步驟:安裝libogg、安裝libvorbis、安裝opencore-amr、重新編譯FFmpeg,分別說明如下。

1、安裝libogg

libogg支援解析ogg檔案結構,也可用於封裝ogg格式,它的安裝步驟說明如下。
(1)到https://www.linuxfromscratch.org/blfs/view/svn/multimedia/libogg.html下載最新的libogg原始碼,比如2021年6月釋出的libogg-1.3.5,該版本的原始碼下載地址是https://downloads.xiph.org/releases/ogg/libogg-1.3.5.tar.gz。將下載好的壓縮包上傳到伺服器並解壓,也就是依次執行以下命令。

tar zxvf libogg-1.3.5.tar.gz
cd libogg-1.3.5

(2)進入解壓後的libogg目錄,執行下面命令配置libogg。

./configure
FFmpeg開發筆記(十)Linux環境給FFmpeg整合vorbis和amr

(3)執行下面命令編譯libogg。

make

(4)編譯完成後,執行下面命令安裝libogg。

make install

2、安裝libvorbis

Vorbis是一種免費的音訊編碼標準,libvorbis是Vorbis音訊的編解碼庫。因為Vorbis音訊通常封裝在ogg格式中,所以libvorbis依賴於libogg,它的安裝步驟說明如下。
(1)到https://www.linuxfromscratch.org/blfs/view/svn/multimedia/libvorbis.html下載最新的libvorbis原始碼,比如2020年7月釋出的libvorbis-1.3.7,該版本的原始碼下載地址是https://downloads.xiph.org/releases/vorbis/libvorbis-1.3.7.tar.gz。將下載好的壓縮包上傳到伺服器並解壓,也就是依次執行以下命令。

tar zxvf libvorbis-1.3.7.tar.gz
cd libvorbis-1.3.7

(2)進入解壓後的libvorbis目錄,執行下面命令配置libvorbis。

./configure

(3)執行下面命令編譯libvorbis。

make

(4)編譯完成後,執行下面命令安裝libvorbis。

make install

3、安裝opencore-amr

opencore-amr是AMR音訊的編解碼庫,支援對AMR-NB和AMR-WB格式的音訊進行編解碼,它的安裝步驟說明如下。
(1)到https://sourceforge.net/projects/opencore-amr/files/opencore-amr/下載最新的opencore-amr原始碼,比如2022年10月釋出的opencore-amr-0.1.6,該版本的原始碼下載地址是https://nchc.dl.sourceforge.net/project/opencore-amr/opencore-amr/opencore-amr-0.1.6.tar.gz。將下載好的壓縮包上傳到伺服器並解壓,也就是依次執行以下命令。

tar zxvf opencore-amr-0.1.6.tar.gz
cd opencore-amr-0.1.6
FFmpeg開發筆記(十)Linux環境給FFmpeg整合vorbis和amr

(2)進入解壓後的opencore-amr目錄,執行下面命令配置opencore-amr。

./configure

(3)執行下面命令編譯opencore-amr。

make

(4)編譯完成後,執行下面命令安裝opencore-amr。

make install

4、重新編譯FFmpeg

由於FFmpeg預設未啟用ogg和amr,因此需要重新配置FFmpeg,標明啟用ogg和amr,然後重新編譯安裝FFmpeg。FFmpeg的Linux環境完整編譯過程參見《FFmpeg開發實戰:從零基礎到短影片上線》一書的“1.2.3 自行編譯與安裝FFmpeg”,詳細的啟用步驟說明如下。
(1)回到FFmpeg原始碼的目錄,執行以下命令重新配置FFmpeg,主要增加啟用ogg和amr。(增加了選項--enable-libvorbis --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-version3)

./configure --prefix=/usr/local/ffmpeg --enable-shared --disable-static --disable-doc --enable-zlib --enable-libx264 --enable-libx265 --enable-libxavs2 --enable-libdavs2 --enable-libmp3lame --enable-libfreetype --enable-libass --enable-libfribidi --enable-libxml2 --enable-fontconfig --enable-sdl2 --enable-libvorbis --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-version3 --enable-iconv --enable-gpl --enable-nonfree

(2)執行下面命令編譯FFmpeg。

make clean
make -j4

(3)執行下面命令安裝FFmpeg。

make install

(4)執行以下命令檢視FFmpeg的版本資訊。

ffmpeg -version

檢視控制檯回顯的FFmpeg版本資訊,找到“--enable-libvorbis --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-version3”,說明FFmpeg正確啟用了新增的音訊格式ogg和amr。

相關文章