SlideShare a Scribd company logo
1 of 57
Download to read offline
The multiple faces of WebRTC: a look at Janus
Lorenzo Miniero
Who am I?
Lorenzo Miniero
• Ph.D @ UniNA
• Chairman @ Meetecho
• Open source believer
• Viking wannabe (←)
Contacts and info
• lorenzo@meetecho.com
• https://twitter.com/elminiero
• https://www.slideshare.net/LorenzoMiniero
Before moving on, what’s Meetecho?
• Co-founded in 2009 as an academic spin-off
• University research efforts brought to the market
• Recently got my Ph.D @ UniNA
• Completely independent from the University
• https://www.meetecho.com
• Focus on real-time multimedia applications
• Web conferencing only, at first
• Then widened the scope to multimedia in general
• Strong perspective on standardization and open source
• WebRTC rulez!
• Proudly brewed in sunny Napoli(*), Italy
Before moving on, what’s Meetecho?
• Co-founded in 2009 as an academic spin-off
• University research efforts brought to the market
• Recently got my Ph.D @ UniNA
• Completely independent from the University
• https://www.meetecho.com
• Focus on real-time multimedia applications
• Web conferencing only, at first
• Then widened the scope to multimedia in general
• Strong perspective on standardization and open source
• WebRTC rulez!
• Proudly brewed in sunny Napoli(*), Italy
Before moving on, what’s Meetecho?
• Co-founded in 2009 as an academic spin-off
• University research efforts brought to the market
• Recently got my Ph.D @ UniNA
• Completely independent from the University
• https://www.meetecho.com
• Focus on real-time multimedia applications
• Web conferencing only, at first
• Then widened the scope to multimedia in general
• Strong perspective on standardization and open source
• WebRTC rulez!
• Proudly brewed in sunny Napoli(*), Italy
((*)
Both office and home are somewhere there...)
How do you pay your bills?
• Meetecho Web Conferencing and Collaboration
• Meetings, conference calls, webinars, etc.
• Subscription, one-shot, ...
• Streaming of live events
• Internet Engineering Task Force (IETF)
• ACM SIGCOMM
• Consultancy services
• Mostly (but not only) involving WebRTC and Janus
• Installation and configuration
• Custom plugins for custom use cases
• Wrapping/orchestration of Janus resources
• Sponsored development on new features or improvements
• ...
• Commercial support and Janus licenses
How do you pay your bills?
• Meetecho Web Conferencing and Collaboration
• Meetings, conference calls, webinars, etc.
• Subscription, one-shot, ...
• Streaming of live events
• Internet Engineering Task Force (IETF)
• ACM SIGCOMM
• Consultancy services
• Mostly (but not only) involving WebRTC and Janus
• Installation and configuration
• Custom plugins for custom use cases
• Wrapping/orchestration of Janus resources
• Sponsored development on new features or improvements
• ...
• Commercial support and Janus licenses
How do you pay your bills?
• Meetecho Web Conferencing and Collaboration
• Meetings, conference calls, webinars, etc.
• Subscription, one-shot, ...
• Streaming of live events
• Internet Engineering Task Force (IETF)
• ACM SIGCOMM
• Consultancy services
• Mostly (but not only) involving WebRTC and Janus
• Installation and configuration
• Custom plugins for custom use cases
• Wrapping/orchestration of Janus resources
• Sponsored development on new features or improvements
• ...
• Commercial support and Janus licenses
How do you pay your bills?
• Meetecho Web Conferencing and Collaboration
• Meetings, conference calls, webinars, etc.
• Subscription, one-shot, ...
• Streaming of live events
• Internet Engineering Task Force (IETF)
• ACM SIGCOMM
• Consultancy services
• Mostly (but not only) involving WebRTC and Janus
• Installation and configuration
• Custom plugins for custom use cases
• Wrapping/orchestration of Janus resources
• Sponsored development on new features or improvements
• ...
• Commercial support and Janus licenses
WebRTC reference architecture
Involving a gateway/server (and applications)
Involving different technologies as well
Janus: a general purpose WebRTC gateway server
“In ancient Roman religion and myth,
Janus [..] is the god of beginnings and
transitions, and thereby of gates, doors,
passages, endings and time. He is
usually depicted as having two faces,
since he looks to the future and to the
past.”
— http://en.wikipedia.org/wiki/Janus
Janus: a general purpose WebRTC gateway server
• A door between the communications past and future
• Legacy technologies (the “past”)
• WebRTC (the “future”)
Janus
General purpose, open source WebRTC gateway
• https://github.com/meetecho/janus-gateway
• Demos and documentation: https://janus.conf.meetecho.com
• Community: https://groups.google.com/forum/#!forum/meetecho-janus
Modular architecture
• The core only implements the WebRTC stack
• JSEP/SDP, ICE, DTLS-SRTP, Data Channels, ...
• Recording/simulcasting/monitoring/etc. natively done here as well
• Plugins expose Janus API over different transports
• Currently HTTP / WebSockets / RabbitMQ / Unix Sockets / MQTT
• “Application” logic implemented in plugins too
• Users attach to plugins via the Janus core
• The core handles the WebRTC stuff
• Plugins route/manipulate the media/data
• Plugins used as “bricks” to compose application
• Streaming + VideoRoom = Social TV
• VideoRoom + AudioBridge + TextRoom = Webinar
• ...
Modular architecture
• The core only implements the WebRTC stack
• JSEP/SDP, ICE, DTLS-SRTP, Data Channels, ...
• Recording/simulcasting/monitoring/etc. natively done here as well
• Plugins expose Janus API over different transports
• Currently HTTP / WebSockets / RabbitMQ / Unix Sockets / MQTT
• “Application” logic implemented in plugins too
• Users attach to plugins via the Janus core
• The core handles the WebRTC stuff
• Plugins route/manipulate the media/data
• Plugins used as “bricks” to compose application
• Streaming + VideoRoom = Social TV
• VideoRoom + AudioBridge + TextRoom = Webinar
• ...
Modular architecture
• The core only implements the WebRTC stack
• JSEP/SDP, ICE, DTLS-SRTP, Data Channels, ...
• Recording/simulcasting/monitoring/etc. natively done here as well
• Plugins expose Janus API over different transports
• Currently HTTP / WebSockets / RabbitMQ / Unix Sockets / MQTT
• “Application” logic implemented in plugins too
• Users attach to plugins via the Janus core
• The core handles the WebRTC stuff
• Plugins route/manipulate the media/data
• Plugins used as “bricks” to compose application
• Streaming + VideoRoom = Social TV
• VideoRoom + AudioBridge + TextRoom = Webinar
• ...
Modular architecture
• The core only implements the WebRTC stack
• JSEP/SDP, ICE, DTLS-SRTP, Data Channels, ...
• Recording/simulcasting/monitoring/etc. natively done here as well
• Plugins expose Janus API over different transports
• Currently HTTP / WebSockets / RabbitMQ / Unix Sockets / MQTT
• “Application” logic implemented in plugins too
• Users attach to plugins via the Janus core
• The core handles the WebRTC stuff
• Plugins route/manipulate the media/data
• Plugins used as “bricks” to compose application
• Streaming + VideoRoom = Social TV
• VideoRoom + AudioBridge + TextRoom = Webinar
• ...
Extensible Architecture and API
Extensible Architecture and API
Combining plugins: Webinar example
Combining plugins: SocialTV example
Janus and broadcasting: RTP forwarders
Janus and broadcasting: RTP forwarders
Deploying Janus: a few possible topologies
Deploying Janus: a few possible topologies
Deploying Janus: a few possible topologies
Deploying Janus: a few possible topologies
Deploying Janus: a few possible topologies
Deploying Janus: a few possible topologies
Deploying Janus: a few possible topologies
What is Janus used for today, and by whom?
• We use it ourselves for many things (obviously)
• Web conferencing, Webinars, SIP gateway, ...
• Many folks/companies also using it in creative ways!
• E-learning
• Coworking
• Contact centers
• Broadcasting and Social TV
• Videogames streaming and coplaying
• Surveillance systems
• E-health
• Home automation & Internet of Things
• Mobile devices, Raspberry Pis, drones, etc.
• Several third-party tools available already
• https://janus.conf.meetecho.com/docs/resources
What is Janus used for today, and by whom?
• We use it ourselves for many things (obviously)
• Web conferencing, Webinars, SIP gateway, ...
• Many folks/companies also using it in creative ways!
• E-learning
• Coworking
• Contact centers
• Broadcasting and Social TV
• Videogames streaming and coplaying
• Surveillance systems
• E-health
• Home automation & Internet of Things
• Mobile devices, Raspberry Pis, drones, etc.
• Several third-party tools available already
• https://janus.conf.meetecho.com/docs/resources
What is Janus used for today, and by whom?
• We use it ourselves for many things (obviously)
• Web conferencing, Webinars, SIP gateway, ...
• Many folks/companies also using it in creative ways!
• E-learning
• Coworking
• Contact centers
• Broadcasting and Social TV
• Videogames streaming and coplaying
• Surveillance systems
• E-health
• Home automation & Internet of Things
• Mobile devices, Raspberry Pis, drones, etc.
• Several third-party tools available already
• https://janus.conf.meetecho.com/docs/resources
Streaming IETF meetings with Janus
https://ietf.org/meeting/remote-participation.html
Streaming IETF meetings with Janus
https://ietf.org/meeting/remote-participation.html
Streaming IETF meetings with Janus
https://ietf.org/meeting/remote-participation.html
Streaming IETF meetings with Janus
https://ietf.org/meeting/remote-participation.html
Slack (team co-working)
https://slack.engineering/calls-is-it-you-or-is-it-me-f5d36749e8ed
Mattermost (team co-working)
https://docs.mattermost.com/deployment/webrtc.html
https://github.com/mattermost/mattermost-webrtc
Tok.tv (sports social network)
https://www.tok.tv/tok-tv-kicks-off-official-real-madrid-mobile-app-china/
SkyWay IoT SDK (Internet of Things)
https://github.com/nttcom/skyway-iot-sdk
Microsoft Mixer (videogame streaming)
https://mixer.com/
https://opensource.microsoft.com/?tag=mixer
Evasyst (videogame streaming)
https://evasyst.com/
Bebo (videogame streaming)
https://bebo.com/
Lenovo’s AirClass (e-learning)
https://www.airclass.com
Veeting rooms (web conferencing)
https://www.veeting.com
Jangouts (for "Janus Hangouts" )
https://github.com/jangouts/jangouts
SylkServer (SIP/XMPP Application Server)
http://sylkserver.com/
Meetecho and CoSMo: the WebRTC A-Team!
http://www.meetecho.com/blog/availability-of-chrome-interoperable-vp9-svc-in-janus-a-meetecho-cosmo-collaboration/
http://www.meetecho.com/blog/meetecho-and-cosmo-strike-again-perc-lite-integration-in-janus/
Simulcasting, VP9 SVC, PERC Lite support
What to do next?
• Improve the WebRTC implementation
• Work on effective renegotiation (ICE restarts almost ready)
• Implement multistream (Unified Plan)
• Monitoring/troubleshooting integrations on their way
• Homer/HEPIC, callstats.io
• A crazy idea: Janus PaaS!
• Currently in a design process
Your application here!
• What if this was just what you needed? Play with it!
• ... and why not, write your own applications/wrappers/plugins!
What to do next?
• Improve the WebRTC implementation
• Work on effective renegotiation (ICE restarts almost ready)
• Implement multistream (Unified Plan)
• Monitoring/troubleshooting integrations on their way
• Homer/HEPIC, callstats.io
• A crazy idea: Janus PaaS!
• Currently in a design process
Your application here!
• What if this was just what you needed? Play with it!
• ... and why not, write your own applications/wrappers/plugins!
What to do next?
• Improve the WebRTC implementation
• Work on effective renegotiation (ICE restarts almost ready)
• Implement multistream (Unified Plan)
• Monitoring/troubleshooting integrations on their way
• Homer/HEPIC, callstats.io
• A crazy idea: Janus PaaS!
• Currently in a design process
Your application here!
• What if this was just what you needed? Play with it!
• ... and why not, write your own applications/wrappers/plugins!
What to do next?
• Improve the WebRTC implementation
• Work on effective renegotiation (ICE restarts almost ready)
• Implement multistream (Unified Plan)
• Monitoring/troubleshooting integrations on their way
• Homer/HEPIC, callstats.io
• A crazy idea: Janus PaaS!
• Currently in a design process
Your application here!
• What if this was just what you needed? Play with it!
• ... and why not, write your own applications/wrappers/plugins!
Thanks! Questions? Comments?
Get in touch!
• http://www.meetecho.com

More Related Content

What's hot

Janus/SIP @ OpenSIPS 2019
Janus/SIP @ OpenSIPS 2019Janus/SIP @ OpenSIPS 2019
Janus/SIP @ OpenSIPS 2019Lorenzo Miniero
 
Simulcast/SVC @ IIT-RTC 2019
Simulcast/SVC @ IIT-RTC 2019Simulcast/SVC @ IIT-RTC 2019
Simulcast/SVC @ IIT-RTC 2019Lorenzo Miniero
 
Janus + Audio @ Open Source World
Janus + Audio @ Open Source WorldJanus + Audio @ Open Source World
Janus + Audio @ Open Source WorldLorenzo Miniero
 
FOSDEM2018 Janus Lua plugin presentation
FOSDEM2018 Janus Lua plugin presentationFOSDEM2018 Janus Lua plugin presentation
FOSDEM2018 Janus Lua plugin presentationLorenzo Miniero
 
Insertable Streams and E2EE @ ClueCon2020
Insertable Streams and E2EE @ ClueCon2020Insertable Streams and E2EE @ ClueCon2020
Insertable Streams and E2EE @ ClueCon2020Lorenzo 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
 
Janus/SIP @ OpenSIPS 2017
Janus/SIP @ OpenSIPS 2017Janus/SIP @ OpenSIPS 2017
Janus/SIP @ OpenSIPS 2017Lorenzo Miniero
 
Multistream in Janus @ CommCon 2019
Multistream in Janus @ CommCon 2019Multistream in Janus @ CommCon 2019
Multistream in Janus @ CommCon 2019Lorenzo Miniero
 
Turning live events to virtual with Janus
Turning live events to virtual with JanusTurning live events to virtual with Janus
Turning live events to virtual with JanusLorenzo 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
 
WebRTC security+more @ KamailioWorld 2018
WebRTC security+more @ KamailioWorld 2018WebRTC security+more @ KamailioWorld 2018
WebRTC security+more @ KamailioWorld 2018Lorenzo Miniero
 
JamRTC @ Wonder WebRTC unConference
JamRTC @ Wonder WebRTC unConferenceJamRTC @ Wonder WebRTC unConference
JamRTC @ Wonder WebRTC unConferenceLorenzo Miniero
 
Write a SocialTV app @ OpenSIPS 2021
Write a SocialTV app @ OpenSIPS 2021Write a SocialTV app @ OpenSIPS 2021
Write a SocialTV app @ OpenSIPS 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
 
Fuzzing RTC @ Kamailio World 2019
Fuzzing RTC @ Kamailio World 2019Fuzzing RTC @ Kamailio World 2019
Fuzzing RTC @ Kamailio World 2019Lorenzo Miniero
 
Janus + NDI @ ClueCon 2021
Janus + NDI @ ClueCon 2021Janus + NDI @ ClueCon 2021
Janus + NDI @ ClueCon 2021Lorenzo Miniero
 
Fuzzing Janus @ IPTComm 2019
Fuzzing Janus @ IPTComm 2019Fuzzing Janus @ IPTComm 2019
Fuzzing Janus @ IPTComm 2019Lorenzo 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
 

What's hot (20)

Janus/SIP @ OpenSIPS 2019
Janus/SIP @ OpenSIPS 2019Janus/SIP @ OpenSIPS 2019
Janus/SIP @ OpenSIPS 2019
 
Simulcast/SVC @ IIT-RTC 2019
Simulcast/SVC @ IIT-RTC 2019Simulcast/SVC @ IIT-RTC 2019
Simulcast/SVC @ IIT-RTC 2019
 
Janus + Audio @ Open Source World
Janus + Audio @ Open Source WorldJanus + Audio @ Open Source World
Janus + Audio @ Open Source World
 
FOSDEM2018 Janus Lua plugin presentation
FOSDEM2018 Janus Lua plugin presentationFOSDEM2018 Janus Lua plugin presentation
FOSDEM2018 Janus Lua plugin presentation
 
Insertable Streams and E2EE @ ClueCon2020
Insertable Streams and E2EE @ ClueCon2020Insertable Streams and E2EE @ ClueCon2020
Insertable Streams and E2EE @ ClueCon2020
 
Janus @ ClueCon 2019
Janus @ ClueCon 2019Janus @ ClueCon 2019
Janus @ ClueCon 2019
 
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
 
Janus/SIP @ OpenSIPS 2017
Janus/SIP @ OpenSIPS 2017Janus/SIP @ OpenSIPS 2017
Janus/SIP @ OpenSIPS 2017
 
Multistream in Janus @ CommCon 2019
Multistream in Janus @ CommCon 2019Multistream in Janus @ CommCon 2019
Multistream in Janus @ CommCon 2019
 
Turning live events to virtual with Janus
Turning live events to virtual with JanusTurning live events to virtual with Janus
Turning live events to virtual with Janus
 
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
 
WebRTC security+more @ KamailioWorld 2018
WebRTC security+more @ KamailioWorld 2018WebRTC security+more @ KamailioWorld 2018
WebRTC security+more @ KamailioWorld 2018
 
JamRTC @ Wonder WebRTC unConference
JamRTC @ Wonder WebRTC unConferenceJamRTC @ Wonder WebRTC unConference
JamRTC @ Wonder WebRTC unConference
 
Write a SocialTV app @ OpenSIPS 2021
Write a SocialTV app @ OpenSIPS 2021Write a SocialTV app @ OpenSIPS 2021
Write a SocialTV app @ OpenSIPS 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
 
Fuzzing RTC @ Kamailio World 2019
Fuzzing RTC @ Kamailio World 2019Fuzzing RTC @ Kamailio World 2019
Fuzzing RTC @ Kamailio World 2019
 
Janus + NDI @ ClueCon 2021
Janus + NDI @ ClueCon 2021Janus + NDI @ ClueCon 2021
Janus + NDI @ ClueCon 2021
 
Fuzzing Janus @ IPTComm 2019
Fuzzing Janus @ IPTComm 2019Fuzzing Janus @ IPTComm 2019
Fuzzing Janus @ IPTComm 2019
 
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
 

Similar to Janus @ RTC2017 Beijing

WebRTC Broadcasting @ TADSummit 2023
WebRTC Broadcasting @ TADSummit 2023WebRTC Broadcasting @ TADSummit 2023
WebRTC Broadcasting @ TADSummit 2023Lorenzo Miniero
 
What's new in web standards?
What's new in web standards?What's new in web standards?
What's new in web standards?Daniel Appelquist
 
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
 
Presentation of context: Web Annotations (& Pundit) during the StoM Project (...
Presentation of context: Web Annotations (& Pundit) during the StoM Project (...Presentation of context: Web Annotations (& Pundit) during the StoM Project (...
Presentation of context: Web Annotations (& Pundit) during the StoM Project (...Net7
 
Widgets and Mashups for Personal and Institutional Technologies
Widgets and Mashups for Personal and Institutional Technologies Widgets and Mashups for Personal and Institutional Technologies
Widgets and Mashups for Personal and Institutional Technologies scottw
 
Open web platform talk by daniel hladky at rif 2012 (19 april 2012 moscow)
Open web platform talk by daniel hladky at rif 2012 (19 april 2012   moscow)Open web platform talk by daniel hladky at rif 2012 (19 april 2012   moscow)
Open web platform talk by daniel hladky at rif 2012 (19 april 2012 moscow)AI4BD GmbH
 
WHIP and Janus @ IIT-RTC 2021
WHIP and Janus @ IIT-RTC 2021WHIP and Janus @ IIT-RTC 2021
WHIP and Janus @ IIT-RTC 2021Lorenzo Miniero
 
WHIP WebRTC Broadcasting @ FOSDEM 2022
WHIP WebRTC Broadcasting @ FOSDEM 2022WHIP WebRTC Broadcasting @ FOSDEM 2022
WHIP WebRTC Broadcasting @ FOSDEM 2022Lorenzo Miniero
 
20120523 virtual trip services parathyras
20120523 virtual trip services parathyras20120523 virtual trip services parathyras
20120523 virtual trip services parathyrasVirtual Trip
 
WebRTC & Asterisk 11
WebRTC & Asterisk 11WebRTC & Asterisk 11
WebRTC & Asterisk 11Sanjay Willie
 
WebRTC for Telco: Informa's WebRTC Global Summit Preconference
WebRTC for Telco: Informa's WebRTC Global Summit PreconferenceWebRTC for Telco: Informa's WebRTC Global Summit Preconference
WebRTC for Telco: Informa's WebRTC Global Summit PreconferenceTsahi Levent-levi
 
Scaling server side web rtc applications the janus challenge by lorenzo miniero
Scaling server side web rtc applications the janus challenge by lorenzo minieroScaling server side web rtc applications the janus challenge by lorenzo miniero
Scaling server side web rtc applications the janus challenge by lorenzo minieroGreg Kawere
 
Create great cncf user base from lessons learned from other open source com...
Create great cncf user base from   lessons learned from other open source com...Create great cncf user base from   lessons learned from other open source com...
Create great cncf user base from lessons learned from other open source com...Krishna-Kumar
 
Busy Architects Guide to Modern Web Architecture in 2014
Busy Architects Guide to  Modern Web Architecture in 2014Busy Architects Guide to  Modern Web Architecture in 2014
Busy Architects Guide to Modern Web Architecture in 2014Particular Software
 
IIIF presentation - EuropeanaTech 2015
IIIF presentation - EuropeanaTech 2015IIIF presentation - EuropeanaTech 2015
IIIF presentation - EuropeanaTech 2015Petr Pridal
 

Similar to Janus @ RTC2017 Beijing (20)

WebRTC Broadcasting @ TADSummit 2023
WebRTC Broadcasting @ TADSummit 2023WebRTC Broadcasting @ TADSummit 2023
WebRTC Broadcasting @ TADSummit 2023
 
Janus @ DevDay Napoli
Janus @ DevDay NapoliJanus @ DevDay Napoli
Janus @ DevDay Napoli
 
What's new in web standards?
What's new in web standards?What's new in web standards?
What's new in web standards?
 
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
 
Presentation of context: Web Annotations (& Pundit) during the StoM Project (...
Presentation of context: Web Annotations (& Pundit) during the StoM Project (...Presentation of context: Web Annotations (& Pundit) during the StoM Project (...
Presentation of context: Web Annotations (& Pundit) during the StoM Project (...
 
Widgets and Mashups for Personal and Institutional Technologies
Widgets and Mashups for Personal and Institutional Technologies Widgets and Mashups for Personal and Institutional Technologies
Widgets and Mashups for Personal and Institutional Technologies
 
Open web platform talk by daniel hladky at rif 2012 (19 april 2012 moscow)
Open web platform talk by daniel hladky at rif 2012 (19 april 2012   moscow)Open web platform talk by daniel hladky at rif 2012 (19 april 2012   moscow)
Open web platform talk by daniel hladky at rif 2012 (19 april 2012 moscow)
 
WHIP and Janus @ IIT-RTC 2021
WHIP and Janus @ IIT-RTC 2021WHIP and Janus @ IIT-RTC 2021
WHIP and Janus @ IIT-RTC 2021
 
WHIP WebRTC Broadcasting @ FOSDEM 2022
WHIP WebRTC Broadcasting @ FOSDEM 2022WHIP WebRTC Broadcasting @ FOSDEM 2022
WHIP WebRTC Broadcasting @ FOSDEM 2022
 
ION Bangladesh - IETF Update
ION Bangladesh - IETF UpdateION Bangladesh - IETF Update
ION Bangladesh - IETF Update
 
20120523 virtual trip services parathyras
20120523 virtual trip services parathyras20120523 virtual trip services parathyras
20120523 virtual trip services parathyras
 
IETF Update: Making the Internet Work Better
IETF Update: Making the Internet Work BetterIETF Update: Making the Internet Work Better
IETF Update: Making the Internet Work Better
 
WebRTC & Asterisk 11
WebRTC & Asterisk 11WebRTC & Asterisk 11
WebRTC & Asterisk 11
 
WebRTC for Telco: Informa's WebRTC Global Summit Preconference
WebRTC for Telco: Informa's WebRTC Global Summit PreconferenceWebRTC for Telco: Informa's WebRTC Global Summit Preconference
WebRTC for Telco: Informa's WebRTC Global Summit Preconference
 
Scaling server side web rtc applications the janus challenge by lorenzo miniero
Scaling server side web rtc applications the janus challenge by lorenzo minieroScaling server side web rtc applications the janus challenge by lorenzo miniero
Scaling server side web rtc applications the janus challenge by lorenzo miniero
 
Create great cncf user base from lessons learned from other open source com...
Create great cncf user base from   lessons learned from other open source com...Create great cncf user base from   lessons learned from other open source com...
Create great cncf user base from lessons learned from other open source com...
 
Dynamic Web
Dynamic WebDynamic Web
Dynamic Web
 
The Dynamic Web
The Dynamic WebThe Dynamic Web
The Dynamic Web
 
Busy Architects Guide to Modern Web Architecture in 2014
Busy Architects Guide to  Modern Web Architecture in 2014Busy Architects Guide to  Modern Web Architecture in 2014
Busy Architects Guide to Modern Web Architecture in 2014
 
IIIF presentation - EuropeanaTech 2015
IIIF presentation - EuropeanaTech 2015IIIF presentation - EuropeanaTech 2015
IIIF presentation - EuropeanaTech 2015
 

More from Lorenzo Miniero

SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo 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
 
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
 
Janus Workshop pt.2 @ ClueCon 2021
Janus Workshop pt.2 @ ClueCon 2021Janus Workshop pt.2 @ ClueCon 2021
Janus Workshop pt.2 @ ClueCon 2021Lorenzo 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
 
Virtual IETF meetings with WebRTC @ IETF 109 MOPS
Virtual IETF meetings with WebRTC @ IETF 109 MOPSVirtual IETF meetings with WebRTC @ IETF 109 MOPS
Virtual IETF meetings with WebRTC @ IETF 109 MOPSLorenzo Miniero
 
Janus RTP forwarders @ FOSDEM 2020
Janus RTP forwarders @ FOSDEM 2020Janus RTP forwarders @ FOSDEM 2020
Janus RTP forwarders @ FOSDEM 2020Lorenzo 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
 

More from Lorenzo Miniero (12)

SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
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
 
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
 
Janus Workshop pt.2 @ ClueCon 2021
Janus Workshop pt.2 @ ClueCon 2021Janus Workshop pt.2 @ ClueCon 2021
Janus Workshop pt.2 @ ClueCon 2021
 
Can WebRTC help musicians? @ FOSDEM 2021
Can WebRTC help musicians? @ FOSDEM 2021Can WebRTC help musicians? @ FOSDEM 2021
Can WebRTC help musicians? @ FOSDEM 2021
 
Virtual IETF meetings with WebRTC @ IETF 109 MOPS
Virtual IETF meetings with WebRTC @ IETF 109 MOPSVirtual IETF meetings with WebRTC @ IETF 109 MOPS
Virtual IETF meetings with WebRTC @ IETF 109 MOPS
 
Janus RTP forwarders @ FOSDEM 2020
Janus RTP forwarders @ FOSDEM 2020Janus RTP forwarders @ FOSDEM 2020
Janus RTP forwarders @ FOSDEM 2020
 
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
 

Recently uploaded

Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfngoud9212
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
Science&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfScience&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfjimielynbastida
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDGMarianaLemus7
 

Recently uploaded (20)

Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdf
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
Science&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfScience&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdf
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptxVulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDG
 

Janus @ RTC2017 Beijing

  • 1. The multiple faces of WebRTC: a look at Janus Lorenzo Miniero
  • 2. Who am I? Lorenzo Miniero • Ph.D @ UniNA • Chairman @ Meetecho • Open source believer • Viking wannabe (←) Contacts and info • lorenzo@meetecho.com • https://twitter.com/elminiero • https://www.slideshare.net/LorenzoMiniero
  • 3. Before moving on, what’s Meetecho? • Co-founded in 2009 as an academic spin-off • University research efforts brought to the market • Recently got my Ph.D @ UniNA • Completely independent from the University • https://www.meetecho.com • Focus on real-time multimedia applications • Web conferencing only, at first • Then widened the scope to multimedia in general • Strong perspective on standardization and open source • WebRTC rulez! • Proudly brewed in sunny Napoli(*), Italy
  • 4. Before moving on, what’s Meetecho? • Co-founded in 2009 as an academic spin-off • University research efforts brought to the market • Recently got my Ph.D @ UniNA • Completely independent from the University • https://www.meetecho.com • Focus on real-time multimedia applications • Web conferencing only, at first • Then widened the scope to multimedia in general • Strong perspective on standardization and open source • WebRTC rulez! • Proudly brewed in sunny Napoli(*), Italy
  • 5. Before moving on, what’s Meetecho? • Co-founded in 2009 as an academic spin-off • University research efforts brought to the market • Recently got my Ph.D @ UniNA • Completely independent from the University • https://www.meetecho.com • Focus on real-time multimedia applications • Web conferencing only, at first • Then widened the scope to multimedia in general • Strong perspective on standardization and open source • WebRTC rulez! • Proudly brewed in sunny Napoli(*), Italy
  • 6. ((*) Both office and home are somewhere there...)
  • 7. How do you pay your bills? • Meetecho Web Conferencing and Collaboration • Meetings, conference calls, webinars, etc. • Subscription, one-shot, ... • Streaming of live events • Internet Engineering Task Force (IETF) • ACM SIGCOMM • Consultancy services • Mostly (but not only) involving WebRTC and Janus • Installation and configuration • Custom plugins for custom use cases • Wrapping/orchestration of Janus resources • Sponsored development on new features or improvements • ... • Commercial support and Janus licenses
  • 8. How do you pay your bills? • Meetecho Web Conferencing and Collaboration • Meetings, conference calls, webinars, etc. • Subscription, one-shot, ... • Streaming of live events • Internet Engineering Task Force (IETF) • ACM SIGCOMM • Consultancy services • Mostly (but not only) involving WebRTC and Janus • Installation and configuration • Custom plugins for custom use cases • Wrapping/orchestration of Janus resources • Sponsored development on new features or improvements • ... • Commercial support and Janus licenses
  • 9. How do you pay your bills? • Meetecho Web Conferencing and Collaboration • Meetings, conference calls, webinars, etc. • Subscription, one-shot, ... • Streaming of live events • Internet Engineering Task Force (IETF) • ACM SIGCOMM • Consultancy services • Mostly (but not only) involving WebRTC and Janus • Installation and configuration • Custom plugins for custom use cases • Wrapping/orchestration of Janus resources • Sponsored development on new features or improvements • ... • Commercial support and Janus licenses
  • 10. How do you pay your bills? • Meetecho Web Conferencing and Collaboration • Meetings, conference calls, webinars, etc. • Subscription, one-shot, ... • Streaming of live events • Internet Engineering Task Force (IETF) • ACM SIGCOMM • Consultancy services • Mostly (but not only) involving WebRTC and Janus • Installation and configuration • Custom plugins for custom use cases • Wrapping/orchestration of Janus resources • Sponsored development on new features or improvements • ... • Commercial support and Janus licenses
  • 12. Involving a gateway/server (and applications)
  • 14. Janus: a general purpose WebRTC gateway server “In ancient Roman religion and myth, Janus [..] is the god of beginnings and transitions, and thereby of gates, doors, passages, endings and time. He is usually depicted as having two faces, since he looks to the future and to the past.” — http://en.wikipedia.org/wiki/Janus
  • 15. Janus: a general purpose WebRTC gateway server • A door between the communications past and future • Legacy technologies (the “past”) • WebRTC (the “future”) Janus General purpose, open source WebRTC gateway • https://github.com/meetecho/janus-gateway • Demos and documentation: https://janus.conf.meetecho.com • Community: https://groups.google.com/forum/#!forum/meetecho-janus
  • 16. Modular architecture • The core only implements the WebRTC stack • JSEP/SDP, ICE, DTLS-SRTP, Data Channels, ... • Recording/simulcasting/monitoring/etc. natively done here as well • Plugins expose Janus API over different transports • Currently HTTP / WebSockets / RabbitMQ / Unix Sockets / MQTT • “Application” logic implemented in plugins too • Users attach to plugins via the Janus core • The core handles the WebRTC stuff • Plugins route/manipulate the media/data • Plugins used as “bricks” to compose application • Streaming + VideoRoom = Social TV • VideoRoom + AudioBridge + TextRoom = Webinar • ...
  • 17. Modular architecture • The core only implements the WebRTC stack • JSEP/SDP, ICE, DTLS-SRTP, Data Channels, ... • Recording/simulcasting/monitoring/etc. natively done here as well • Plugins expose Janus API over different transports • Currently HTTP / WebSockets / RabbitMQ / Unix Sockets / MQTT • “Application” logic implemented in plugins too • Users attach to plugins via the Janus core • The core handles the WebRTC stuff • Plugins route/manipulate the media/data • Plugins used as “bricks” to compose application • Streaming + VideoRoom = Social TV • VideoRoom + AudioBridge + TextRoom = Webinar • ...
  • 18. Modular architecture • The core only implements the WebRTC stack • JSEP/SDP, ICE, DTLS-SRTP, Data Channels, ... • Recording/simulcasting/monitoring/etc. natively done here as well • Plugins expose Janus API over different transports • Currently HTTP / WebSockets / RabbitMQ / Unix Sockets / MQTT • “Application” logic implemented in plugins too • Users attach to plugins via the Janus core • The core handles the WebRTC stuff • Plugins route/manipulate the media/data • Plugins used as “bricks” to compose application • Streaming + VideoRoom = Social TV • VideoRoom + AudioBridge + TextRoom = Webinar • ...
  • 19. Modular architecture • The core only implements the WebRTC stack • JSEP/SDP, ICE, DTLS-SRTP, Data Channels, ... • Recording/simulcasting/monitoring/etc. natively done here as well • Plugins expose Janus API over different transports • Currently HTTP / WebSockets / RabbitMQ / Unix Sockets / MQTT • “Application” logic implemented in plugins too • Users attach to plugins via the Janus core • The core handles the WebRTC stuff • Plugins route/manipulate the media/data • Plugins used as “bricks” to compose application • Streaming + VideoRoom = Social TV • VideoRoom + AudioBridge + TextRoom = Webinar • ...
  • 24. Janus and broadcasting: RTP forwarders
  • 25. Janus and broadcasting: RTP forwarders
  • 26. Deploying Janus: a few possible topologies
  • 27. Deploying Janus: a few possible topologies
  • 28. Deploying Janus: a few possible topologies
  • 29. Deploying Janus: a few possible topologies
  • 30. Deploying Janus: a few possible topologies
  • 31. Deploying Janus: a few possible topologies
  • 32. Deploying Janus: a few possible topologies
  • 33. What is Janus used for today, and by whom? • We use it ourselves for many things (obviously) • Web conferencing, Webinars, SIP gateway, ... • Many folks/companies also using it in creative ways! • E-learning • Coworking • Contact centers • Broadcasting and Social TV • Videogames streaming and coplaying • Surveillance systems • E-health • Home automation & Internet of Things • Mobile devices, Raspberry Pis, drones, etc. • Several third-party tools available already • https://janus.conf.meetecho.com/docs/resources
  • 34. What is Janus used for today, and by whom? • We use it ourselves for many things (obviously) • Web conferencing, Webinars, SIP gateway, ... • Many folks/companies also using it in creative ways! • E-learning • Coworking • Contact centers • Broadcasting and Social TV • Videogames streaming and coplaying • Surveillance systems • E-health • Home automation & Internet of Things • Mobile devices, Raspberry Pis, drones, etc. • Several third-party tools available already • https://janus.conf.meetecho.com/docs/resources
  • 35. What is Janus used for today, and by whom? • We use it ourselves for many things (obviously) • Web conferencing, Webinars, SIP gateway, ... • Many folks/companies also using it in creative ways! • E-learning • Coworking • Contact centers • Broadcasting and Social TV • Videogames streaming and coplaying • Surveillance systems • E-health • Home automation & Internet of Things • Mobile devices, Raspberry Pis, drones, etc. • Several third-party tools available already • https://janus.conf.meetecho.com/docs/resources
  • 36. Streaming IETF meetings with Janus https://ietf.org/meeting/remote-participation.html
  • 37. Streaming IETF meetings with Janus https://ietf.org/meeting/remote-participation.html
  • 38. Streaming IETF meetings with Janus https://ietf.org/meeting/remote-participation.html
  • 39. Streaming IETF meetings with Janus https://ietf.org/meeting/remote-participation.html
  • 42. Tok.tv (sports social network) https://www.tok.tv/tok-tv-kicks-off-official-real-madrid-mobile-app-china/
  • 43. SkyWay IoT SDK (Internet of Things) https://github.com/nttcom/skyway-iot-sdk
  • 44. Microsoft Mixer (videogame streaming) https://mixer.com/ https://opensource.microsoft.com/?tag=mixer
  • 48. Veeting rooms (web conferencing) https://www.veeting.com
  • 49. Jangouts (for "Janus Hangouts" ) https://github.com/jangouts/jangouts
  • 50. SylkServer (SIP/XMPP Application Server) http://sylkserver.com/
  • 51. Meetecho and CoSMo: the WebRTC A-Team! http://www.meetecho.com/blog/availability-of-chrome-interoperable-vp9-svc-in-janus-a-meetecho-cosmo-collaboration/ http://www.meetecho.com/blog/meetecho-and-cosmo-strike-again-perc-lite-integration-in-janus/
  • 52. Simulcasting, VP9 SVC, PERC Lite support
  • 53. What to do next? • Improve the WebRTC implementation • Work on effective renegotiation (ICE restarts almost ready) • Implement multistream (Unified Plan) • Monitoring/troubleshooting integrations on their way • Homer/HEPIC, callstats.io • A crazy idea: Janus PaaS! • Currently in a design process Your application here! • What if this was just what you needed? Play with it! • ... and why not, write your own applications/wrappers/plugins!
  • 54. What to do next? • Improve the WebRTC implementation • Work on effective renegotiation (ICE restarts almost ready) • Implement multistream (Unified Plan) • Monitoring/troubleshooting integrations on their way • Homer/HEPIC, callstats.io • A crazy idea: Janus PaaS! • Currently in a design process Your application here! • What if this was just what you needed? Play with it! • ... and why not, write your own applications/wrappers/plugins!
  • 55. What to do next? • Improve the WebRTC implementation • Work on effective renegotiation (ICE restarts almost ready) • Implement multistream (Unified Plan) • Monitoring/troubleshooting integrations on their way • Homer/HEPIC, callstats.io • A crazy idea: Janus PaaS! • Currently in a design process Your application here! • What if this was just what you needed? Play with it! • ... and why not, write your own applications/wrappers/plugins!
  • 56. What to do next? • Improve the WebRTC implementation • Work on effective renegotiation (ICE restarts almost ready) • Implement multistream (Unified Plan) • Monitoring/troubleshooting integrations on their way • Homer/HEPIC, callstats.io • A crazy idea: Janus PaaS! • Currently in a design process Your application here! • What if this was just what you needed? Play with it! • ... and why not, write your own applications/wrappers/plugins!
  • 57. Thanks! Questions? Comments? Get in touch! • http://www.meetecho.com