0

我正在尝试在 docker 中运行 Gstreamer vaapi 插件。我只需要带有英特尔后端的 vaapi 解码器。在docker中,看起来它可以支持vainfo:

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: User environment variable requested driver 'iHD'
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_7
libva info: va_openDriver() returns 0
vainfo: VA-API version: 1.7 (libva 2.6.0)
vainfo: Driver version: Intel iHD driver for Intel(R) Gen Graphics - 20.1.1 ()
vainfo: Supported profile and entrypoints
      VAProfileMPEG2Simple            : VAEntrypointVLD
      VAProfileMPEG2Main              : VAEntrypointVLD
      VAProfileH264Main               : VAEntrypointVLD
      VAProfileH264Main               : VAEntrypointEncSliceLP
      VAProfileH264High               : VAEntrypointVLD
      VAProfileH264High               : VAEntrypointEncSliceLP
      VAProfileJPEGBaseline           : VAEntrypointVLD
      VAProfileJPEGBaseline           : VAEntrypointEncPicture
      VAProfileH264ConstrainedBaseline: VAEntrypointVLD
      VAProfileH264ConstrainedBaseline: VAEntrypointEncSliceLP
      VAProfileVP8Version0_3          : VAEntrypointVLD
      VAProfileHEVCMain               : VAEntrypointVLD
      VAProfileHEVCMain10             : VAEntrypointVLD
      VAProfileVP9Profile0            : VAEntrypointVLD
      VAProfileVP9Profile2            : VAEntrypointVLD

但在 gst-inspect-1.0 vaapi 上没有显示任何元素(从 gst-build 1.18 构建 gstreamer)这是我检查 vaapi 运行 docker 的步骤:

docker run -it --rm --privileged \
       -v /dev:/dev \
       gstreamer_docker \
       bash
export GST_VAAPI_ALL_DRIVERS=1
export LIBVA_DRIVER_NAME=iHD
export LIBVA_DRIVERS_PATH=/usr/lib/x86_64-linux-gnu/dri
gst-inspect-1.0 vaapi

有一些线索,当我查看 gstreamer-vaapi 时,所有元素都需要显示。有没有人有在 docker 中运行 vaapi 解码器的经验?

4

2 回答 2

0

刚刚发现我libdrm-dev在构建插件之前错过了。然后 gstreamer vaapi 插件会找到 drm 显示。

于 2020-10-04T08:35:06.223 回答
0

为了在 docker 中使用 gstreamer-vaapi,我必须使用 docker 标志并在 Debian 上--device=/dev/dri/:/dev/dri/安装libdrm-dev和安装。libva-dev

您可能还需要i965-va-driver根据您的 GPU 安装更多驱动程序(例如 )。

于 2021-11-14T14:38:15.903 回答