Top Banner
Google Confidential and Proprietary WebRTC Update TADHack 2015 Niklas Blum Product Manager at Google
16

TADHack Google Keynote Niklas Blum 2015

Aug 03, 2015

Download

Technology

Alan Quayle
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: TADHack Google Keynote Niklas Blum 2015

Google Confidential and Proprietary

WebRTC UpdateTADHack 2015Niklas Blum Product Manager at Google

Page 2: TADHack Google Keynote Niklas Blum 2015

Google Confidential and Proprietary

WebRTC is a Platform

● It provides a real-time voice, video and data communication stack to apps

● Supports JavaScript and native APIs for Android and iOS

● Uses/defines industry-standard protocols and codecs

Page 3: TADHack Google Keynote Niklas Blum 2015

Google Confidential and Proprietary

Goal: Enable Developers by encapsulating Complexity of RTC

Web API Chrome / Firefox / Opera / MS

Edge

WebRTC C++ API (PeerConnection)

WebRTC

Encryption (DTLS-SRTP) + Multiplexing

Web

app

iOSLib

Android Lib

iOS app

Androidapp

P2P - STUN + TURN + ICE, UDP/TCP, IPv4/v6, Proxies

Network Bandwidth Estimation

SCTP

DataCodecs (Opus, etc)

Gain Ctrl, Echo Cancel

Audio

Audio Capture/Playout Video+Screen Capture/Render

VP8 / H.264 Codec

Video

W3C

IETF

Noise/Transient Filter

Dejitter/PLC/FEC

Error recovery/FEC

Noise/Postproc Filter

HW Codec Integration

Config

Buffering

SDP Processing Engine

Page 4: TADHack Google Keynote Niklas Blum 2015

Google Confidential and Proprietary

Google is pushing WebRTC forward

● Strive to be best on web, Android, and iOS

● 100% open source and royalty free (even the codecs)

● Standardized APIs and Protocols

● New releases every 6 weeks

Page 5: TADHack Google Keynote Niklas Blum 2015

Google Confidential and Proprietary

What’s in for you as a developer & service provider

1.5 bln browsers ready for your appWaiting for you to develop for them.

3 bln apps downloadedThe secret is out. WebRTC works on mobile.

600+ companiesThat depend on our WebRTC work to succeed

Page 6: TADHack Google Keynote Niklas Blum 2015

Google Confidential and Proprietary

600+ Companies built their solution on WebRTC

Google HangoutsFacebook MessengerCitrixTokBoxSinchTwilioWireTalko Comcast

Amazon MaydayOracleUberConferenceDouble RoboticsVonageWebExAppear.in / TelenorHello (Firefox)AT&T...

Page 7: TADHack Google Keynote Niklas Blum 2015

Google Confidential and Proprietary

What’s there for you as a developer

4000+ dev listEach has posted at least once.

2000+ a day read our docswebrtc.org html5rocks.com

1000 view our samplesgithub/webrtc

Page 8: TADHack Google Keynote Niklas Blum 2015

Google Confidential and Proprietary

Examples: What can be built on top of WebRTC

● Plug-in free audio and video conferencing: appear.in● Mobile RTC: Facebook Messenger● File Sharing: Sharefest● Screen sharing: talky.io

Beyond communications apps:● Multi-player gaming: BananaBread ● Content Delivery Networks: PubNub● Payments: Copay.io

Page 9: TADHack Google Keynote Niklas Blum 2015

Google Confidential and Proprietary

WebRTC Improvements under the hoodBefore:

After:

Better bandwidth estimation for video● 62% improved on congested Wifi● 20% higher bitrates

Page 10: TADHack Google Keynote Niklas Blum 2015

Google Confidential and Proprietary

Fast track to HD Video

47 % of Mac 42 users have HD video in 2 sec (31% had this in M40)

Further improvements for M44

Page 11: TADHack Google Keynote Niklas Blum 2015

Google Confidential and Proprietary

Further Video Performance Improvements

● Zero-copy capture and render pipelines

● 10x Windows speedups for rendering

● VP8 hw encode/decode on Android

● Major iOS speedup for libvpx

● Faster colour conversions

● Reduction in thread contention

Page 12: TADHack Google Keynote Niklas Blum 2015

Google Confidential and Proprietary

Page 13: TADHack Google Keynote Niklas Blum 2015

Google Confidential and Proprietary

How to create a WebRTC call on MobileWeb: RTCPeerConnection

Android: org.webrtc.PeerConnection

iOS: RTCPeerConnection

pc = new RTCPeerConnection(config);

pc.onaddstream = onRemoteStream;

pc.addStream(localStream);

pc.createOffer(onCreateSuccess);

function onCreateSuccess(offer) {

sendMessage(offer); }

PeerConnection pc =

factory.createPeerConnection

(iceServers, constraints, observer);

pc.addStream(localStream);

pc.createOffer(this, offerConstraints);

public void onCreateSuccess(

final SessionDescription offer) {

sendMessage(offer); }

RTCPeerConnection* pc = [factory

peerConnectionWithICEServers:iceServers

constraints:constraints delegate:self];

[pc addStream:localStream];

[pc createOfferWithDelegate:self

constraints:offerConstraints];

- (void)peerConnection:(RTCPeerConnection

*)peerConnection

didCreateSessionDescription:

(RTCSessionDescription *)offer

error:(NSError *)error {

sendMessage(offer); }

Page 14: TADHack Google Keynote Niklas Blum 2015

Google Confidential and Proprietary

Coming up: Mobile Improvements

● Faster connection establishment

● Faster crypto keygen and encryption/decryption

● Better network robustness

● Better adaptation to network QoS changes

● Rate adaptation for audio

● Delay and Jitter improvements

Page 16: TADHack Google Keynote Niklas Blum 2015

Google Confidential and Proprietary

Feel free to come and ask!

@[email protected]

Thank you - time for questions!