clowdr icon indicating copy to clipboard operation
clowdr copied to clipboard

Introduce 'large room' mode for video rooms with >50 participants

Open rossng opened this issue 3 years ago • 4 comments

Vonage limits us to subscribers * publishers <= 3000. With 50 room participants, it's viable for rooms to work in an uncontrolled mode.

Above this limit, we run into the significant risk that people will not be able to publish or subscribe to new audio streams.

To resolve this, I propose a new 'large room' mode for rooms. It probably needs some of the following functionality:

  • Only certain people can enable their camera and microphone. Everyone else is just subscribing.
  • People can ask to be allowed to turn on their camera and microphone. The user interface tells the organisers if they need to disable someone else first.
  • We mint people subscription-only tokens by default. They get upgraded to publishers once granted permission to publish audio/video.
  • A different UI that separates publishers from subscribers.

rossng avatar Mar 09 '21 12:03 rossng

The UXishness of this could easily get overwhelming, especially as there is a superficially similar split between organizers and participants in the backstage area. Could the two sets of concepts / UIs somehow by unified or at least synchronized?

bcpierce00 avatar Mar 09 '21 12:03 bcpierce00

  • This looks like a "Workshop/Tutorial" room mode that would enable us to stop resorting to Zoom for this use case.

  • From a UX standpoint, I agree this is basically the same as the livestream scenario: a bunch of watchers and the option to somehow promote them into presenting.

  • This feels like a halfway house between ordinary video chat and full livestream. We already have a request (somewhere) to be able to record breakout rooms on the fly (which basically means promoting an ordinary video chat into a livestreamed one on the fly, even if the stream itself isn't viewed by anyone, it would enable us to record)

EdNutting avatar Mar 09 '21 15:03 EdNutting

It's annoying, isn't it. The split is basically:

  • Small(ish) group room (WebRTC) - everyone participates live
  • Workshop(?) room (WebRTC) - everyone views live, but only some participate at any given time
  • Streaming (HLS) - most people view with 20s delay, significant barrier to participants becoming 'active'

And the split between the last two is only a result of the technical implementation. But very very hard to work around without building our own video pipeline from scratch and using something like Millicast to broadcast it.

rossng avatar Mar 09 '21 21:03 rossng

Let's do that... next year.

bcpierce00 avatar Mar 09 '21 22:03 bcpierce00