WebRTC – Challenges and Best Practices Sumit Amar Director of Engineering Electronic Arts.

Slides:



Advertisements
Similar presentations
What’s New? What’s Different?
Advertisements

Packet Based Multimedia Communication Systems H.323 & Voice Over IP Outline 1. H.323 Components 2. H.323 Zone 3. Protocols specified by H Terminal.
24/08/2005 IP Telephony1 Guided by: Presented by: Dr.S.K.Ghosh Nitesh Jain 05IT6008 M.Tech 1 st year.
Reza hooshangi ( ). short history  One of the last major challenges for the web is to enable human communication via voice and video: Real Time.
1 © NOKIA IPv6 / June 2003 / Jari Hamalainen Nokia North American Global IPv6 Summit San Diego, CA, U.S.A. June 26th, 2003 IPv6 Enabling Peer-to-Peer IMS.
Fixed Mobile Convergence T Research Seminar on Telecommunications Business Johanna Heinonen.
Application Layer 2-1 Chapter 2 Application Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Application Layer – Lecture.
Microsoft Office System UK Developers Conference Radisson Edwardian, Heathrow 29 th & 30 th June 2005.
EE442—Multimedia Networking Jane Dong California State University, Los Angeles.
SIP vs H323 Over Wireless networks Presented by Srikar Reddy Yeruva Instructor Chin Chin Chang.
Real-time Transport Protocol Matt Boutell CS457: Computer Networks November 15, 2001.
Introduction to the Application Layer Computer Networks Computer Networks Spring 2012 Spring 2012.
A Gateway For SIP Event Interworking - Sasu Tarkoma & Thalainayar Balasubramanian Ramya.
Dr. Philip Cannata 1 Principles of Network Applications.
Introduction 1 Lecture 5 Application Layer slides are modified from J. Kurose & K. Ross University of Nevada – Reno Computer Science & Engineering Department.
Computer Communication & Networks
Streaming Media Protocols Jani Hautakorpi Henry Pohan.
Telehealth Equipment Enabling Successful Telehealth Encounters Endpoints, Protocols, Networks, Peripherals.
Asterisk based web real time communication Advisor : Lian-Jou Tsai Student : Jhe-Yu Wu.
Chapter 2 Application Layer Computer Networking: A Top Down Approach, 5 th edition. Jim Kurose, Keith Ross Addison-Wesley, April A note on the use.
1 RTCWEB interim Remote recording use case / requirements John Elwell.
CIS679: RTP and RTCP r Review of Last Lecture r Streaming from Web Server r RTP and RTCP.
Chapter 2, slide: 1 CS 372 – introduction to computer networks* Monday June 28 Announcements: r Lab 1 is due today r Lab 2 is posted today and is due next.
2: Application Layer1 Chapter 2 Application Layer These slides derived from Computer Networking: A Top Down Approach, 6 th edition. Jim Kurose, Keith Ross.
Throughput: Internet scenario
Application Layer 2-1 Chapter 2 Application Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012.
Chapter Two Application Layer Prepared by: Dr. Bahjat Qazzaz CS Dept. Sept
VoIP Voice over Internet Protocol H.323 SIP RTP SDP IAX SRTP Skype And a lot more…
Building Scalable and High Efficient Java Multimedia Collaboration Wenjun Wu, Tao Huang, Geoffrey Fox Community Grids Computing Laboratory, Indiana University,
1.1 What is the Internet What is the Internet? The Internet is a shared media (coaxial cable, copper wire, fiber optics, and radio spectrum) communication.
What makes a network good? Ch 2.1: Principles of Network Apps 2: Application Layer1.
Applied Communications Technology Voice Over IP (VOIP) nas1, April 2012 How does VOIP work? Why are we interested? What components does it have? What standards.
03/09/2003Helsinki University of Technology1 Overview of Thesis Topic Presented By: Zhao Xuetao.
2: Application Layer 1 Chapter 2: Application layer r 2.1 Principles of network applications r 2.2 Web and HTTP r 2.3 FTP r 2.4 Electronic Mail  SMTP,
Asterisk based web real time communication Advisor : Lian-Jou Tsai Student : Jhe-Yu Wu.
Larry Amiot Northwestern University Internet2 Commons Site Coordinator Training September 27, 2004 Austin, Texas Introduction to.
The Way Forward Factors Driving Video Conferencing Dr. Jan Linden, VP of Engineering Global IP Solutions.
Curtsy Web
A Conference Gateway Supporting Interoperability Between SIP and H.323 Jiann-Min Ho (Presenter) Jia-Cheng Hu Information Networking Institute Peter Steenkiste.
Introduction to SIP Larry Amiot Northwestern University Internet2 Commons Site Coordinator Training March 22, 2004 Indianapolis,
Advanced Computer Networks Topic 2: Characterization of Distributed Systems.
Evolution towards the Next Generation Network
H.323, IP Multicast Conferencing, And TAPI 3.0 Don Ryan Development Lead Windows Networking And Communications Microsoft Corporation.
Slide title minimum 48 pt Slide subtitle minimum 30 pt RTCWEB Terminology A Discussion of relation between RTCWEB Media Protocol Terminology and the PeerConnection.
COMPANY CONFIDENTIAL © COPYRIGHT 2015 DIALOGIC CORPORATION. ALL RIGHTS RESERVED. 1 Scaling WebRTC with Media Servers Vince Puglia Developer Advocate –
The MPEG-DASH Standard for Multimedia Streaming Over the Internet Chih-Hsiang Chou Advisor: Prof Dr. Ho-Ting Wu Department of Computer Science and Information.
Application Layer 2-1 Chapter 2 Application Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012.
Toshiba Confidential 1 Presented by: Philipe BC Da’Silva SESSION INITIATION PROTOCOL.
Project Objectives A multi-function programmable SIP user agent for multimedia communications, such as audio, video, white board, desktop sharing, shared.
Voice Over Internet Protocol (VoIP) Copyright © 2006 Heathkit Company, Inc. All Rights Reserved Presentation 5 – VoIP and the OSI Model.
Peer to peer Straightforward Protocol Sourav Anand Indian institute of Technology, Kanpur.
1 Internet Telephony: Architecture and Protocols an IETF Perspective Authors:Henning Schulzrinne, Jonathan Rosenberg. Presenter: Sambhrama Mundkur.
The Session Initiation Protocol - SIP
3GPP Mobile Surveillance. Outline Introduction to IP surveillance Mobile surveillance 3GPP protocols Challenges of 3GPP mobile surveillance VIVOTEK solution.
A special acknowledge goes to J.F Kurose and K.W. Ross Some of the slides used in this lecture are adapted from their original slides that accompany the.
Codec Control for RTCWEB
INTERNET PROTOCOL TELEVISION (IP-TV)
VoIP ALLPPT.com _ Free PowerPoint Templates, Diagrams and Charts.
Connected Infrastructure
Live Global Sports Events
WebRTC enabled multimedia conferencing and collaboration solution
Enterprise Town Hall solution
3 | Analyzing Server, Network, and Client Health
Connected Infrastructure
BRINGING REALTIME MEDIA CAPABILITIES TO YOUR INTERFACE WITH WEBRTC
INTERNET PROTOCOL TELEVISION (IP-TV)
Chapter 2 Introduction Application Requirements VS. Transport Services
WebRTC From Zero to Hero The Rolling Scopes, Gabriel Mičko.
Presentation transcript:

WebRTC – Challenges and Best Practices Sumit Amar Director of Engineering Electronic Arts

Agenda Brief Introduction to Web RTC WebRTC Challenges and Support Matrix Best practices Future WebRTC ideas Q/A

WebRTC Introduction Plugin-free RTC communication via browser – Audio, Video, and Data P2P channeling aided by a signaling server Encoding and decoding of media streams Allows bypassing of interceptors (SBC) Only supported in a handful of browsers

WebRTC Introduction WebRTC is being designed by: – IETF (for overall WebRTC design, Media plane, and security framework) – W3C (HTML5/JavaScript APIs) – 3GPP (to integrate WebRTC into IP Management Subsystem) to interoperate with Telecom infrastructure

WebRTC Introduction Loreto, S.; Romano, Simon Pietro, "Real-Time Communications in the Web: Issues, Achievements, and Ongoing Standardization Efforts,“ Internet Computing, IEEE, vol.16, no.5, pp.68,73, Sept.-Oct. 2012

WebRTC Introduction

Key API components MediaStream – Stream representing audio or video PeerConnection – Direct peer to peer connection to exchange data DataChannel – API to exchange data from peer to peer

Challenges Browser support Telecommunication Infrastructure vs WebRTC Performance and congestion control Security End to end RTC feature support Competing school of thoughts

Browser Support Source:

Telecom Infrastructure vs WebRTC Telecom AMR, AMR-WB H.264 SBCs SRTP/SDES Managed Media plane – Audio Codecs: – Video Codecs: – Relay – Encryption – Quality WebRTC G.711, OPUS VP8 Not required DTLS/RTP Adaptive

Telecom Infrastructure vs WebRTC Signaling plane – Codec negotiation with SDP (Session Description Protocol) aka Offer/Response – Sender, Receiver, and Transport with ‘Tracks’ and ‘data channels’ in case of ORTC (Object RTC)

Performance and Congestion Control Mesh vs Star topologies for communication Mesh Increases load on the client machines, and network May not scale for more than 4-5 users

Performance and Congestion Control Star (aka MCU / Media Router): Reduced CPU load on client machines, but increased load on the server and network Scalable solution, router servers can be scaled out Might be a regulatory requirement Addresses firewall/NAT issues in one place

Performance and Congestion Control Congestion in mobile networks: – VideoAdapter can reduce encoding resolution if the CPU is overloaded – Remote Bitrate Estimator notified the other party to reduce bitrate if decoder is slower to react Problems: – VideoAdapter is reactive than proactive – Encoder and Decoder are both CPU intensive – Have to modify SDP ‘blob’ to update the bitrate

Security Considerations Direct browser-to-browser P2P connections are susceptible are protected by the realm of sandbox (browser) Signaling handshake without SSL could be susceptible to several attacks Interoperability with IMS (IP Multimedia System) could be challenged by SIP security requirements

End to end feature support RTC features not supported by WebRTC – Push notifications – Address / ‘number’ blocking – Background processing (requires connected socket for message passing) – Access to contacts list etc. – Access to device information (CPU, Network) Additive RTC features not supported by ORTC – DataChannel for communicating P2P data

Competing school of thoughts (CU-RTC-Web, and now ORTC)

Best practices Bitrate encoding: – Log captured network speed, and build prediction model on it to automatically adjust bitrate – Use a native shim to get access to network and CPU speed Mesh vs Star – Use star for multiple user conferencing scenarios – Use mesh for data channel based scenarios

Best practices Determine CPU speed in web application – By running stress tests on the client machine. Use a single method CPU intensive task Use UI thread to do intensive DOM manipulations and run a few web workers for CPU intensive tasks in the background Calculate CPU clock speed and the number of processors Determine network throughput – By making synchronized XHR calls in test environment to various network endpoints and measuring time taken for turns – By POSTing large amounts of data to determine speed

WebRTC – future ideas – Peer to peer CDN (content delivery network) Image source:

Resources Questions/Suggestions – Slides at – ptx ptx