文章目录
- FFmpeg集成qsv的编译安装
- 一、参考
- 二、编译安装流程
- 1. LibVA 和 Media-Driver 的安装
- 2. Intel Media SDK 编译
- 3. ffmpeg的编译安装
- 4. 验证安装
FFmpeg集成qsv的编译安装
一、参考
Ubuntu20.04 ffmpeg添加 Intel核显QSV加速支持
视频和视频帧:Intel GPU(核显)的编解码故事
二、编译安装流程
整体依赖关系:
主要步骤:
- 安装intel media sdk
-
LibVA 和 Media-Driver 的安装
ubuntu 19.04之后可以使用apt安装,可通过lsb_release -a
命令查看当前系统版本 -
Intel Media SDK 编译安装
-
- 编译安装ffmpeg
1. LibVA 和 Media-Driver 的安装
apt-get install -y libmfx1 libmfx-tools libva-dev libmfx-dev intel-media-va-driver-non-free vainfo
环境配置
vim ~/.bashrc
#末尾添加
export LIBVA_DRIVER_NAME=iHD
使用vainfo
查看是否安装成功
2. Intel Media SDK 编译
# 安装依赖
sudo apt-get install git cmake pkg-config meson libdrm-dev automake libtool
#下载MDSK源码
git clone https://github.com/Intel-Media-SDK/MediaSDK msdk
cd msdk
需要注意的点:使用vainfo,可以看到安装的libva版本是2.12.0
通过Releases · Intel-Media-SDK/MediaSDK · GitHub能够查看到MDSK与依赖的libva对照版本,使用git checkout 指定tag
切换
如安装的2.12.0 libva版本,则对应下载 Media SDK 21.2.3,使用git checkout intel-mediasdk-21.2.3
切换
mkdir build && cd build
cmake ..
make
#安装
make install
vim ~/.bashrc
#末尾添加
export PKG_CONFIG_PATH=/usr/lib/x86_64-linux-gnu/pkgconfig/
export LIBVA_DRIVERS_PATH=/usr/lib/x86_64-linux-gnu/dri/
export LD_LIBRARY_PATH=/opt/intel/mediasdk/lib/
3. ffmpeg的编译安装
#回归到原始下载msdk的目录,即
#下载源码
git clone https://github.com/ffmpeg/ffmpeg
cd msdk
#编译
./configure --arch=x86_64 --disable-yasm --enable-vaapi --enable-libmfx
make
# 安装
sudo make install
编译结果报警告但不影响后续,自行考虑是否修改编译配置
WARNING: The --disable-yasm option is only provided for compatibility and will be removed in the future. Use --enable-x86asm / --disable-x86asm instead.
–disable-yasm选项在未来会被移除,使用–enable-x86asm/–disable-x86asm代替
4. 验证安装
ffmpeg -codecs | grep qsv
ffmpeg -hwaccels
可查看支持的加速库
测试解码能力
准备工具:intel_gpu_tools ,通过 apt-get install intel_gpu_tools
安装
- ffmpeg -hwaccel qsv -i 你的视频文件 -f null -
- ffmpeg -hwaccel vaapi -i 你的视频文件 -f null -
- ffmpeg -i 你的视频文件 -f null -
- 新建一个窗口键入intel_gpu_top可以观察gpu使用情况,vaapi和qsv两种方式都会用到
解码器基准
可以粗略作为解码器的基准 fromhttp://trac.ffmpeg.org/wiki/Hardware/VAAPI
ffmpeg -hwaccel vaapi -hwaccel_device /dev/dri/renderD128 -hwaccel_output_format vaapi -i input.mp4 -f null -