Can't get pipeline (rtspsrc ! rtph264depay ! h264parse ! nvv4l2decoder ) to work on Jetson Nano

Nicolas Dufresne nicolas at ndufresne.ca
Mon Jun 10 13:46:11 UTC 2019


Le lundi 10 juin 2019 à 00:07 +0200, Konstantin Stein a écrit :
> Hi,
> 
> a quick overview before I go into details.
> 
> I'm trying to receive and decode a rtsp-h264 stream from my IP-camera on a Jetson Nano singleboard-computer connected to the same network.
> Jetson Nano (OS is Ubuntu) provides some platform-specific hardware-accelerated GStreamer elements (e.g.: nvv4l2decoder, omxh264dec, nv3dsink, etc.).
> 
> At this point, I'm evaluating the desirable GStreamer-pipline which fullfills my intention stated above by using the gst-launch-1.0 tool.
> I was able to succesfully receive, decode and display the ip-camera stream by using the  platform-specific hardware-accelerated omxh264dec element as video-decoder.
> 
> Unfortunately the omxh264dec element is deprecated in Linux for Tegra (L4T) and its recomended to use nvv4l2decoder for new projects instead.
> Problem is, if I use nvv4l2decoder instead of omxh264dec within my working pipeline, the pipeline does't work any more.

Unfortunatly, it will be hard for anyone from the community to support
you without seeing the source code for these. That being said, your
option is to file a support ticket with NVidia.

> 
> My working-command (deprecated omxh264dec is used as video-decoder) is:
> gst-launch-1.0 rtspsrc location=rtsp://192.168.188.112:554/user=admin_password=tlJwpbo6_channel=1_stream=0.sdp?real_stream caps = "application/x-rtp, media=(string)video, encoding-name=(string)H264, payload=(int)96" ! rtph264depay ! h264parse ! omxh264dec ! nvvidconv ! nv3dsink
> 
> I created a pipeline-graph which looks as follows (just the area of interest / end of pipeline is shown):
> 
> 
> 
> My desired-but-not-working-command (recomended nvv4l2decoder is used as video-decoder) is:
> gst-launch-1.0 rtspsrc location=rtsp://192.168.188.112:554/user=admin_password=tlJwpbo6_channel=1_stream=0.sdp?real_stream caps = "application/x-rtp, media=(string)video, encoding-name=(string)H264, payload=(int)96" ! rtph264depay ! h264parse ! nvv4l2decoder ! nvvidconv ! nv3dsink
> 
> It's pipeline-graph looks as follows (just the area of interest / end of pipeline is shown):
> 
> 
> The graph suggests, that the decoder's format-changed-event on the output side is never called.
> 
> Unwilling to give up, I tried to conquer GStreamer by splitting my NOT working command into two commands.
> 
> First, receive the ip-camera stream and write it to a file with:
> gst-launch-1.0 rtspsrc location=rtsp://192.168.188.112:554/user=admin_password=tlJwpbo6_channel=1_stream=0.sdp?real_stream  ! queue ! "application/x-rtp,media=video" ! rtph264depay ! h264parse ! video/x-h264, stream-format="byte-stream" ! filesink location="test.264"
> 
> Second, read from file, decode (with priviously not working video-decoder) and display with:
> gst-launch-1.0 filesrc location=test.264 ! h264parse ! nvv4l2decoder ! nv3dsink
> 
> To my amazement this splitted approach was successfull.
> My question is: why is my desired-but-not-working-command not working while the altenative splitted commands are working just fine?
> 
> Although I studied the GStreamer Documentation closely, I'm very new to GStreamer.
> I hope I did a novice mistake, which an experienced developer/user spots right away.
> If you do, please give me a hint what to do to solve the issue.
> 
> Thank You!
> _______________________________________________
> gstreamer-devel mailing list
> gstreamer-devel at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 195 bytes
Desc: This is a digitally signed message part
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20190610/3ddf3718/attachment.sig>


More information about the gstreamer-devel mailing list