How to use the constant resolution during webrtc video transmission?

1,449 views
Skip to first unread message

Qiu Chun

unread,
Sep 12, 2019, 7:28:49 AM9/12/19
to discuss-webrtc

I am using janus to build my webrtc SFU server. I need the chrome browser to send the video resolution from a start to a fixed value and remain unchanged during the transfer. Where should I set it?


I tried setting the degradationPreference in the js code, but it didn't work, the resolution will still change, it seems that chrome does not support this parameter.

var senderList = config.pc.getSenders();
var sender = config.pc.getSenders().find(function(s) {return s.track.kind == "video"});
if(sender) {
    var parameters = sender.getParameters();
    parameters.degradationPreference = "maintain-resolution";
    sender.setParameters(parameters);
}


I looked at frameHeightSend/frameWidthSend in chrome://webrtc-internals, hoping it will keep the same value from the start, but now it grows slowly at startup and will fluctuate during subsequent transfers.



I found a message that sets the constant resolution in IOS, which is set when the screen is shared, and whether there are similar settings in chrome.

Henrik Andreasson

unread,
Sep 12, 2019, 7:32:34 AM9/12/19
to discuss-webrtc
Please direct your question to janus-gateway

--

---
You received this message because you are subscribed to the Google Groups "discuss-webrtc" group.
To unsubscribe from this group and stop receiving emails from it, send an email to discuss-webrt...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/discuss-webrtc/826e4e21-2852-45da-a59c-f5e99b39ed77%40googlegroups.com.

Qiu Chun

unread,
Sep 15, 2019, 10:34:27 PM9/15/19
to discuss-webrtc
Although I use janus, I think the resolution change should be webrtc related settings. Through googHasEnteredLowResolution and googBandwidthLimitedResolution in chrome://webrtc-internals, you can see that bandwidth and cpu will affect the resolution.

    "ssrc_1367984938_send-googBandwidthLimitedResolution": {
     "startTime": "2019-09-11T11:01:57.521Z",
     "endTime": "2019-09-11T11:07:38.524Z",
     "values": "[true,true,true,true,true,true,true,true,true,true,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false]"
    },
    "ssrc_1367984938_send-googCpuLimitedResolution": {
     "startTime": "2019-09-11T11:01:57.521Z",
     "endTime": "2019-09-11T11:07:38.524Z",
     "values": "[false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true]"
    }
Whether webrtc has related settings can make the bandwidth and CPU unable to affect the resolution, so that the resolution is unchanged.

在 2019年9月12日星期四 UTC+8下午7:32:34,Henrik Andreasson写道:
Please direct your question to janus-gateway

On Thu, Sep 12, 2019 at 1:28 PM Qiu Chun <chunq...@gmail.com> wrote:

I am using janus to build my webrtc SFU server. I need the chrome browser to send the video resolution from a start to a fixed value and remain unchanged during the transfer. Where should I set it?


I tried setting the degradationPreference in the js code, but it didn't work, the resolution will still change, it seems that chrome does not support this parameter.

var senderList = config.pc.getSenders();
var sender = config.pc.getSenders().find(function(s) {return s.track.kind == "video"});
if(sender) {
    var parameters = sender.getParameters();
    parameters.degradationPreference = "maintain-resolution";
    sender.setParameters(parameters);
}


I looked at frameHeightSend/frameWidthSend in chrome://webrtc-internals, hoping it will keep the same value from the start, but now it grows slowly at startup and will fluctuate during subsequent transfers.



I found a message that sets the constant resolution in IOS, which is set when the screen is shared, and whether there are similar settings in chrome.

--

---
You received this message because you are subscribed to the Google Groups "discuss-webrtc" group.
To unsubscribe from this group and stop receiving emails from it, send an email to discuss...@googlegroups.com.

Rui Zhang

unread,
Sep 18, 2019, 2:48:50 AM9/18/19
to discuss-webrtc
Below is for Chorme only:


To disable CPU Limitation:

var RTCpeerConnectionOptional = { optional: [  { "googCpuOveruseDetection": false} ] };
PeerConnection = new window.RTCPeerConnection(servers, RTCpeerConnectionOptional);


There is no way to disable Bandwidth Limitation, maybe you could check the W3C Peerconnection page about  RTCDegradationPreference . I am not sure it on Chrome.


在 2019年9月16日星期一 UTC+8上午10:34:27,Qiu Chun写道:

Qiu Chun

unread,
Sep 18, 2019, 11:01:56 PM9/18/19
to discuss-webrtc
Thanks, I will try to set the googCpuOveruseDetection option. For the RTCDegradationPreference option, I have set it up, but unfortunately it doesn't work in chrome, you can refer to https://developer.mozilla.org/en-US/docs/Web/API/RTCRtpSendParameters#Browser_compatibility.

在 2019年9月18日星期三 UTC+8下午2:48:50,Rui Zhang写道:
Reply all
Reply to author
Forward
0 new messages