Low latency streaming over the network, time sync
Wolfgang Grandegger
wg at grandegger.com
Thu Oct 4 09:09:47 UTC 2018
Hello,
I'm looking into low latency real-time streaming of MJPEG videos over
the network with GStreamer. I wonder what module does the frame
synchronisation on the receivers side and how. On the sender I start:
# gst-launch-1.0 filesrc location=output.avi ! avidemux name=demux
demux.video_0 ! vaapipostproc ! vaapijpegenc quality=50 ! rtpjpegpay !
udpsink host=192.168.178.52 port=50004
and on the receiver:
# gst-launch-1.0 udpsrc port=50004 !
application/x-rtp,encoding-name=JPEG,payload=26 ! queue ! rtpjpegdepay !
vaapijpegdec ! vaapipostproc ! vaapisink
I have some basic questions:
- Are the frames displayed as they arrive (in "udpsrc")?
- Are the timestamps of the RTP packets used to display the
frames at the right time?
If I add "sync=false" to the sender's command, the video is displayed
faster, even if I replace "queue" with "rtpjitterbuffer" in the
receiver's command.
Also, with high quality decoding (90%), the video starts jerking. If I
play the AVI file directly on the receiver side, it looks good.
What am I missing?
TIA,
Wolfgang.
More information about the gstreamer-devel
mailing list