tadhack google keynote niklas blum 2015
Post on 03-Aug-2015
288 Views
Preview:
TRANSCRIPT
Google Confidential and Proprietary
WebRTC UpdateTADHack 2015Niklas Blum Product Manager at Google
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
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
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
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
Google Confidential and Proprietary
600+ Companies built their solution on WebRTC
Google HangoutsFacebook MessengerCitrixTokBoxSinchTwilioWireTalko Comcast
Amazon MaydayOracleUberConferenceDouble RoboticsVonageWebExAppear.in / TelenorHello (Firefox)AT&T...
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
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
Google Confidential and Proprietary
WebRTC Improvements under the hoodBefore:
After:
Better bandwidth estimation for video● 62% improved on congested Wifi● 20% higher bitrates
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
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
Google Confidential and Proprietary
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); }
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
Google Confidential and Proprietary
g.co/webrtcappr.tc
test.webrtc.org
Google Confidential and Proprietary
Feel free to come and ask!
@n1kflowblum@google.com
Thank you - time for questions!
top related