10. Why so many?
The network environment of a web browser is not the
same as a desk phone.
Security – hostile lans (coffee shops/hotels)
Variablity – home networks, wifi/3g
Programability – Javascript is dynamically
loadable
This stack of media standards addresses the
differences.
11. NAT
NAT
STUN and ICE address NAT
ICE sends multiple STUN packets down all possible interfaces to try and find a
path. First Bi-directional route found is used.
12. TURN
NAT
NAT
TURN is for when ICE fails to find a viable path
A TURN server in the cloud acts as a packet reflector
Many Telco 3g networks isolate users from each other.
13. MS
NAT
NAT
Bridging via a media server.
If additional services are required – recording, conferences, PSTN interop etc. then
bridging via a media server may be required.
14. DTLS
DTLS is the UDP version of TLS (as used in https etc)
It serves 2 purposes in the WebRTC
Exchange keys used by the SRTP media encryption
Carry the data channel streams
15. Demo – sharefest.me
Data channel provides Peer 2 Peer data between
browsers.
It can be used for file transfer, game moves etc.
It may also become important in M2M or IOT as a secure
NAT friendly P2P protocol.
Demo show file transfer between 2 browsers by sharing a
URL, but not through that server.
16. SRTP + RTCP
Encrypted version of the classic RTP protocol, with the
RTCP reporting mechanism.
Multiple media streams may be multiplexed over the
same pair of ports – still under discussion.
18. Codecs - No video standard yet.
Video
VP8
H264
Differences are largely commercial and
legal rather than technical, either is plenty
good enough.
24. Dissention with SDP as an API
SDP is emitted by pc.createOffer()
Complex SDP
May be manipulated to select codecs/candidates…
Source of much complaint
Currently ill defined
May be replaced in 2.0 std
25. Other co-operating W3C APIs
WebGL
Can be used to apply effects to video
WebAudio
Can be used to apply effects to audio
Both will be able to be applied to local or remote
streams