-
Notifications
You must be signed in to change notification settings - Fork 115
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
Plan X: Add an API for using RID to do simulcast #353
Conversation
<dt>DOMString rid</dt> | ||
<dd> | ||
<p> If set, this RTP encoding will be sent with the RID header extension as | ||
defined by [[!RTCWEB-JSEP]]. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why does this need to be set, can we not simply require that browsers use RID? Having the browser choose the RID will work much better than allowing the application pick something.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Here I'm concerned about applications choosing for collisions, or choosing identifiers that are too long for good performance.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Several people (including Adam and Byron, if I recall correctly) requested a way that applications could give some meaning to each layer beyond just a number. This is one reason why a string was chosen for the RID instead of an int. For example, this allows the application to choose "F" for full, "H" for half and "Q" for quarter, or "S", "M", "L", or whatever.
It's possible that a similar thing could be accomplished by putting the encodings in the right order in the SDP, but that hasn't been fully fleshed out. It's also possible that the RID can be chosen by the browser and then additional semantics can be signaled to the MCU outside of SDP, which was my original proposal.
I'm not worried about collisions. If the application chooses the same RID for two or more encodings, we just throw an exception (I could add some text to make that explicit). And we could also add some text about keeping the ID short but I'd hope that someone doing something as advanced as simulcast would know that they shouldn't choose a long value for something that's going to go into a header extension.
This approach to simulcast was discussed at TPAC and generally liked. The main concerns seemed to be:
|
I think we also agreed we could land this PR and think about add more I'm not sure about your second bullet point, though. Is it just a subset On Tue, Nov 3, 2015 at 11:46 PM, stefan hakansson notifications@github.com
|
@pthatcherg I'll consult with the other chairs regarding merging, I don't have a clear memory. But (to reiterate) it was clear to me that these is support for moving forward with this approach. |
On Wed, Nov 4, 2015 at 9:12 PM, stefan hakansson notifications@github.com
|
I thought we converged to agreeing maxFramerate was enough, and that a framerateScale might be weird for source with variable framerate, e.g. screensharing. As an application developer, max-framerate is what I want. |
@pthatcherg there is a branch conflict here, could you look at it? |
I think maxFramerate is the one that's possible to get consensus on. |
The merge conflict is now resolved. By the way, I also put in the "16 alphanumeric characters" limit on the RID On Thu, Nov 19, 2015 at 7:42 AM, Harald Alvestrand <notifications@github.com
|
If we add maxFramerate to RTCRtpEncodingParameters (which seems ok to me), do we also need max-fr within fmtp parameters (e.g. for VP8). Given that max-fr is not an H.264 SDP parameter, I would prefer a maxFramerate attribute within RTCRtpEncodingParameters. I have similar concerns about trying to control resolution via max-fs in SDP (listed as an SDP parameter in VP8 as well as H.264) as well as via resolutionScale, max-height, max-width, and imageattr (RFC 6236). Keep this simple, please. |
I wouldn't want to mess with fmtp if I can avoid it. The max-fs in VP8 in particular (the one I know something about) limits what you can receive, but says nothing about what you can send. Entirely different from the proposed rid parameters for rid negotiation. |
Plan X: Add an API for using RID to do simulcast
No description provided.