Splitting source to measure latency

Nicolas Dufresne nicolas at ndufresne.ca
Tue May 29 11:12:31 UTC 2018


Le mardi 29 mai 2018 à 12:27 +0200, Wolfgang Grandegger a écrit :
> I want to split the video source to measure the latency between a video
> generated and displayed on a local and remote display using:
> 
> # gst-launch-1.0 -v videotestsrc \
>   ! video/xraw,format=RGBx,width=800,height=600,framerate=30/1 \
>   ! timeoverlay ! tee name=t \
>   t. ! queue ! kmssink
>   t. ! queue ! vaapipostproc ! vaapijpegenc quality=90 \
>      ! rtpjpegpay ! udpsink host=192.168.0.254 port=50004
> 
> I'm interested in the latency due to:
> 
>  vaapipostproc ! vaapijpegenc quality=90 ! rtpjpegpay \
>  ! udpsink host=192.168.0.254 port=50004
> 
> Then I take a picture of both, the local and the remote display. I see
> that the time of the video on the remote side is delayed by more or less
> exactly *one* second. How does the "tee" deliver the packages to both
> streams? One by one? Is it possible at all to measure the latency using
> "tee"? Have I missed something else?

tee is synchronous and single threaded, that's why you need queue
afterward. Though, it should not introduce a large delay like y uhave
described. I'd look at your receiver side for delays.

Nicolas


More information about the gstreamer-devel mailing list