[ffmpeg][qsv][windows]windows下配置fmpeg英特尔qsv
文章目录
预装mingw和msys
MinGW : https://sourceforge.net/projects/mingw/
安装与自己系统对应的版本
msys 我用的1.0.11 挺小的3m左右 百度有
好像还有个msys2,体积大了很多,不知道能不能用
http://www.msys2.org/
MSYS2 : https://sourceforge.net/projects/msys2/
pkg-config
stackoverflow : https://stackoverflow.com/questions/1710922/how-to-install-pkg-config-in-windows
qsv驱动
官方下载windows的qsv驱动 : https://software.intel.com/en-us/media-sdk
libmfx
mfx_dispatch : https://github.com/lu-zero/mfx_dispatch
我用cmake编译的,改一下CMakeList.txt
默认编译静态库改成动态库
ffmpeg
./configure --enable-libmfx --enable-encoder=h264_qsv --enable-decoder=h264_qsv --disable-x86asm --enable-shared --pkg-config=true --extra-cflags=-I/lib/include --extra-ldflags=-L/lib/lib
如果报错:
libmfx can not found
看下是不是ffmpeg的config.log里面配置是不是找的头文件多了一个mfx目录 类似<mfx/mfxvideo.h>
自己建一个mfx目录即可.
–extra-cflags 写libmfx的目录
由于找不到 libmfx.dll
把上面生成的libmfx.dll 加到windows的库路径里面.
后面就能用了.
例子 : qsv:decode
, qsv:scale
,qsv:overlay
,qsv:encode
ffmpeg -protocol_whitelist "file,http,https,rtp,udp,tcp,tls" -hwaccel qsv -c:v h264_qsv -i 1080p.h264 -lavfi 'scale_qsv=960:540 [s0];color=black:r=30:size=1920x1080:sar=1/1, hwupload=extra_hw_frames=64,format=qsv [b0];[b0][s0] overlay_qsv=x=0:y=0' -c:v h264_qsv out.264