Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "WebRTC – Challenges and Best Practices Sumit Amar Director of Engineering Electronic Arts."— Presentation transcript:

1

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

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

4 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

5 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

6 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

7 WebRTC Introduction

8 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

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

10 Browser Support Source: http://iswebrtcreadyyet.com/

11 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

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

13 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

14 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

15 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

16 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

17 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

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

19 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

20 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

21 WebRTC – future ideas – Peer to peer CDN (content delivery network) Image source: http://inet.cpt.haw-hamburg.de/papers/vws-lwpcd-13.pdfhttp://inet.cpt.haw-hamburg.de/papers/vws-lwpcd-13.pdf

22 Resources Questions/Suggestions – sumit@amar.co.insumit@amar.co.in Slides at – http://www.amar.co.in/ppt/devcon5webrtc.p ptx http://www.amar.co.in/ppt/devcon5webrtc.p ptx


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

Similar presentations


Ads by Google