Adjusting Bitrate in videoroom plugin

1,125 views
Skip to first unread message

Felix Wolff

unread,
Oct 31, 2014, 5:59:37 PM10/31/14
to meetech...@googlegroups.com
Hi,

Does the dynamic adjustment of the bitrate work in the videoroom plugin? I tried it with the same syntax as in the video echo example, but the server says 'Missing element (request)'. So I experimented with some other syntax including an request attribute in the request, but the bitrate does not adjust. Maybe this feature is not integrated in this plugin? I read the source code, but that was kinda hard to find out easily. 
Also the bitrate adjustment in the room config seems to have no effect on the clients in the room. I thought this could be a problem with my local version, but the adjustment of bitrate works in the echotest (run locally).
I work with Janus running in Ubuntu 12.04 and the clients are Chrome instances on Mac OS.

Best,
Felix 

Lorenzo Miniero

unread,
Nov 1, 2014, 7:18:02 AM11/1/14
to meetech...@googlegroups.com
I did notice something similar a few days ago. The code to handle bitrate adaptation is pretty much the same in both plugins (modifying the REMB feedback) but I guess there's something different in the negotiation process I'll have to look into. Or something may have changed in Chrome, as I recall it working before.

Lorenzo

Igor Khomenko

unread,
Jun 1, 2017, 9:08:26 AM6/1/17
to meetecho-janus
It seems it still has no effect on Chrome

https://github.com/meetecho/janus-gateway/blob/master/plugins/janus_videoroom.c#L3658

@Lorenzo, can we add something about it for 'bitrate' param description?
https://github.com/meetecho/janus-gateway/blob/master/plugins/janus_videoroom.c#L65

Are there any alternative ways to make it work under Chrome? 
As I understand the only one way is to modify it on the client side (janus.js). Please confirm. 

Lorenzo Miniero

unread,
Jun 1, 2017, 9:14:30 AM6/1/17
to meetecho-janus
Not sure what the problem was at the time (you're answering to a post from 7 months ago), or what problem you're experiencing, but it works just fine here. We use REMB to cap the bandwidth, not the b=AS attribute. You can change this value dynamically per-publisher using "configure" requests, and it works the same way the bandwidth setting works in the EchoTest demo.

L.

Lorenzo Miniero

unread,
Jun 1, 2017, 9:14:56 AM6/1/17
to meetecho-janus
*actually, two years and 7 months ago :-)

Igor Khomenko

unread,
Jun 1, 2017, 9:21:51 AM6/1/17
to meetecho-janus
What I mean is that this VideoRoom config 'bitrate' does not work properly under Chrome
https://github.com/meetecho/janus-gateway/blob/master/plugins/janus_videoroom.c#L65

For example, I set it to 64K
here is what I see on Firefox and Chrome. On Firefox it works just fine. But Chrome shows something between 100-300К 
https://www.evernote.com/l/ANiFmQBGp-VKOqQSaEYe8yMZFdsXaungLK4B/image.png

Do you mean we should not use that 'bitrate' config anymore and switch to "configure" request ?

Lorenzo Miniero

unread,
Jun 1, 2017, 9:43:08 AM6/1/17
to meetecho-janus
64k is close to the limits, IIRC under certain values Chrome simply ignores it because it won't go below that. This might be what's happening to you. Try setting something slightly higher (e.g., 70k, 75k, and so on) until you find one that Chrome accepts.

L.

Igor Khomenko

unread,
Jun 1, 2017, 11:06:13 AM6/1/17
to meetecho-janus

Igor Khomenko

unread,
Jun 1, 2017, 11:45:36 AM6/1/17
to meetecho-janus
Or maybe I'm a little bit wrong here and the issue is with Firefox here, not Chrome.

I set bitrate=128000 and ran Firefox only (1 user in a video room call) and then checked Janus Admin stats
here is what it shows:

in_stats:
     video_bytes_lastsec: 25298


@Lorenzo, do you have any comments here? am I right that this issue is with Firefox (not Chrome)?
Reply all
Reply to author
Forward
0 new messages