YANO's digital garage

Copyright ©YANO All rights reserved. https://www.bravotouring.com/~yano/

Last-modified: 2021-04-26 (月)


[一語一絵/IT系]

VAAPI / 2021-01-24 (日)

ASRock H97 Pro4にXeon E3-1265L v3を載せたHaswellでQSVなハードウェアエンコードをお試し。

「Intel® Media SDK」を使えばいいのか~と思ったのだが、2013年生まれのHaswellは古すぎるので、Video Acceleration API(VAAPI)を使えということらしい。

root@haswell:~# apt install -y build-essential libva2 vainfo i965-va-driver
で導入し、
root@haswell:~# vainfo
error: XDG_RUNTIME_DIR not set in the environment.
error: can't connect to X server!
libva info: VA-API version 1.7.0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
libva info: va_openDriver() returns -1
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/i965_drv_video.so
libva info: Found init function __vaDriverInit_1_6
libva info: va_openDriver() returns 0
vainfo: VA-API version: 1.7 (libva 2.6.0)
vainfo: Driver version: Intel i965 driver for Intel(R) Haswell Server - 2.4.0
vainfo: Supported profile and entrypoints
      VAProfileMPEG2Simple            : VAEntrypointVLD
      VAProfileMPEG2Simple            : VAEntrypointEncSlice
      VAProfileMPEG2Main              : VAEntrypointVLD
      VAProfileMPEG2Main              : VAEntrypointEncSlice
      VAProfileH264ConstrainedBaseline: VAEntrypointVLD
      VAProfileH264ConstrainedBaseline: VAEntrypointEncSlice
      VAProfileH264Main               : VAEntrypointVLD
      VAProfileH264Main               : VAEntrypointEncSlice
      VAProfileH264High               : VAEntrypointVLD
      VAProfileH264High               : VAEntrypointEncSlice
      VAProfileH264MultiviewHigh      : VAEntrypointVLD
      VAProfileH264MultiviewHigh      : VAEntrypointEncSlice
      VAProfileH264StereoHigh         : VAEntrypointVLD
      VAProfileH264StereoHigh         : VAEntrypointEncSlice
      VAProfileVC1Simple              : VAEntrypointVLD
      VAProfileVC1Main                : VAEntrypointVLD
      VAProfileVC1Advanced            : VAEntrypointVLD
      VAProfileNone                   : VAEntrypointVideoProc
      VAProfileJPEGBaseline           : VAEntrypointVLD
root@haswell:~#
となればVideo Acceleration API(VAAPI)の準備OK。

続いて、h264_vaapiffmpegの準備。

root@haswell:~# wget https://ffmpeg.org/releases/ffmpeg-4.3.1.tar.gz
root@haswell:~# tar xvf ffmpeg-4.3.1.tar.gz
root@haswell:~# cd ~/ffmpeg-4.3.1
root@haswell:~# apt install -y build-essential yasm libfdk-aac-dev libmp3lame-dev libopus-dev libaom-dev libass-dev libmfx-dev libvorbis-dev libva-dev libx264-dev libx265-dev libnuma-dev libfreetype6-dev

【参照】
●Qiita https://qiita.com/
QSV 対応 Intel CPU で H.264 のハードウェアエンコード on Linux 2016年09月25日
●FFmpeg https://ffmpeg.org/
https://ffmpeg.org/releases/ffmpeg-4.3.1.tar.gz
CompilationGuide/Ubuntu
●Wikipedia http://ja.wikipedia.org/wiki/
Intel Quick Sync Video
LGA1150
Haswellマイクロアーキテクチャ