Latency measurement streaming between two hosts

Arnaud Loonstra arnaud at sphaero.org
Tue May 13 04:52:26 PDT 2014


Hi all,

I'm currently testing a setup similar to HDMI-over-IP using gstreamer.
I want to see what the best latency is I can get. I'm currently below 
100ms using mjpeg however I'm not sure what would be the best method for 
getting exact latency values.

The pipeline I'm using is:

transmitter:
gst-launch-1.0 -v v4l2src ! \
   video/x-raw,format=YUY2,width=640,height=480 ! \
   queue ! jpegenc ! jifmux ! rtpjpegpay ! \
   udpsink host=192.168.12.143 port=5200

receiver:
gst-launch-1.0 -v udpsrc port=5200 ! \
   application/x-rtp,encoding-name=JPEG,payload=26,width=640,height=480!\
   rtpjpegdepay ! jpegparse ! jpegdec ! xvimagesink

This gives really nice >100ms (estimated) results on a wired network.

Now to get more detailed values I thought of adding a timestamp, 
displaying the image locally while streaming them using 'tee' and then 
photograph both displays

gst-launch-1.0 -v v4l2src ! \
   video/x-raw,format=YUY2,width=640,height=480 ! \
   timeoverlay ! tee name="stream" ! \
   queue ! xvimagesink stream. ! \
   queue ! jpegenc ! jifmux! rtpjpegpay ! \
   udpsink host=192.168.12.143 port=5200

However I now run into the situation in which the timestamp on the 
remote system is earlier than the one locally. I probably am not getting 
something??? Any thoughts on this?

Gstreamer version: 1.2.4 (ubuntu trusty packages)
Test machines are identical.

Rg,

Arnaud


More information about the gstreamer-devel mailing list