Download presentation
Presentation is loading. Please wait.
Published byAnnabella Brooks Modified over 9 years ago
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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.