Hardware video acceleration (简体中文)

From ArchWiki
(Redirected from VA-API (简体中文))
Jump to: navigation, search

相关文章

翻译状态: 本文是英文页面 VA-API翻译,最后翻译时间:2014-01-27,点击这里可以查看翻译后英文页面的改动。

Hardware video acceleration makes it possible for the video card to decode/encode video, thus offloading the CPU and saving power.

Linux 中有多种方式可以实现视频加速:

支持的硬件

VA-API

开源驱动:

闭源驱动:

VDPAU

开源驱动:

闭源驱动:

支持的格式

VA-API

Open source Proprietary
AMD Intel Nvidia AMD Nvidia
MPEG2 解码 AMD Radeon 9500 或更新 Intel GMA 4500 或更新 Nvidia GeForce 8 或更新 AMD Radeon HD 4000 或更新 Nvidia GeForce 8 或更新
MPEG4 解码 AMD Radeon HD 6000 或更新 -- Nvidia GeForce 200 或更新 AMD Radeon HD 6000 或更新 Nvidia GeForce 200 或更新
H264 解码 AMD Radeon HD 4000 或更新 Intel GMA 45001, Ironlake Graphics 或更新 Nvidia GeForce 8 或更新 AMD Radeon HD 4000 或更新 Nvidia GeForce 8 或更新
VC1 解码 AMD Radeon HD 4000 或更新 Intel Sandy Bridge Graphics 或更新 Nvidia GeForce 8200, 8300, 8400, 9300, 200 或更新 AMD Radeon HD 4000 或更新 Nvidia GeForce 8 或更新
MPEG2 编码 -- Intel Ivy Bridge Graphics 或更新 -- -- --
H264 编码 -- Intel Sandy Bridge Graphics 或更新 -- -- --

1libva-intel-driver-g45-h264AUR 软件包为其提供支持。具体方法和注意事项参看: 在 GMA 4500 硬解 H.264

运行下面的命令以查看你的GPU支持哪些功能。这个命令由 libva 软件包提供:

$ vainfo

VAEntrypointVLD 表示你可以解码该格式,VAEntrypointEncSlice 表示你可以编码该格式。

VDPAU

开源 闭源
AMD Intel Nvidia AMD Nvidia
MPEG2 decoding Radeon 9500 and newer
2
GeForce 8 and newer
2
GeForce 8 and newer
MPEG4 decoding Radeon HD 6000 and newer
2
GeForce 200 and newer
2
GeForce 200 and newer
H.264 decoding Radeon HD 4000 and newer GMA 45001, Ironlake Graphics and newer GeForce 8 and newer Radeon HD 4000 and newer GeForce 8 and newer
HEVC (H.265) decoding
2
2
GeForce 9004 and newer
VC1 decoding Radeon HD 4000 and newer
2
GeForce 83 and newer
2
GeForce 83 and newer

要检查一个功能是否被 GPU 支持,可以使用 vdpauinfo 软件包提供的命令:

$ vdpauinfo

配置

环境变量 VDPAU_DRIVER 决定使用的驱动。可以全局设置针对一个用户 设置 环境变量

正确的驱动程序名称取决于您的设置:

  • Intel 或 AMD Catalyst 使用 va_gl.
  • 开源AMD/ATI驱动程序,您需要将它设置为适当的驱动程序版本取决于你的GPU。
  • Nvidia的专有版本将变量设置为“nvidia”。
$ grep -i vdpau /var/log/Xorg.0.log
(II) RADEON(0): [DRI2] VDPAU driver: r300

然后设置 VDPAU 驱动:

VDPAU_DRIVER=r300

多显卡显示

对混合显卡(NVIDIA和AMD),需要设置下面环境变量。

$ export DRI_PRIME=1

更多信息,参阅 PRIME wiki 页面。

支持的软件

开启软件的硬件加速

|| flashplugin
|| mplayer mplayer2AUR
  • gnome-mplayer — 开启硬件加速: Edit > Preferences > Player, 设置 Video Output 为 vdpau.
|| gnome-mplayer
  • SMplayer — 开启硬件加速: Options > Preferences > General > Video, 设置 Output driver 为 vdpau.
|| smplayer
  • bomi — 硬件加速可以启用: Preferences > Video > Hardware acceleration.
https://bomi-player.github.io || bomiAUR bomi-gitAUR
|| mpv
|| vlc

GStreamer

安装 gst-vaapi[broken link: package not found] 软件包,它存在于官方软件仓库

$ gst-launch-1.0 playbin uri=file:///path/to/foobar.mpeg

如果发现了支持的格式,VA-API会自动被使用。

基于GStreamer的播放器:

  • totem: 不需要配置。

MPlayer

安装 mplayer-vaapiAUR 软件包,它存在于官方软件仓库

$ mplayer -vo vaapi -va vaapi foobar.mpeg
  • -vo - 指定 vaapi 视频输出驱动
  • -va - 指定 vaapi 视频解码驱动
注意: 你也可以配合VDPAU后端使用 mplayer2AUR 。详情参看 MPlayer (简体中文)#启用 VDPAU (适用于新款nVidia显卡)

基于 MPlayer 的播放器:

  • gnome-mplayer: 开启硬件加速的方法: 编辑 > 首选项 > 播放器, 并设置视频输出vaapi
  • smplayer: 开启硬件加速的方法: 选项 > 首选项 > 常规 > 视频, 并设置输出驱动vaapi

VLC media player

安装 vlc 软件包,它位于官方软件仓库。

开启硬件加速的方法: 工具 > 首选项 > 输入 / 编解码器, 然后设置 硬件加速解码视频加速 (VA) API