本文转自 http://www.latelee.org/using-gnu-linux/ubuntu-intel-gpu-vaapi.html

先前利用了一些时间去网上搜索资料,了解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日

在Ubuntu 14.04平台上利用Intel的GPU实现硬件加速–基于VAAPI的更多相关文章

  1. ios – 如何执行硬件加速的H.264编码和解码流式传输?

    我可以从相机获取RGBA帧数据,我想以H.264格式进行编码.我使用FFmpeg对H.264视频进行编码和解码,但是在640×480的帧大小中,我的需求太慢了.我想使用硬件加速来加快编码和解码,那么我该怎么做呢?此外,我需要能够通过网络流式传输编码的视频,并在另一端进行解码.如何才能做到这一点?

  2. PhoneGap – 与Android上的浏览器相比性能不佳

    我使用jquerymobile和phonegap为android开发了一个应用程序.我通过usb将应用程序部署到我的设备上.应用程序的性能非常糟糕,尤其是在滚动更长的列表时.奇怪的是:如果我只是打开手机上的浏览器并直接访问index.html,整个应用程序运行顺畅.相同的技术,相同的内容.我不使用phonegapnativeapi或类似的东西.在android4.0.2上测试了phonegap1.5.0和1.7.0rc1,jquerymobile1.1.0.有任何想法吗?

  3. 从android.view.GLES20DisplayList释放位图

    有谁知道如何从android.view.GLES20displayList释放位图.为什么它会让它们保持活力,即使你清洁,让我们说,ImageView手动?或许有一种方法可以禁用GLES20displayList,尝试在AndroidManifest中使用android:hardwareAccelerated=“false”,仍然没有运气.看起来只受4.2(1)影响更新:看起来你无法在4.2.1上

  4. 如何使用directx 11和Windows 7的硬件加速视频/ H.264解码?

    (找不到任何确认信息,也不知道DXVA2是多余的,可能是DXVA-HD超越了吗?但是没有一个类型存在于我的头文件.他们还指定使用最少的Windows8.我相信使用MF我需要Windows8SDK,现在包括所有的directx库/标题.所以这与Windows7保持一个空白…是否可以获得硬件加速视频解码?D3D11具有视频api,基本上是DXVA2,上面略微改变了界面.你需要很好的了解h.264比特流来进行(真的!

  5. ubuntu 使用USB摄像头还有mplayer方式

    我的多媒体工具是mplayer,看电影、听音乐、打开流媒体都是它。私下认为mplayer的综合素质是最好的,所以我不会重复建设再装其他的工具来浏览摄像头影像。准备工作假设机器上已经安装了webcamd和mplayer。需要提醒的是,mplayer除了缺省的config选项外,必须选上V4L一项。新版本的mplayer2已经不再支持V4L。以root运行用mplayer显示webcamd捕捉到的动态影像运行下面的命令即可。

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

    趁着项目处于交付阶段有点空余时间就安排我去做。手册上讲得很明白,芯片支持h.264硬件解码。在一番搜索研究后,终于在ubuntu下实现了GPU硬解。现在看来,其实事情很简单,在ubuntu下使用mplayer播放1080P的视频,cpu占用率不高就行了——就这么简单。下面是实现这个功能的步骤:1、安装vaapi及drm库:sudoapt-getinstalllibdrm-intel1libva1libva-intel-vaapi-drivervainfo2、安装intel集显驱动:

  7. centos使用rpmforge-release

    rpmforge又名repoforge,是CentOS官方推荐的第三方yum源。提供超过5000种rpm格式的软件包,其中包括vlc、mplayer、xmms-mp3等流行的多媒体工具。

  8. centos6.5 常用影音播放器安装

    常用的播放器有mplayer,vlc,smplayer等等。方法二:上官网下载mplayer1.3.0,编码器all-20110131,皮肤Blue三样。首先安装yuminstallgccgcc-c++glibcglibc-develyasm然后安装mplayer,记得先解压,命令为:./configure--prefix=/usr/local/mplayer--enable-gui--enable-freetype--enable-menu--codecsdir=/usr/local/mplayer/l

  9. Ubuntu录制视频转GIF

    在打开Ubuntu软件中心安装:Kazam、GNOMEMPlayer、ImageMagickmp4toimgsxxx.mp4是视频,jpeg是图片格式,path是指定视频使用方式imgstogifimgs是指定图片,size是图片大小,pathgif是生成gif路径使用方式

  10. CentOS 6.5 安装 Mplayer!

    [root@gxh~]#yumlist|grepmplayermplayer.x86_641.0-0.140.20120205svn.el6.1@rpmfusion-free-updatesmplayer-common.x86_641.0-0.140.20120205svn.el6.1@rpmfusion-free-updatesmplayer-doc.x86_641.0-0.140.20120205svn.el6.1rpmfusion-free-updatesmplayer-gui.x86_641.0-

随机推荐

  1. crontab发送一个月份的电子邮件

    ubuntu14.04邮件服务器:Postfixroot收到来自crontab的十几封电子邮件.这些邮件包含PHP警告.>我已经解决了这些警告的原因.>我已修复每个cronjobs不发送电子邮件(输出发送到>/dev/null2>&1)>我删除了之前的所有电子邮件/var/mail/root/var/spool/mail/root但我仍然每小时收到十几封电子邮件.这些电子邮件来自cronjobs,

  2. 模拟两个ubuntu服务器计算机之间的慢速连接

    我想模拟以下场景:假设我有4台ubuntu服务器机器A,B,C和D.我想在机器A和机器C之间减少20%的网络带宽,在A和B之间减少10%.使用网络模拟/限制工具来做到这一点?

  3. ubuntu-12.04 – 如何在ubuntu 12.04中卸载从源安装的redis?

    我从源代码在Ubuntu12.04上安装了redis-server.但在某些时候它无法完全安装,最后一次makeinstallcmd失败.然后我刚刚通过apt包安装.现在我很困惑哪个安装正在运行哪个conf文件?实际上我想卸载/删除通过源安装的所有内容,只是想安装一个包.转到源代码树并尝试以下命令:如果这不起作用,您可以列出软件自行安装所需的步骤:

  4. ubuntu – “apt-get source”无法找到包但“apt-get install”和“apt-get cache”可以找到它

    我正在尝试下载软件包的源代码,但是当我运行时它无法找到.但是当我运行apt-cache搜索squid3时,它会找到它.它也适用于apt-getinstallsquid3.我使用的是Ubuntu11.04服务器,这是我的/etc/apt/sources.list我已经多次更新了.我尝试了很多不同的debs,并没有发现任何其他地方的错误.这里的问题是你的二进制包(deb)与你的源包(deb-src)不

  5. ubuntu – 有没有办法检测nginx何时完成正常关闭?

    &&touchrestarted),因为即使Nginx没有完成其关闭,touch命令也会立即执行.有没有好办法呢?这样的事情怎么样?因此,pgrep将查找任何Nginx进程,而while循环将让它坐在那里直到它们全部消失.你可以改变一些有用的东西,比如睡1;/etc/init.d/Nginx停止,以便它会休眠一秒钟,然后尝试使用init.d脚本停止Nginx.你也可以在某处放置一个计数器,这样你就可以在需要太长时间时发出轰击信号.

  6. ubuntu – 如何将所有外发电子邮件从postfix重定向到单个地址进行测试

    我正在为基于Web的应用程序设置测试服务器,该应用程序发送一些电子邮件通知.有时候测试是使用真实的客户数据进行的,因此我需要保证服务器在我们测试时无法向真实客户发送电子邮件.我想要的是配置postfix,以便它接收任何外发电子邮件并将其重定向到一个电子邮件地址,而不是传递到真正的目的地.我正在运行ubuntu服务器9.10.先感谢您设置本地用户以接收所有被困邮件:你需要在main.cf中添加:然后

  7. ubuntu – vagrant无法连接到虚拟框

    当我使用基本的Vagrantfile,只配置了两条线:我看到我的虚拟框打开,但是我的流氓日志多次显示此行直到超时:然后,超时后的一段时间,虚拟框框终于要求我登录,但是太久了!所以我用流氓/流氓记录.然后在我的物理机器上,如果我“流氓ssh”.没有事情发生,直到:怎么了?

  8. ubuntu – Nginx – 转发HTTP AUTH – 用户?

    我和Nginx和Jenkins有些麻烦.我尝试使用Nginx作为Jenkins实例的反向代理,使用HTTP基本身份验证.它到目前为止工作,但我不知道如何传递带有AUTH用户名的标头?}尝试将此指令添加到您的位置块

  9. Debian / Ubuntu – 删除后如何恢复/ var / cache / apt结构?

    我在ubuntu服务器上的空间不足,所以我做了这个命令以节省空间但是现在在尝试使用apt时,我会收到以下错误:等等显然我删除了一些目录结构.有没有办法做apt-getrebuild-var-tree或类似的?

  10. 检查ubuntu上安装的rubygems版本?

    如何查看我的ubuntu盒子上安装的rubygems版本?只是一个想法,列出已安装的软件包和grep为ruby或宝石或其他:)dpkg–get-selections

返回
顶部