- From: Philipp Hancke <fippo@goodadvice.pages.de>
- Date: Fri, 4 Mar 2016 06:45:48 +0100
- To: public-ortc@w3.org
Am 04.03.2016 um 00:14 schrieb IƱaki Baz Castillo: > Hi, this is what a browser wants to send (some ines omitted): > > m=video 55154 UDP/TLS/RTP/SAVPF 100 101 96 > a=rtpmap:100 VP8/90000 > a=rtpmap:101 VP9/90000 > a=rtpmap:96 rtx/90000 > a=fmtp:96 apt=100 > a=ssrc-group:FID 1762798695 3360043549 > a=ssrc:1762798695 cname:S1TpdiJRYh4zmAJw > a=ssrc:3360043549 cname:S1TpdiJRYh4zmAJw > > > I want to generate the RTCRtpParameters for the corresponding > RTCRtpSender in ORTC. > > As you can see, there are three codecs (VP8:100, VP9:101, rtx:96), all > of them with clockRate 90000. > > According to "a=fmtp:96 apt=100", rtx is just used for VP8:100 codec. > And according to the a=ssrc and a=ssrc-group lines, there are two SSRC > (1762798695 and 3360043549) for sending VP8, VP9 and rtx. > > > Now the questions: > > > > 1) If the browser also wishes to send rtx for VP9:101, should it add > another rtx codec as follows (and of course a new SSRC)?: > > a=rtpmap:97 rtx/90000 > a=fmtp:97 apt=101 > a=ssrc-group:FID 1762798695 3360043549 4444444444 > a=ssrc:4444444444 cname:S1TpdiJRYh4zmAJw the following change landed ~2 weeks ago in Chrome (omitting non-relevant lines): a=rtpmap:100 VP8/90000 a=rtpmap:101 VP9/90000 a=rtpmap:116 red/90000 a=rtpmap:117 ulpfec/90000 a=rtpmap:96 rtx/90000 a=fmtp:96 apt=100 a=rtpmap:97 rtx/90000 a=fmtp:97 apt=101 a=rtpmap:98 rtx/90000 a=fmtp:98 apt=116 a=ssrc-group:FID 3394089718 2597890963 a=ssrc:3394089718 cname:KW7QnMvNSxEzPmpQ a=ssrc:2597890963 cname:KW7QnMvNSxEzPmpQ no additional ssrc is added. And I do not think it is necessary... > 2) If 1) is correct, how to map it in ORTC? According to the spec: > > 9.12.1 Dictionary RTCRtpRtxParameters Members > > payloadType > The payload type to use for retransmission. If unset, > RTCRtpCodecParameters.payloadType for the "rtx" codec is used. > > ssrc > The SSRC to use for retransmission, as specified in [RFC4588]. > > But how to specify the relationship between rtx:96 and VP8:100, and > rtx:97 and VP9:101? Should it be done by setting 100 and 101 in the > `codecPayloadType` of each RtpEncondingParameters object? the relationship is defined by the parameters in RTCRtpCodecParameters which would be {apt: 100} for the first rtx codec. > 3) How to know which SSRC will be used for VP8:100+VP9:101, rtx:96, > and rtx:97 streams? The line ssrc-group just states that those tree > SSRC values have a relationship, but RFC4588 does not define how each > SSRC in a group is associated to the sending codecs. the ssrc will be the same, the codec is determined by the PT. You need both to demultiplex. Makes sense?
Received on Friday, 4 March 2016 05:46:27 UTC