web real-time communication solutions · • focus on video conference & real-time...

19
Web Real-Time Communication Solutions

Upload: others

Post on 14-Apr-2020

9 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Web Real-Time Communication Solutions · • Focus on video conference & real-time collaboration • Video • Audio • Data (for user interaction) • Recording • Video Conference

Web Real-Time Communication Solutions

Page 2: Web Real-Time Communication Solutions · • Focus on video conference & real-time collaboration • Video • Audio • Data (for user interaction) • Recording • Video Conference
Page 3: Web Real-Time Communication Solutions · • Focus on video conference & real-time collaboration • Video • Audio • Data (for user interaction) • Recording • Video Conference

History

Page 4: Web Real-Time Communication Solutions · • Focus on video conference & real-time collaboration • Video • Audio • Data (for user interaction) • Recording • Video Conference

Browser-based Real-time Communications Video, Audio, Data Recording, Screen Sharing. HTML5 & WebRTC Designed to dynamically scale on-demand

licode

Page 5: Web Real-Time Communication Solutions · • Focus on video conference & real-time collaboration • Video • Audio • Data (for user interaction) • Recording • Video Conference

• Real-time communications

• Multimedia

• In your own infrastructure

• Easy to Use API

• Cloud Ready

• Distributed MCU

• Efficient scalability

• Integrated in your web application

• Multi-device

Page 6: Web Real-Time Communication Solutions · • Focus on video conference & real-time collaboration • Video • Audio • Data (for user interaction) • Recording • Video Conference

• Focus on video conference & real-time collaboration • Video • Audio • Data (for user interaction) • Recording

• Video Conference as a Service

• REST in the server to manage resources

• JavaScript library in the client • Customisation

Design objectives for our Webrtc MCU

Page 7: Web Real-Time Communication Solutions · • Focus on video conference & real-time collaboration • Video • Audio • Data (for user interaction) • Recording • Video Conference

Design objectives for our Webrtc MCU

• Easily deployable in Cloud environments

• Private, public Hybrid • Efficiently use available resources

• Avoid transcoding whenever possible

• JavaScript on both client and server side

Page 8: Web Real-Time Communication Solutions · • Focus on video conference & real-time collaboration • Video • Audio • Data (for user interaction) • Recording • Video Conference

• Services • Server App + Client App

• Rooms

• Communication scope

• Users • Roles

• Tokens

• Delegated auth

Architecture

Page 9: Web Real-Time Communication Solutions · • Focus on video conference & real-time collaboration • Video • Audio • Data (for user interaction) • Recording • Video Conference

Architecture: Control

Page 10: Web Real-Time Communication Solutions · • Focus on video conference & real-time collaboration • Video • Audio • Data (for user interaction) • Recording • Video Conference

NUVE & SERVER APi

• Resource Management • Rooms • Users • Services • Tokens

• REST Client

• For Server Apps • Node.js, Python, Ruby

• REST Server

• DB Access • ErizoController Management • Cloud Handler

Page 11: Web Real-Time Communication Solutions · • Focus on video conference & real-time collaboration • Video • Audio • Data (for user interaction) • Recording • Video Conference

• Room Management • Browser Control & Signalling • MCU Control

• Client Library (erizoClient)

• JavaScript API • Wrap around WebRTC • Media, Data, Events

• Publish/Subscribe

• Server • MCU Control • Nuve Auth

ErizoController & erizoclient

Page 12: Web Real-Time Communication Solutions · • Focus on video conference & real-time collaboration • Video • Audio • Data (for user interaction) • Recording • Video Conference

Erizo & ERizoAPI

• Licode MCU • Implementation of WebRTC

• DTLS-SRTP • SDP negotiation • ICE

• Stream forwarding

• External Outputs

• Recording • RTP

• External Inputs

• Recorded Sessions • RTSP/RTP

• ErizoAPI – node.js addon

• Wrapper C++ code

Page 13: Web Real-Time Communication Solutions · • Focus on video conference & real-time collaboration • Video • Audio • Data (for user interaction) • Recording • Video Conference

Architecture: Control

Page 14: Web Real-Time Communication Solutions · • Focus on video conference & real-time collaboration • Video • Audio • Data (for user interaction) • Recording • Video Conference

ROOM

Participant A Participant B Participant C

Distributed Architecture: Media

Page 15: Web Real-Time Communication Solutions · • Focus on video conference & real-time collaboration • Video • Audio • Data (for user interaction) • Recording • Video Conference

Distributed Architecture: Control

Client C

ErizoController

Client A

Message Bus

Room Controller

Room Controller

Room Controller

Room Controller

Agent

Machine 1 Machine 2

ErizoJS ErizoJS ErizoJS ErizoJS ErizoJS

Agent

Client B

Page 16: Web Real-Time Communication Solutions · • Focus on video conference & real-time collaboration • Video • Audio • Data (for user interaction) • Recording • Video Conference

16

Distributed Architecture: NOW & Future

• Now • Improved stability

• Each publisher a different process

• Better scalability

• No added delays

• Geographical distribution

• Trees

Page 17: Web Real-Time Communication Solutions · • Focus on video conference & real-time collaboration • Video • Audio • Data (for user interaction) • Recording • Video Conference

https://github.com/ging/licode 480+ stars

140 clones per fortnight

1200+ commits

70+ pull requests

512 unique visitors per fortnight

Open Source

Page 18: Web Real-Time Communication Solutions · • Focus on video conference & real-time collaboration • Video • Audio • Data (for user interaction) • Recording • Video Conference

Use Case:

• Integrated into an existing Text-Chat

• Web and Android clients

• Rooms with up to 9 publishers

• Live for a month for 10% users

• More than 600,000 published minutes

Page 19: Web Real-Time Communication Solutions · • Focus on video conference & real-time collaboration • Video • Audio • Data (for user interaction) • Recording • Video Conference

Thank you

Pedro Rodriguez [email protected]

@lodoyun

Alvaro Alonso [email protected]

@larsonalonso

www.lynckia.com

Joaquín Salvachúa [email protected]

@jsalvachua