Uses to reduce latency of a pipeline

Jack jack at rybn.org
Mon Jan 28 12:04:41 UTC 2019


Hello,

I would like to know if you have recommandations on how to reduce
latency on a running pipeline using gstwebrtc ?

For instance, a pipeline 1 like (using Python) :

webrtcbin name=sendrecv bundle-policy=max-bundle
filesrc location=my_stereo_sound.wav ! wavparse ! volume name="vol0"
volume=0.5 ! opusenc frame-size=10 ! rtpopuspay pt=96 !
application/x-rtp,media=audio,encoding-name=OPUS,payload=96,clock-rate=48000
! sendrecv.

and a pipeline 2 like (always with Python) :

webrtcbin name=sendrecv bundle-policy=max-bundle
filesrc location=my_stereo_sound.wav ! wavparse ! deinterleave name=d
d.src_0 ! queue ! volume name="vol0" volume=0.5 ! i.sink_0 d.src_1 !
queue ! volume name="vol1" volume=0.5 ! i.sink_1 interleave name=i !
audiopanorama ! opusenc frame-size=10 ! rtpopuspay pt=96 !
application/x-rtp,media=audio,encoding-name=OPUS,payload=96,clock-rate=48000
! sendrecv.

If I change dynamically the value on "vol0" on the first pipeline (with
set_property()), I can hear the modification 1 second later (for me it
is acceptable). But if I do the same on the pipeline 2, the modification
is heard 2 seconds later ! Huge difference ! It is normal regarding the
"complexity" of the second pipeline (compare to the first) ? What do you
advise to reduce latency on the second pipeline ?
++

Jack



More information about the gstreamer-devel mailing list