我正在尝试使用以下命令在 Docker 容器中安装 GStreamer:
apt-get install libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libgstreamer-plugins-bad1.0-dev \
gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-bad \
gstreamer1.0-plugins-ugly gstreamer1.0-libav gstreamer1.0-tools \
gstreamer1.0-x gstreamer1.0-alsa gstreamer1.0-gl gstreamer1.0-gtk3 \
gstreamer1.0-qt5 gstreamer1.0-pulseaudio
但是,安装后,当我运行 gst-inspect-1.0 | grep nv,我没有看到任何应该从plugins-bad安装的NVIDIA插件。结果如下:
audioconvert: audioconvert: Audio converter
audiofx: audioinvert: Audio inversion
autoconvert: autoconvert: Select converter based on caps
autoconvert: autodeinterlace: Select deinterlacer, and converters based on caps
autoconvert: autovideoconvert: Select color space converter and scalers based on caps
autoconvert: autovideoflip: Flip the video plugging the right element depending on caps
bayer: rgb2bayer: RGB to Bayer converter
closedcaption: ccconverter: Closed Caption Converter
debugutilsbad: errorignore: Convert some GstFlowReturn types into others
dsd: dsdconvert: DSD converter
ivtc: ivtc: Inverse Telecine
libav: avdec_dsicinvideo: libav Delphine Software International CIN video decoder
libav: avdec_idcinvideo: libav id Quake II CIN video decoder
libav: avdec_twinvq: libav VQF TwinVQ decoder
libav: avdec_wnv1: libav Winnov WNV1 decoder
opengl: glcolorconvert: OpenGL color converter
opengl: gleffects_blur: Blur with 9x9 separable convolution Effect
opengl: gleffects_laplacian: Laplacian Convolution Demo Effect
opengl: glviewconvert: OpenGL Multiview/3D conversion filter
rtponvif: rtponvifparse: ONVIF NTP timestamps RTP extension
rtponvif: rtponviftimestamp: ONVIF NTP timestamps RTP extension
videoconvertscale: videoconvert: Video colorspace converter
videoconvertscale: videoconvertscale: Video colorspace converter and scaler
videoconvertscale: videoscale: Video scaler
vulkan: vulkancolorconvert: Vulkan Color Convert
vulkan: vulkanviewconvert: Vulkan View Convert
实际上没有安装任何 NVIDIA 插件,尽管它们应该包含在plugins-bad 中。
我尝试过使用基于 Ubuntu 和 Debian (arm64) 的容器以及新映像,但到目前为止没有任何效果。我的计划是利用主机 GPU 和 NVIDIA 容器工具包。
到目前为止,nvidia-smi 在容器中工作,因此我相信 NVIDIA 驱动程序已正确安装。但是,我不知道为什么 GStreamer 插件无法正确安装。
我尝试使用已安装 gstreamer 的预构建的 docker 映像,但这也没有提供 nvidia 插件。
任何见解或建议将不胜感激。
当涉及到 Docker 中的 NVIDIA 加速 GStreamer 加速时,elemets 实际上是从主机设备共享到 Docker 的。
我们过去也遇到过类似的问题,最常见的原因是主机 Jetson 设备的操作系统版本与 docker 中使用的操作系统版本不匹配。
如果您仍然遇到问题,请告诉我们。