SlideShare uma empresa Scribd logo
1 de 96
Baixar para ler offline
Turning live events to virtual with Janus
Lorenzo Miniero
@elminiero
CommCon 2020
July, from my couch at home
Who am I?
Lorenzo Miniero
• Ph.D @ UniNA
• Chairman @ Meetecho
• Main author of Janus
Contacts and info
• lorenzo@meetecho.com
• https://twitter.com/elminiero
• https://www.slideshare.net/LorenzoMiniero
• https://soundcloud.com/lminiero
There are worse places to be stuck in!
Lockdown had a bad effect on me...
Lockdown had a bad effect on me...
Lockdown had a bad effect on me...
Lockdown had a bad effect on me...
Lockdown had a bad effect on me...
Lockdown had a bad effect on me...
What about the impact on business?
• Co-founded in 2009 as an academic spin-off
• University research efforts brought to the market
• Completely independent from the University
• Focus on real-time multimedia applications
• Strong perspective on standardization and open source
• Several activities
• Consulting services
• Commercial support and Janus licenses
• Streaming of live events (IETF, ACM, etc.)
What about the impact on business?
• Co-founded in 2009 as an academic spin-off
• University research efforts brought to the market
• Completely independent from the University
• Focus on real-time multimedia applications
• Strong perspective on standardization and open source
• Several activities
• Consulting services
• Commercial support and Janus licenses
• Streaming of live events (IETF, ACM, etc.)
What about the impact on business?
• Co-founded in 2009 as an academic spin-off
• University research efforts brought to the market
• Completely independent from the University
• Focus on real-time multimedia applications
• Strong perspective on standardization and open source
• Several activities
• Consulting services
• Commercial support and Janus licenses
• Streaming of live events (IETF, ACM, etc.)
Streaming live events via WebRTC
• Service we provided for several different events
• Mainly IETF (official remote participation tool) and some ACM conferences
• A few other events too (a growing business)
• Typically involved some specific activities
• Fly a couple people + equipment there, of course
• Setup cameras, split/capture projector signals, hook to room mixer
• Embed some event-specific channel (e.g., Twitter feed, or Sli.do channel)
• ... and then stream everything via WebRTC (sometimes allowing remote speakers)
Until the world changed...
No more live events in person for a while!
Streaming live events via WebRTC
• Service we provided for several different events
• Mainly IETF (official remote participation tool) and some ACM conferences
• A few other events too (a growing business)
• Typically involved some specific activities
• Fly a couple people + equipment there, of course
• Setup cameras, split/capture projector signals, hook to room mixer
• Embed some event-specific channel (e.g., Twitter feed, or Sli.do channel)
• ... and then stream everything via WebRTC (sometimes allowing remote speakers)
Until the world changed...
No more live events in person for a while!
Streaming live events via WebRTC
• Service we provided for several different events
• Mainly IETF (official remote participation tool) and some ACM conferences
• A few other events too (a growing business)
• Typically involved some specific activities
• Fly a couple people + equipment there, of course
• Setup cameras, split/capture projector signals, hook to room mixer
• Embed some event-specific channel (e.g., Twitter feed, or Sli.do channel)
• ... and then stream everything via WebRTC (sometimes allowing remote speakers)
Until the world changed...
No more live events in person for a while!
A look at how that worked for IETF meetings
A look at how that worked for IETF meetings
A look at how that worked for IETF meetings
A look at how that worked for IETF meetings
A look at how that worked for IETF meetings
https://ietf.org/meeting/remote-participation.html
A look at how that worked for IETF meetings
https://ietf.org/meeting/remote-participation.html
A look at how that worked for IETF meetings
https://ietf.org/meeting/remote-participation.html
A look at how that worked for IETF meetings
https://ietf.org/meeting/remote-participation.html
A look at how that worked for IETF meetings
https://ietf.org/meeting/remote-participation.html
A look at how that worked for IETF meetings
https://ietf.org/meeting/remote-participation.html
A look at how that worked for IETF meetings
https://ietf.org/meeting/remote-participation.html
A simpler approach for other conferences (e.g., ACM)
Streaming JanusCon (no remote pizza, though)
Brave New World
Brave New World
Brave New World
Brave New World
Brave New World
Moving to Virtual Events: new challenges
• Remote participants are not 2nd class citizens anymore...
• ... they’re the only ones there!
• You can’t assume remote participants will just lurk anymore
• Most than often, virtual event != webinar “on steroids”
• Active participation much more important than before
• A “broken” remote speaker will break the whole presentation
• Interaction with remote speakers can take different forms
• Sometimes important for them to have little delay
• Even if you won’t let them speak, they’ll need ways to interact
• And don’t you miss hallway conversations or social dinners?
Moving to Virtual Events: new challenges
• Remote participants are not 2nd class citizens anymore...
• ... they’re the only ones there!
• You can’t assume remote participants will just lurk anymore
• Most than often, virtual event != webinar “on steroids”
• Active participation much more important than before
• A “broken” remote speaker will break the whole presentation
• Interaction with remote speakers can take different forms
• Sometimes important for them to have little delay
• Even if you won’t let them speak, they’ll need ways to interact
• And don’t you miss hallway conversations or social dinners?
Moving to Virtual Events: new challenges
• Remote participants are not 2nd class citizens anymore...
• ... they’re the only ones there!
• You can’t assume remote participants will just lurk anymore
• Most than often, virtual event != webinar “on steroids”
• Active participation much more important than before
• A “broken” remote speaker will break the whole presentation
• Interaction with remote speakers can take different forms
• Sometimes important for them to have little delay
• Even if you won’t let them speak, they’ll need ways to interact
• And don’t you miss hallway conversations or social dinners?
Moving to Virtual Events: new challenges
• Remote participants are not 2nd class citizens anymore...
• ... they’re the only ones there!
• You can’t assume remote participants will just lurk anymore
• Most than often, virtual event != webinar “on steroids”
• Active participation much more important than before
• A “broken” remote speaker will break the whole presentation
• Interaction with remote speakers can take different forms
• Sometimes important for them to have little delay
• Even if you won’t let them speak, they’ll need ways to interact
• And don’t you miss hallway conversations or social dinners?
Moving to Virtual Events: new challenges
• Remote participants are not 2nd class citizens anymore...
• ... they’re the only ones there!
• You can’t assume remote participants will just lurk anymore
• Most than often, virtual event != webinar “on steroids”
• Active participation much more important than before
• A “broken” remote speaker will break the whole presentation
• Interaction with remote speakers can take different forms
• Sometimes important for them to have little delay
• Even if you won’t let them speak, they’ll need ways to interact
• And don’t you miss hallway conversations or social dinners?
How to schedule a Virtual event?
• With a live event, that’s easy
• People on site meet for a few days and present
• Schedule tied to whatever the location timezone is (for remotes too)
• With Virtual events there’s no “site”, though
• If everyone’s remote, timezone clashes can happen more easily
• Session slots may conflict with work-related commitments
• Different schools of thought on how to solve this
1 Just move the same on-site schedule online?
2 Maybe fewer talks per day, and a longer event?
3 Dynamic sessions that fit the timezones of most attendees?
How to schedule a Virtual event?
• With a live event, that’s easy
• People on site meet for a few days and present
• Schedule tied to whatever the location timezone is (for remotes too)
• With Virtual events there’s no “site”, though
• If everyone’s remote, timezone clashes can happen more easily
• Session slots may conflict with work-related commitments
• Different schools of thought on how to solve this
1 Just move the same on-site schedule online?
2 Maybe fewer talks per day, and a longer event?
3 Dynamic sessions that fit the timezones of most attendees?
How to schedule a Virtual event?
• With a live event, that’s easy
• People on site meet for a few days and present
• Schedule tied to whatever the location timezone is (for remotes too)
• With Virtual events there’s no “site”, though
• If everyone’s remote, timezone clashes can happen more easily
• Session slots may conflict with work-related commitments
• Different schools of thought on how to solve this
1 Just move the same on-site schedule online?
2 Maybe fewer talks per day, and a longer event?
3 Dynamic sessions that fit the timezones of most attendees?
How to schedule a Virtual event?
• With a live event, that’s easy
• People on site meet for a few days and present
• Schedule tied to whatever the location timezone is (for remotes too)
• With Virtual events there’s no “site”, though
• If everyone’s remote, timezone clashes can happen more easily
• Session slots may conflict with work-related commitments
• Different schools of thought on how to solve this
1 Just move the same on-site schedule online?
2 Maybe fewer talks per day, and a longer event?
3 Dynamic sessions that fit the timezones of most attendees?
How to schedule a Virtual event?
• With a live event, that’s easy
• People on site meet for a few days and present
• Schedule tied to whatever the location timezone is (for remotes too)
• With Virtual events there’s no “site”, though
• If everyone’s remote, timezone clashes can happen more easily
• Session slots may conflict with work-related commitments
• Different schools of thought on how to solve this
1 Just move the same on-site schedule online?
2 Maybe fewer talks per day, and a longer event?
3 Dynamic sessions that fit the timezones of most attendees?
How to schedule a Virtual event?
• With a live event, that’s easy
• People on site meet for a few days and present
• Schedule tied to whatever the location timezone is (for remotes too)
• With Virtual events there’s no “site”, though
• If everyone’s remote, timezone clashes can happen more easily
• Session slots may conflict with work-related commitments
• Different schools of thought on how to solve this
1 Just move the same on-site schedule online?
2 Maybe fewer talks per day, and a longer event?
3 Dynamic sessions that fit the timezones of most attendees?
Pre-recorded or live?
• There’s not a one-size-fits-all answer here
• Different solutions to different problems
• A truly live event seems the obvious answer
• Can feel closer to a “traditional” event schedule
• Live interaction with audience not always needed, but nice to have
• Pre-recording allows for more control on the end result, though
• Speakers can record on their own time, and fix mistakes
• Post-processing allows for higher quality output (yay CommCon!)
• Live interaction still possible after the talk (e.g., live Q&A)
• In both cases, though, WebRTC will most likely be used
Pre-recorded or live?
• There’s not a one-size-fits-all answer here
• Different solutions to different problems
• A truly live event seems the obvious answer
• Can feel closer to a “traditional” event schedule
• Live interaction with audience not always needed, but nice to have
• Pre-recording allows for more control on the end result, though
• Speakers can record on their own time, and fix mistakes
• Post-processing allows for higher quality output (yay CommCon!)
• Live interaction still possible after the talk (e.g., live Q&A)
• In both cases, though, WebRTC will most likely be used
Pre-recorded or live?
• There’s not a one-size-fits-all answer here
• Different solutions to different problems
• A truly live event seems the obvious answer
• Can feel closer to a “traditional” event schedule
• Live interaction with audience not always needed, but nice to have
• Pre-recording allows for more control on the end result, though
• Speakers can record on their own time, and fix mistakes
• Post-processing allows for higher quality output (yay CommCon!)
• Live interaction still possible after the talk (e.g., live Q&A)
• In both cases, though, WebRTC will most likely be used
Pre-recorded or live?
• There’s not a one-size-fits-all answer here
• Different solutions to different problems
• A truly live event seems the obvious answer
• Can feel closer to a “traditional” event schedule
• Live interaction with audience not always needed, but nice to have
• Pre-recording allows for more control on the end result, though
• Speakers can record on their own time, and fix mistakes
• Post-processing allows for higher quality output (yay CommCon!)
• Live interaction still possible after the talk (e.g., live Q&A)
• In both cases, though, WebRTC will most likely be used
Leveraging Janus for the purpose
Janus
General purpose, open source WebRTC server
• https://github.com/meetecho/janus-gateway
• Demos and documentation: https://janus.conf.meetecho.com
• Community: https://groups.google.com/forum/#!forum/meetecho-janus
Scalability and Janus
https://www.slideshare.net/LorenzoMiniero/scaling-webrtc-applications-with-janus
https://www.youtube.com/watch?v=zxRwELmyWU0
Broadcasting: WebRTC or HLS?
• Again, there’s not a simple answer
• If low latency and/or live interaction are important, then obviously WebRTC!
• Otherwise, you may want to let a CDN worry about scalability
• With WebRTC, most of the times you can just relay media
• Much less impact on the server-side CPU resources (no/few mixing/transcoding)
• Scaling the WebRTC part is up to you, though
• With a CDN, you need a single audio/video stream to distribute
• Will require some mixing/transcoding, so dedicated resources
• Once you create the stream, though, scaling is up to the CDN (not-my-problemTM
!)
Broadcasting: WebRTC or HLS?
• Again, there’s not a simple answer
• If low latency and/or live interaction are important, then obviously WebRTC!
• Otherwise, you may want to let a CDN worry about scalability
• With WebRTC, most of the times you can just relay media
• Much less impact on the server-side CPU resources (no/few mixing/transcoding)
• Scaling the WebRTC part is up to you, though
• With a CDN, you need a single audio/video stream to distribute
• Will require some mixing/transcoding, so dedicated resources
• Once you create the stream, though, scaling is up to the CDN (not-my-problemTM
!)
Broadcasting: WebRTC or HLS?
• Again, there’s not a simple answer
• If low latency and/or live interaction are important, then obviously WebRTC!
• Otherwise, you may want to let a CDN worry about scalability
• With WebRTC, most of the times you can just relay media
• Much less impact on the server-side CPU resources (no/few mixing/transcoding)
• Scaling the WebRTC part is up to you, though
• With a CDN, you need a single audio/video stream to distribute
• Will require some mixing/transcoding, so dedicated resources
• Once you create the stream, though, scaling is up to the CDN (not-my-problemTM
!)
Can SFUs and MCUs be friends?
• SFUs ideal to just relay media
• No mixing/transcoding to worry about −→ less CPU on server, less delay
• More streams to distribute −→ more bandwidth needed
• Different streams −→ more control on UI
• MCUs ideal to just mix media
• Mixing/transcoding taking place −→ more CPU on server, more delay
• Just one stream to distribute −→ bandwidth constant
• Single output stream −→ UI rendering constrained
• Sometimes it makes sense to use them both!
• Use SFU where applicable (e.g., video, plenty of bandwidth)
• Use MCU to complement (e.g., audio, lower power devices)
• Besides, an MCU can mix SFU streams to broadcast to a CDN!
Can SFUs and MCUs be friends?
• SFUs ideal to just relay media
• No mixing/transcoding to worry about −→ less CPU on server, less delay
• More streams to distribute −→ more bandwidth needed
• Different streams −→ more control on UI
• MCUs ideal to just mix media
• Mixing/transcoding taking place −→ more CPU on server, more delay
• Just one stream to distribute −→ bandwidth constant
• Single output stream −→ UI rendering constrained
• Sometimes it makes sense to use them both!
• Use SFU where applicable (e.g., video, plenty of bandwidth)
• Use MCU to complement (e.g., audio, lower power devices)
• Besides, an MCU can mix SFU streams to broadcast to a CDN!
Can SFUs and MCUs be friends?
• SFUs ideal to just relay media
• No mixing/transcoding to worry about −→ less CPU on server, less delay
• More streams to distribute −→ more bandwidth needed
• Different streams −→ more control on UI
• MCUs ideal to just mix media
• Mixing/transcoding taking place −→ more CPU on server, more delay
• Just one stream to distribute −→ bandwidth constant
• Single output stream −→ UI rendering constrained
• Sometimes it makes sense to use them both!
• Use SFU where applicable (e.g., video, plenty of bandwidth)
• Use MCU to complement (e.g., audio, lower power devices)
• Besides, an MCU can mix SFU streams to broadcast to a CDN!
A simple use case to start with: podcasts
• Not strictly speaking a Virtual event, but close enough
• One or more people talking, and a (wide?) audience
• During Covid, many podcasts done remotely (e.g., "Conan needs a friend")
• WebRTC a good fit for the conversation part
• Easy to have a chat just using your browser
• Broadcasting could be done with WebRTC too!
• May make sense to have the conversation mixed, though
• If broadcasting with WebRTC, the more the speakers, the more the bandwidth
• If NOT broadcasting with WebRTC, you need a mix to transcode anyway
• More control on additional media (e.g., themes, clips, ads, etc.)
• How to optimize mixing with the ability to bring people in in a scalable way?
A simple use case to start with: podcasts
• Not strictly speaking a Virtual event, but close enough
• One or more people talking, and a (wide?) audience
• During Covid, many podcasts done remotely (e.g., "Conan needs a friend")
• WebRTC a good fit for the conversation part
• Easy to have a chat just using your browser
• Broadcasting could be done with WebRTC too!
• May make sense to have the conversation mixed, though
• If broadcasting with WebRTC, the more the speakers, the more the bandwidth
• If NOT broadcasting with WebRTC, you need a mix to transcode anyway
• More control on additional media (e.g., themes, clips, ads, etc.)
• How to optimize mixing with the ability to bring people in in a scalable way?
A simple use case to start with: podcasts
• Not strictly speaking a Virtual event, but close enough
• One or more people talking, and a (wide?) audience
• During Covid, many podcasts done remotely (e.g., "Conan needs a friend")
• WebRTC a good fit for the conversation part
• Easy to have a chat just using your browser
• Broadcasting could be done with WebRTC too!
• May make sense to have the conversation mixed, though
• If broadcasting with WebRTC, the more the speakers, the more the bandwidth
• If NOT broadcasting with WebRTC, you need a mix to transcode anyway
• More control on additional media (e.g., themes, clips, ads, etc.)
• How to optimize mixing with the ability to bring people in in a scalable way?
A simple use case to start with: podcasts
• Not strictly speaking a Virtual event, but close enough
• One or more people talking, and a (wide?) audience
• During Covid, many podcasts done remotely (e.g., "Conan needs a friend")
• WebRTC a good fit for the conversation part
• Easy to have a chat just using your browser
• Broadcasting could be done with WebRTC too!
• May make sense to have the conversation mixed, though
• If broadcasting with WebRTC, the more the speakers, the more the bandwidth
• If NOT broadcasting with WebRTC, you need a mix to transcode anyway
• More control on additional media (e.g., themes, clips, ads, etc.)
• How to optimize mixing with the ability to bring people in in a scalable way?
AudioBridge + RTP forwarding
AudioBridge + RTP forwarding
AudioBridge + RTP forwarding + Streaming
AudioBridge + RTP forwarding + Streaming
AudioBridge + RTP forwarding + Streaming
AudioBridge + RTP forwarding + Streaming
Adding video: the “webinar” scenario
• Mostly a one-to-many scenario
• A single presenter (maybe more than one video, e.g., screensharing)
• Multiple passive viewers
• Can sometimes be “conversational” like a podcast, though
• e.g., Q&A session, interview, or panel discussion
• As before, WebRTC definitely a good fit for publishing
• Browsers support screensharing natively
• Broadcasting could be done with WebRTC too! (but more streams, now)
• Video(s) may or may not be mixed
• In both cases, still needs to be distributed to all participants
Adding video: the “webinar” scenario
• Mostly a one-to-many scenario
• A single presenter (maybe more than one video, e.g., screensharing)
• Multiple passive viewers
• Can sometimes be “conversational” like a podcast, though
• e.g., Q&A session, interview, or panel discussion
• As before, WebRTC definitely a good fit for publishing
• Browsers support screensharing natively
• Broadcasting could be done with WebRTC too! (but more streams, now)
• Video(s) may or may not be mixed
• In both cases, still needs to be distributed to all participants
Adding video: the “webinar” scenario
• Mostly a one-to-many scenario
• A single presenter (maybe more than one video, e.g., screensharing)
• Multiple passive viewers
• Can sometimes be “conversational” like a podcast, though
• e.g., Q&A session, interview, or panel discussion
• As before, WebRTC definitely a good fit for publishing
• Browsers support screensharing natively
• Broadcasting could be done with WebRTC too! (but more streams, now)
• Video(s) may or may not be mixed
• In both cases, still needs to be distributed to all participants
Adding video: the “webinar” scenario
• Mostly a one-to-many scenario
• A single presenter (maybe more than one video, e.g., screensharing)
• Multiple passive viewers
• Can sometimes be “conversational” like a podcast, though
• e.g., Q&A session, interview, or panel discussion
• As before, WebRTC definitely a good fit for publishing
• Browsers support screensharing natively
• Broadcasting could be done with WebRTC too! (but more streams, now)
• Video(s) may or may not be mixed
• In both cases, still needs to be distributed to all participants
VideoRoom + RTP Forwarding
VideoRoom + RTP Forwarding
VideoRoom + RTP forwarding + Streaming
VideoRoom + RTP forwarding + Streaming
VideoRoom + RTP forwarding + Streaming
Bringing it all together for Virtual Events
• Virtual Events platform designed to “borrow” some concepts from before
• Mixing for audio streams, SFU mode for video streams
• Unlike before, AudioBridge used as the audio MCU now
• “Podcast” scenario applied to Virtual event
• Scalable thanks to RTP forwarding and Streaming plugin
• VideoRoom still used as the video SFU, instead
• “Webinar” scenario applied to Virtual event
• RTP forwarding and Streaming plugin used here too to make it scalable
All orchestration and RTP “magic” transparent users
• Participants talk to orchestrator, not Janus instances
• Docker, Docker, everywhere!
Bringing it all together for Virtual Events
• Virtual Events platform designed to “borrow” some concepts from before
• Mixing for audio streams, SFU mode for video streams
• Unlike before, AudioBridge used as the audio MCU now
• “Podcast” scenario applied to Virtual event
• Scalable thanks to RTP forwarding and Streaming plugin
• VideoRoom still used as the video SFU, instead
• “Webinar” scenario applied to Virtual event
• RTP forwarding and Streaming plugin used here too to make it scalable
All orchestration and RTP “magic” transparent users
• Participants talk to orchestrator, not Janus instances
• Docker, Docker, everywhere!
Bringing it all together for Virtual Events
• Virtual Events platform designed to “borrow” some concepts from before
• Mixing for audio streams, SFU mode for video streams
• Unlike before, AudioBridge used as the audio MCU now
• “Podcast” scenario applied to Virtual event
• Scalable thanks to RTP forwarding and Streaming plugin
• VideoRoom still used as the video SFU, instead
• “Webinar” scenario applied to Virtual event
• RTP forwarding and Streaming plugin used here too to make it scalable
All orchestration and RTP “magic” transparent users
• Participants talk to orchestrator, not Janus instances
• Docker, Docker, everywhere!
Bringing it all together for Virtual Events
• Virtual Events platform designed to “borrow” some concepts from before
• Mixing for audio streams, SFU mode for video streams
• Unlike before, AudioBridge used as the audio MCU now
• “Podcast” scenario applied to Virtual event
• Scalable thanks to RTP forwarding and Streaming plugin
• VideoRoom still used as the video SFU, instead
• “Webinar” scenario applied to Virtual event
• RTP forwarding and Streaming plugin used here too to make it scalable
All orchestration and RTP “magic” transparent users
• Participants talk to orchestrator, not Janus instances
• Docker, Docker, everywhere!
Bringing it all together for Virtual Events
Preparing for IETF 108 in “Madrid”
Preparing for IETF 108 in “Madrid”
Preparing for IETF 108 in “Madrid”
Preparing for IETF 108 in “Madrid”
Preparing for IETF 108 in “Madrid”
Preparing for IETF 108 in “Madrid”
Januscon part 2 in a couple of months!
What about hallway conversations?
What about hallway conversations?
• Definitely one of the things I personally miss the most...
• Hallway conversations, social gatherings, dinners can be fun
• It’s not just work: great people make great events!
• Harder to translate to the “virtual” world
• No scheduling, much more dynamic, lacks human feel and “contact”
• Number of interactions can have huge impact on scalability
• A few different ways to handle this, though
1 Several small-ish P2P conversations?
2 Possibly involve an SFU for larger ones?
3 An “explorable” space with avatars to trigger conversations?
4 Why not, maybe even VR! (e.g., via Hubs or vrlandio)
What about hallway conversations?
• Definitely one of the things I personally miss the most...
• Hallway conversations, social gatherings, dinners can be fun
• It’s not just work: great people make great events!
• Harder to translate to the “virtual” world
• No scheduling, much more dynamic, lacks human feel and “contact”
• Number of interactions can have huge impact on scalability
• A few different ways to handle this, though
1 Several small-ish P2P conversations?
2 Possibly involve an SFU for larger ones?
3 An “explorable” space with avatars to trigger conversations?
4 Why not, maybe even VR! (e.g., via Hubs or vrlandio)
What about hallway conversations?
• Definitely one of the things I personally miss the most...
• Hallway conversations, social gatherings, dinners can be fun
• It’s not just work: great people make great events!
• Harder to translate to the “virtual” world
• No scheduling, much more dynamic, lacks human feel and “contact”
• Number of interactions can have huge impact on scalability
• A few different ways to handle this, though
1 Several small-ish P2P conversations?
2 Possibly involve an SFU for larger ones?
3 An “explorable” space with avatars to trigger conversations?
4 Why not, maybe even VR! (e.g., via Hubs or vrlandio)
What about hallway conversations?
• Definitely one of the things I personally miss the most...
• Hallway conversations, social gatherings, dinners can be fun
• It’s not just work: great people make great events!
• Harder to translate to the “virtual” world
• No scheduling, much more dynamic, lacks human feel and “contact”
• Number of interactions can have huge impact on scalability
• A few different ways to handle this, though
1 Several small-ish P2P conversations?
2 Possibly involve an SFU for larger ones?
3 An “explorable” space with avatars to trigger conversations?
4 Why not, maybe even VR! (e.g., via Hubs or vrlandio)
What about hallway conversations?
• Definitely one of the things I personally miss the most...
• Hallway conversations, social gatherings, dinners can be fun
• It’s not just work: great people make great events!
• Harder to translate to the “virtual” world
• No scheduling, much more dynamic, lacks human feel and “contact”
• Number of interactions can have huge impact on scalability
• A few different ways to handle this, though
1 Several small-ish P2P conversations?
2 Possibly involve an SFU for larger ones?
3 An “explorable” space with avatars to trigger conversations?
4 Why not, maybe even VR! (e.g., via Hubs or vrlandio)
What about hallway conversations?
• Definitely one of the things I personally miss the most...
• Hallway conversations, social gatherings, dinners can be fun
• It’s not just work: great people make great events!
• Harder to translate to the “virtual” world
• No scheduling, much more dynamic, lacks human feel and “contact”
• Number of interactions can have huge impact on scalability
• A few different ways to handle this, though
1 Several small-ish P2P conversations?
2 Possibly involve an SFU for larger ones?
3 An “explorable” space with avatars to trigger conversations?
4 Why not, maybe even VR! (e.g., via Hubs or vrlandio)
What about hallway conversations?
• Definitely one of the things I personally miss the most...
• Hallway conversations, social gatherings, dinners can be fun
• It’s not just work: great people make great events!
• Harder to translate to the “virtual” world
• No scheduling, much more dynamic, lacks human feel and “contact”
• Number of interactions can have huge impact on scalability
• A few different ways to handle this, though
1 Several small-ish P2P conversations?
2 Possibly involve an SFU for larger ones?
3 An “explorable” space with avatars to trigger conversations?
4 Why not, maybe even VR! (e.g., via Hubs or vrlandio)
Thanks! Questions? Comments?
Contacts
• https://twitter.com/elminiero
• https://twitter.com/meetecho
• https://www.meetecho.com

Mais conteúdo relacionado

Mais procurados

WebRTC, RED and Janus @ ClueCon21
WebRTC, RED and Janus @ ClueCon21WebRTC, RED and Janus @ ClueCon21
WebRTC, RED and Janus @ ClueCon21Lorenzo Miniero
 
Insertable Streams and E2EE @ ClueCon2020
Insertable Streams and E2EE @ ClueCon2020Insertable Streams and E2EE @ ClueCon2020
Insertable Streams and E2EE @ ClueCon2020Lorenzo Miniero
 
Janus + Audio @ Open Source World
Janus + Audio @ Open Source WorldJanus + Audio @ Open Source World
Janus + Audio @ Open Source WorldLorenzo Miniero
 
WebRTC Rockstars Asian Tour 2017
WebRTC Rockstars Asian Tour 2017WebRTC Rockstars Asian Tour 2017
WebRTC Rockstars Asian Tour 2017Lorenzo Miniero
 
Janus @ WebRTC Meetup Stockholm
Janus @ WebRTC Meetup StockholmJanus @ WebRTC Meetup Stockholm
Janus @ WebRTC Meetup StockholmLorenzo Miniero
 
Janus + NDI @ ClueCon 2021
Janus + NDI @ ClueCon 2021Janus + NDI @ ClueCon 2021
Janus + NDI @ ClueCon 2021Lorenzo Miniero
 
FOSDEM2017 - Janus Event Handlers
FOSDEM2017 - Janus Event HandlersFOSDEM2017 - Janus Event Handlers
FOSDEM2017 - Janus Event HandlersLorenzo Miniero
 
Multistream in Janus @ CommCon 2019
Multistream in Janus @ CommCon 2019Multistream in Janus @ CommCon 2019
Multistream in Janus @ CommCon 2019Lorenzo Miniero
 
Janus/HOMER/HEPIC @ OpenSIPS18
Janus/HOMER/HEPIC @ OpenSIPS18Janus/HOMER/HEPIC @ OpenSIPS18
Janus/HOMER/HEPIC @ OpenSIPS18Lorenzo Miniero
 
Janus/SIP @ OpenSIPS 2017
Janus/SIP @ OpenSIPS 2017Janus/SIP @ OpenSIPS 2017
Janus/SIP @ OpenSIPS 2017Lorenzo Miniero
 
Fuzzing RTC @ Kamailio World 2019
Fuzzing RTC @ Kamailio World 2019Fuzzing RTC @ Kamailio World 2019
Fuzzing RTC @ Kamailio World 2019Lorenzo Miniero
 
WHIP WebRTC Broadcasting @ FOSDEM 2022
WHIP WebRTC Broadcasting @ FOSDEM 2022WHIP WebRTC Broadcasting @ FOSDEM 2022
WHIP WebRTC Broadcasting @ FOSDEM 2022Lorenzo Miniero
 
WHIP and Janus @ IIT-RTC 2021
WHIP and Janus @ IIT-RTC 2021WHIP and Janus @ IIT-RTC 2021
WHIP and Janus @ IIT-RTC 2021Lorenzo Miniero
 
SIP/WebRTC load testing @ KamailioWorld 2017
SIP/WebRTC load testing @ KamailioWorld 2017SIP/WebRTC load testing @ KamailioWorld 2017
SIP/WebRTC load testing @ KamailioWorld 2017Lorenzo Miniero
 
IETF remote participation via Meetecho @ WebRTC Meetup Stockholm
IETF remote participation via Meetecho @ WebRTC Meetup StockholmIETF remote participation via Meetecho @ WebRTC Meetup Stockholm
IETF remote participation via Meetecho @ WebRTC Meetup StockholmLorenzo Miniero
 
Can SFUs and MCUs be friends @ IIT-RTC 2020
Can SFUs and MCUs be friends @ IIT-RTC 2020Can SFUs and MCUs be friends @ IIT-RTC 2020
Can SFUs and MCUs be friends @ IIT-RTC 2020Lorenzo Miniero
 
Can WebRTC help musicians? @ FOSDEM 2021
Can WebRTC help musicians? @ FOSDEM 2021Can WebRTC help musicians? @ FOSDEM 2021
Can WebRTC help musicians? @ FOSDEM 2021Lorenzo Miniero
 
FOSDEM2018 Janus Lua plugin presentation
FOSDEM2018 Janus Lua plugin presentationFOSDEM2018 Janus Lua plugin presentation
FOSDEM2018 Janus Lua plugin presentationLorenzo Miniero
 
Janus: an open source and general purpose WebRTC (gateway) server
Janus: an open source and general purpose WebRTC (gateway) serverJanus: an open source and general purpose WebRTC (gateway) server
Janus: an open source and general purpose WebRTC (gateway) serverDevDay
 

Mais procurados (20)

WebRTC, RED and Janus @ ClueCon21
WebRTC, RED and Janus @ ClueCon21WebRTC, RED and Janus @ ClueCon21
WebRTC, RED and Janus @ ClueCon21
 
Insertable Streams and E2EE @ ClueCon2020
Insertable Streams and E2EE @ ClueCon2020Insertable Streams and E2EE @ ClueCon2020
Insertable Streams and E2EE @ ClueCon2020
 
Janus + Audio @ Open Source World
Janus + Audio @ Open Source WorldJanus + Audio @ Open Source World
Janus + Audio @ Open Source World
 
WebRTC Rockstars Asian Tour 2017
WebRTC Rockstars Asian Tour 2017WebRTC Rockstars Asian Tour 2017
WebRTC Rockstars Asian Tour 2017
 
Janus @ WebRTC Meetup Stockholm
Janus @ WebRTC Meetup StockholmJanus @ WebRTC Meetup Stockholm
Janus @ WebRTC Meetup Stockholm
 
Janus @ RTC2017 Beijing
Janus @ RTC2017 BeijingJanus @ RTC2017 Beijing
Janus @ RTC2017 Beijing
 
Janus + NDI @ ClueCon 2021
Janus + NDI @ ClueCon 2021Janus + NDI @ ClueCon 2021
Janus + NDI @ ClueCon 2021
 
FOSDEM2017 - Janus Event Handlers
FOSDEM2017 - Janus Event HandlersFOSDEM2017 - Janus Event Handlers
FOSDEM2017 - Janus Event Handlers
 
Multistream in Janus @ CommCon 2019
Multistream in Janus @ CommCon 2019Multistream in Janus @ CommCon 2019
Multistream in Janus @ CommCon 2019
 
Janus/HOMER/HEPIC @ OpenSIPS18
Janus/HOMER/HEPIC @ OpenSIPS18Janus/HOMER/HEPIC @ OpenSIPS18
Janus/HOMER/HEPIC @ OpenSIPS18
 
Janus/SIP @ OpenSIPS 2017
Janus/SIP @ OpenSIPS 2017Janus/SIP @ OpenSIPS 2017
Janus/SIP @ OpenSIPS 2017
 
Fuzzing RTC @ Kamailio World 2019
Fuzzing RTC @ Kamailio World 2019Fuzzing RTC @ Kamailio World 2019
Fuzzing RTC @ Kamailio World 2019
 
WHIP WebRTC Broadcasting @ FOSDEM 2022
WHIP WebRTC Broadcasting @ FOSDEM 2022WHIP WebRTC Broadcasting @ FOSDEM 2022
WHIP WebRTC Broadcasting @ FOSDEM 2022
 
WHIP and Janus @ IIT-RTC 2021
WHIP and Janus @ IIT-RTC 2021WHIP and Janus @ IIT-RTC 2021
WHIP and Janus @ IIT-RTC 2021
 
SIP/WebRTC load testing @ KamailioWorld 2017
SIP/WebRTC load testing @ KamailioWorld 2017SIP/WebRTC load testing @ KamailioWorld 2017
SIP/WebRTC load testing @ KamailioWorld 2017
 
IETF remote participation via Meetecho @ WebRTC Meetup Stockholm
IETF remote participation via Meetecho @ WebRTC Meetup StockholmIETF remote participation via Meetecho @ WebRTC Meetup Stockholm
IETF remote participation via Meetecho @ WebRTC Meetup Stockholm
 
Can SFUs and MCUs be friends @ IIT-RTC 2020
Can SFUs and MCUs be friends @ IIT-RTC 2020Can SFUs and MCUs be friends @ IIT-RTC 2020
Can SFUs and MCUs be friends @ IIT-RTC 2020
 
Can WebRTC help musicians? @ FOSDEM 2021
Can WebRTC help musicians? @ FOSDEM 2021Can WebRTC help musicians? @ FOSDEM 2021
Can WebRTC help musicians? @ FOSDEM 2021
 
FOSDEM2018 Janus Lua plugin presentation
FOSDEM2018 Janus Lua plugin presentationFOSDEM2018 Janus Lua plugin presentation
FOSDEM2018 Janus Lua plugin presentation
 
Janus: an open source and general purpose WebRTC (gateway) server
Janus: an open source and general purpose WebRTC (gateway) serverJanus: an open source and general purpose WebRTC (gateway) server
Janus: an open source and general purpose WebRTC (gateway) server
 

Semelhante a Turning live events to virtual with Janus

The challenges of hybrid meetings @ CommCon 2023
The challenges of hybrid meetings @ CommCon 2023The challenges of hybrid meetings @ CommCon 2023
The challenges of hybrid meetings @ CommCon 2023Lorenzo Miniero
 
2012 marlc-social media-virtualmeeting-videochat
2012 marlc-social media-virtualmeeting-videochat2012 marlc-social media-virtualmeeting-videochat
2012 marlc-social media-virtualmeeting-videochatNEA
 
Using Interaction Design Methods for Creating AR and VR Interfaces
Using Interaction Design Methods for Creating AR and VR InterfacesUsing Interaction Design Methods for Creating AR and VR Interfaces
Using Interaction Design Methods for Creating AR and VR InterfacesMark Billinghurst
 
Ubiquitous Angels; ambient sensor networks to crowd source crisis response an...
Ubiquitous Angels; ambient sensor networks to crowd source crisis response an...Ubiquitous Angels; ambient sensor networks to crowd source crisis response an...
Ubiquitous Angels; ambient sensor networks to crowd source crisis response an...Anselm Hook
 
Hybrid Event Tech 101: A Higher-Ed Guide to Accessible Hybrid Events
Hybrid Event Tech 101: A Higher-Ed Guide to Accessible Hybrid EventsHybrid Event Tech 101: A Higher-Ed Guide to Accessible Hybrid Events
Hybrid Event Tech 101: A Higher-Ed Guide to Accessible Hybrid Events3Play Media
 
What Is A Virtual Meeting?
What Is A Virtual Meeting?What Is A Virtual Meeting?
What Is A Virtual Meeting?ICPSR
 
Levelling up in open source
Levelling up in open sourceLevelling up in open source
Levelling up in open sourceJon Spriggs
 
Building the Orchard Community
Building the Orchard CommunityBuilding the Orchard Community
Building the Orchard CommunityPaula Hunter
 
Give your event a theme (YeurLeadin 2019)
Give your event a theme (YeurLeadin 2019)Give your event a theme (YeurLeadin 2019)
Give your event a theme (YeurLeadin 2019)YeurLeadin
 
Feedback loops between tooling and culture
Feedback loops between tooling and cultureFeedback loops between tooling and culture
Feedback loops between tooling and cultureChris Winters
 
Virtual Engagement Through Videoconferencing by Ted Ritzer June 25, 2015
Virtual Engagement Through Videoconferencing by Ted Ritzer June 25, 2015Virtual Engagement Through Videoconferencing by Ted Ritzer June 25, 2015
Virtual Engagement Through Videoconferencing by Ted Ritzer June 25, 2015Ted Ritzer
 
Engaging Events: Easy Ways and Green Suggestions To Connect Virtual and Natu...
Engaging  Events: Easy Ways and Green Suggestions To Connect Virtual and Natu...Engaging  Events: Easy Ways and Green Suggestions To Connect Virtual and Natu...
Engaging Events: Easy Ways and Green Suggestions To Connect Virtual and Natu...ron mader
 
Running Effective Virtual Meetings: Tools & Techniques for Engagement
Running Effective Virtual Meetings:  Tools & Techniques for EngagementRunning Effective Virtual Meetings:  Tools & Techniques for Engagement
Running Effective Virtual Meetings: Tools & Techniques for EngagementBeth Kanter
 
UCD from across the pond - A case study in remote UX
UCD from across the pond - A case study in remote UXUCD from across the pond - A case study in remote UX
UCD from across the pond - A case study in remote UXNeil Turner
 
Open Data Business Models - OSCON 2011
Open Data Business Models - OSCON 2011Open Data Business Models - OSCON 2011
Open Data Business Models - OSCON 2011lukec
 
AAM 2014: Tech Tutorial: Principles of Effective Video
AAM 2014: Tech Tutorial: Principles of Effective VideoAAM 2014: Tech Tutorial: Principles of Effective Video
AAM 2014: Tech Tutorial: Principles of Effective VideoAnna Chiaretta Lavatelli
 
SGMP GP Virtual Meeting Presentation
SGMP GP Virtual Meeting PresentationSGMP GP Virtual Meeting Presentation
SGMP GP Virtual Meeting Presentationdanbidwa
 
Understanding The Community Lifecycle
Understanding The Community LifecycleUnderstanding The Community Lifecycle
Understanding The Community LifecycleDavid Dias
 
Mobile Entrepreneur Seminar
Mobile Entrepreneur SeminarMobile Entrepreneur Seminar
Mobile Entrepreneur Seminarventurepointsa
 

Semelhante a Turning live events to virtual with Janus (20)

The challenges of hybrid meetings @ CommCon 2023
The challenges of hybrid meetings @ CommCon 2023The challenges of hybrid meetings @ CommCon 2023
The challenges of hybrid meetings @ CommCon 2023
 
Virtual meetings bapmn_20170201
Virtual meetings bapmn_20170201Virtual meetings bapmn_20170201
Virtual meetings bapmn_20170201
 
2012 marlc-social media-virtualmeeting-videochat
2012 marlc-social media-virtualmeeting-videochat2012 marlc-social media-virtualmeeting-videochat
2012 marlc-social media-virtualmeeting-videochat
 
Using Interaction Design Methods for Creating AR and VR Interfaces
Using Interaction Design Methods for Creating AR and VR InterfacesUsing Interaction Design Methods for Creating AR and VR Interfaces
Using Interaction Design Methods for Creating AR and VR Interfaces
 
Ubiquitous Angels; ambient sensor networks to crowd source crisis response an...
Ubiquitous Angels; ambient sensor networks to crowd source crisis response an...Ubiquitous Angels; ambient sensor networks to crowd source crisis response an...
Ubiquitous Angels; ambient sensor networks to crowd source crisis response an...
 
Hybrid Event Tech 101: A Higher-Ed Guide to Accessible Hybrid Events
Hybrid Event Tech 101: A Higher-Ed Guide to Accessible Hybrid EventsHybrid Event Tech 101: A Higher-Ed Guide to Accessible Hybrid Events
Hybrid Event Tech 101: A Higher-Ed Guide to Accessible Hybrid Events
 
What Is A Virtual Meeting?
What Is A Virtual Meeting?What Is A Virtual Meeting?
What Is A Virtual Meeting?
 
Levelling up in open source
Levelling up in open sourceLevelling up in open source
Levelling up in open source
 
Building the Orchard Community
Building the Orchard CommunityBuilding the Orchard Community
Building the Orchard Community
 
Give your event a theme (YeurLeadin 2019)
Give your event a theme (YeurLeadin 2019)Give your event a theme (YeurLeadin 2019)
Give your event a theme (YeurLeadin 2019)
 
Feedback loops between tooling and culture
Feedback loops between tooling and cultureFeedback loops between tooling and culture
Feedback loops between tooling and culture
 
Virtual Engagement Through Videoconferencing by Ted Ritzer June 25, 2015
Virtual Engagement Through Videoconferencing by Ted Ritzer June 25, 2015Virtual Engagement Through Videoconferencing by Ted Ritzer June 25, 2015
Virtual Engagement Through Videoconferencing by Ted Ritzer June 25, 2015
 
Engaging Events: Easy Ways and Green Suggestions To Connect Virtual and Natu...
Engaging  Events: Easy Ways and Green Suggestions To Connect Virtual and Natu...Engaging  Events: Easy Ways and Green Suggestions To Connect Virtual and Natu...
Engaging Events: Easy Ways and Green Suggestions To Connect Virtual and Natu...
 
Running Effective Virtual Meetings: Tools & Techniques for Engagement
Running Effective Virtual Meetings:  Tools & Techniques for EngagementRunning Effective Virtual Meetings:  Tools & Techniques for Engagement
Running Effective Virtual Meetings: Tools & Techniques for Engagement
 
UCD from across the pond - A case study in remote UX
UCD from across the pond - A case study in remote UXUCD from across the pond - A case study in remote UX
UCD from across the pond - A case study in remote UX
 
Open Data Business Models - OSCON 2011
Open Data Business Models - OSCON 2011Open Data Business Models - OSCON 2011
Open Data Business Models - OSCON 2011
 
AAM 2014: Tech Tutorial: Principles of Effective Video
AAM 2014: Tech Tutorial: Principles of Effective VideoAAM 2014: Tech Tutorial: Principles of Effective Video
AAM 2014: Tech Tutorial: Principles of Effective Video
 
SGMP GP Virtual Meeting Presentation
SGMP GP Virtual Meeting PresentationSGMP GP Virtual Meeting Presentation
SGMP GP Virtual Meeting Presentation
 
Understanding The Community Lifecycle
Understanding The Community LifecycleUnderstanding The Community Lifecycle
Understanding The Community Lifecycle
 
Mobile Entrepreneur Seminar
Mobile Entrepreneur SeminarMobile Entrepreneur Seminar
Mobile Entrepreneur Seminar
 

Mais de Lorenzo Miniero

Getting AV1/SVC to work in the Janus WebRTC Server
Getting AV1/SVC to work in the Janus WebRTC ServerGetting AV1/SVC to work in the Janus WebRTC Server
Getting AV1/SVC to work in the Janus WebRTC ServerLorenzo Miniero
 
WebRTC Broadcasting @ TADSummit 2023
WebRTC Broadcasting @ TADSummit 2023WebRTC Broadcasting @ TADSummit 2023
WebRTC Broadcasting @ TADSummit 2023Lorenzo Miniero
 
Real-Time Text and WebRTC @ Kamailio World 2023
Real-Time Text and WebRTC @ Kamailio World 2023Real-Time Text and WebRTC @ Kamailio World 2023
Real-Time Text and WebRTC @ Kamailio World 2023Lorenzo Miniero
 
Become a rockstar using FOSS!
Become a rockstar using FOSS!Become a rockstar using FOSS!
Become a rockstar using FOSS!Lorenzo Miniero
 
Janus SFU cascading @ IIT-RTC 2022
Janus SFU cascading @ IIT-RTC 2022Janus SFU cascading @ IIT-RTC 2022
Janus SFU cascading @ IIT-RTC 2022Lorenzo Miniero
 
SIP transfer with Janus/WebRTC @ OpenSIPS 2022
SIP transfer with Janus/WebRTC @ OpenSIPS 2022SIP transfer with Janus/WebRTC @ OpenSIPS 2022
SIP transfer with Janus/WebRTC @ OpenSIPS 2022Lorenzo Miniero
 
Scaling WebRTC deployments with multicast @ IETF 110 MBONED
Scaling WebRTC deployments with multicast @ IETF 110 MBONEDScaling WebRTC deployments with multicast @ IETF 110 MBONED
Scaling WebRTC deployments with multicast @ IETF 110 MBONEDLorenzo Miniero
 
Janus Workshop pt.2 @ ClueCon 2021
Janus Workshop pt.2 @ ClueCon 2021Janus Workshop pt.2 @ ClueCon 2021
Janus Workshop pt.2 @ ClueCon 2021Lorenzo Miniero
 
Janus Workshop @ ClueCon 2020
Janus Workshop @ ClueCon 2020Janus Workshop @ ClueCon 2020
Janus Workshop @ ClueCon 2020Lorenzo Miniero
 
Janus RTP forwarders @ FOSDEM 2020
Janus RTP forwarders @ FOSDEM 2020Janus RTP forwarders @ FOSDEM 2020
Janus RTP forwarders @ FOSDEM 2020Lorenzo Miniero
 
Janus workshop @ RTC2019 Beijing
Janus workshop @ RTC2019 BeijingJanus workshop @ RTC2019 Beijing
Janus workshop @ RTC2019 BeijingLorenzo Miniero
 
Welcome to JanusCon! -- Past, Present and Future of Janus
Welcome to JanusCon! -- Past, Present and Future of JanusWelcome to JanusCon! -- Past, Present and Future of Janus
Welcome to JanusCon! -- Past, Present and Future of JanusLorenzo Miniero
 

Mais de Lorenzo Miniero (13)

Getting AV1/SVC to work in the Janus WebRTC Server
Getting AV1/SVC to work in the Janus WebRTC ServerGetting AV1/SVC to work in the Janus WebRTC Server
Getting AV1/SVC to work in the Janus WebRTC Server
 
WebRTC Broadcasting @ TADSummit 2023
WebRTC Broadcasting @ TADSummit 2023WebRTC Broadcasting @ TADSummit 2023
WebRTC Broadcasting @ TADSummit 2023
 
BWE in Janus
BWE in JanusBWE in Janus
BWE in Janus
 
Real-Time Text and WebRTC @ Kamailio World 2023
Real-Time Text and WebRTC @ Kamailio World 2023Real-Time Text and WebRTC @ Kamailio World 2023
Real-Time Text and WebRTC @ Kamailio World 2023
 
Become a rockstar using FOSS!
Become a rockstar using FOSS!Become a rockstar using FOSS!
Become a rockstar using FOSS!
 
Janus SFU cascading @ IIT-RTC 2022
Janus SFU cascading @ IIT-RTC 2022Janus SFU cascading @ IIT-RTC 2022
Janus SFU cascading @ IIT-RTC 2022
 
SIP transfer with Janus/WebRTC @ OpenSIPS 2022
SIP transfer with Janus/WebRTC @ OpenSIPS 2022SIP transfer with Janus/WebRTC @ OpenSIPS 2022
SIP transfer with Janus/WebRTC @ OpenSIPS 2022
 
Scaling WebRTC deployments with multicast @ IETF 110 MBONED
Scaling WebRTC deployments with multicast @ IETF 110 MBONEDScaling WebRTC deployments with multicast @ IETF 110 MBONED
Scaling WebRTC deployments with multicast @ IETF 110 MBONED
 
Janus Workshop pt.2 @ ClueCon 2021
Janus Workshop pt.2 @ ClueCon 2021Janus Workshop pt.2 @ ClueCon 2021
Janus Workshop pt.2 @ ClueCon 2021
 
Janus Workshop @ ClueCon 2020
Janus Workshop @ ClueCon 2020Janus Workshop @ ClueCon 2020
Janus Workshop @ ClueCon 2020
 
Janus RTP forwarders @ FOSDEM 2020
Janus RTP forwarders @ FOSDEM 2020Janus RTP forwarders @ FOSDEM 2020
Janus RTP forwarders @ FOSDEM 2020
 
Janus workshop @ RTC2019 Beijing
Janus workshop @ RTC2019 BeijingJanus workshop @ RTC2019 Beijing
Janus workshop @ RTC2019 Beijing
 
Welcome to JanusCon! -- Past, Present and Future of Janus
Welcome to JanusCon! -- Past, Present and Future of JanusWelcome to JanusCon! -- Past, Present and Future of Janus
Welcome to JanusCon! -- Past, Present and Future of Janus
 

Último

Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1DianaGray10
 
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDEADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDELiveplex
 
Designing A Time bound resource download URL
Designing A Time bound resource download URLDesigning A Time bound resource download URL
Designing A Time bound resource download URLRuncy Oommen
 
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...DianaGray10
 
COMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a WebsiteCOMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a Websitedgelyza
 
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...Aggregage
 
Empowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership BlueprintEmpowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership BlueprintMahmoud Rabie
 
UiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation DevelopersUiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation DevelopersUiPathCommunity
 
9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding Team9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding TeamAdam Moalla
 
Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™Adtran
 
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdfIaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdfDaniel Santiago Silva Capera
 
AI You Can Trust - Ensuring Success with Data Integrity Webinar
AI You Can Trust - Ensuring Success with Data Integrity WebinarAI You Can Trust - Ensuring Success with Data Integrity Webinar
AI You Can Trust - Ensuring Success with Data Integrity WebinarPrecisely
 
How Accurate are Carbon Emissions Projections?
How Accurate are Carbon Emissions Projections?How Accurate are Carbon Emissions Projections?
How Accurate are Carbon Emissions Projections?IES VE
 
Videogame localization & technology_ how to enhance the power of translation.pdf
Videogame localization & technology_ how to enhance the power of translation.pdfVideogame localization & technology_ how to enhance the power of translation.pdf
Videogame localization & technology_ how to enhance the power of translation.pdfinfogdgmi
 
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve DecarbonizationUsing IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve DecarbonizationIES VE
 
NIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopNIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopBachir Benyammi
 
Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024D Cloud Solutions
 
Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024SkyPlanner
 
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPAAnypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPAshyamraj55
 
OpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability AdventureOpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability AdventureEric D. Schabell
 

Último (20)

Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1
 
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDEADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
 
Designing A Time bound resource download URL
Designing A Time bound resource download URLDesigning A Time bound resource download URL
Designing A Time bound resource download URL
 
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
 
COMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a WebsiteCOMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a Website
 
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
 
Empowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership BlueprintEmpowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership Blueprint
 
UiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation DevelopersUiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation Developers
 
9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding Team9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding Team
 
Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™
 
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdfIaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
 
AI You Can Trust - Ensuring Success with Data Integrity Webinar
AI You Can Trust - Ensuring Success with Data Integrity WebinarAI You Can Trust - Ensuring Success with Data Integrity Webinar
AI You Can Trust - Ensuring Success with Data Integrity Webinar
 
How Accurate are Carbon Emissions Projections?
How Accurate are Carbon Emissions Projections?How Accurate are Carbon Emissions Projections?
How Accurate are Carbon Emissions Projections?
 
Videogame localization & technology_ how to enhance the power of translation.pdf
Videogame localization & technology_ how to enhance the power of translation.pdfVideogame localization & technology_ how to enhance the power of translation.pdf
Videogame localization & technology_ how to enhance the power of translation.pdf
 
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve DecarbonizationUsing IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
 
NIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopNIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 Workshop
 
Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024
 
Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024
 
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPAAnypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPA
 
OpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability AdventureOpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability Adventure
 

Turning live events to virtual with Janus

  • 1. Turning live events to virtual with Janus Lorenzo Miniero @elminiero CommCon 2020 July, from my couch at home
  • 2. Who am I? Lorenzo Miniero • Ph.D @ UniNA • Chairman @ Meetecho • Main author of Janus Contacts and info • lorenzo@meetecho.com • https://twitter.com/elminiero • https://www.slideshare.net/LorenzoMiniero • https://soundcloud.com/lminiero
  • 3. There are worse places to be stuck in!
  • 4. Lockdown had a bad effect on me...
  • 5. Lockdown had a bad effect on me...
  • 6. Lockdown had a bad effect on me...
  • 7. Lockdown had a bad effect on me...
  • 8. Lockdown had a bad effect on me...
  • 9. Lockdown had a bad effect on me...
  • 10. What about the impact on business? • Co-founded in 2009 as an academic spin-off • University research efforts brought to the market • Completely independent from the University • Focus on real-time multimedia applications • Strong perspective on standardization and open source • Several activities • Consulting services • Commercial support and Janus licenses • Streaming of live events (IETF, ACM, etc.)
  • 11. What about the impact on business? • Co-founded in 2009 as an academic spin-off • University research efforts brought to the market • Completely independent from the University • Focus on real-time multimedia applications • Strong perspective on standardization and open source • Several activities • Consulting services • Commercial support and Janus licenses • Streaming of live events (IETF, ACM, etc.)
  • 12. What about the impact on business? • Co-founded in 2009 as an academic spin-off • University research efforts brought to the market • Completely independent from the University • Focus on real-time multimedia applications • Strong perspective on standardization and open source • Several activities • Consulting services • Commercial support and Janus licenses • Streaming of live events (IETF, ACM, etc.)
  • 13. Streaming live events via WebRTC • Service we provided for several different events • Mainly IETF (official remote participation tool) and some ACM conferences • A few other events too (a growing business) • Typically involved some specific activities • Fly a couple people + equipment there, of course • Setup cameras, split/capture projector signals, hook to room mixer • Embed some event-specific channel (e.g., Twitter feed, or Sli.do channel) • ... and then stream everything via WebRTC (sometimes allowing remote speakers) Until the world changed... No more live events in person for a while!
  • 14. Streaming live events via WebRTC • Service we provided for several different events • Mainly IETF (official remote participation tool) and some ACM conferences • A few other events too (a growing business) • Typically involved some specific activities • Fly a couple people + equipment there, of course • Setup cameras, split/capture projector signals, hook to room mixer • Embed some event-specific channel (e.g., Twitter feed, or Sli.do channel) • ... and then stream everything via WebRTC (sometimes allowing remote speakers) Until the world changed... No more live events in person for a while!
  • 15. Streaming live events via WebRTC • Service we provided for several different events • Mainly IETF (official remote participation tool) and some ACM conferences • A few other events too (a growing business) • Typically involved some specific activities • Fly a couple people + equipment there, of course • Setup cameras, split/capture projector signals, hook to room mixer • Embed some event-specific channel (e.g., Twitter feed, or Sli.do channel) • ... and then stream everything via WebRTC (sometimes allowing remote speakers) Until the world changed... No more live events in person for a while!
  • 16. A look at how that worked for IETF meetings
  • 17. A look at how that worked for IETF meetings
  • 18. A look at how that worked for IETF meetings
  • 19. A look at how that worked for IETF meetings
  • 20. A look at how that worked for IETF meetings https://ietf.org/meeting/remote-participation.html
  • 21. A look at how that worked for IETF meetings https://ietf.org/meeting/remote-participation.html
  • 22. A look at how that worked for IETF meetings https://ietf.org/meeting/remote-participation.html
  • 23. A look at how that worked for IETF meetings https://ietf.org/meeting/remote-participation.html
  • 24. A look at how that worked for IETF meetings https://ietf.org/meeting/remote-participation.html
  • 25. A look at how that worked for IETF meetings https://ietf.org/meeting/remote-participation.html
  • 26. A look at how that worked for IETF meetings https://ietf.org/meeting/remote-participation.html
  • 27. A simpler approach for other conferences (e.g., ACM)
  • 28. Streaming JanusCon (no remote pizza, though)
  • 34. Moving to Virtual Events: new challenges • Remote participants are not 2nd class citizens anymore... • ... they’re the only ones there! • You can’t assume remote participants will just lurk anymore • Most than often, virtual event != webinar “on steroids” • Active participation much more important than before • A “broken” remote speaker will break the whole presentation • Interaction with remote speakers can take different forms • Sometimes important for them to have little delay • Even if you won’t let them speak, they’ll need ways to interact • And don’t you miss hallway conversations or social dinners?
  • 35. Moving to Virtual Events: new challenges • Remote participants are not 2nd class citizens anymore... • ... they’re the only ones there! • You can’t assume remote participants will just lurk anymore • Most than often, virtual event != webinar “on steroids” • Active participation much more important than before • A “broken” remote speaker will break the whole presentation • Interaction with remote speakers can take different forms • Sometimes important for them to have little delay • Even if you won’t let them speak, they’ll need ways to interact • And don’t you miss hallway conversations or social dinners?
  • 36. Moving to Virtual Events: new challenges • Remote participants are not 2nd class citizens anymore... • ... they’re the only ones there! • You can’t assume remote participants will just lurk anymore • Most than often, virtual event != webinar “on steroids” • Active participation much more important than before • A “broken” remote speaker will break the whole presentation • Interaction with remote speakers can take different forms • Sometimes important for them to have little delay • Even if you won’t let them speak, they’ll need ways to interact • And don’t you miss hallway conversations or social dinners?
  • 37. Moving to Virtual Events: new challenges • Remote participants are not 2nd class citizens anymore... • ... they’re the only ones there! • You can’t assume remote participants will just lurk anymore • Most than often, virtual event != webinar “on steroids” • Active participation much more important than before • A “broken” remote speaker will break the whole presentation • Interaction with remote speakers can take different forms • Sometimes important for them to have little delay • Even if you won’t let them speak, they’ll need ways to interact • And don’t you miss hallway conversations or social dinners?
  • 38. Moving to Virtual Events: new challenges • Remote participants are not 2nd class citizens anymore... • ... they’re the only ones there! • You can’t assume remote participants will just lurk anymore • Most than often, virtual event != webinar “on steroids” • Active participation much more important than before • A “broken” remote speaker will break the whole presentation • Interaction with remote speakers can take different forms • Sometimes important for them to have little delay • Even if you won’t let them speak, they’ll need ways to interact • And don’t you miss hallway conversations or social dinners?
  • 39. How to schedule a Virtual event? • With a live event, that’s easy • People on site meet for a few days and present • Schedule tied to whatever the location timezone is (for remotes too) • With Virtual events there’s no “site”, though • If everyone’s remote, timezone clashes can happen more easily • Session slots may conflict with work-related commitments • Different schools of thought on how to solve this 1 Just move the same on-site schedule online? 2 Maybe fewer talks per day, and a longer event? 3 Dynamic sessions that fit the timezones of most attendees?
  • 40. How to schedule a Virtual event? • With a live event, that’s easy • People on site meet for a few days and present • Schedule tied to whatever the location timezone is (for remotes too) • With Virtual events there’s no “site”, though • If everyone’s remote, timezone clashes can happen more easily • Session slots may conflict with work-related commitments • Different schools of thought on how to solve this 1 Just move the same on-site schedule online? 2 Maybe fewer talks per day, and a longer event? 3 Dynamic sessions that fit the timezones of most attendees?
  • 41. How to schedule a Virtual event? • With a live event, that’s easy • People on site meet for a few days and present • Schedule tied to whatever the location timezone is (for remotes too) • With Virtual events there’s no “site”, though • If everyone’s remote, timezone clashes can happen more easily • Session slots may conflict with work-related commitments • Different schools of thought on how to solve this 1 Just move the same on-site schedule online? 2 Maybe fewer talks per day, and a longer event? 3 Dynamic sessions that fit the timezones of most attendees?
  • 42. How to schedule a Virtual event? • With a live event, that’s easy • People on site meet for a few days and present • Schedule tied to whatever the location timezone is (for remotes too) • With Virtual events there’s no “site”, though • If everyone’s remote, timezone clashes can happen more easily • Session slots may conflict with work-related commitments • Different schools of thought on how to solve this 1 Just move the same on-site schedule online? 2 Maybe fewer talks per day, and a longer event? 3 Dynamic sessions that fit the timezones of most attendees?
  • 43. How to schedule a Virtual event? • With a live event, that’s easy • People on site meet for a few days and present • Schedule tied to whatever the location timezone is (for remotes too) • With Virtual events there’s no “site”, though • If everyone’s remote, timezone clashes can happen more easily • Session slots may conflict with work-related commitments • Different schools of thought on how to solve this 1 Just move the same on-site schedule online? 2 Maybe fewer talks per day, and a longer event? 3 Dynamic sessions that fit the timezones of most attendees?
  • 44. How to schedule a Virtual event? • With a live event, that’s easy • People on site meet for a few days and present • Schedule tied to whatever the location timezone is (for remotes too) • With Virtual events there’s no “site”, though • If everyone’s remote, timezone clashes can happen more easily • Session slots may conflict with work-related commitments • Different schools of thought on how to solve this 1 Just move the same on-site schedule online? 2 Maybe fewer talks per day, and a longer event? 3 Dynamic sessions that fit the timezones of most attendees?
  • 45. Pre-recorded or live? • There’s not a one-size-fits-all answer here • Different solutions to different problems • A truly live event seems the obvious answer • Can feel closer to a “traditional” event schedule • Live interaction with audience not always needed, but nice to have • Pre-recording allows for more control on the end result, though • Speakers can record on their own time, and fix mistakes • Post-processing allows for higher quality output (yay CommCon!) • Live interaction still possible after the talk (e.g., live Q&A) • In both cases, though, WebRTC will most likely be used
  • 46. Pre-recorded or live? • There’s not a one-size-fits-all answer here • Different solutions to different problems • A truly live event seems the obvious answer • Can feel closer to a “traditional” event schedule • Live interaction with audience not always needed, but nice to have • Pre-recording allows for more control on the end result, though • Speakers can record on their own time, and fix mistakes • Post-processing allows for higher quality output (yay CommCon!) • Live interaction still possible after the talk (e.g., live Q&A) • In both cases, though, WebRTC will most likely be used
  • 47. Pre-recorded or live? • There’s not a one-size-fits-all answer here • Different solutions to different problems • A truly live event seems the obvious answer • Can feel closer to a “traditional” event schedule • Live interaction with audience not always needed, but nice to have • Pre-recording allows for more control on the end result, though • Speakers can record on their own time, and fix mistakes • Post-processing allows for higher quality output (yay CommCon!) • Live interaction still possible after the talk (e.g., live Q&A) • In both cases, though, WebRTC will most likely be used
  • 48. Pre-recorded or live? • There’s not a one-size-fits-all answer here • Different solutions to different problems • A truly live event seems the obvious answer • Can feel closer to a “traditional” event schedule • Live interaction with audience not always needed, but nice to have • Pre-recording allows for more control on the end result, though • Speakers can record on their own time, and fix mistakes • Post-processing allows for higher quality output (yay CommCon!) • Live interaction still possible after the talk (e.g., live Q&A) • In both cases, though, WebRTC will most likely be used
  • 49. Leveraging Janus for the purpose Janus General purpose, open source WebRTC server • https://github.com/meetecho/janus-gateway • Demos and documentation: https://janus.conf.meetecho.com • Community: https://groups.google.com/forum/#!forum/meetecho-janus
  • 51. Broadcasting: WebRTC or HLS? • Again, there’s not a simple answer • If low latency and/or live interaction are important, then obviously WebRTC! • Otherwise, you may want to let a CDN worry about scalability • With WebRTC, most of the times you can just relay media • Much less impact on the server-side CPU resources (no/few mixing/transcoding) • Scaling the WebRTC part is up to you, though • With a CDN, you need a single audio/video stream to distribute • Will require some mixing/transcoding, so dedicated resources • Once you create the stream, though, scaling is up to the CDN (not-my-problemTM !)
  • 52. Broadcasting: WebRTC or HLS? • Again, there’s not a simple answer • If low latency and/or live interaction are important, then obviously WebRTC! • Otherwise, you may want to let a CDN worry about scalability • With WebRTC, most of the times you can just relay media • Much less impact on the server-side CPU resources (no/few mixing/transcoding) • Scaling the WebRTC part is up to you, though • With a CDN, you need a single audio/video stream to distribute • Will require some mixing/transcoding, so dedicated resources • Once you create the stream, though, scaling is up to the CDN (not-my-problemTM !)
  • 53. Broadcasting: WebRTC or HLS? • Again, there’s not a simple answer • If low latency and/or live interaction are important, then obviously WebRTC! • Otherwise, you may want to let a CDN worry about scalability • With WebRTC, most of the times you can just relay media • Much less impact on the server-side CPU resources (no/few mixing/transcoding) • Scaling the WebRTC part is up to you, though • With a CDN, you need a single audio/video stream to distribute • Will require some mixing/transcoding, so dedicated resources • Once you create the stream, though, scaling is up to the CDN (not-my-problemTM !)
  • 54. Can SFUs and MCUs be friends? • SFUs ideal to just relay media • No mixing/transcoding to worry about −→ less CPU on server, less delay • More streams to distribute −→ more bandwidth needed • Different streams −→ more control on UI • MCUs ideal to just mix media • Mixing/transcoding taking place −→ more CPU on server, more delay • Just one stream to distribute −→ bandwidth constant • Single output stream −→ UI rendering constrained • Sometimes it makes sense to use them both! • Use SFU where applicable (e.g., video, plenty of bandwidth) • Use MCU to complement (e.g., audio, lower power devices) • Besides, an MCU can mix SFU streams to broadcast to a CDN!
  • 55. Can SFUs and MCUs be friends? • SFUs ideal to just relay media • No mixing/transcoding to worry about −→ less CPU on server, less delay • More streams to distribute −→ more bandwidth needed • Different streams −→ more control on UI • MCUs ideal to just mix media • Mixing/transcoding taking place −→ more CPU on server, more delay • Just one stream to distribute −→ bandwidth constant • Single output stream −→ UI rendering constrained • Sometimes it makes sense to use them both! • Use SFU where applicable (e.g., video, plenty of bandwidth) • Use MCU to complement (e.g., audio, lower power devices) • Besides, an MCU can mix SFU streams to broadcast to a CDN!
  • 56. Can SFUs and MCUs be friends? • SFUs ideal to just relay media • No mixing/transcoding to worry about −→ less CPU on server, less delay • More streams to distribute −→ more bandwidth needed • Different streams −→ more control on UI • MCUs ideal to just mix media • Mixing/transcoding taking place −→ more CPU on server, more delay • Just one stream to distribute −→ bandwidth constant • Single output stream −→ UI rendering constrained • Sometimes it makes sense to use them both! • Use SFU where applicable (e.g., video, plenty of bandwidth) • Use MCU to complement (e.g., audio, lower power devices) • Besides, an MCU can mix SFU streams to broadcast to a CDN!
  • 57. A simple use case to start with: podcasts • Not strictly speaking a Virtual event, but close enough • One or more people talking, and a (wide?) audience • During Covid, many podcasts done remotely (e.g., "Conan needs a friend") • WebRTC a good fit for the conversation part • Easy to have a chat just using your browser • Broadcasting could be done with WebRTC too! • May make sense to have the conversation mixed, though • If broadcasting with WebRTC, the more the speakers, the more the bandwidth • If NOT broadcasting with WebRTC, you need a mix to transcode anyway • More control on additional media (e.g., themes, clips, ads, etc.) • How to optimize mixing with the ability to bring people in in a scalable way?
  • 58. A simple use case to start with: podcasts • Not strictly speaking a Virtual event, but close enough • One or more people talking, and a (wide?) audience • During Covid, many podcasts done remotely (e.g., "Conan needs a friend") • WebRTC a good fit for the conversation part • Easy to have a chat just using your browser • Broadcasting could be done with WebRTC too! • May make sense to have the conversation mixed, though • If broadcasting with WebRTC, the more the speakers, the more the bandwidth • If NOT broadcasting with WebRTC, you need a mix to transcode anyway • More control on additional media (e.g., themes, clips, ads, etc.) • How to optimize mixing with the ability to bring people in in a scalable way?
  • 59. A simple use case to start with: podcasts • Not strictly speaking a Virtual event, but close enough • One or more people talking, and a (wide?) audience • During Covid, many podcasts done remotely (e.g., "Conan needs a friend") • WebRTC a good fit for the conversation part • Easy to have a chat just using your browser • Broadcasting could be done with WebRTC too! • May make sense to have the conversation mixed, though • If broadcasting with WebRTC, the more the speakers, the more the bandwidth • If NOT broadcasting with WebRTC, you need a mix to transcode anyway • More control on additional media (e.g., themes, clips, ads, etc.) • How to optimize mixing with the ability to bring people in in a scalable way?
  • 60. A simple use case to start with: podcasts • Not strictly speaking a Virtual event, but close enough • One or more people talking, and a (wide?) audience • During Covid, many podcasts done remotely (e.g., "Conan needs a friend") • WebRTC a good fit for the conversation part • Easy to have a chat just using your browser • Broadcasting could be done with WebRTC too! • May make sense to have the conversation mixed, though • If broadcasting with WebRTC, the more the speakers, the more the bandwidth • If NOT broadcasting with WebRTC, you need a mix to transcode anyway • More control on additional media (e.g., themes, clips, ads, etc.) • How to optimize mixing with the ability to bring people in in a scalable way?
  • 61. AudioBridge + RTP forwarding
  • 62. AudioBridge + RTP forwarding
  • 63. AudioBridge + RTP forwarding + Streaming
  • 64. AudioBridge + RTP forwarding + Streaming
  • 65. AudioBridge + RTP forwarding + Streaming
  • 66. AudioBridge + RTP forwarding + Streaming
  • 67. Adding video: the “webinar” scenario • Mostly a one-to-many scenario • A single presenter (maybe more than one video, e.g., screensharing) • Multiple passive viewers • Can sometimes be “conversational” like a podcast, though • e.g., Q&A session, interview, or panel discussion • As before, WebRTC definitely a good fit for publishing • Browsers support screensharing natively • Broadcasting could be done with WebRTC too! (but more streams, now) • Video(s) may or may not be mixed • In both cases, still needs to be distributed to all participants
  • 68. Adding video: the “webinar” scenario • Mostly a one-to-many scenario • A single presenter (maybe more than one video, e.g., screensharing) • Multiple passive viewers • Can sometimes be “conversational” like a podcast, though • e.g., Q&A session, interview, or panel discussion • As before, WebRTC definitely a good fit for publishing • Browsers support screensharing natively • Broadcasting could be done with WebRTC too! (but more streams, now) • Video(s) may or may not be mixed • In both cases, still needs to be distributed to all participants
  • 69. Adding video: the “webinar” scenario • Mostly a one-to-many scenario • A single presenter (maybe more than one video, e.g., screensharing) • Multiple passive viewers • Can sometimes be “conversational” like a podcast, though • e.g., Q&A session, interview, or panel discussion • As before, WebRTC definitely a good fit for publishing • Browsers support screensharing natively • Broadcasting could be done with WebRTC too! (but more streams, now) • Video(s) may or may not be mixed • In both cases, still needs to be distributed to all participants
  • 70. Adding video: the “webinar” scenario • Mostly a one-to-many scenario • A single presenter (maybe more than one video, e.g., screensharing) • Multiple passive viewers • Can sometimes be “conversational” like a podcast, though • e.g., Q&A session, interview, or panel discussion • As before, WebRTC definitely a good fit for publishing • Browsers support screensharing natively • Broadcasting could be done with WebRTC too! (but more streams, now) • Video(s) may or may not be mixed • In both cases, still needs to be distributed to all participants
  • 71. VideoRoom + RTP Forwarding
  • 72. VideoRoom + RTP Forwarding
  • 73. VideoRoom + RTP forwarding + Streaming
  • 74. VideoRoom + RTP forwarding + Streaming
  • 75. VideoRoom + RTP forwarding + Streaming
  • 76. Bringing it all together for Virtual Events • Virtual Events platform designed to “borrow” some concepts from before • Mixing for audio streams, SFU mode for video streams • Unlike before, AudioBridge used as the audio MCU now • “Podcast” scenario applied to Virtual event • Scalable thanks to RTP forwarding and Streaming plugin • VideoRoom still used as the video SFU, instead • “Webinar” scenario applied to Virtual event • RTP forwarding and Streaming plugin used here too to make it scalable All orchestration and RTP “magic” transparent users • Participants talk to orchestrator, not Janus instances • Docker, Docker, everywhere!
  • 77. Bringing it all together for Virtual Events • Virtual Events platform designed to “borrow” some concepts from before • Mixing for audio streams, SFU mode for video streams • Unlike before, AudioBridge used as the audio MCU now • “Podcast” scenario applied to Virtual event • Scalable thanks to RTP forwarding and Streaming plugin • VideoRoom still used as the video SFU, instead • “Webinar” scenario applied to Virtual event • RTP forwarding and Streaming plugin used here too to make it scalable All orchestration and RTP “magic” transparent users • Participants talk to orchestrator, not Janus instances • Docker, Docker, everywhere!
  • 78. Bringing it all together for Virtual Events • Virtual Events platform designed to “borrow” some concepts from before • Mixing for audio streams, SFU mode for video streams • Unlike before, AudioBridge used as the audio MCU now • “Podcast” scenario applied to Virtual event • Scalable thanks to RTP forwarding and Streaming plugin • VideoRoom still used as the video SFU, instead • “Webinar” scenario applied to Virtual event • RTP forwarding and Streaming plugin used here too to make it scalable All orchestration and RTP “magic” transparent users • Participants talk to orchestrator, not Janus instances • Docker, Docker, everywhere!
  • 79. Bringing it all together for Virtual Events • Virtual Events platform designed to “borrow” some concepts from before • Mixing for audio streams, SFU mode for video streams • Unlike before, AudioBridge used as the audio MCU now • “Podcast” scenario applied to Virtual event • Scalable thanks to RTP forwarding and Streaming plugin • VideoRoom still used as the video SFU, instead • “Webinar” scenario applied to Virtual event • RTP forwarding and Streaming plugin used here too to make it scalable All orchestration and RTP “magic” transparent users • Participants talk to orchestrator, not Janus instances • Docker, Docker, everywhere!
  • 80. Bringing it all together for Virtual Events
  • 81. Preparing for IETF 108 in “Madrid”
  • 82. Preparing for IETF 108 in “Madrid”
  • 83. Preparing for IETF 108 in “Madrid”
  • 84. Preparing for IETF 108 in “Madrid”
  • 85. Preparing for IETF 108 in “Madrid”
  • 86. Preparing for IETF 108 in “Madrid”
  • 87. Januscon part 2 in a couple of months!
  • 88. What about hallway conversations?
  • 89. What about hallway conversations? • Definitely one of the things I personally miss the most... • Hallway conversations, social gatherings, dinners can be fun • It’s not just work: great people make great events! • Harder to translate to the “virtual” world • No scheduling, much more dynamic, lacks human feel and “contact” • Number of interactions can have huge impact on scalability • A few different ways to handle this, though 1 Several small-ish P2P conversations? 2 Possibly involve an SFU for larger ones? 3 An “explorable” space with avatars to trigger conversations? 4 Why not, maybe even VR! (e.g., via Hubs or vrlandio)
  • 90. What about hallway conversations? • Definitely one of the things I personally miss the most... • Hallway conversations, social gatherings, dinners can be fun • It’s not just work: great people make great events! • Harder to translate to the “virtual” world • No scheduling, much more dynamic, lacks human feel and “contact” • Number of interactions can have huge impact on scalability • A few different ways to handle this, though 1 Several small-ish P2P conversations? 2 Possibly involve an SFU for larger ones? 3 An “explorable” space with avatars to trigger conversations? 4 Why not, maybe even VR! (e.g., via Hubs or vrlandio)
  • 91. What about hallway conversations? • Definitely one of the things I personally miss the most... • Hallway conversations, social gatherings, dinners can be fun • It’s not just work: great people make great events! • Harder to translate to the “virtual” world • No scheduling, much more dynamic, lacks human feel and “contact” • Number of interactions can have huge impact on scalability • A few different ways to handle this, though 1 Several small-ish P2P conversations? 2 Possibly involve an SFU for larger ones? 3 An “explorable” space with avatars to trigger conversations? 4 Why not, maybe even VR! (e.g., via Hubs or vrlandio)
  • 92. What about hallway conversations? • Definitely one of the things I personally miss the most... • Hallway conversations, social gatherings, dinners can be fun • It’s not just work: great people make great events! • Harder to translate to the “virtual” world • No scheduling, much more dynamic, lacks human feel and “contact” • Number of interactions can have huge impact on scalability • A few different ways to handle this, though 1 Several small-ish P2P conversations? 2 Possibly involve an SFU for larger ones? 3 An “explorable” space with avatars to trigger conversations? 4 Why not, maybe even VR! (e.g., via Hubs or vrlandio)
  • 93. What about hallway conversations? • Definitely one of the things I personally miss the most... • Hallway conversations, social gatherings, dinners can be fun • It’s not just work: great people make great events! • Harder to translate to the “virtual” world • No scheduling, much more dynamic, lacks human feel and “contact” • Number of interactions can have huge impact on scalability • A few different ways to handle this, though 1 Several small-ish P2P conversations? 2 Possibly involve an SFU for larger ones? 3 An “explorable” space with avatars to trigger conversations? 4 Why not, maybe even VR! (e.g., via Hubs or vrlandio)
  • 94. What about hallway conversations? • Definitely one of the things I personally miss the most... • Hallway conversations, social gatherings, dinners can be fun • It’s not just work: great people make great events! • Harder to translate to the “virtual” world • No scheduling, much more dynamic, lacks human feel and “contact” • Number of interactions can have huge impact on scalability • A few different ways to handle this, though 1 Several small-ish P2P conversations? 2 Possibly involve an SFU for larger ones? 3 An “explorable” space with avatars to trigger conversations? 4 Why not, maybe even VR! (e.g., via Hubs or vrlandio)
  • 95. What about hallway conversations? • Definitely one of the things I personally miss the most... • Hallway conversations, social gatherings, dinners can be fun • It’s not just work: great people make great events! • Harder to translate to the “virtual” world • No scheduling, much more dynamic, lacks human feel and “contact” • Number of interactions can have huge impact on scalability • A few different ways to handle this, though 1 Several small-ish P2P conversations? 2 Possibly involve an SFU for larger ones? 3 An “explorable” space with avatars to trigger conversations? 4 Why not, maybe even VR! (e.g., via Hubs or vrlandio)
  • 96. Thanks! Questions? Comments? Contacts • https://twitter.com/elminiero • https://twitter.com/meetecho • https://www.meetecho.com