We fail to get the deepstream module nvv4l2h264enc working in a gstreamer pipeline. The pipeline is running inside a container on a Advantech ICam-540 smart camera.
gst-launch-1.0 videotestsrc ! nvvideoconvert ! nvv4l2h264enc ! fakesink
…
Pipeline is PREROLLING …
Redistribute latency…
NvMMLiteOpen : Block : BlockType = 4
===== NVMEDIA: NVENC =====
NvMMLiteBlockCreate : Block : BlockType = 4
*** Unable to set device in gst_nvvideoconvert_transform Line 3466
0:00:10.756562461 207 0xffff88000b90 ERROR nvvideoconvert gstnvvideoconvert.c:4260:gst_nvvideoconvert_transform: Set Device failed
ERROR: from element /GstPipeline:pipeline0/GstVideoTestSrc:videotestsrc0: Internal data stream error.
Additional debug info:
…/libs/gst/base/gstbasesrc.c(3127): gst_base_src_loop (): /GstPipeline:pipeline0/GstVideoTestSrc:videotestsrc0:
streaming stopped, reason error (-5)
ERROR: pipeline doesn’t want to preroll.
Setting pipeline to NULL …
Freeing pipeline …
Using this pipeline works:
gst-launch-1.0 videotestsrc ! nvvideoconvert ! x264enc ! fakesink
I assume some problem with visibility or permission of devices inside the container. On the host system (smart camera) directly the hardware accelerated veriosn of the 264enc module works.
What could be the reason? What to check next?