TF-WebRTC L. Miniero Meetecho Janus: back to the future of WebRTC History IETF WebRTC Janus Gateways Lorenzo Miniero Requirements Architecture lorenzo@meetecho.com Next steps 1 st TF-WebRTC meeting 15 th December 2014, Paris
Outline TF-WebRTC L. Miniero 1 A brief introduction Meetecho History 2 A stroll through time IETF WebRTC IETF activities and “running code” Janus WebRTC related efforts Gateways Requirements Architecture 3 Janus: a general purpose WebRTC gateway Next steps WebRTC and gateways Programmable real-time media components A modular and extensible architecture 4 Next steps
Who am I? TF-WebRTC • Someone not used to this cold! L. Miniero • From sunny Sorrento, Italy � Meetecho • Current activities History IETF • Ph.D Student @ UniNA WebRTC • Co-founder @ Meetecho Janus Gateways • Worked on real-time applications for a long time Requirements Architecture • IETF participant Next steps • Several WGs • First time in IETF67 San Diego (2006) • Open source contributor • libbfcp, libmsrp, confiance, mediactrl, Asterisk, ... • Janus WebRTC gateway main author • Getting older but, unlike whisky, not getting any better • https://twitter.com/delusionsmaster
What is Meetecho? TF-WebRTC • A startup focused on real-time multimedia applications L. Miniero • Academic spin-off of the University of Napoli Federico II Meetecho History • Official tool for remote participation @ IETF IETF WebRTC • At first born to turn research into a product Janus Gateways Requirements • Efforts on XCON (Centralized Conferencing) and Architecture MEDIACTRL (Media Server Control) Next steps • Meetecho Web Conferencing and Collaboration • Widened the scope to cover multimedia in general • How is it pronounced, you say?? • Good question! • https://www.youtube.com/watch?v=TkgDOMSv9PE
A few more words on Meetecho TF-WebRTC Meetecho comes in different flavours L. Miniero • Interactive Webinar (IETF-style) • Web conference Meetecho History • UCC (Unified Communication and Collaboration) IETF WebRTC Janus What’s in there? Enjoy watching our teaser spot on: Gateways Requirements Architecture http://www.meetecho.com Next steps • � � WebRTC audio/video • � � Whiteboard • � � Jabber chat • � � Polling • � � Slides • � � Moderation • � � Etherpad support • � � Mobile apps • � � Application/desktop sharing • � � IPv6 support
First steps: IETF67 @ San Diego (2006) TF-WebRTC L. Miniero Meetecho History IETF WebRTC Janus Gateways Requirements Architecture Next steps Don’t try this at home!
First steps: IETF67 @ San Diego (2006) TF-WebRTC L. Miniero Meetecho History IETF WebRTC Janus Gateways Requirements Architecture Next steps Live demo of the BFCP/CCMP protocols in action (XCON) Open source project: http://confiance.sourceforge.net
Binary Floor Control Protocol (BFCP) TF-WebRTC L. Miniero Meetecho History IETF WebRTC Janus Gateways Requirements Architecture Next steps Open source project: http://sourceforge.net/projects/libbfcp/
Centralized Conferencing Manipulation Protocol (CCMP) TF-WebRTC L. Miniero Meetecho History IETF WebRTC Janus Gateways Requirements Architecture Next steps Authors: CCMP http://tools.ietf.org/html/rfc6503 and examples http://tools.ietf.org/html/rfc6504
XCON/DCON: Stand-alone client TF-WebRTC L. Miniero Meetecho History IETF WebRTC Janus Gateways Requirements Architecture Next steps
One step further: from XCON to MEDIACTRL TF-WebRTC L. Miniero Meetecho History IETF WebRTC Janus Gateways Requirements Architecture Next steps Open source project: http://mediactrl.sourceforge.net
MEDIACTRL: programming media control TF-WebRTC L. Miniero Meetecho History IETF WebRTC Janus Gateways Requirements Architecture Next steps
MEDIACTRL: programming media control TF-WebRTC L. Miniero Meetecho History IETF WebRTC Janus Gateways Requirements Architecture Next steps
MEDIACTRL: programming media control TF-WebRTC L. Miniero Meetecho History IETF WebRTC Janus Gateways Requirements Architecture Next steps
Prototype and demos @ IETF (“running code”) TF-WebRTC L. Miniero Meetecho History IETF WebRTC Janus Gateways Requirements Architecture Next steps
Prototype and demos @ IETF (“running code”) TF-WebRTC L. Miniero Meetecho History IETF WebRTC Janus Gateways Requirements Architecture Next steps
Prototype and demos @ IETF (“running code”) TF-WebRTC L. Miniero Meetecho History IETF WebRTC Janus Gateways Requirements Architecture Next steps
More scalability: Media Resource Brokering TF-WebRTC L. Miniero Meetecho History IETF WebRTC Janus Gateways Requirements Architecture Next steps Design Team: IVR http://tools.ietf.org/html/rfc6231 and Mixer http://tools.ietf.org/html/rfc6505 Authors: MRB http://tools.ietf.org/html/rfc6917 and examples http://tools.ietf.org/html/rfc7058
First WebRTC steps TF-WebRTC • RTCWEB BoF in IETF 80 (March 2011, Prague) L. Miniero • First Meetecho RPS “experiment” at the same meeting Meetecho History • Meetecho already RTP- and web-based for a while IETF WebRTC • RTP Java applet implemented for the purpose Janus • Other protocols (SIP Gateways , BFCP , XMPP , etc.) wrapped by Requirements HTTP Architecture Next steps • Started working on WebRTC as soon as it came out • https://groups.google.com/forum/#!topic/discuss- webrtc/YhI5fUpx1jc • http://lists.digium.com/pipermail/asterisk-dev/2013- May/060355.html • A custom VP8 video mixer for Asterisk MeetMe/ConfBridge
First WebRTC steps TF-WebRTC L. Miniero Meetecho History IETF WebRTC Janus Gateways Requirements Architecture Next steps RTCWEB @ IETF84 Vancouver
Opus audio codec integration TF-WebRTC • Opus is a standard, high quality, adaptive audio codec L. Miniero • http://tools.ietf.org/html/rfc6716 Meetecho • Mandatory-To-Implement (MTI) in WebRTC! History • Open source library available IETF WebRTC • http://opus-codec.org Janus Gateways Requirements • Integrated by us in Asterisk Architecture Next steps • Transcoding support in open source patch • https://github.com/meetecho/asterisk-opus • Passthrough support in mainstream Asterisk 12 • https://issues.asterisk.org/jira/browse/ASTERISK-21981 • Tested in Meetecho • Streaming (HTML5 <audio>) • Multimedia conferences (mixing and transcoding)
Technical Plenary @ IETF87 in Berlin TF-WebRTC • Technical Plenary on Opus L. Miniero • Invited speaker with Google, Mozilla and Jitsi Meetecho History IETF WebRTC Janus Gateways Requirements Architecture Next steps
Technical Plenary @ IETF87 in Berlin TF-WebRTC • Super-wideband (48kHz) Opus audio streaming L. Miniero • http://ietf87.conf.meetecho.com/index.php/WebRTC_Interface Meetecho History IETF WebRTC Janus Gateways Requirements Architecture Next steps
Meetecho IETF World Tour 2011-2014 → J2 TF-WebRTC https://prezi.com/zleniguy6b_o/meetecho-ietf-world-tour- L. Miniero 2011-2014/ Meetecho History IETF WebRTC Janus Gateways Requirements Architecture Next steps
Meetecho @ IETF TF-WebRTC L. Miniero Meetecho History IETF WebRTC Janus Gateways Requirements Architecture Next steps
Meetecho @ IETF TF-WebRTC L. Miniero Meetecho History IETF WebRTC Janus Gateways Requirements Architecture Next steps
“Director” room @ NOC in Honolulu TF-WebRTC Completely WebRTC-based L. Miniero • Slides as a video feed from the beamer Meetecho • Static video feed from the room History IETF • Dynamic video feeds for remote speakers WebRTC Janus Gateways Requirements Architecture Next steps
WebRTC reference architecture TF-WebRTC L. Miniero Meetecho History IETF WebRTC Janus Gateways Requirements Architecture Next steps
Involving a gateway (and applications) TF-WebRTC L. Miniero Meetecho History IETF WebRTC Janus Gateways Requirements Architecture Next steps
Involving different technologies as well TF-WebRTC L. Miniero Meetecho History IETF WebRTC Janus Gateways Requirements Architecture Next steps
Do we really need a gateway? TF-WebRTC • Several reasons for a YES, here L. Miniero • Relieve full-meshes (heavy on the client side) Meetecho • Leveraging widespread technologies (e.g., SIP History IETF infrastructures) WebRTC Janus • Fixing things between implementations Gateways Requirements Architecture • Reason for a NO? Next steps • You won’t go beyond 1-1 WebRTC communication • You don’t want an infrastructure • You don’t care about legacy stuff “What is a WebRTC Gateway anyway?” • http://webrtchacks.com/webrtc-gw/
Real-time Media Components TF-WebRTC • Writing a gateway from scratch is a heavy task L. Miniero • Implementation of the WebRTC protocol suite Meetecho History • Bridge between “legacy” stuff (SIP , RTMP , etc.) and IETF WebRTC WebRTC Janus Gateways • Needs to support both (WebRTC gateway) → J1 Requirements Architecture • What about statistics? → D1 Next steps • Reachability may be an issue → D2 • Programmable interface • Different applications/technologies, different requirements • Dynamic management of media flows and users • Something a-la MEDIACTRL? → W1, B1, R1, R2
Recommend
More recommend