Stuck in Hallo AI World at processing video part Orin Nano

Just started to explore examples on Helo AI World. The pictures work fine, then the video streams returned following error (also tried RTSP feed but returned the same):

[gstreamer] gstDecoder – pipeline string:
[gstreamer] filesrc location=jellyfish.mkv ! matroskademux ! queue ! h264parse ! nvv4l2decoder name=decoder enable-max-performance=1 ! video/x-raw(memory:NVMM) ! nvvidconv name=vidconv ! video/x-raw ! appsink name=mysink
[gstreamer] gstDecoder – failed to create pipeline
[gstreamer] (no element “nvv4l2decoder”)
[gstreamer] failed to create decoder pipeline
[gstreamer] gstDecoder – failed to create decoder for file:///jetson-inference/build/aarch64/bin/jellyfish.mkv
Traceback (most recent call last):
File “./imagenet.py”, line 59, in
input = videoSource(args.input, argv=sys.argv)
Exception: jetson.utils – failed to create videoSource device

Software versions:
dustynv/jetson-inference:r35.3.1 L4T R35.3.1 JetPack 5.1.1

Hi @ai168, on JetPack 5 the GStreamer plugins get mounted from the host by the NVIDIA Container Runtime along with the GPU drivers. You can see what gets mounted under /etc/nvidia-container-runtime/host-files-for-container.d/l4t.csv

...
lib, /usr/lib/aarch64-linux-gnu/gstreamer-1.0/libgstnvarguscamerasrc.so
lib, /usr/lib/aarch64-linux-gnu/gstreamer-1.0/libgstnvcompositor.so
lib, /usr/lib/aarch64-linux-gnu/gstreamer-1.0/libgstnvdrmvideosink.so
lib, /usr/lib/aarch64-linux-gnu/gstreamer-1.0/libgstnveglglessink.so
lib, /usr/lib/aarch64-linux-gnu/gstreamer-1.0/libgstnveglstreamsrc.so
lib, /usr/lib/aarch64-linux-gnu/gstreamer-1.0/libgstnvegltransform.so
lib, /usr/lib/aarch64-linux-gnu/gstreamer-1.0/libgstnvivafilter.so
lib, /usr/lib/aarch64-linux-gnu/gstreamer-1.0/libgstnvjpeg.so
lib, /usr/lib/aarch64-linux-gnu/gstreamer-1.0/libgstnvtee.so
lib, /usr/lib/aarch64-linux-gnu/gstreamer-1.0/libgstnvv4l2camerasrc.so
lib, /usr/lib/aarch64-linux-gnu/gstreamer-1.0/libgstnvvidconv.so
lib, /usr/lib/aarch64-linux-gnu/gstreamer-1.0/libgstnvvideo4linux2.so
lib, /usr/lib/aarch64-linux-gnu/gstreamer-1.0/libgstnvvideosink.so
lib, /usr/lib/aarch64-linux-gnu/gstreamer-1.0/libgstnvvideosinks.so
...

Can you confirm that you see these files (and that they have non-zero size) both inside and outside of container? Are you able to run gst-inspect-1.0 | grep nv outside container and see nvv4l2decoder listed?

1 Like

Hi @dusty_nv , thanks for replying! I can see all files in and out the container. After running your command I also see the nvv4l2decoder listed.

I still have the same problem, any other suggestions?
Regards, Peter

Hi @ai168, sorry for the delay - in that case, are you able to run gst-inspect-1.0 nvv4l2decoder inside the container? How about any gst-launch-1.0 pipelines from the decode examples:

https://docs.nvidia.com/jetson/archives/r36.3/DeveloperGuide/SD/Multimedia/AcceleratedGstreamer.html#video-decode-using-gst-v4l2

If you can use nvv4l2decoder like that inside container, not sure why another application like jetson-inference would not be able to.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.