webrtcbin latency

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

webrtcbin latency

antchi
I've been testing out the new webrtcbin plugin and am encountering a
noticeable addition in latency when streaming.  I used two machines with
gstreamer to stream h264 video from one to the other via the webrtcbin
plugin (pipelines look like this - sender: fdsrc ! h264parse ! rtph264pay !
webrtcbin.  receiver: webrtcbin ! decodebin ! videoconvert ! autovideosink),
which works like a charm.  If I replace the webrtcbin's with udpsink and
udpsrc's, however, I get about a 150-200ms decrease in latency.  Has anybody
else experienced the same?

I'm under the impression that most of the work webrtcbin does is setting up
the connection, and once that connection is set up, information should flow
with very little overhead.  I'm wondering if this overhead is typical, or if
there is anything that can be done to optimize this.

150-200ms may not seem that long, but depending on the real-time
application, it could have a significant impact on experience.

Thanks!



--
Sent from: http://gstreamer-devel.966125.n4.nabble.com/
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: webrtcbin latency

Mathieu Duponchelle
Hey,

Under the hood, webrtcbin uses rtpbin, and its latency on the receiving side(s) is left
at the default of 200 ms, which is a reasonable enough value to let the jitter buffer
perform its work adequately.

That being said, a latency property could probably be exposed on webrtcbin, it should
be straightfoward if you feel like proposing a patch, bear in mind however that setting
the latency lower increases the chances of packets considered lost on the receiving end,
apart from the local network case.

Cheers,

--
Mathieu Duponchelle ยท https://www.centricular.com


On 06/26/2018 11:56 PM, antchi wrote:

> I've been testing out the new webrtcbin plugin and am encountering a
> noticeable addition in latency when streaming.  I used two machines with
> gstreamer to stream h264 video from one to the other via the webrtcbin
> plugin (pipelines look like this - sender: fdsrc ! h264parse ! rtph264pay !
> webrtcbin.  receiver: webrtcbin ! decodebin ! videoconvert ! autovideosink),
> which works like a charm.  If I replace the webrtcbin's with udpsink and
> udpsrc's, however, I get about a 150-200ms decrease in latency.  Has anybody
> else experienced the same?
>
> I'm under the impression that most of the work webrtcbin does is setting up
> the connection, and once that connection is set up, information should flow
> with very little overhead.  I'm wondering if this overhead is typical, or if
> there is anything that can be done to optimize this.
>
> 150-200ms may not seem that long, but depending on the real-time
> application, it could have a significant impact on experience.
>
> Thanks!
>
>
>
> --
> Sent from: http://gstreamer-devel.966125.n4.nabble.com/
> _______________________________________________
> gstreamer-devel mailing list
> [hidden email]
> https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: webrtcbin latency

antchi
Ah, makes sense.  Thanks Mathieu!  I'll look into it and possibly propose a
patch in the near future



--
Sent from: http://gstreamer-devel.966125.n4.nabble.com/
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel