webrtc - is it ready? 2013

Post on 08-May-2015

2.519 Views

Category:

Technology

6 Downloads

Preview:

Click to see full reader

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

WebRTCIs it ready?

Henry 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

Web RTC Block Diagram

Very Active Community

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.

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

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...)

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

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

Built-In Video Engine

Video Jitter Buffer○ Dynamic Jitter Buffer

Image Enhancement○ Remove video noise

VP8 Codec○ Royalty free○ Full HD 1080p encoding

WebRTC Connection Flow

1. Obtain Local Media (GetUserMedia)

2. Setup Peer Connection (RTCPeerConnection)

3. Attach Media or Data

4. Exchange Offer/Answer (RTCPeerConnection)

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

Peer Connection DiagramPure Web

Peer Connection DiagramOver Legacy Network

3rd Party Authentication

Signaling

Proprietary○ RESTful○ BOSH (long polling)○ WebSockets

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

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

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)

Demos

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

Video Chat:● talky (GetUserMedia + RTCPeerConnection)

File Sharing● Sharefest (GetUserMedia +

RTCDataChannel)

Tools

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

org/interop)

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)

Business Applications

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

Call Center Applications

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

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.

Requestec

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)

Video Conference (PAAS)

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

Other

PubNub - High performance and low latency communication of arbitrary data

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

What's Cookin Doc?

Thanks

top related