Video bitrate for push/view links
How to control video bitrates for basic push/view links
The default settings
The default video bitrate for simple push/view links is 2500-kbps.
https://vdo.ninja/?push=streamid https://vdo.ninja/?view=streamid By default, both outgoing and incoming video bitrates are set at 2500-kbps. This default setting and parameters are different if using Rooms and explained in detail here.
There are five parameters we will take a look at:
&outboundvideobitrate (&ovb) -> push side
&maxvideobitrate (&mvb) -> push side
&limittotalbitrate (<b) -> push side
&videobitrate (&vb) -> view side
&totalscenebitrate (&tsb) -> view side
On the source side (&push)
The push link sets the default outgoing video bitrate target
&outboundvideobitrate (&ovb)
Sets the sender-side default target bitrate for outgoing streams.
https://vdo.ninja/?push=streamid&ovb=4000 https://vdo.ninja/?view=streamid The push link sets the outgoing default target to 4000-kbps. The view link doesn't need an additional parameter unless you want to override the default.
https://vdo.ninja/?push=streamid&ovb=4000 https://vdo.ninja/?view=streamid&vb=2000 In this case the viewer requests 2000-kbps, which overrides the push-side default target (unless capped by a max).
Depending on browser/negotiation, &ovb can be enforced via SDP munging and may also cap the maximum bitrate.
The push link sets a software max bitrate per stream out
&maxvideobitrate (&mvb)
&mvb sets a software-enforced cap per stream out. Viewer requests (&vb) and sender defaults (&ovb) cannot exceed it.
https://vdo.ninja/?push=streamid&mvb=1000 https://vdo.ninja/?view=streamid Every view link will be capped to 1000-kbps, even if it requests a higher bitrate.
The push link limits the video bitrate to a maximum defined value
&limittotalbitrate (<b)
Limits the total outbound video bitrate to a defined value.
https://vdo.ninja/?push=streamid<b=5000
https://vdo.ninja/?view=streamid
The incoming video bitrate will still default to around 2500-kbps but permits the viewer to increase it on their end with <b telling the push link to not get higher than 5000-kbps total outgoing bitrate.
On the viewer side (&view)
The view link sets the video bitrate per stream in
&videobitrate (&vb)
The view link is setting the target video bitrate per incoming stream.
https://vdo.ninja/?push=streamid
https://vdo.ninja/?view=streamid&vb=2000
The view link is setting the bitrate per incoming stream (in this case 2000-kbps). So if you have a view link with three incoming video feeds: &view=stream1,stream2,stream3 - every source is pushing 2000-kbps as &vb=2000 and the view link has a combined bitrate of 6000-kbps.
Depending on browser/negotiation, &vb can be enforced via SDP munging and may also cap the maximum bitrate.
The view link sets the total video bitrate for all incoming streams combined
&totalscenebitrate (&tsb)
This is similar to &vb but it sets the target and maximum bitrate for all incoming streams combined.
https://vdo.ninja/?push=streamid
https://vdo.ninja/?view=streamid&tsb=3000
So if you have a view link with three incoming video feeds: &view=stream1,stream2,stream3 - every source is pushing 1000-kbps as &tsb=3000.
Mixing the parameters
As doing some testing there were these results:
All three push parameters cap the maximum. If you set one of these values, the outgoing video bitrate will never be higher than that limit.
&tsb always limits the bitrate on the viewer side (total across streams). &vb sets the viewer target per stream, but it can be capped by sender-side limits or SDP munging.
&vboverrides the default target from&ovb&mvbis a software max cap, regardless of&vbor&ovb&tsbcaps the total incoming bitrate across all streams
Related
Video Bitrate ParametersVideo bitrate in roomsLast updated
Was this helpful?