1、問題提出
想要實現(xiàn)音視頻通話,對于大部分人可能會覺得很難,但是實際上,有些事情并沒有大家想的那樣困難,只要功夫深,鐵杵磨成針。
機緣巧合下,在業(yè)務(wù)中,我也遇到了一個業(yè)務(wù)場景需要實現(xiàn)音視頻通話,我們不可能自己從零開始干,我本次用到的核心是WebRTC。
2、WebRTC簡介
WebRTC (Web Real-Time Communications) 是一項實時通訊技術(shù),它允許網(wǎng)絡(luò)應(yīng)用或者站點,在不借助中間媒介的情況下,建立瀏覽器之間點對點(Peer-to-Peer)的連接,實現(xiàn)視頻流和(或)音頻流或者其他任意數(shù)據(jù)的傳輸。WebRTC 包含的這些標準使用戶在無需安裝任何插件或者第三方的軟件的情況下,創(chuàng)建點對點(Peer-to-Peer)的數(shù)據(jù)分享和電話會議成為可能。
WebRTC 瀏覽器與終端兼容性
WebRTC 在所有現(xiàn)代瀏覽器中都可用。Google Chrome、Mozilla Firefox、Apple Safari 和 Microsoft Edge 都支持它。也可以將其集成到應(yīng)用程序或嵌入式設(shè)備中,而完全不需要瀏覽器。文章來源:http://www.zghlxwxcb.cn/news/detail-655376.html
3、技術(shù)架構(gòu)圖
整個音視頻通訊過程如上圖圖所示。文章來源地址http://www.zghlxwxcb.cn/news/detail-655376.html
- 通過本地調(diào)用音頻或攝像頭,獲取音視頻流;
- WebRTC兩個客戶端分別與Signal 服務(wù)器建立連接 ,Signal 服務(wù)端為WebRTC端分配房間/加入指定的房間,并返回WebRTC房間信息;
- WebRTC端會創(chuàng)建RTCPeerConnection媒體連接,這個連接需要知道雙方的流媒體數(shù)據(jù)格式才能進行后續(xù)的數(shù)據(jù)傳輸,它們通過Signal 服務(wù)端進行SDP媒體協(xié)商;
(1)WebRTC-1先創(chuàng)建RTCPeerConnection媒體連接,并生成Offer請求(包含了它這個客戶端支持的的媒體格式等內(nèi)容),并將其設(shè)置到RTCPeerConnection的LocalDescription,然后向Signal 服務(wù)器發(fā)送Offer 請求,由其轉(zhuǎn)發(fā)給WebRTC-2端。
(2)WebRTC-2端收到了Offer請求,也會創(chuàng)建RTCPeerConnection媒體連接,并將Offer請求中對端支持的SDP 設(shè)置到RTCPeerConnection的RemoteDe
到了這里,關(guān)于音視頻實時通話解決方案的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!