- From: Peter Thatcher <pthatcher@google.com>
- Date: Tue, 15 Apr 2014 11:10:38 -0700
- To: "public-ortc@w3.org" <public-ortc@w3.org>
- Message-ID: <CAJrXDUE5VZrWJMdmQRJyL3-Y=OmodgP7a814WKWjMvbiPE0mMg@mail.gmail.com>
Here's a simplified proposal for how to add layering/simulcast support without getting too mixed up with quality (there will be a separate proposal for that). dictionary RTCRtpEncodingParameters { // ... existing ssrc, codec, fec, rtx // These are to setup layer dependencies. // If there are no layer dependencies // (they are independent), // then it's effectively simulcast. int layerId; sequence<int> layerDependencies; // Just the IDs // Disable is different than omitting the layer, // because it can keep resources available to re-enable // more quickly than re-adding. // Plus, it still sends RTCP. // Default is active. bool active; // Relative spatial resolution (0.5, 0.25, etc). double scale; } And here are some examples: Example of 3-layer SVC var encodings =[{ layerId: 0, scale: 0.25 }, { layerId: 1, layerDependencies: [0] scale: 0.5 }, { layerId: 2, layerDependencies: [0, 1] scale: 1.0 }] Example of 3-layer SVC with all but bottom layer disabled var encodings1 =[{ layerId: 0, scale: 0.25 }, { layerId: 1, layerDependencies: [0], scale: 0.5, active: false }, { layerId: 2, layerDependencies: [0, 1], scale: 1.0, active: false }]; Example of 3-layer simlucast var encodings =[{ layerId: 0, scale: 0.25 }, { layerId: 1, scale: 0.5 }, { layerId: 2, scale: 1.0 }] Example of 3-layer simulcast with all but bottom layer disabled var encodings1 =[{ layerId: 0, scale: 0.25 }, { layerId: 1, scale: 0.5, active: false }, { layerId: 2, scale: 1.0, active: false }];
Received on Tuesday, 15 April 2014 18:11:49 UTC