libuavs3d是AVS3標準的解碼器,最高可支援8K/60P影片實時解碼,支援windows/linux/arm/ios等所有常用平臺,在移動端最高支援4K/30fps影片實時解碼,解碼速度大幅領先AV1開源解碼器dav1d和aomdec。在《FFmpeg開發實戰:從零基礎到短影片上線》一書的“2.1.3 國家數字音影片標準AVS”介紹瞭如何在Linux環境給FFmpeg整合AVS2的編解碼器,其實也能給FFmpeg整合AVS3的解碼器libuavs3d。詳細的整合步驟說明如下。
一、安裝AVS3的解碼器libuavs3d
libuavs3d的原始碼託管在https://github.com/uavs3/uavs3d,注意要下載master的主幹程式碼,不可下載2019年的1.0版本程式碼(該版本的原始碼編譯有問題)。主幹程式碼的下載地址是https://codeload.github.com/uavs3/uavs3d/zip/refs/heads/master,把該連結複製到瀏覽器地址再按Enter鍵,即可開始下載原始碼包。
libuavs3d的安裝步驟說明如下。
1、將下載好的壓縮包上傳到伺服器並解壓,也就是依次執行以下命令。
2、執行指令碼version.sh,以便生成標頭檔案version.h,也就是執行以下命令。
3、進入解壓後的Build目錄,執行下面命令配置libuavs3d。
4、執行下面命令編譯libuavs3d。
5、編譯完成後,執行下面命令安裝libuavs3d。
二、讓FFmpeg啟用libuavs3d
由於FFmpeg預設未啟用libuavs3d,因此需要重新配置FFmpeg,標明啟用libuavs3d,然後重新編譯安裝FFmpeg。FFmpeg的Linux環境完整編譯過程參見《FFmpeg開發實戰:從零基礎到短影片上線》一書的“1.2.3 自行編譯與安裝FFmpeg”,詳細的啟用步驟說明如下。
1、回到FFmpeg原始碼的目錄,執行以下命令重新配置FFmpeg,主要增加啟用libuavs3d。(增加了選項--enable-libuavs3d)
2、執行下面命令編譯FFmpeg。
3、執行下面命令安裝FFmpeg。
4、執行以下命令檢視FFmpeg的版本資訊。
檢視控制檯回顯的FFmpeg版本資訊,找到“--enable-libuavs3d”,說明FFmpeg正確啟用了AVS3的解碼器libuavs3d。