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. 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 [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
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. 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 > [hidden email] > https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel signature.asc (201 bytes) Download Attachment |
Free forum by Nabble | Edit this page |