ORTC SVC SimulCast
-
Upload
jxck- -
Category
Technology
-
view
1.324 -
download
3
Transcript of ORTC SVC SimulCast
![Page 1: ORTC SVC SimulCast](https://reader030.fdocuments.us/reader030/viewer/2022021420/58e5f7231a28ab09478b509b/html5/thumbnails/1.jpg)
ORTC SimulCast
#niku_sushi Jxck
![Page 2: ORTC SVC SimulCast](https://reader030.fdocuments.us/reader030/viewer/2022021420/58e5f7231a28ab09478b509b/html5/thumbnails/2.jpg)
● id: Jxck● github: Jxck● twitter: @jxck_● about: http://jxck.io● blog: http://jxck.hatenablog.com● podcast: http://mozaic.fm● Love: music
Jack
![Page 3: ORTC SVC SimulCast](https://reader030.fdocuments.us/reader030/viewer/2022021420/58e5f7231a28ab09478b509b/html5/thumbnails/3.jpg)
Q: Why ORTC ?A: long story...
3
![Page 4: ORTC SVC SimulCast](https://reader030.fdocuments.us/reader030/viewer/2022021420/58e5f7231a28ab09478b509b/html5/thumbnails/4.jpg)
4
that’s all thank you !!
![Page 5: ORTC SVC SimulCast](https://reader030.fdocuments.us/reader030/viewer/2022021420/58e5f7231a28ab09478b509b/html5/thumbnails/5.jpg)
ORTC ≒ WebRTC 1.0 + SimulCast + MultiStream interop
5
![Page 6: ORTC SVC SimulCast](https://reader030.fdocuments.us/reader030/viewer/2022021420/58e5f7231a28ab09478b509b/html5/thumbnails/6.jpg)
Simulcast
6
![Page 7: ORTC SVC SimulCast](https://reader030.fdocuments.us/reader030/viewer/2022021420/58e5f7231a28ab09478b509b/html5/thumbnails/7.jpg)
SimulCast ?
7
Different Context !!
![Page 8: ORTC SVC SimulCast](https://reader030.fdocuments.us/reader030/viewer/2022021420/58e5f7231a28ab09478b509b/html5/thumbnails/8.jpg)
AVC Simulcast
8
● re-encoding for each client capability, network○ heavy resource○ latecy at server
![Page 9: ORTC SVC SimulCast](https://reader030.fdocuments.us/reader030/viewer/2022021420/58e5f7231a28ab09478b509b/html5/thumbnails/9.jpg)
SVC Simulcast
9
● SVC encode at client○ multi layered video○ router choose a layer
![Page 10: ORTC SVC SimulCast](https://reader030.fdocuments.us/reader030/viewer/2022021420/58e5f7231a28ab09478b509b/html5/thumbnails/10.jpg)
SVC
10
![Page 11: ORTC SVC SimulCast](https://reader030.fdocuments.us/reader030/viewer/2022021420/58e5f7231a28ab09478b509b/html5/thumbnails/11.jpg)
SVC(scalable video coding)
11
● multi layered coding○ 1-base layer○ n-enhancement layer
● parameter○ Temporal (frame rate)○ Spatial (resolution)○ Quality (SNR)
![Page 12: ORTC SVC SimulCast](https://reader030.fdocuments.us/reader030/viewer/2022021420/58e5f7231a28ab09478b509b/html5/thumbnails/12.jpg)
Temporal
12
![Page 13: ORTC SVC SimulCast](https://reader030.fdocuments.us/reader030/viewer/2022021420/58e5f7231a28ab09478b509b/html5/thumbnails/13.jpg)
Spatial
13
![Page 14: ORTC SVC SimulCast](https://reader030.fdocuments.us/reader030/viewer/2022021420/58e5f7231a28ab09478b509b/html5/thumbnails/14.jpg)
Quality
14
![Page 15: ORTC SVC SimulCast](https://reader030.fdocuments.us/reader030/viewer/2022021420/58e5f7231a28ab09478b509b/html5/thumbnails/15.jpg)
layer● base layer
○ lowest quality for video conference○ small size○ error correction
● enhancement layer○ merge with base layer○ more size○ fallback to base layer if lost
● layer choice○ layer routing server choice○ negotiation, bandwidth estimation etc
15
![Page 16: ORTC SVC SimulCast](https://reader030.fdocuments.us/reader030/viewer/2022021420/58e5f7231a28ab09478b509b/html5/thumbnails/16.jpg)
ORTC API
16
![Page 17: ORTC SVC SimulCast](https://reader030.fdocuments.us/reader030/viewer/2022021420/58e5f7231a28ab09478b509b/html5/thumbnails/17.jpg)
Over View
17
![Page 18: ORTC SVC SimulCast](https://reader030.fdocuments.us/reader030/viewer/2022021420/58e5f7231a28ab09478b509b/html5/thumbnails/18.jpg)
before / after PeerConnection
18
// beforelet peer = new PeerConnection();
// call these during singallingpeer.addStream();peer.onnegotiationneeded;peer.createOffer/Answer();peer.setLocal/RemoteDescription();peer.onicecandidate;peer.addIceCandidate();
// ALL API are on PeerConnection Class
![Page 19: ORTC SVC SimulCast](https://reader030.fdocuments.us/reader030/viewer/2022021420/58e5f7231a28ab09478b509b/html5/thumbnails/19.jpg)
before / after PeerConnection
19
// afterlet iceGatherer = new RTCIceGatherer(iceGatherOptions);let iceTransport = new RTCIceTransport(iceGatherer);let dtlsTransport = new RTCDtlsTransport(iceTransport);
let rtpSender = new RTCRtpSender(mediaStreamTrack, dtlsTransport);let rtpReceiver = new RTCRtpReceiver(dtlsTransport);let sendCapas = RTCRtpSender.getCapabilities('video');let recvCapas = RTCRtpReceiver.getCapabilities('video');// exchange caps
// ALL API are on each Classes
![Page 20: ORTC SVC SimulCast](https://reader030.fdocuments.us/reader030/viewer/2022021420/58e5f7231a28ab09478b509b/html5/thumbnails/20.jpg)
before / after DataChannel
20
// after
let iceGatherer = new RTCIceGatherer(iceGatherOptions);let iceTransport = new RTCIceTransport(iceGatherer);let dtlsTransport = new RTCDtlsTransport(iceTransport);let sctpTransport = new RTCSctpTransport(dtlsTransport);
let channel = new RTCDataChannel(sctpTransport);
// before
peerConnection.createDataChannel((channel) => {
});
![Page 21: ORTC SVC SimulCast](https://reader030.fdocuments.us/reader030/viewer/2022021420/58e5f7231a28ab09478b509b/html5/thumbnails/21.jpg)
SVC
21
var encodings = [ { // 低解像度ベースレイヤ(1/2 フレームレート 1/2 解像度) encodingId: "0", resolutionScale: 2.0, framerateScale: 2.0 }, { // 拡張解像度ベースレイヤ(1/2 フレームレート 1/1 解像度) encodingId: "E0", resolutionScale: 1.0, framerateScale: 2.0 }, { // 低解像度ベースへの拡張レイヤ (1/1 レート, 1/2 解像度) encodingId: "1", dependencyEncodingIds: ["0"], resolutionScale: 2.0, framerateScale: 1.0 }, { // 拡張解像度ベースへの拡張レイヤ (1/1 レート, 1/1 解像度) encodingId: "E1", dependencyEncodingIds: ["E0"], resolutionScale: 1.0, framerateScale: 1.0 }];
![Page 22: ORTC SVC SimulCast](https://reader030.fdocuments.us/reader030/viewer/2022021420/58e5f7231a28ab09478b509b/html5/thumbnails/22.jpg)
complicated ?
22
classes based on protocol stackhttp://www.slideshare.net/iwashi86/20140801-web-rtcmeetup3r3
![Page 23: ORTC SVC SimulCast](https://reader030.fdocuments.us/reader030/viewer/2022021420/58e5f7231a28ab09478b509b/html5/thumbnails/23.jpg)
WebRTC NV ≒ WebRTC.merge(ORTC)
23
![Page 24: ORTC SVC SimulCast](https://reader030.fdocuments.us/reader030/viewer/2022021420/58e5f7231a28ab09478b509b/html5/thumbnails/24.jpg)
more:http://jxck.hatenablog.com/entry/ortc-to-webrtcnv
24
![Page 25: ORTC SVC SimulCast](https://reader030.fdocuments.us/reader030/viewer/2022021420/58e5f7231a28ab09478b509b/html5/thumbnails/25.jpg)
have a nice web :)
25
![Page 26: ORTC SVC SimulCast](https://reader030.fdocuments.us/reader030/viewer/2022021420/58e5f7231a28ab09478b509b/html5/thumbnails/26.jpg)
Jack