Compare commits
2 commits
0968a5eba6
...
1dfe3454b4
| Author | SHA1 | Date | |
|---|---|---|---|
| 1dfe3454b4 | |||
| 881dcc2e9c |
1 changed files with 24 additions and 7 deletions
|
|
@ -164,6 +164,12 @@ class webRTCHandler{
|
|||
//Set offer as peerConnections local description
|
||||
await this.currentStream.setLocalDescription(offer);
|
||||
|
||||
//For each receiver from the current streamer
|
||||
for(let receiver of this.currentStream.getReceivers()){
|
||||
//Set jitter buffer target to 1.5s, since we care more about consistent video quality than we do latency
|
||||
receiver.jitterBufferTarget = 1500;
|
||||
}
|
||||
|
||||
//Send RTC connection offer to server to be relayed to streamer's device
|
||||
this.client.socket.emit("relayRTCData", {type:"request",body:offer});
|
||||
}
|
||||
|
|
@ -289,17 +295,11 @@ class webRTCHandler{
|
|||
title.innerText = "WebRTC Error";
|
||||
|
||||
let text = document.createElement('p');
|
||||
text.innerText = "Looks like we're having issues connecting you to your stream. Make sure you're not behind a CGNAT or something.";
|
||||
|
||||
let link = document.createElement('a');
|
||||
link.innerText = "Click here for more info...";
|
||||
link.href = "/streamInfo";
|
||||
link.target = "_blank";
|
||||
text.innerHTML = "Looks like we're having issues connecting you to your stream.<br><br>If you can't get it after a refresh, try again later or on another connection/device.";
|
||||
|
||||
let textBlock = document.createElement('div');
|
||||
textBlock.appendChild(title);
|
||||
textBlock.appendChild(text);
|
||||
textBlock.appendChild(link);
|
||||
|
||||
let errorBlock = document.createElement('div');
|
||||
errorBlock.id = "web-rtc-error-block"
|
||||
|
|
@ -359,6 +359,23 @@ class connectedViewer{
|
|||
peer.addTrack(track, this.broadcastingStream);
|
||||
}
|
||||
|
||||
//For each sender for this peer
|
||||
for(let sender of peer.getSenders()){
|
||||
//Set audio tracks to 192kbps and video tracks to 1200kbps
|
||||
const bitrate = (sender.track.kind == "audio") ? 192 * 1000 : 1200 * 1000;
|
||||
//gank parms from the sender
|
||||
const parms = sender.getParameters();
|
||||
|
||||
//Run through all listed encodings in the current sender paramters
|
||||
for(let encodingIndex in parms.encodings){
|
||||
//Set max bitrate to chosen bitrate
|
||||
parms.encodings[encodingIndex].maxBitrate = bitrate;
|
||||
}
|
||||
|
||||
//Set sender parameters to modified parameters
|
||||
sender.setParameters(parms);
|
||||
}
|
||||
|
||||
//Set peer remote description to connection offer from viewer
|
||||
peer.setRemoteDescription(new RTCSessionDescription(offer));
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue