英特爾 QSV 在 FFMPEG 中的使用(Windows)


INDE

在 Windows 下通常使用 INDE 中的 Intel Media SDK 而不是 MMS,因為后者只在 Linux 下和 Windows Server 下可用。

INDE 可以免費下載,建議下載它的離線安裝包,因為很多功能你並不需要,使用離線安裝包,你可以指下載你想要的功能。

安裝 Media SDK

在 Windows 上安裝 Media SDK 比較簡單,請參考這個鏈接中的安裝方法。我們只使用它做視頻編碼,所以只需要選擇build 下的

- Media SDK for Windows
- Media Raw Acclecerator for Windows

這兩項就可以了。

Windows 下編譯支持 qsv 的 FFMPEG 庫

編譯 mfx_dispatcher

windows 編譯 qsv 之前需要安裝 mfx_dispatcher,它相當於是應用程序和具體的硬件加速庫之間的一個中間層,它負責幫助應用庫定位底層代碼,這樣應用庫就可以不用直接鏈接到硬件加速的具體實現。

[mfx_dispatcher][] 代碼可以在 github 上下載到,在 github 的 README 中也提供了編譯方法。需要注意的是,它使用的編譯工具是 mingw64 的x86_64 工具鏈,如果你使用的是 mingw64 的 i686 工具庫,記得把教程中的 x86_64替換成 i686

mfx_dispatcher 安裝完成之后會在 /usr/i686-w64-mingw32/usr/local/ 下生成相應的庫文件和頭文件。

鏈接到 FFMPEG

FFMPEG 需要使用 pkg-config 定位 libmfx 庫,這個庫的 libmfx.pc 文件在安裝完 mfx_dispatcher 之后會安裝在/usr/i686-w64-mingw32/usr/local/lib/pkgconfig 目錄下。為了讓 FFMPEG 的configure 腳本能夠找到它你需要把這個地址加入到 PKG_CONFIG_PATH 中。

export PKG_CONFIG_PATH=/usr/i686-w64-mingw32/usr/local/lib/pkgconfig

為了讓 FFMPEG 支持 qsv 你需要加入下面三個配置選項:

./configure --enable-libmfx \
            --enable-encoder=h264_qsv \
            --enable-decoder=h264_qsv \
            ...

使用中可能會出現的問題

在使用 h264_qsv 編碼器的時候,可能會出現 Error initializing an internal MFX session 錯誤,目前沒有找到具體原因。在把 Media SDK 下的libmfxhw32.dll 文件拷貝到執行目錄下之后這個問題就消失看


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM