Orchestration layer examples

279 views
Skip to first unread message

Vicken Simonian

unread,
Oct 17, 2018, 3:15:34 AM10/17/18
to meetecho-janus
Hello! I've been trying out Janus and its VideoRoom and RTP forwarding features and this is a phenomenal project, thanks!

I watched Lorenzo's talk on scaling WebRTC with Janus and I was wondering if there are any concrete examples of orchestration layers for dealing with Janus instances and contexts (even if opinionated for their respective use cases) out there?

Thanks!

Mirko Brankovic

unread,
Oct 17, 2018, 3:21:20 AM10/17/18
to meetecho-janus
Yeah, I guess Slack is one example :D

--
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.
For more options, visit https://groups.google.com/d/optout.


--
Regards,
Mirko

Vicken Simonian

unread,
Oct 17, 2018, 11:15:57 AM10/17/18
to meetecho-janus
Hi Mirko,
Thanks! I guess I meant if there were any less-closed projects that had an orchestration layer as part the system :)

Some aspects I'm taking a guess Slack cared about:
- many small-ish conference rooms
- geographic accessibility i.e. closest server picked
- all servers aware of the conference room context i.e. abstraction of the pool of Janus servers to appear as a single server to the client
- high-availability and possibly graceful failover
- performance & session events monitoring

The media resource broker or cascading conferencing scenarios seem most fitting. I guess its hard to see with a more closed-backend at what the orchestration specifically did or what tradeoffs were made and handled. Are there any less-closed projects out there or advice & experience with deployments that care about the aspects such as above for example?

Thanks!

Mirko Brankovic

unread,
Oct 18, 2018, 3:11:53 AM10/18/18
to meetecho-janus
yeah i guess that is hard to know unless you find some insights into specific companies or if they share  a blog post "how we did it" ...like Discord did  

Lorenzo Miniero

unread,
Oct 18, 2018, 5:01:25 AM10/18/18
to meetecho-janus
I'm not aware of any publicly available effort: typically, the hardest part is a Janus API stack that you can put on the server side (whatever programming langiage is required) in order to control a Janus instance, but there's a lot of them in the resources documentation, everything else is just orchestration. Anyway, the content I put in that presentation should provide enough info to start something from scratch.

Lorenzo
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.


--
Regards,
Mirko

Vicken Simonian

unread,
Oct 21, 2018, 2:51:34 AM10/21/18
to meetecho-janus
Thanks very much Lorenzo!
I noticed in the presentation's cascading conferencing scenario it mentions the possibility of multiple VideoRooms instances feeding each other. I can see having VideoRoom 'sources' feeding Streaming plugin 'sinks' thru rtp forwarding. This would create a 'tree' one child deep since the Streaming plugin is meant to be at the edge for viewers. Since I read from the docs that VideoRooms can't forward to VideoRooms, I was just curious as to what could be put as intermediately layers (if any) to expand that 'tree'?

Alexandre GOUAILLARD

unread,
Oct 21, 2018, 3:01:01 AM10/21/18
to vsi...@gmail.com, meetech...@googlegroups.com
back from the future (2015)

Lorenzo's PhD work deserve more light (and applause) :-)
Alex. Gouaillard, PhD, PhD, MBA
------------------------------------------------------------------------------------
President - CoSMo Software Consulting, Singapore
------------------------------------------------------------------------------------

Lorenzo Miniero

unread,
Oct 21, 2018, 4:52:16 AM10/21/18
to Vicken Simonian, meetecho-janus
You're right, the VideoRoom plugin can't receive streams: anyway, since Streaming plugin viewers and VideoRoom subscribers are fundamentally the same thing (what changes is what feeds them), you'd just need to create a Steaming plugin mountpoint associated with the remote publisher, so that subscribers on another instance get the video there instead of directly at the source. As such, the orchestration layer just needs to map resources belonging to different plugin.

Lorenzo

Lorenzo Miniero

unread,
Oct 21, 2018, 4:53:13 AM10/21/18
to Alexandre GOUAILLARD, vsi...@gmail.com, meetech...@googlegroups.com
Thanks for the pointer and for the kind words, Alex! :-D

Lorenzo
Reply all
Reply to author
Forward
0 new messages