webrtc - is it ready? 2013

38
WebRTC Is it ready? Henry 2013

Upload: hank-huang

Post on 08-May-2015

2.519 views

Category:

Technology


6 download

DESCRIPTION

WebRTC has been a buzz word for the past year and two. But we don't really see it being widely adopted in today's web and mobile development. It is suppose to be a revolution of telecommunication and impact every bit of our daily life. If it that good, why are we as consumers not seeing product and services on the market yet? What is the hold back?

TRANSCRIPT

Page 1: WebRTC - Is it ready? 2013

WebRTCIs it ready?

Henry 2013

Page 2: WebRTC - Is it ready? 2013

Web RTC is:

● A free, open project that enables web browsers with Real-Time Communications (RTC) capabilities via simple Javascript APIs to conduct SECURE communications.

● Features:○ Secure Audio Channel (CD Quality)○ Secure Video (Full HD)○ Secure Screen Sharing○ Secure Data Channel

Page 3: WebRTC - Is it ready? 2013

Web RTC Block Diagram

Page 4: WebRTC - Is it ready? 2013

Very Active Community

Page 5: WebRTC - Is it ready? 2013

Some Complexities

Designed for P2P communications so includes intricate mechanisms to traverse NAT using STUN, ICE and a TURN server which is a media relay.

Page 6: WebRTC - Is it ready? 2013

WebRTC JavaScript API

● MediaStream (getUserMedia)○ Microphone (Audio)○ Webcam (Video)○ Desktop ???

● RTCPeerConnection○ Media Multiplexing○ Authenticate against identity providers

● RTCDataChannel○ SCTP over UDP

https://www.simpl.info/index.html

Page 7: WebRTC - Is it ready? 2013

Built-in Voice Engine Capabilities

● NetEQ○ Dynamic jitter buffer management○ Packet Loss Concealment (PLC)

● Acoustic Echo Canceler (AEC)○ Removes, in real time, the acoustic echo resulting

from the voice being played out coming into the active microphone.

● Noise Reduction (NR)○ Removes certain types of background noise usually

associated with VoIP. (Hiss, fan noise, etc...)

Page 8: WebRTC - Is it ready? 2013

Supported Audio Codecs● G.711● Opus - Free CD Quality codec (Even Stereo)

○ 20ms frames○ Variable Bit Rate 8K to 64K bps

Page 9: WebRTC - Is it ready? 2013

Built-In Video Engine

Video Jitter Buffer○ Dynamic Jitter Buffer

Image Enhancement○ Remove video noise

VP8 Codec○ Royalty free○ Full HD 1080p encoding

Page 10: WebRTC - Is it ready? 2013

WebRTC Connection Flow

1. Obtain Local Media (GetUserMedia)

2. Setup Peer Connection (RTCPeerConnection)

3. Attach Media or Data

4. Exchange Offer/Answer (RTCPeerConnection)

Page 11: WebRTC - Is it ready? 2013

Supporting Protocols

● Application Layer:○ HTTP, WebSocket, SRTP, SDP, ICE/STUN/TURN

● Transport Layer:○ TLS (TCP), DTLS (UDP), SCTP (for data channel)

● Network Layer:○ IPv4 & IPv6

Page 12: WebRTC - Is it ready? 2013

Peer Connection DiagramPure Web

Page 13: WebRTC - Is it ready? 2013

Peer Connection DiagramOver Legacy Network

Page 14: WebRTC - Is it ready? 2013

3rd Party Authentication

Page 15: WebRTC - Is it ready? 2013

Signaling

Proprietary○ RESTful○ BOSH (long polling)○ WebSockets

Open Standards○ XMPP over BOSH/WebSockets (14 years)○ SIP over WebSockets (17 years)

Page 16: WebRTC - Is it ready? 2013

Standards

It's a joined effort

● IETF○ Focus on protocol and interoperability

● W3C○ Hight level APIs and device control (mic, camera,

network)○ PeerConnection API proposal

Page 17: WebRTC - Is it ready? 2013

Concerns

● Video Codec Patent:○ Since March 2013 Nokia has asserted a patent claim

against HTC and Google for the use of VP8 in Android in a German court

● Browser Support:○ Chrome, Firefox, and Opera○ Apple and Microsoft have not publicly shown

interest in the support of WebRTC in IE and Safari○ (Note: Temporary IE supported via Chrome Frame)

Page 18: WebRTC - Is it ready? 2013

Demos

Canvas Integration:● Webcam Toy (GetUserMedia + Canvas)● Audio Recorder (GetUserMedia + Canvas)

Video Chat:● talky (GetUserMedia + RTCPeerConnection)

File Sharing● Sharefest (GetUserMedia +

RTCDataChannel)

Page 20: WebRTC - Is it ready? 2013

Tools

Browser Tool● chrome://webrtc-internals/● adapter.js (http://www.webrtc.

org/interop)

Page 22: WebRTC - Is it ready? 2013

FreeSWITCH and WebRTC

● SIP Over WebSockets● Media over SRTP● Opus supported

Issues:○ Inconsistent client support○ DTMF issues (INFO)○ No video transcoding is supported

Note: Asterisks Already supported WebRTC (but only with G.711 codec)

Page 23: WebRTC - Is it ready? 2013

Business Applications

● Call Center● PAAS (Open Source API)● WebRTC enabled SBC● Video Conference● Outsourcing Development Vendor

Page 24: WebRTC - Is it ready? 2013

Call Center Applications

Teledini - Display web visitor key information when call arrives. Receive call from browser.

Page 27: WebRTC - Is it ready? 2013

Platform as a Service

Apidaze - API service for Voice, SMS, WebRTC and worldwide DID numbers. XML style structure.Crocodile RTC - Javascript SDK for Call, Video, IM, File Sharing, and Payment system over their platform. Requestec - Mobile SDK, virtual meeting with billing, recording, appointments, and collaboration.

Page 28: WebRTC - Is it ready? 2013

Requestec

Page 29: WebRTC - Is it ready? 2013

Hardware Solution

Genband - WebRTC to VoIP gateway with RESTful API

Ingate - VoIP enabled smart enterprise firewall now optimized also for WebRTC. Realtime traffic shaping

Sansay - WebSBC, REST API, Proprietary signaling (not SIP)

Page 30: WebRTC - Is it ready? 2013

Video Conference (PAAS)

Bistri - Free video chat service that binds all your social network contacts.

Page 34: WebRTC - Is it ready? 2013

Other

PubNub - High performance and low latency communication of arbitrary data

Page 35: WebRTC - Is it ready? 2013

Using WebRTC on Mobile Device

● Open Source VoIP engine (and Video)○ Active community support○ PLC - Packet Loss Concealment○ Jitter Buffer handling○ CD Quality Codec○ RTP at the core○ RTCP implemented for QoS monitoring○ SRTP for secure media transport○ NAT traversal by ICE○ ECHO Cancellation & Noise Reduction○ Mobile Integration contributed by Vonage

Everything one might need to build their own Mobile Native Client

Page 37: WebRTC - Is it ready? 2013

What's Cookin Doc?

Page 38: WebRTC - Is it ready? 2013

Thanks