Skip to content

Latest commit

 

History

History
87 lines (63 loc) · 1.96 KB

examples.md

File metadata and controls

87 lines (63 loc) · 1.96 KB
var RTCCodecs = require("codecs.js");
var RTCEncoderFactory = require("encoder.js");
var RTCRtpSenderStream = require("stream.js");

//Media streams from gUM
var audio,video;
//ORTC transport
var transport;

Single codec single transport, autoassign values

//Create h264 encoder
var encoder = RTCEncoderFactory.create(RTCCodec.h264);

//Set media stream source
encoder.track = video;

//Create RTP strem and autoassign ssrc
var stream = new RTCRtpSenderStream();
console.log(stream.ssrc);
console.log(stream.rtx.ssrc);
console.log(stream.fec.ssrc);

//Send all encodings to the stream and autoasign payloads
encoder.send(stream);
console.log(stream.payloads[0].pt);
console.log(stream.payloads[0].rtx.pt);

//Send using transport
stream.attach(transport);

Single codec single transport

//Create h264 encoder
var encoder = RTCEncoderFactory.create(RTCCodec.h264);
//Set media stream source
encoder.track = video;

//Create RTP strem and autoassign ssrc
var stream = new RTCRtpSenderStream();

//encoder must have only one encoding or it will throw an exception
encoder.send(stream,{pt: 100, rtx: {pt: 101}});

//Send using transport
stream.attach(transport);

Multiple codecs, single transport

//Create h264 and vp8 encoder
var encoder1 = RTCEncoderFactory.create(RTCCodec.h264);
var encoder2 = RTCEncoderFactory.create(RTCCodec.vp8);

//Set same source for both
encoder1.track = video;
encoder2.track = video;

//Create stream
var stream = new RTCRtpSenderStream();

encoder1.send(stream,{pt: 100, rtx: {pt: 101}});
encoder2.send(stream,{pt: 102, rtx: {pt: 103}});


stream.attach(transport);
```

````javascript
//Simulcast codecs, single transport
var encoder = RTCEncoderFactory.create(RTCCodec.h264);

encoder.track = video;

var stream = new RTCRtpSenderStream();

encoder.addEncoding({}).send(stream,{pt: 100, rtx: {pt: 101}});
encoder.addEncoding({}).send(stream,{pt: 102, rtx: {pt: 103}});


stream.attach(transport);
```