intel硬件视频加速简要整理
硬件视频加速(Hardware video acceleration)
通过让显卡编解码视频,从而减轻cpu负担并且还能节省电源。
当视频内容存储在硬盘、dvd、摄像机、手机或广播媒体上时,通常会被压缩并编码成特定的格式。当你想要播放、上传或复制内容到你的手机时,必须先对其进行解码,然后再以一种新的格式重新编码,这是一个耗费资源和时间的过程。硬件视频加速技术通过让显示卡来快速解码,使处理器能够完成其他任务,提高系统响应能力。
在linux上的几种实现:
Video Acceleration API (VAAPI)英特尔开发的规范和开源库,提供硬件加速视频的编/解码。
Video Decode and Presentation API for Unix (VDPAU)是一套NVIDIA开发的,用于将部分视频解码和渲染分担给GPU来处理的开源库和API。
NVDECODE/NVENCODENVIDIA Fermi, Kepler, Maxwell and Pascal系列显卡专有的硬件加速API intel 硬件加速技术intel 的开源媒体栈
MSDK : https://github.com/Intel-Media-SDK/MediaSDK
Libva : https://github.com/intel/libva
i965 driver : https://github.com/intel/intel-vaapi-driver
iHD driver : https://github.com/intel/media-driver VA-API
开源驱动:
AMD : 位于官方软件仓库的libva-vdpau-driver和mesa两者为 Radeon 9500 或更新的GPU提供支持。
Intel : 位于官方软件仓库的libva-intel-driver软件包为 GMA 4500 系列或者更新的GPU提供支持。
NVIDIA : 位于官方软件仓库的libva-vdpau-driver和mesa两者为 GeForce 8 系列和更新的GPU提供支持。位于AUR的 nouveau-fwAUR 软件包包含从NVIDIA闭源驱动中提取出的必要的固件文件。
闭源驱动:
AMD : 位于AUR的libva-xvba-driverAUR[broken link: archived in aur-mirror]软件包为 Radeon HD 4000 系列或更新的GPU提供支持。在 Radeon HD 5000 系列或者更新的GPU上请使用 catalyst-utilsAUR 驱动;在 Radeon HD 4000 系列上使用 catalyst-total-hd234kAUR 作为驱动程序。
NVIDIA : 位于官方软件仓库的libva-vdpau-driver软件包和nvidia-utils驱动为 GeForce 8 系列或更新的GPU提供支持。
intel 依赖 libva-intel-driver
AMD 依赖 libva-mesa-driver) 安装
以前整理过ubuntu下的简洁安装记录:
linux 下 intel vaapi安装
主要是安装media-driver及其依赖库。
检验 VA-API
运行 libva-utils 包提供的 vainfo工具 来检查 VA-API 的设置 $ vainfo libva info: VA-API version 0.39.4 libva info: va_getDriverName() returns 0 libva info: Trying to open /usr/lib/dri/i965_drv_video.so libva info: Found init function __vaDriverInit_0_39 libva info: va_openDriver() returns 0 vainfo: VA-API version: 0.39 (libva 1.7.3) vainfo: Driver version: Intel i965 driver for Intel(R) Skylake - 1.7.3 vainfo: Supported profile and entrypoints VAProfileMPEG2Simple : VAEntrypointVLD VAProfileMPEG2Simple : VAEntrypointEncSlice VAProfileMPEG2Main : VAEntrypointVLD VAProfileMPEG2Main : VAEntrypointEncSlice VAProfileH264ConstrainedBaseline: VAEntrypointVLD VAProfileH264ConstrainedBaseline: VAEntrypointEncSlice VAProfileH264ConstrainedBaseline: VAEntrypointEncSliceLP VAProfileH264Main : VAEntrypointVLD VAProfileH264Main : VAEntrypointEncSlice VAProfileH264Main : VAEntrypointEncSliceLP VAProfileH264High : VAEntrypointVLD VAProfileH264High : VAEntrypointEncSlice VAProfileH264High : VAEntrypointEncSliceLP VAProfileH264MultiviewHigh : VAEntrypointVLD VAProfileH264MultiviewHigh : VAEntrypointEncSlice VAProfileH264StereoHigh : VAEntrypointVLD VAProfileH264StereoHigh : VAEntrypointEncSlice VAProfileVC1Simple : VAEntrypointVLD VAProfileVC1Main : VAEntrypointVLD VAProfileVC1Advanced : VAEntrypointVLD VAProfileNone : VAEntrypointVideoProc VAProfileJPEGBaseline : VAEntrypointVLD VAProfileJPEGBaseline : VAEntrypointEncPicture VAProfileVP8Version0_3 : VAEntrypointVLD VAProfileVP8Version0_3 : VAEntrypointEncSlice VAProfileHEVCMain : VAEntrypointVLD VAProfileHEVCMain : VAEntrypointEncSlice 样例
ffmpeg vaapi h264加速样例,其他ffmpeg wiki还有很多。 $ ffmpeg -threads 1 -i file.ext -vaapi_device /dev/dri/renderD128 -vcodec h264_vaapi -vf format="nv12|vaapi,hwupload" output.mp4
代码例 曾经写过的vaapi样例: 解码->overlay->编码
vaapi-test.go Intel Quick Sync(QSV)
除了VAAPI之外,intel还有一项自己平台专属的硬件加速技术QSV(quick-sync-video)。
Quick Sync Video 使用Intel图形技术专用媒体处理能力来快速编解码。
ffmpeg wiki有一页qsv的介绍,但是推荐使用VA-API(iHD / i965) 驱动代替libmfx. API支持情况
QSV支持访问多种不同的媒体库API:
DXVA2 / D3D11VA : 标准Windows api,由Intel图形驱动程序实现,以支持视频解码。
linux libmfx :这是intel的一个库,可以作为Intel Media SDK的一部分安装,并且支持一些编码和解码类型。
Windows libmfx : 英特尔的图形驱动程序提供,它支持所有的编码和解码的类型。
Media Foundation :通过英特尔图形驱动程序,支持一部分编解码类型,没有继承进ffmpeg。
VAAPI i965驱动 :这是一个几乎免费的libva/VAAPI驱动程序。大多数Linux发行版都打包了它。
VAAPI iHD驱动 :Linux上的libmfx后期使用了的一个修改过的libva和VAAPI驱动程序;这也可以由用户直接使用。 vaapi/mfx比较
vaapi/i965
1)在大多数Linux发行版中都是作为标准打包的。
2)可运行在所有可用的硬件上,包括一些较老和较便宜的设备。
3)支持大多数编解码器。
4)通用的API,也可以使用基于Mesa的AMD / Nvidia硬件。
5)可与标准api (EGL/OpenGL, OpenCL)交互。
libmfx /iHD
1)在某些情况下,可能会提供更好的编码质量(如look_ahead)。
2)在某些情况下(如MFE,特别是在Iris图形上)可能会提供更高的编码吞吐量。
3)linux和windows皆通用的API。
4)可与Intel实现的OpenCL实现交互。 安装
linux下
可以安装基于vaapi开源的MediaSDK
windows下
官方有驱动下载:https://software.intel.com/media-sdk 样例
h264解码 ffmpeg -hwaccel qsv -c:v h264_qsv -i input.mp4 -f null - 总结:
代码例: qsv 解码->overlay->编码
qsv-test.go
参考资料 :更多视频教程文档资料免费领取后台私信【学习】自行获取
小技巧网盘限速怎么办?一个操作让下载速度起飞爸妈在追剧老婆在Shopping孩子在线兴趣班用网设备这么多,带宽争抢网络势必很卡顿!这把开黑恐怕又是送人头咦?操作手感竟如此丝滑?稳如泰山快如闪电,全家共享互不影响电信千兆宽带的
无线还要RGB?黑爵K620T做给你看哈喽大家好,我是你们的校长!今天给大家带来的是老朋友黑爵家的键盘K620T!说实话就我个人来讲,对于这块键盘关注了是有一段时间了,K620T先是在国外上线之后才进入国内市场,所以我
想让Switch玩法更多样?往这里看哈喽大家好,我是你们的校长,今天给大家带来三款来自绿联的Switch配件,让各位能够更好地畅玩Switch首先就是Switch的钢化膜,平时带着Switch出门,难免会有磕磕碰碰,
外设想整一套?那就选杜伽吧哈喽大家好,我是你们的校长!今天给大家带来的是杜伽的LEO600鼠标和P300墨曜鼠标垫!由于之前体验过了杜伽的K310RGBK320WFusion,所以这次来试试看杜伽的其他外设
无线有线,全部整上!南卡POW2无线快充充电宝安排哈喽大家好,我是你们的校长,今天给大家带来的是来自南卡的POW2无线快充充电宝!随着科技的发展,现在的手机越来越多都支持快充和无线充电了,可是很多充电宝依然只支持10W的充电,且大
音乐盛宴,四不可挡1MORE四单元圈铁耳机体验Part1开箱评测在2017年的5月16日,1MORE召开发布会正式发布了旗下的新款旗舰耳塞产品四单元圈铁耳塞,这款产品不仅仅是增加了一个动铁单元这么简单,在动圈单元方面技术也有巨
苹果新机渲染图曝光,搭载A14仿生芯片,价格略有上涨苹果旗下硬件产品很多,像iPhoneiPad都是大家非常熟悉的产品了。从用户量来看,iPhone是远远大于iPad的,毕竟使用手机的用户是远远超过平板电脑用户的。iPhone基本上
看长安欧尚X7PLUS,得从联发科的芯片说起9月12日,当答答应长安欧尚之邀赴重庆试驾时,距离长安欧尚X7PLUS预售刚好过去15天。这款今年4月份在上海车展亮相的紧凑级五座SUV,在8月底的成都车展将预售价确定为7。99万
20003000元左右的性能比较高的苹果手机有那些?第一款iphone8plus这款手机采用a11处理器,在今天的这个时代里已经算是很不错了,屏幕是5。5英寸的,1920X1080的分辨率,后置摄像头是1200万双摄,前置摄像头70
如何使用多IMSISIM为可管理的全球物联网部署铺平道路您知道吗,许多物联网项目要么无法像预期的那样快速达到其ROI,要么完全失败了。事实上,只有26的公司有一个他们认为完全成功的计划,60的计划甚至没有通过概念验证阶段。复杂性是罪魁祸
星辰大海演绎追梦,演绎时代变迁星辰大海讲述了小镇孤女简爱的励志故事。从茶水间打工小妹一路拼搏,凭借自我的不懈奋斗,不断充电不断改变自己进入中国外贸行业,最后混成董事长。刘涛遭遇恋爱家庭双重虐心星辰大海以外贸行业