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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

WebRTC通话原理

發布時間:2024/4/11 编程问答 92 豆豆
生活随笔 收集整理的這篇文章主要介紹了 WebRTC通话原理 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

WebRTC通話原理


目錄

  • 媒體協商-音視頻編解碼
  • 網絡協商
  • STUN
  • TURN
  • 媒體協商+網絡協商 數據的交換通道
  • WebRTC API
  • 一對一通話

  • 1. 媒體協商-音視頻編解碼

  • 比如: Peer-A端可支持VP8、 H264多種編碼格式,而Peer-B端支持VP9、 H264,要保證二端都正確的編解碼,最簡單的辦法就是取它們的交集H264
  • 有一個專門的協議 ,稱為Session Description Protocol (SDP),可用于描述上述這類信息,在WebRTC中,參與視頻通訊的雙方必須先交換SDP信息,這樣雙方才能知根知底,而交換SDP的過程,也稱為"媒體協商"。

  • 2. 網絡協商

  • 彼此要了解對方的網絡情況,這樣才有可能找到一條相互通訊的鏈路
  • 理想的網絡情況是每個瀏覽器的電腦都是私有公網IP,可以直接進行點對點連接
  • 實際情況是:我們的電腦和電腦之間或大或小都是在某個局域網中, 需要NAT(Network Address Translation,網絡地址轉換)

  • 1. STUN

  • STUN(Session Traversal Utilities for NAT, NAT會話穿越應用程序)是一種網絡協議,它允許位于NAT(或多重NAT) 后的客戶端找出自己的公網地址(ip+port),查出自己位于哪種類型的NAT之后以及NAT為某一個本地端口所綁定的Internet端端口。
  • 使用一句話說明STUN做的事情就是:告訴我你的公網IP地址+端口是什么。
  • 問題是: STUN并不是每次都能成功的為需要NAT的通話設備分配IP地址的, P2P在傳輸媒體流時,使用的本地帶寬,在多人視頻通話的過程中,通話質量的好壞往往需要根據使用者本地的帶寬確定。
  • TURN可以很好的解決這個問題。

  • 2. TURN

  • TURN的全稱為Traversal Using Relays around NAT,是STUN/RFC5389的一個拓展,主要添加了Relay功能。如果終端在NAT之后, 那么在特定的情景下,有可能使得終端無法和其對等端(peer)進行直接的通信,這時就需要公網的服務器作為一個中繼,對來往的數據進行轉發
  • 在STUN分配公網IP失敗后,可以通過TURN服務器請求公網IP地址作為中繼地址。這種方式的帶寬由服務器端承擔,在多人視頻聊天的時候,本地帶寬壓力較小。
  • 以上是WebRTC中經常用到的2個協議, STUN和TURN服務器我們使用coturn開源項目來搭建
  • ICE( Interactive Connectivity Establishment,交互式連接建立)
  • 跟STUN和TURN不一樣, ICE不是一種協議,而是一個框架(Framework),它整合了STUN和TURN。 coturn開源項目集成了STUN(打洞)和TURN(中繼)的功能。
  • 網絡信息:放在 candidate

  • 3. 媒體協商+網絡協商 數據的交換通道

  • 從上面我們知道了2個客戶端協商媒體信息(SDP)和網絡信息(candidate),那怎么去交換?是不是需要一個中間商去做交換?所以我們需要一個信令服務器(Signal server)(房間服務器)轉發彼此的媒體信息和網絡信息。
  • 訪問到的局域網,借助信令服務器,就可以實現上面提到的SDP媒體信息及Candidate網絡信息交換。
  • 信令服務器不只是交換 媒體信息sdp和網絡信息candidate,比如:
  • 房間管理
  • 人員進出房間

  • 4. WebRTC API

  • MediaStream : MediaStream用來表示一個媒體數據流(通過getUserMedia接口獲取),允許你訪問輸入設備,如麥克風和 Web攝像機,該 API 允許從其中任意一個獲取媒體流。
  • RTCPeerConnection : RTCPeerConnection 對象允許用戶在兩個瀏覽器之間直接通訊 ,你可以通過網絡將捕獲的音頻和視頻流實時發送到另一個 WebRTC端點。使用這些 Api,你可以在本地機器和遠程對等點之間創建連接。它提供了連接到遠程對等點、維護和監視連接以及在不再需要連接時關閉連接的方法。

  • 5. 一對一通話

    超強干貨來襲 云風專訪:近40年碼齡,通宵達旦的技術人生

    總結

    以上是生活随笔為你收集整理的WebRTC通话原理的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 亚洲五月花 | 日韩欧美一区二区视频 | 色综合av | 国产在线视频第一页 | 蜜桃在线一区二区三区 | 亚洲成av人片一区二区梦乃 | 国精产品一品二品国精品69xx | 韩国无码一区二区三区精品 | 色婷婷香蕉在线一区二区 | 97自拍偷拍 | 成年人网站免费视频 | 男人女人拔萝卜视频 | 久久精品国产亚洲AV成人雅虎 | 国产91免费在线观看 | 成人自拍在线 | 精品国产乱码久久久久久久软件 | 亚洲精品色图 | 激情综合av | 色偷偷中文字幕 | 成人在线超碰 | 在哪里看毛片 | 涩涩资源网 | av先锋资源网 | 精品视频一区二区三区在线观看 | 91水蜜桃 | 97久久精品视频 | av男人网| 97性视频 | 日本少妇在线观看 | 一区二区免费在线观看视频 | 亚洲视频在线观看网站 | 婷婷91| 亚洲成年人在线观看 | 国产精品视频在线看 | 羞羞动漫在线观看 | 在线播放小视频 | 在线播放亚洲 | 三级黄网 | 日韩中文一区二区三区 | 美丽的小蜜桃2:美丽人生 | 精品人妻少妇AV无码专区 | 婷婷激情综合网 | 日本精品一区二区三区四区的功能 | 香蕉网在线观看 | 久久久久一区二区精码av少妇 | 在线观看日本一区 | 欧美国产视频 | 亚洲字幕av| 精品视频99 | 九色麻豆 | 在线观看免费视频国产 | 国产免费一区视频观看免费 | 亚洲熟女乱色综合亚洲av | 虫族全黄h全肉污文 | 亚洲黄色免费 | 狠狠亚洲 | 四虎影院黄色 | 91搞| 久久久国产精品无码 | 欧美精品v国产精品v日韩精品 | 国产精品视频在线播放 | 国产精品福利一区 | 久久性片 | 亚洲精品视频免费观看 | 国产又粗又长又大视频 | 无码人妻精品一区二区三区66 | 国产av国片偷人妻麻豆 | 九九热这里有精品视频 | 国产日韩欧美综合 | 射黄视频 | 天天操天天爱天天干 | 中国女人性猛交 | 高清视频一区二区三区 | 国产91丝袜在线18 | 青青在线视频观看 | 欧美久久一区二区三区 | 影音先锋中文字幕一区二区 | 天天曰天天干 | 激情综合色| 性欧美极品 | 精品人妻互换一区二区三区 | 一本色道av | 一区二区在线观看av | 色爱AV综合网国产精品 | 亚洲欧美不卡 | 久久国产精品-国产精品 | 欧美国产精品一区 | jizz另类| 日韩www视频| 欧美日a| 91禁蘑菇在线看 | 成人深夜在线观看 | 男人操女人免费 | 伊人激情| 天天影视插插插 | 亚洲美女色视频 | 日韩操 | 熟妇一区二区三区 | 亚洲欧美一区二区三区情侣bbw |