FFmpeg開發筆記(二十九)Windows環境給FFmpeg整合libxvid

aqi00發表於2024-06-15
XviD是個開源的影片編解碼器,它與DivX一同被納入MPEG-4規範第二部分的影片標準,但DivX並未開源。早期的MP4影片大多采用XviD或者DivX編碼,當時的影片格式被稱作MPEG-4。現在常見的H.264後來才增補到MPEG-4規範的第十部分,當然如今使用XviD壓縮的影片已經不多了。

在《FFmpeg開發實戰:從零基礎到短影片上線》一書的“2.1.1 音影片編碼的發展歷程”提到“MPEG-4標準的第二部分規定了影片的編解碼器比如Xvid”,只是XviD格式已經逐漸被H.264標準取代,所以該書並未介紹如何給FFmpeg整合XviD。下面就介紹如何在Windows環境給FFmpeg整合XviD的編解碼庫libxvid。注意:下列的所有命令均需在MSYS視窗中執行。

一、安裝libxvid

libxvid的原始碼下載頁面是https://labs.xvid.com/source/,最新的1.3.7版本於2019年12月釋出,該版本原始碼包的下載連結為https://downloads.xvid.com/downloads/xvidcore-1.3.7.tar.gz。
libxvid的安裝步驟說明如下。
1、解壓下載好的libxvid壓縮包,也就是依次執行以下命令。

tar zxvf xvidcore-1.3.7.tar.gz
cd xvidcore

2、進入解壓後的build/generic目錄,執行下面命令配置libxvid。

cd build/generic
./configure --prefix=/usr/local/libxvid

3、執行下面命令編譯libxvid。

make -j4

4、編譯完成後,執行下面命令安裝libxvid。

make install

二、讓FFmpeg啟用libxvid

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

./configure  --prefix=/usr/local/ffmpeg --arch=x86_64 --enable-shared --disable-static --disable-doc --enable-libx264 --enable-libx265 --enable-libxavs2 --enable-libdavs2 --enable-libmp3lame --enable-gpl --enable-nonfree --enable-libfreetype --enable-sdl2 --enable-libvorbis --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-version3 --enable-libopus --enable-libvpx --enable-libass --enable-libfribidi --enable-libxml2 --enable-fontconfig --enable-openssl --enable-libuavs3d --enable-libxvid --enable-iconv --enable-zlib --extra-cflags='-I/usr/local/lame/include -I/usr/local/libogg/include -I/usr/local/amr/include -I/usr/local/libxvid/include' --extra-ldflags='-L/usr/local/lame/lib -L/usr/local/libogg/lib -L/usr/local/amr/lib -L/usr/local/libxvid/lib' --cross-prefix=x86_64-w64-mingw32- --target-os=mingw32

2、執行下面命令編譯FFmpeg。

make clean
make -j4

3、執行下面命令安裝FFmpeg。

make install
cp /usr/local/libxvid/bin/*.dll /usr/local/ffmpeg/bin

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

ffmpeg -version

檢視控制檯回顯的FFmpeg版本資訊,找到“--enable-libxvid”,說明FFmpeg正確啟用了Xvid的編解碼器libxvid。

更多的音影片開發技術參見《FFmpeg開發實戰:從零基礎到短影片上線》

相關文章