We have a live streaming requirement to stream both rtsp (axis camera) and udp mpeg ts from another e ncoder. The application requires low latency and smooth scrolling of video, since users will be using ptz cameras.
For RTSP we are using the following pipeline:
rtspsrc location=rtsp://10.3.1.214/axis-media/media.amp latency=200 ! rtph264depay ! h264parse ! queue ! omxh264dec ! nvvidconv ! nvoverlaysink display-id=2 sync=true
With sync=false, we get jerky video. WIth sync=true and default latency, we get about 1 sec
delay. With both sync=true and latency=200 we get a good compromise. Setting the latency
too low results in jerky video.
For the mpeg-ts stream, the pipeline is similar:
udpsrc uri=udp://127.0.0.1:1132 ! tsparse set-timestamps=true ! tsdemux ! h264parse ! queue ! omxh264dec ! nvvidconv ! nvoverlaysink display-id=2 sync=true
The video is smooth when using PTZ, but the delay is over a second, making positioning
the camera interactively difficult.
If we set sync=false, the latency is low but the video is very jerky when panning.
Unfortunately, there does not seem to be a latency parameter in any of the elments
in the mpeg ts decode pipeline that directly controls the latency of the video.
Is there anything we can adjust to minimize this latency.
Thanks in advance,