如何在Intel Sandy Bridge上正确启用/测试VA-API?

我想知道我必须安装哪个软件包以及如何测试它是否正常工作?

我知道有很多类似的问题,但对我来说,没有人是完整和明确的

libva-intel-vaapi-driver 安装libva-intel-vaapi-driver vainfo 安装vainfo

然后运行vainfo来检查是否看到某些配置文件的入口点:

 [...] vainfo: Supported profile and entrypoints VAProfileMPEG2Simple : VAEntrypointVLD [...] 

对于所有基于GStreamer的video播放器,此套餐应该足够了: gstreamer0.10-vaapi 安装gstreamer0.10-vaapi 。 如果我是正确的,像Totem这样的大多数标准video播放器都是基于GStreamer的。

VLC是一个不同的故事,但它是在Ubuntu中使用--enable-libva构建标志构建的(如apt-get source vlc )。 这意味着它应该只通过在配置中启用它来工作:

在此处输入图像描述

或者,在命令行上手动:

 vlc --ffmpeg-hw -v [...] libva: VA-API version 0.32.0 [0x7feeecc02a28] avcodec decoder: Using VA API version 0.32 for hardware decoding. 

只是关于Totem的快速说明:现在不可能将gstreamer-vaapi用于Totem,因为它使用了一个特殊的GTK小部件,它不像经典玩家那样与gstreamer接口。 团队正在努力。

  1. 解码: sudo apt-get install i965-va-driver libva-intel-vaapi-driver vainfo然后设置vlc使用硬件解码,从命令行运行它(以获取调试消息)并打开am .mp4文件。 您应该看到: [0x1781058] main libvlc:使用默认接口运行vlc。 使用’cvlc’来使用没有接口的vlc。 libva信息:VA-API版本0.35.0 libva信息:va_getDriverName()返回0 libva信息:尝试打开/usr/lib/x86_64-linux-gnu/dri/i965_drv_video.so libva信息:找到初始化函数__vaDriverInit_0_35 libva info: va_openDriver()返回0 [0x7fd825a569a8] avcodec解码器:使用VA API版本0.35进行硬件解码

  2. 编码:安装Gstreamer,libgstremaer-vaapi1.x,i965-va-driver; 以下命令将启动gstremaerfilter图表,该图表从您的网络摄像头(/ dev / video0)获取输入,然后编码并复用到test2.mp4文件中:

    gst-launch-1.0 v4l2src device = / dev / video0 num-buffers = 1800! video / x-raw,格式= I420,宽度= 640,高度= 480! vaapipostproc! 排队! vaapiencode_h264! qtmux! filesink location = test2.mp4
    如果您没有对沙桥图形(HD 2000/3000 GPU)的硬件编码支持,它将失败 。 注意它对我来说失败了(Core i7,HD3000显卡)并且根据Intel它不应该,因为HD2000 / 3000支持H.264 HW编码….

只需安装vainfo就可以了。 要安装,请使用CTRL + ALT + T打开终端

 sudo apt-get install vainfo