HTML 5 Web RTC
-
Upload
iffan-ahmed -
Category
Documents
-
view
57 -
download
0
description
Transcript of HTML 5 Web RTC
Introduction to HTML5 & WebRTC
Juan QuemadaWebRTC and Q4S HackathonMadrid, 23 October 2012
Friday, November 23, 12
The Web platform is evolving
2From Brad Neuberg, Google, http://www.slideshare.net/jobfan/google-html5-tutorial
Friday, November 23, 12
3From Brad Neuberg, Google, http://www.slideshare.net/jobfan/google-html5-tutorial
Friday, November 23, 12
JavaScript gets more efficient
4From Brad Neuberg, Google, http://www.slideshare.net/jobfan/google-html5-tutorial
Friday, November 23, 12
Consolidation of HTML5 platformn HTML + CSS + JavaScript
w http://www.html5rocks.com/
The Web browser is getting a net O.S.n Websockets, SSE and other protocolsn Vector graphics y formula with SVG & MathMLn Games and 3D with Canvas and WebGLn Fantastic interfaces with CSS3 n Video and Audion WebStorage and Data Bases inside the browsern Access to system resources with JavaScript APIsn ......n Real time Audio y Video with WebRTC
5
Web as Platform!!!
Friday, November 23, 12
Client apps in the Browser interacting with
Server apps in CDC (the cloud) using
Protocols of the HTML5 platformn HTTP 1.1 (2.0 starting) n Websocketsn XMLHTTPRequestn Server side eventsn PeerConnectionn ..........
6
The CloudInternet -> is the computer
Friday, November 23, 12
7
HTML5 + WebGL + CSS3 https://webglmeeting.appspot.com
Friday, November 23, 12
Development starts in WHATWG (2009 - 2010)n Objetive: introduce VoIP to the Web
W3C, IETF, .. starts activity in 2011n W3C: Browser APIs
w http://dev.w3.org/2011/webrtc/editor/webrtc.html
n IETF: Communication Protocolsw http://trac.tools.ietf.org/wg/rtcweb/
WebRTC suported now in Chromen Before end of 2012: support for Firefox, Opera, Explorer
w Mobile device support expected in 2013
8
WebRTC history
Friday, November 23, 12
Peerconnectionsn UDP/RTP streams between browsers
w with low latency
Signalling with SDP configurationsn But using proprietary protocols
9
PeerConnections
Friday, November 23, 12
getUserMedian Local stream management: camara, microphone, ....
StreamAPIn Management of multimedia streams
PeerConnectionn UDP/RTP streams between browsers
APIs JavaScript de WebRTCnavigator.webkitGetUserMedia("video,audio", gotStream, gotStreamFailed);
function gotStream(stream) {
var url = webkitURL.createObjectURL(stream);
document.getElementById("localView").src = url;
trace("User has granted access to local media.”);
localStream = stream;
}
function gotStreamFailed(error) {
alert("Failed to get access to local media.”);
}
function doCall() {
createPeerConnection();
}
Friday, November 23, 12
iSACn Wideband audio codec for VoIP and streaming audio.
w16 kHz or 32 kHz sampling, adaptive bit rate: 12 to 52 kbpsiLBCn Narrowband codec for VoIP and streaming (RFCs 3951, 3952)
w8 kHz sampling, 5.2 kbps (20ms frames), 13.33 kbps (30ms fr.) NetEQ for Voicen Dynamic jitter buffer and error concealment algorithm used for
concealing the negative effects of network jitter and packet loss. wKeeps latency low, while maintaining the highest voice quality.
Acoustic Echo Canceler (AEC)n Software signal processing component, for real time removal of
acoustic echo of voice feeding into the active microphoneNoise Reduction (NR)n Software signal processing component removing background
noise usually associated with VoIP, such as Hiss, fan noise, etc.
AudioEngine
Friday, November 23, 12
VideoEngine is a framework video media chain for video, from camera to the network, and from network to the screen.
VP8n Video codec from WebM Project.
wWell suited for RTC as it is designed for low latency
Video Jitter Buffern Dynamic Jitter Buffer for video.
wConceals effects of jitter and packet loss on overall video quality
Image enhancementsn For example, removes video noise from the image capture by the
webcam
VideoEngine
Friday, November 23, 12
El ejemplo intercambia información a traves de Servidor Web (chat)n Que luego es utilizada en ICE/TURN/STUN
wPara establecer la conexión a través de NATICE n Interactive Connectivity Establishment. RFC 5245
wEstablishing connectivity over NATs with STUN/TURN serversTURNn Traversal Using Relays around NAT (TURN), RFC 5766
wPara NATs simetricos, con servidor TURN (relay)STUNn Session Traversal Utilities for NAT (STUN), IETF 5389
wNo funciona con nat simetricosLa conexion se realiza a través de UDP/RTP
Protocolos PeerConnection
Friday, November 23, 12