I am accessing a RTSP
video stream from a VIRB 360 camera. I am able to play the stream using the following gstreamer
command:
gst-launch-1.0 -v playbin uri=rtsp://192.168.0.1/livePreviewStream?maxResolutionVertical=720\&liveStreamActive=1
However, there is a 3 second delay in the streaming, which needs to be eliminated. The output of the above command (due to -v
) has been uploaded here. I also created a few .svg
files for the pipeline following the method described in this question/ answer. Those files has been uploaded here. I believe mypipeline4.svg
and mypipeline5.svg
represent the complete pipeline (Multiple dot
files were generated by a single pipeline and that's reason for multiple .svg
file). In the .svg
files, can see a latency=2000
under rtpjitterbuffer
.
The plan is to build the same pipeline by adding components manually instead of using playbin
, and then set latency property for rtpjitterbuffer
. I have tried the following commands:
1) gst-launch-1.0 rtspsrc location=rtsp://192.168.0.1/livePreviewStream?maxResolutionVertical=720\&liveStreamActive=1 ! udpsrc ! rtpsession ! rtpssrcdemux ! rtpjitterbuffer ! rtpptdemux ! queue ! udpsink ! queue ! rtph264depay ! h264parse ! omxh264dec ! playsink
2) gst-launch-1.0 rtspsrc location=rtsp://192.168.0.1/livePreviewStream?maxResolutionVertical=720\&liveStreamActive=1 ! udpsrc ! rtpsession ! rtpssrcdemux ! rtpjitterbuffer ! rtpptdemux ! queue ! udpsink ! queue ! rtph264depay ! h264parse ! omxh264dec ! nvoverlaysink
However, in both cases, I received an error: WARNING: erroneous pipeline: could not link udpsink0 to queue1.
How can I fix this? Also, from my experiments I pretty sure that the rest of the pipeline also has errors. How can I optimize this pipeline?