MD File to track research progress on Web RTC
- get Audio/Video
- communicate Audio/Video
- communicate data
- For Video and Audio
- getUserMedia(constraints, successCB, erorCB)
- constraints decide video/audio etc.
- video can eg. define resoultion
- screen capture!
- optional (can also only use data)
- Media Stream into Peer Connection, comes out as Media Stream etc.
- Features:
- Signal Processing
- Codex
- Routing
- Encrypt
- Bandwidth
- Offer and Answer
- can transmit to own local peer (useful for testing, can use on same page)
- requires Peer Connection
- send JSON in Peer
- on data callbacks (similar to socket.io?)
- P2P -> low latency
- reliable/unreliable setting (speed)
//get connection
pc = new webkitRTCPeerConnection(servers, {optional: [{RtpDataChannels: true}]});
//on data channel initialized
pc.ondatachannel = function(event) {
receivechannel = event.channel;
...
}
// could also use reliable: true
sendchannel = pc.createDataChannel("sendDataChannel", {reliable: false});
- Exchange Session Description Objects
- Use any Messaging Protocol
- Might be able to do some crazy stuff modifying this Session Description (later)
Decides on STUN/TURN - finds best solution
- connect to STUN server to get public IP
- send this IP to other client
- Cloud Fallback
- Data passes through Server
Amazon VM image straight from google: rfc5766-turn-server
- take and plug into Cloud
alternative: restund
- natively integrated (mandatory, data and media)
- AES
- Runs inside Chrome Sandbox
- Encryption
- Signaling: Https
- Audio/Video: SRTP
- Data: DTLS
Copy for all (N clients, N-1 connections per client)
Most capable Device is center
For large amount of clients, MCU is no client (gotta be reliable etc.)
- sipML5
- Phono
- Zingaya
- chrome://webrtc-internals (while on a call, gives information - useful for Debugging/Monitoring!)
- adapter.js (for different versions of RTC)
- Video stuff
- SimpleWebRTC
- easyRTC
- webRTC.io
- P2P Data
- PeerJS
- Sharefest
some production servers are out there, register, get key, have fun.
- http://io13webrtc.appspot.com/ (2016-10-20)
- https://www.youtube.com/watch?v=p2HzZkd2A40 (GoogleIO WebRTC 2013)