Gstreamer not working inside l4t-base container, until pipeline is executed on host - l4t r32.6.1


very strange issue here.

When I run any pipeline inside container (l4t-base - latest r32.6.1) , pipeline is stuck and resulting video file is always 0.

However, when I first run any kind of pipeline that uses l4t-gstreamer, it magically starts to work inside container as well.

For reference, this is pipelne i am using

gst-launch-1.0 videotestsrc is-live=true ! video/x-raw, format=I420,width=1920, height=1080 ! omxh264enc ! qtmux ! filesink location=file.avi

It must be somehow related to some sort of /dev/nvhost- device being stuck, and opened when pipeline is launched, but i just have no way to find out.

Can you please guys help me to troubleshoot this?

PS : very important think, but please bear with me - i am using rootfs based on ubuntu 20.04 . So i am aware that it could be somehow related to this , but i really need to stay on ubuntu 20.04. We are working on project which will go into production in next 3 months, and will have to be supported from us for next 8 years, so I can not just go with rootfs based on ubuntu 18.04 (since LTS support will end in 2023). Image was created accordingly l4t guide- Setting Up the Root File System, with exception of debootstraping ubuntu20.04 as rootfs.

Thanks for pointing me out to something …

The gstreamer libs are listed in gstreamer user guide
Not sure but probably the libs are not included in docker. Please check this.

well they are, but mounted from host os via l4t-base nvidia-container-runtime . But ubuntu 20.04 has gstreamer 1.16 vs 1.14 in ubuntu 18.04, should i compile gstreamer according to user guide inside container ?

Our plugins are built with gstreamer 1.14.5. For better stability, we would suggest use identical version. Suggest build gstreamer 1.1.4 5 inside container.

Thanks @DaneLLL for helping me. I did - build gstreamer 1.14.5 inside l4t-base container, however it still behaves as my OP. gstreamer pipeline is stuck inside container untill i will launch that pipeline at host os, then it works inside container as well - till i will restart jetson.

I suspect something between kernel-> host os libraries on 20.04, or something with permissions → simply gstreamer pipeline will not get through because some kind of “socket” is not opened.

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