日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

WebRTC实时音视频技术基础:基本架构和协议栈

發(fā)布時間:2025/3/8 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 WebRTC实时音视频技术基础:基本架构和协议栈 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

概述


本文主要介紹WebRTC的架構(gòu)和協(xié)議棧。

最基本的三角形WebRTC架構(gòu)


為了便于理解,我們來看一個最基本的三角形WebRTC架構(gòu)(見下圖):

在這個架構(gòu)中,移動電話用“瀏覽器M”表示,筆記本電腦用“瀏覽器L”表示,通過Web服務(wù)器將它們連接起來。要建立一個實(shí)時媒體通訊,兩臺設(shè)備需要了解彼此的媒體功能,通過交換呼叫信令控制協(xié)議實(shí)現(xiàn)。

諸如這樣的信令協(xié)議在WebRTC標(biāo)準(zhǔn)中并非事先規(guī)定,而是由開發(fā)者自行制定。在瀏覽器RTC會話的步驟如下:
?

  • 首先,兩個瀏覽器都從Web服務(wù)器下載了WebRTC程序(HTML5/JavaScript);
  • 其次,兩個瀏覽器通過Web服務(wù)器交換控制信令信息(使用嵌入式信令服務(wù)器),建立媒體功能功能互通。
  • 最后,兩個瀏覽器直接建立RTC媒體的音頻、視頻和數(shù)據(jù)通道。

?

真正實(shí)用的基于P2P的WebRTC架構(gòu)


WebRTC使用P2P媒體流,音頻、視頻和數(shù)據(jù)的連接直接通過瀏覽器實(shí)現(xiàn)。但是,瀏覽器卻隱藏在NAT(網(wǎng)絡(luò)地址翻譯)和防火墻的后面,這增加了建立P2P媒體會話的難度。這些流程和協(xié)議,如ICE或Trickle ICE,STUN和TURN,在建立P2P媒體流都是必不可少的。

如何使用STUN協(xié)議建立一個P2P RTC媒體(如圖5所示),簡化版的ICE流程如下:
?

  • 1.兩個瀏覽器通過自己的公網(wǎng)IP地址,使用STUN協(xié)議信息和STUN服務(wù)器建立聯(lián)系;
  • 2.兩個瀏覽器通過SDP提供/應(yīng)答機(jī)制,使用呼叫控制信令消息交換它們已發(fā)現(xiàn)的公共IP地址(ICE候選);
  • 3.兩個瀏覽器執(zhí)行連接檢查(ICE沖孔),確保P2P可以連接;
  • 4.建立連接后,RTC媒體會話和媒體交換就可以實(shí)現(xiàn)了。
  • 5.但是,假如在一個高度限制的NAT或防火墻,這種直接的路徑將無法建立,只能到達(dá)TURN服務(wù)器。結(jié)果是媒體通過TURN服務(wù)器分程傳遞(如下圖所示)。

WebRTC的協(xié)議棧


由互聯(lián)網(wǎng)工程任務(wù)組(IETF)基于標(biāo)準(zhǔn)的可互操作的通信模型和協(xié)議棧詳細(xì)地定義了WebRTC技術(shù)(參見圖7),如下:

如前所述的信令棧,并非由WebRTC實(shí)現(xiàn)規(guī)定,而是由開發(fā)者自行決定。在這個例子中,我們將使用SIP-over-WebSocket(SIPoWS)作為信令棧。HTTP協(xié)議用于瀏覽器下載HTML5/JavaScript程序內(nèi)容;NAT棧解決P2P連接問題;媒體棧用于發(fā)送和接收RTC的音頻和視頻。

LETF標(biāo)準(zhǔn)規(guī)定G.711和Opus作為音頻/視頻解碼器。視頻解碼器尚未授權(quán),但是H.248和VP8已經(jīng)獲得授權(quán)。媒體棧也用于交換RTC數(shù)據(jù)。本例中,實(shí)時信息采用消息會話中繼協(xié)議(MSRP),實(shí)時會議采用二層控制協(xié)議(BFCP),實(shí)時文本服務(wù)采用T.140。

網(wǎng)易云信,你身邊的即時通訊和音視頻技術(shù)專家,了解我們,請戳網(wǎng)易云信官網(wǎng)

想要行業(yè)洞察和技術(shù)干貨,請關(guān)注網(wǎng)易云信博客

本文轉(zhuǎn)載自52im,作者:JackJiang

總結(jié)

以上是生活随笔為你收集整理的WebRTC实时音视频技术基础:基本架构和协议栈的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。