Slides I presented at the RTC2017 event in Beijing. May be mostly familiar with those who have seen my other Janus slides, but has some more content, and new examples.
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
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
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
• ...
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
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/
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!