<div dir="ltr"><div>Hi,</div><div><br></div><div>a quick overview before I go into details.</div><div><br></div><div>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.</div><div>Jetson Nano (OS is Ubuntu) provides some platform-specific hardware-accelerated GStreamer elements (e.g.: nvv4l2decoder, omxh264dec, nv3dsink, etc.).</div><div><br></div><div>At this point, I'm evaluating the desirable GStreamer-pipline which fullfills my intention stated above by using the gst-launch-1.0 tool.</div><div>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.</div><div><br></div><div>Unfortunately the omxh264dec element is deprecated in Linux for Tegra (L4T) and its recomended to use 
nvv4l2decoder for new projects instead.</div><div>Problem is, if I use 
nvv4l2decoder instead of 

 
omxh264dec within my working pipeline, the pipeline does't work any more.</div><div><br></div><div>My working-command (deprecated omxh264dec 

is used as video-decoder) is:</div><div>gst-launch-1.0 rtspsrc location=rtsp://<a href="http://192.168.188.112:554/user=admin_password=tlJwpbo6_channel=1_stream=0.sdp?real_stream">192.168.188.112:554/user=admin_password=tlJwpbo6_channel=1_stream=0.sdp?real_stream</a> caps = "application/x-rtp, media=(string)video, encoding-name=(string)H264, payload=(int)96" ! rtph264depay ! h264parse ! omxh264dec ! nvvidconv ! nv3dsink</div><div><br></div><div>I created a pipeline-graph which looks as follows (just the area of interest / end of pipeline is shown):</div><div><div><img src="cid:ii_jwpgimau0" alt="01_omxh264dec_working_but_deprecated.png" width="494" height="35"><br></div></div><div><br></div><div><br></div><div>My desired-but-not-working-command (recomended nvv4l2decoder is used as video-decoder) is:</div><div>gst-launch-1.0 rtspsrc location=rtsp://<a href="http://192.168.188.112:554/user=admin_password=tlJwpbo6_channel=1_stream=0.sdp?real_stream">192.168.188.112:554/user=admin_password=tlJwpbo6_channel=1_stream=0.sdp?real_stream</a> caps = "application/x-rtp, media=(string)video, encoding-name=(string)H264, payload=(int)96" ! rtph264depay ! h264parse ! nvv4l2decoder ! nvvidconv ! nv3dsink</div><div><br></div><div>It's pipeline-graph looks as follows (just the area of interest / end of pipeline is shown):</div><div><div><img src="cid:ii_jwpgnt8i1" alt="02_nvv4l2decoder_recomended_but_not_working.png" width="494" height="37"><br></div></div><div><br></div><div>The graph suggests, that the decoder's format-changed-event on the output side is never called.<br></div><div><br></div><div>Unwilling to give up, I tried to conquer GStreamer by splitting my NOT working command into two commands.</div><div><br></div><div>First, receive the ip-camera stream and write it to a file with:</div><div>gst-launch-1.0 rtspsrc location=rtsp://<a href="http://192.168.188.112:554/user=admin_password=tlJwpbo6_channel=1_stream=0.sdp?real_stream">192.168.188.112:554/user=admin_password=tlJwpbo6_channel=1_stream=0.sdp?real_stream</a>  ! queue ! "application/x-rtp,media=video" ! rtph264depay ! h264parse ! video/x-h264, stream-format="byte-stream" ! filesink location="test.264"</div><div><br></div><div>Second, read from file, decode (with priviously not working video-decoder) and display with:</div><div>gst-launch-1.0 filesrc location=test.264 ! h264parse ! nvv4l2decoder ! nv3dsink</div><div><br></div><div>To my amazement this splitted approach was successfull.</div><div>My question is: why is my
desired-but-not-working-command

 not working while the altenative splitted commands are working just fine?</div><div><br></div><div>Although I studied the GStreamer Documentation closely, I'm very new to GStreamer.</div><div>I hope I did a novice mistake, which an experienced developer/user spots right away.</div><div>If you do, please give me a hint what to do to solve the issue.</div><div><br></div><div>Thank You!<br></div></div>