(works in Chrome with enabled screen capture support)
RTCPeerConnection
Audio and video communication between peers
remove noise from audio and video
codec handling
peer to peer communication
security
bandwidth management
RTCDataChannel
API for high performance, low latency, peer-to-peer communication of arbitrary data
var pc = new webkitRTCPeerConnection(servers,
{optional: [{RtpDataChannels: true}]});
// only unreliable data channels are supported in Chrome
var dataChannel = pc.createDataChannel("sendDataChannel",
{reliable: false});
dataChannel.onopen = onSendChannelStateChange;
dataChannel.onclose = onSendChannelStateChange;
// usage
dataChannel.send('data');
dataChannel.onmessage = function(e){
console.debug('Received message', e.data);
};
Peers must be present with local streaming video before sending offer/answer SDP
Set remote SDP before adding ICE candidate
Once remote media starts streaming stop adding ICE candidates
Never create 'Answer SDP' until you get the 'Offer SDP'
Interoperability
Firefox Nightly (as of 1/30/13) and
Chrome M25 Beta
and later are interoperable, but currently require a "small" degree of adaptation on the part of the calling site.