EricssonResearch / openwebrtc

A cross-platform WebRTC client framework based on GStreamer
http://www.openwebrtc.org
BSD 2-Clause "Simplified" License
1.8k stars 537 forks source link

Requesting too many new keyframes #47

Open sdroege opened 9 years ago

sdroege commented 9 years ago

When running the owr daemon with some additional printfs in the code where keyframes are requested in gstrtpsession.c, one can see that in some situations 10 or so keyframes are requested per second... and then many keyframes arrive in a row.

We should probably throttle this a bit somewhere. If a keyframe got lost because of network saturation, it's not going to get better if we saturate the network even more ;)

stefanalund commented 9 years ago

:+1:

superdump commented 9 years ago

Is this still the case? I thought there was throttling in video repair already.

sdroege commented 9 years ago

videorepair does throttling according to its code, but nonetheless I'm receiving many PLIs on both sides... sometimes 10 per second in a burst. This might also be a bug in rtpbin or something.

Note that firefox was not much better in my testing, there were also more PLIs than would seem useful... although less than with owr. Maybe keyframe generation should also be throttled at the encoder side.

stefanalund commented 9 years ago

Wasn't this fixed?

superdump commented 9 years ago

@sdroege do you still see this issue? Do we need to make changes in rtpsession to throttle the frequency of PLI?

sdroege commented 9 years ago

I'll have to check, that's next on my list after the libnice issues. There are also some other issues left to be solved in rtpbin