ffmpeg Intel硬件加速总结

本文详述了如何在Ubuntu 16.04上配置Intel Quick Sync Video(qsv)硬件加速,包括安装驱动与SDK、进行Sample测试、整合ffmpeg以及编解码器的使用方法。通过ffmpeg结合Intel的硬件加速,实现高效媒体处理。
摘要由CSDN通过智能技术生成

0. 概述

FFmpeg可通过Intel的GPU进行加速,加速器的名称是Intel Quick Sync Video,简称qsv,支持该加速器的Intel处理器的型号是带有Intel Iris graphics GPU或 HD graphics GPU的CPU,目前几乎所有Core i系列的CPU和小部分Xeon系列的CPU(E3-1285v5)有GPU,市面上常见的高密度媒体处理服务器便是基于此CPU+GPU的方式实现多路媒体处理计算任务,需要注意的是作为SoC组成部分的GPU是不能虚拟化的,无法通过Xen、Ctrix、KVM或VMware利用GPU计算资源。

1. 安装驱动与SDK

1.1 前期准备

(1). 添加用户组
usermod -a -G video root
(2). 查看集成显核情况
lspci -nn -s 0:02.0
如果回车显示

00:02.0 VGA compatible controller [0300]: Intel Corporation Sky Lake Integrated Graphics [8086:193b] (rev 09)

说明集成显核存在,其中193b是graphics device ID,如果看不到此信息的话需要更改BIOS的设置

1.2 SDK安装

官方提供的SDK安装方式分为CentOS7.2 Gold安装(即官方针对该版本操作系统写好安装脚本的简易安装)以及Generic安装(需要手动进行),由于本文使用Ubuntu16.04操作系统,故用第二种方式
SDK安装又称为user-mode driver(UMD)安装
(1). 首先将mediaserverstudio/SDK/Generic/intel-linux-media-ocl-generic/目录下的etc、opt、usr文件夹分别拷贝至系统的/etc、/opt、/usr目录下
(2). 确定/usr目录下此前没有其他版本的libdrm和libva库,否则应删除
(3). 安装libxcb1-dev(提供X window protocol access)和libpciaccess-dev库(提供PCI access),这两个库均可直接通过apt-get install安装,在安装之前建议先通过apt-get build-dep安装它们的依赖库
(4). 进入/opt/intel/mediasdk/opensource/libdrm/2.4.66-55964/libdrm-2.4.66目录下安装libdrm库。DRM即direct rendering manager,可以在linux系统下提供对图形硬件的访问。安装步骤很简单,./configure、make、make install三步即可
(5). 进入/opt/intel/mediasdk/opensource/libva/1.67.0.pre1-55964/libva-1.67.0.pre1目录下安装libva库。VA即Video Accerleration,是一个开源的提供硬件编码的模块。安装步骤很简单,./configure、make、make install三步即可
(6). 在/etc/environment文件添加中添加下列语句
LD_LIBRARY_PATH=/usr/local/lib;/usr/lib64
LIBVA_DRIVER_NAME=iHD
LIBVA_DRIVERS_PATH=/opt/intel/mediasdk/lib64

1.3 驱动安装

驱动安装又名kernel-mode driver(KMD)安装
(1). 在www.kernel.org下载linux kernel 4.4.66版本,将/opt/intel/mediasdk/opensource/patches/kmd/4.4.66/intel-kernel-patchs.tar.bz2拷贝到解压得到的linux-4.4.66目录下,通过下面的命令为linux kernel加入补丁
for i in intel-kernel-patches/*.patch; do patch -p1 < $i; done
(2). 使用下面的命令build kernel
make olddefconfig
make -j 8
make modules_install
make install
重启电脑
检测方法:lsmod | grep ‘i915’
如果显示

i915                 1277952  6
i2c_algo_bit           16384  1 i915
drm_kms_helper        135168  1 i915
drm                   356352  7 i915,drm_kms_helper
video                  40960  1 i915

说明驱动安装成功

1.4 HEVC插件安装

在mediaserverstudioprofessional/hevcevaluation目录下,直接运行install.sh脚本按提示安装即可

2. Sample测试

2.1 Sample编译

进入sample目录
perl build.pl –cmake=intel64.make.debug –build
如果出现如下问题:

Not searching for unused variables given on the command line.
-- Intel(R) Media SDK /opt/intel/mediasdk/include, /opt/intel/mediasdk/lib/lin_x64/libmfx.a was found here /opt/intel/mediasdk
-- Intel(R) Media SDK /opt/intel/mediasdk/lib/lin_x64 will be used
-- Checking for module 'libva-x11>=0.33'
--   
CMake Error at /usr/share/cmake-3.5/Modules/FindPkgConfig.cmake:367 (message):
  A required package was not found
Call Stack (most recent call first):
  /usr/share/cmake-3.5/Modules/FindPkgConfig.cmake:532 (_pkg_check_modules_internal)
  /workspace/ffmpeg_linux/MediaServerStudioProfessionalEvaluation2017/MediaSamples_Linux_2017/builder/FindPackages.cmake:387 (pkg_check_modules)
  CMakeLists.txt:24 (include)


-- Configuring incomplete, errors occurred!
See also "/workspace/ffmpeg_linux/MediaServerStudioProfessionalEvaluation2017/MediaSamples_Linux_2017/samples/__cmake/intel64.make.debug/CMakeFiles/CMakeOutput.log".
make: *** 没有指明目标并且找不到 makefile。 停止。
[ intel64.make.debug                                 State: FAIL ] 

则需要

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值