全球資訊網聯盟(W3C)推出的Web RTC。支持瀏覽器到瀏覽器的應用程式,用於語音通話、視頻聊天和P2P文件共享。
如果你想試試?web RTC可用於Chrome、Opera和Firefox。一個好的開始是在這裡的簡單視頻聊天應用程式。Web RTC實現了三個API,如下所示−
MediaStream−訪問用戶的相機和麥克風。
RTCPeerConnection−訪問音頻或視頻呼叫設備。
RTCDataChannel−訪問對等通信。
MediaStream
MediaStream表示媒體的同步流,例如,單擊HTML5演示部分中的HTML5視頻播放器,或者單擊此處的。
上面的示例包含stream.getAudioTracks()和stream.VideoTracks()。如果沒有音頻軌跡,它將返回一個空數組並檢查視頻流;如果連接了網絡攝像頭,stream.getVideoTracks()將返回一個表示網絡攝像頭流的MediaStreamTrack數組。一個簡單的例子是聊天應用程式,聊天應用程式從網絡攝像頭、後置攝像頭、麥克風獲取流。
Sample code of MediaStream
function gotStream(stream) { window.AudioContext = window.AudioContext || window.webkitAudioContext; var audioContext = new AudioContext(); // Create an AudioNode from the stream var mediaStreamSource = audioContext.createMediaStreamSource(stream); // Connect it to destination to hear yourself // or any other node for processing! mediaStreamSource.connect(audioContext.destination); } navigator.getUserMedia({audio:true}, gotStream);
Screen capture
在Chrome瀏覽器中也可以使用mediaStreamSource,它需要HTTPS。opera中尚未提供此功能。示例演示可在此處獲得
Session Control, Network & Media Information
Web RTC需要瀏覽器之間的對等通信。這種機制需要信令、網絡信息、會話控制和媒體信息。Web開發人員可以選擇不同的機制在瀏覽器之間進行通信,如SIP或XMPP或任何雙向通信。XHR的一個示例是這裡的。