基于WebRTC的視頻通信系統(tǒng)的研究與實現(xiàn)
發(fā)布時間:2021-08-09 06:41
在我們平時的日常生活中,視頻通信技術(shù)的使用已經(jīng)非常的廣泛,不僅給我們平常的交流提供了很大的方便,也在教育、醫(yī)療、管理等行業(yè)的應用慢慢稱為常態(tài)。視頻通信所使用的技術(shù)也是多種多樣,各有優(yōu)缺點,視頻通信的軟件和插件也五花八門,非常的繁多。雖然視頻通信技術(shù)發(fā)展的非常的迅猛但還是存在像很多軟件采用私有協(xié)議不同互通,內(nèi)網(wǎng)和防火墻的穿透,多平臺不能兼容等問題。WebRTC實時通信技術(shù)自從被谷歌公司以開源的方式推出以來就備受業(yè)內(nèi)關(guān)注,成為很多人在實現(xiàn)視頻通信產(chǎn)品的一個重要的技術(shù)選擇,后來,WebRTC技術(shù)又被納入W3C標準,該技術(shù)的使用就更加的廣泛,備受青睞。本文就是希望以WebRTC技術(shù)為基礎(chǔ)實現(xiàn)web版的視頻通信功能,并可以向其他的第三方的應用提供實時視頻通信的服務。本文在通過對WebRTC技術(shù)的架構(gòu)做了一定的研究分析,了解了 WebRTC是如何對音視頻數(shù)據(jù)進行獲取和編解碼,怎樣進行建立視頻終端之間的網(wǎng)絡連接,怎樣進行媒體數(shù)據(jù)的傳送。在WebRTC提供的JavaScript視頻通信有關(guān)的接口和該技術(shù)規(guī)定的信令管理機制的基礎(chǔ)上,提出了實時視頻通信的房間模型,房間內(nèi)所有的人不是具有平等的地位和權(quán)限,通...
【文章來源】:西安理工大學陜西省
【文章頁數(shù)】:68 頁
【學位級別】:碩士
【部分圖文】:
WebRTC架構(gòu)圖
圖 2-2 數(shù)字媒體獲取Figure 2-2 Access to digital mediagetUserMedia()函數(shù)的使用方式的代碼示例:通過 js 瀏覽器里本身就有的 navigator 對象調(diào)用 navigator.getUserMedia(),下面是測試代碼的部分內(nèi)容://MediaStream 的部分設(shè)置的簡單舉例:如媒體類型,分辨率,幀率等,媒體的一些參數(shù)var constraints = {video:{mandatory:{//強制滿足的minWidth:640,minHeight:360},optional:[//可選項{
圖 2-3 JSEP 體系結(jié)構(gòu)Figure 2-3 JSEPArchitectureJSEP(JavaScript Session Establishment Protocol)協(xié)議:如圖所示為 JSEP 的體系結(jié)構(gòu)圖,對于本文而言 APP 即為用于視頻通信的 web 應用,APP 通過調(diào)用瀏覽器封裝的 WebRTC 的對應 API 在用戶登錄本系統(tǒng)的同時將 SDP(會話描述信息:包括 IP 地址、端口、帶寬的網(wǎng)絡通信必要信息和支持的音視頻編解碼格式、客戶端支持的數(shù)字媒體的格式、客戶端支持的分辨率等媒體信息)上傳到信令服務器,并將這些信息與該用的唯一標識相關(guān)聯(lián)。當客戶端 A想要和客戶端 B 進行視頻通信的時候,便根據(jù)客戶端 B 的 SDP 將請求視頻通信的 offer 發(fā)送給客戶端 B,客戶段 B 如果同意和客戶端 A 進行視頻通信,便返回響應的 answer 信息,信令服務器便根據(jù)這些信息建立客戶端 A 和客戶端 B 之間的點到點的連接,之后,客戶端 A和客戶端 B 就可以通過該連接進行數(shù)字媒體的信息的交換。需要注意的是 WebRTC 并沒有定義整個信息處理的過程,只是提出了 JSEP 的信令處理的這樣的一個結(jié)構(gòu),開發(fā)者可以根據(jù)自己的需求和項目的需求自己實現(xiàn)該部分的內(nèi)容,這樣避免了重復定義的問題,也最大程度上兼容了現(xiàn)有技術(shù)[21]?蛻舳酥g要進行有效的媒體交換,它們之間的 offer 和 answer 的相互獲取是必要的前
本文編號:3331579
【文章來源】:西安理工大學陜西省
【文章頁數(shù)】:68 頁
【學位級別】:碩士
【部分圖文】:
WebRTC架構(gòu)圖
圖 2-2 數(shù)字媒體獲取Figure 2-2 Access to digital mediagetUserMedia()函數(shù)的使用方式的代碼示例:通過 js 瀏覽器里本身就有的 navigator 對象調(diào)用 navigator.getUserMedia(),下面是測試代碼的部分內(nèi)容://MediaStream 的部分設(shè)置的簡單舉例:如媒體類型,分辨率,幀率等,媒體的一些參數(shù)var constraints = {video:{mandatory:{//強制滿足的minWidth:640,minHeight:360},optional:[//可選項{
圖 2-3 JSEP 體系結(jié)構(gòu)Figure 2-3 JSEPArchitectureJSEP(JavaScript Session Establishment Protocol)協(xié)議:如圖所示為 JSEP 的體系結(jié)構(gòu)圖,對于本文而言 APP 即為用于視頻通信的 web 應用,APP 通過調(diào)用瀏覽器封裝的 WebRTC 的對應 API 在用戶登錄本系統(tǒng)的同時將 SDP(會話描述信息:包括 IP 地址、端口、帶寬的網(wǎng)絡通信必要信息和支持的音視頻編解碼格式、客戶端支持的數(shù)字媒體的格式、客戶端支持的分辨率等媒體信息)上傳到信令服務器,并將這些信息與該用的唯一標識相關(guān)聯(lián)。當客戶端 A想要和客戶端 B 進行視頻通信的時候,便根據(jù)客戶端 B 的 SDP 將請求視頻通信的 offer 發(fā)送給客戶端 B,客戶段 B 如果同意和客戶端 A 進行視頻通信,便返回響應的 answer 信息,信令服務器便根據(jù)這些信息建立客戶端 A 和客戶端 B 之間的點到點的連接,之后,客戶端 A和客戶端 B 就可以通過該連接進行數(shù)字媒體的信息的交換。需要注意的是 WebRTC 并沒有定義整個信息處理的過程,只是提出了 JSEP 的信令處理的這樣的一個結(jié)構(gòu),開發(fā)者可以根據(jù)自己的需求和項目的需求自己實現(xiàn)該部分的內(nèi)容,這樣避免了重復定義的問題,也最大程度上兼容了現(xiàn)有技術(shù)[21]?蛻舳酥g要進行有效的媒體交換,它們之間的 offer 和 answer 的相互獲取是必要的前
本文編號:3331579
本文鏈接:http://sikaile.net/kejilunwen/wltx/3331579.html
最近更新
教材專著