Simulcast support?

1,169 views
Skip to first unread message

Mike Sun

unread,
Apr 25, 2016, 2:28:11 PM4/25/16
to meetecho-janus
Hi,

For something like the videoroom plugin which implements SFU capabilities, is there simulcast support?

Thanks,
Mike

Lorenzo Miniero

unread,
Apr 26, 2016, 4:15:28 AM4/26/16
to meetecho-janus
It can be built on top of the "bricks" the VideoRoom plugin provides. Users can send different versions of their stream as different "publishers", meaning viewers can "subscribe" to the one they prefer, and even switch to a different version while playing (see the "switch" command). The "slow_link" notification can help you figure out when a user is having problems receiving a stream, in order to decide if and when you'd better switch to a lower quality stream.

Lorenzo

Mike Sun

unread,
Apr 26, 2016, 10:37:39 AM4/26/16
to meetecho-janus
Thanks Lorenzo, a couple questions for clarification:

Users can send different versions of their stream as different "publishers"

So the publishing client will need essentially need to have separate SDP offers for each quality stream published right? I've seen talk in the WebRTC spec committee about native support for simulcast within a single RTCPeerConnection (single SDP session).

meaning viewers can "subscribe" to the one they prefer, and even switch to a different version while playing (see the "switch" command).

Does this mean viewers will have to subscribe to multiple RTCPeerConnections and manage switching themselves as opposed to Janus/SFU managing this for them?

The "slow_link" notification can help you figure out when a user is having problems receiving a stream, in order to decide if and when you'd better switch to a lower quality stream.

Is the "slow_link" event determined some sort of bandwidth estimation algorithm in Janus? 

Lorenzo Miniero

unread,
Apr 26, 2016, 10:42:02 AM4/26/16
to meetecho-janus
Il giorno martedì 26 aprile 2016 16:37:39 UTC+2, Mike Sun ha scritto:
Thanks Lorenzo, a couple questions for clarification:

Users can send different versions of their stream as different "publishers"

So the publishing client will need essentially need to have separate SDP offers for each quality stream published right? I've seen talk in the WebRTC spec committee about native support for simulcast within a single RTCPeerConnection (single SDP session).



We don't support that. Yes, different publishers for different qualities.

 
meaning viewers can "subscribe" to the one they prefer, and even switch to a different version while playing (see the "switch" command).

Does this mean viewers will have to subscribe to multiple RTCPeerConnections and manage switching themselves as opposed to Janus/SFU managing this for them?



No, viewers only subscribe to a single stream. They can use the "switch" command to change publisher on the fly without renegotiating/recreating anything.
 

The "slow_link" notification can help you figure out when a user is having problems receiving a stream, in order to decide if and when you'd better switch to a lower quality stream.

Is the "slow_link" event determined some sort of bandwidth estimation algorithm in Janus? 



We basically check if there have been too many NACKs lately, which means packet loss, and notify plugins accordingly (and plugins tell users).

L.

aset...@gmail.com

unread,
Jun 22, 2017, 10:34:37 AM6/22/17
to meetecho-janus

Lorenzo,
Currently the thumbnails in videoroom use exactly the same bit rate as the main image, effectively wasting precious bandwidth at each subscriber. Any plans in the roadmap for better simulcast support in janus (seamlessly switching between low/high resolution publishers depending on whether it is being viewed as a thumbnail or as the main image) or do you still recommend(as you did a year ago) that we modify the videoroom plugin to suit our needs? 

Thanks,

Lorenzo Miniero

unread,
Jun 22, 2017, 10:38:38 AM6/22/17
to meetecho-janus
Il giorno giovedì 22 giugno 2017 16:34:37 UTC+2, aset...@gmail.com ha scritto:

Lorenzo,
Currently the thumbnails in videoroom use exactly the same bit rate as the main image, effectively wasting precious bandwidth at each subscriber. Any plans in the roadmap for better simulcast support in janus (seamlessly switching between low/high resolution publishers depending on whether it is being viewed as a thumbnail or as the main image) or do you still recommend(as you did a year ago) that we modify the videoroom plugin to suit our needs? 



You may want to have a look at the VP9 SVC PR I published some days ago. For what concerns VP8 simulcasting, I play with it from time to time (recently too), but haven't accelerated on that yet due to shifting priorities and, most importantly, other things keeping me busy.

L.

Ju Ju

unread,
Jun 22, 2017, 1:17:11 PM6/22/17
to meetecho-janus
For what concerns VP8 simulcasting, I play with it from time to time (recently too), but haven't accelerated on that yet due to shifting priorities and, most importantly, other things keeping me busy.


VP8 has native scaling feature but only temporal layer (FPS). H264 is a better candidate as he's got  spatial layer:

I prefer having a smaller pictures than half of FPS.

Lorenzo Miniero

unread,
Jun 22, 2017, 4:22:22 PM6/22/17
to Julien Godier, meetecho-janus
If I'll work on simulcast, it will be vp8 only, the one that chrome and (I think) Firefox do. Not interested in h264 simulcast, which I don't think any browser does anyway.

L.

--
You received this message because you are subscribed to the Google Groups "meetecho-janus" group.
To unsubscribe from this group and stop receiving emails from it, send an email to meetecho-janus+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Anand Setlur

unread,
Jun 26, 2017, 4:16:16 PM6/26/17
to meetecho-janus, trank...@gmail.com
FWIW, There is a patch under active consideration/review to support h264 simulcast in chrome



On Thursday, June 22, 2017 at 3:22:22 PM UTC-5, Lorenzo Miniero wrote:
If I'll work on simulcast, it will be vp8 only, the one that chrome and (I think) Firefox do. Not interested in h264 simulcast, which I don't think any browser does anyway.

L.
Il 22 giu 2017 7:17 PM, "Ju Ju" <trank...@gmail.com> ha scritto:
For what concerns VP8 simulcasting, I play with it from time to time (recently too), but haven't accelerated on that yet due to shifting priorities and, most importantly, other things keeping me busy.


VP8 has native scaling feature but only temporal layer (FPS). H264 is a better candidate as he's got  spatial layer:

I prefer having a smaller pictures than half of FPS.

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

Ju Ju

unread,
Jun 26, 2017, 4:34:32 PM6/26/17
to meetecho-janus, trank...@gmail.com
interesting thx !

I didn't have the courage to read everything in detail so I don't know how far they are to succeed 

J-

Lorenzo Miniero

unread,
Jun 26, 2017, 5:02:26 PM6/26/17
to meetecho-janus, trank...@gmail.com
Fascinating, but as I said, not interested in H.264 simulcasting right now. I have enough headaches as it is playing with VP8 simulcasting when I do that. As usual, pull requests are more than welcome of course.

L.
Reply all
Reply to author
Forward
0 new messages