Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Need to define what to do on very low bitrates #2003

Closed
alvestrand opened this issue Oct 4, 2018 · 5 comments · Fixed by #2224
Closed

Need to define what to do on very low bitrates #2003

alvestrand opened this issue Oct 4, 2018 · 5 comments · Fixed by #2224
Assignees

Comments

@alvestrand
Copy link
Contributor

If bitrate is so low that it's unreasonable (doesn't allow sending a frame in a reasonable time), is the implementation allowed to emit a frame at all, is it allowed to exceed the bitrate over a short interval, or should it reject the parameter?

@fippo
Copy link
Contributor

fippo commented Oct 5, 2018

and what if the bitrate is reasonable for the track currently attached to the sender (says 320x240@15fps) and then that track is replaced with a 4k@30fps screenshare?

@murillo128
Copy link

murillo128 commented Oct 5, 2018

This situation is no different than setting the bitrate to a reasonable value end then getting a BWE with a very low bitrate.

IMO, the implementation should never be allowed to send more bitrate than the specified on the parameters or the value provided by the BWE.

In this case the implementation could either decide to not send media at all, or try to send it a very low fps (one frame each several seconds).

@alvestrand
Copy link
Contributor Author

Agree that the configured bitrate (and the bitrate from BWE) should never be exceeded when averaged over a long enough period. (But what's long enough?)
When sending a single frame, it makes sense to me to send it as fast as possible within the constraints given by BWE, no matter what the maxBitrate value says - but then it may take a long time until we send the next one.

@shampson
Copy link

shampson commented Oct 5, 2018

A relevant webrtc bug:
https://bugs.chromium.org/p/webrtc/issues/detail?id=9141

@aboba aboba added the TPAC 2018 label Oct 6, 2018
@alvestrand alvestrand self-assigned this Oct 11, 2018
@Orphis
Copy link
Contributor

Orphis commented Jan 17, 2019

Regarding this issue, should we treat maxBitrate == 0 the same as maxFramerate == 0 for consistency?
Both could be equivalent to setting active to false.

@alvestrand alvestrand added this to To do in WebRTC 1.0 to PR May 16, 2019
alvestrand added a commit that referenced this issue Jul 8, 2019
Fixes #2003

This is a non-normative note, so shouldn't need tests.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Development

Successfully merging a pull request may close this issue.

6 participants