在Ubuntu 14.04平台上利用Intel的GPU实现硬件加速–基于VAAPI | 迟思堂工作室
A-A+

在Ubuntu 14.04平台上利用Intel的GPU实现硬件加速–基于VAAPI

2015-02-12 12:40 GNU/Linux系统 暂无评论 阅读 43,837 次

先前利用了一些时间去网上搜索资料,了解Intel的集显,特别是E3800系列的SOC,主要是因为老大安排一个任务,叫我协助另一个公司的同事调查这个SOC上的硬件加速功能,即硬件解码。这个事我很早就开始耳闻了,当时还在搞项目,没空理。趁着项目处于交付阶段有点空余时间就安排我去做。
手册上讲得很明白,芯片支持h.264硬件解码。从wiki上也看到集成的GPU可以实现硬解。在一番搜索研究后,终于在ubuntu下实现了GPU硬解。现在看来,其实事情很简单,在ubuntu下使用mplayer播放1080P的视频,CPU占用率不高就行了——就这么简单。
下面是实现这个功能的步骤:
1、安装vaapi及drm库:

sudo apt-get install libdrm-intel1 libva1 libva-intel-vaapi-driver vainfo

2、安装intel集显驱动:

sudo apt-get install i965-va-driver

3、安装带有vaapi的mplayer:
mplayer默认是没有整合vaapi的,需要使用它的vaapi分支源码编译才行,不,有好心国际友人已经实现了ubuntu的第三方源。
首先添加这个源:

sudo add-apt-repository ppa:sander-vangrieken/vaapi (按回车继续)

更新一下源列表:

sudo apt-get update

之后就可以使用常见的apt-get install来安装了:

sudo apt-get install mplayer-vaapi

没有什么错误的话,一切就OK了。需要注意的是mplayer是没有界面的,只有命令行,如果要安装一个像上去正常点的播放器,就要安装gnome-mplayer或smplayer,不过这不是我们关注的重点(其实我已经安装了,但按网上配置的方法,CPU没降下来)。
播放视频命令很简单,如下:

mplayer -vo vaapi xxx.av

其中“-vo vaapi”指定“视频输出”为vaapi,通过mplayer -vo -h可以查看其支持的视频输出有哪些(比如,指定输出为sdl就不会使用硬件解码,此时CPU占用率是很高的)。网上还提到需要添加"-va vaapi"选项,即指定视频加速,但这个版本的mplayer没有,因此不用输入。
算起来,完成上面的命令是一下子的事情。但从不了解到真正完成,花了很多时间。
主要参考了文章:http://www.tuicool.com/articles/EFbU3m

李迟 2015年2月12日



如果本文对阁下有帮助,不妨赞助笔者以输出更多好文章,谢谢!
donate




给我留言