基于WebRTC的跨平臺視頻會議系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
發(fā)布時(shí)間:2020-03-13 21:33
【摘要】:摘要:在當(dāng)今這個(gè)信息技術(shù)飛速發(fā)展的時(shí)代,信息交流的需求越來越頻繁,人們對更實(shí)時(shí),更生動的交流效果的追求從未停止。從早期的用于處理突發(fā)事件的基于專線的電話會議,電視會議,到后來的用于商務(wù)辦公的為大型企業(yè)定制的視頻會議系統(tǒng)。視頻會議系統(tǒng)利用多媒體和網(wǎng)絡(luò)技術(shù)的支持,使得相隔萬里的人們可以有效地處理,反饋信息,一起協(xié)同工作,解決問題。 最近的幾年,隨著移動互聯(lián)網(wǎng)迅猛發(fā)展,各種移動設(shè)備層出不窮,無線通信技術(shù)完成了從GSM到CDMA,再到LTE的更新?lián)Q代,不斷增長的帶寬已經(jīng)可以滿足實(shí)時(shí)音視頻通信的需求,因此實(shí)現(xiàn)一個(gè)能在各類軟硬件平臺上通用的視頻會議系統(tǒng)正在變得越來越重要。在移動互聯(lián)網(wǎng)時(shí)代,應(yīng)用程序的跨平臺特性是必須的,由于各種設(shè)備的操作系統(tǒng)軟件平臺不具有一致性,傳統(tǒng)的為每個(gè)平臺都訂制一個(gè)基于Client/Server的視頻會議系統(tǒng)軟件的設(shè)計(jì)方案已經(jīng)失去了可行性。隨著HTML5標(biāo)準(zhǔn)的出現(xiàn),瀏覽器可以做越來越多的事情,采用Brower/Server設(shè)計(jì)方式成為當(dāng)今移動互聯(lián)網(wǎng)應(yīng)用設(shè)計(jì)的主流選擇。但是想把瀏覽器作為真正的音視頻實(shí)時(shí)通信平臺,還需要把本地媒體采集、音視頻編解碼、信號處理,實(shí)時(shí)傳輸控制,擁塞控制等復(fù)雜的技術(shù)集成到其中。在以前,這方面的技術(shù)一直是空白,隨著美國Google公司通過收購得到并開源的WebRTC技術(shù),這些空白被填補(bǔ)了,瀏覽器脫離了對各類插件(例如傳統(tǒng)的Flash插件)的依賴,成為了一個(gè)強(qiáng)大的音視頻實(shí)時(shí)通信應(yīng)用平臺。普通開發(fā)者不用再關(guān)心復(fù)雜的音視頻編解碼,傳輸控制等復(fù)雜的底層技術(shù),利用HTML5和WebRTC提供的簡單的適用于多種瀏覽器的JavaScript接口,再輔以HTML和CSS,普通開發(fā)者也可以構(gòu)建功能強(qiáng)大的Web音視頻通信客戶端應(yīng)用,滿足視頻會議系統(tǒng)對客戶端的需求。 視頻會議系統(tǒng)的控制部分主要由本地媒體控制層和服務(wù)器信令控制層組成,WebRTC實(shí)現(xiàn)了對本地媒體的控制,完成了對音視頻信號的采集和編碼等工作。接下的工作便是將這些數(shù)據(jù)傳輸?shù)搅硪粋(gè)客戶端,這時(shí)就需要一個(gè)服務(wù)器來對各個(gè)客戶端進(jìn)行調(diào)度,發(fā)送和響應(yīng)信令。傳統(tǒng)的視頻會議系統(tǒng)信令控制層采用基于硬件專線的MCU (Multipoint Control Unit)組網(wǎng)方式,顯然不符合移動互聯(lián)網(wǎng)組網(wǎng)靈活的要求。本文利用Node.js平臺和WebSocket技術(shù),在由IP地址和端口號組成的套接字上完成對信令的監(jiān)聽和反饋,可以在軟件層上實(shí)現(xiàn)對客戶端的接入,離開,發(fā)送數(shù)據(jù),請求數(shù)據(jù)等動作的控制和響應(yīng),完成信令服務(wù)器的工作,滿足視頻會議系統(tǒng)對服務(wù)器端的需求。 為了將客戶端實(shí)現(xiàn)功能所需要的頁面代碼進(jìn)行推送,還需要搭建一個(gè)普通的web服務(wù)器,本文利用了常見的Apache服務(wù)器來實(shí)現(xiàn)這一部分。 本文構(gòu)建了一個(gè)基于WebSocket和WebRTC的視頻會議系統(tǒng),并在GitHub對項(xiàng)目進(jìn)行了開源。通過對模型和框架不斷的改進(jìn),這個(gè)視頻會議系統(tǒng)具有簡單易用,可靠穩(wěn)定,高效跨平臺的特點(diǎn)。圖15幅,參考文獻(xiàn)27篇。
【圖文】:
展示本地視頻流的視頻容器視頻部分采用設(shè)置
【圖文】:
展示本地視頻流的視頻容器視頻部分采用設(shè)置
本文鏈接:http://sikaile.net/kejilunwen/wltx/2586828.html
最近更新
教材專著