自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

5分鐘了解WebRTC應(yīng)用開(kāi)發(fā)

譯文
開(kāi)發(fā) 開(kāi)發(fā)工具
WebRTC的主要重點(diǎn)是提供參與者之間的實(shí)時(shí)音頻和視頻通信,參與者使用Web瀏覽器開(kāi)始對(duì)話,彼此定位并繞過(guò)防火墻。

【51CTO.com快譯】簡(jiǎn)單地說(shuō),WebRTC是一種在瀏覽器和移動(dòng)應(yīng)用程序之間提供點(diǎn)對(duì)點(diǎn)通信的技術(shù)。它被稱為網(wǎng)絡(luò)實(shí)時(shí)通信,是指開(kāi)源項(xiàng)目,允許音頻、視頻和數(shù)據(jù)的傳輸。

對(duì)于WebRTC開(kāi)發(fā)人員來(lái)說(shuō)這是一項(xiàng)簡(jiǎn)單而復(fù)雜的技術(shù)。簡(jiǎn)單性的本質(zhì)歸結(jié)為易于實(shí)現(xiàn)??梢允褂?到10行代碼來(lái)組織兩個(gè)瀏覽器之間的點(diǎn)對(duì)點(diǎn)視頻通信。

不過(guò),當(dāng)我們與技術(shù)打交道時(shí),總是會(huì)有一個(gè)“但是”。因?yàn)樽鳛楹蠖碎_(kāi)發(fā)人員必須確保解決方案在不同的網(wǎng)絡(luò)中工作。

什么是WebRTC?

作為谷歌于2011年發(fā)布的一個(gè)開(kāi)源項(xiàng)目,WebRTC提供了基于API的web瀏覽器和移動(dòng)應(yīng)用程序之間的通信,包括音頻、視頻和數(shù)據(jù)的傳輸。消除了對(duì)本地插件和應(yīng)用程序安裝的需求,使這些連接變得更加友好,并得到了所有主要瀏覽器和移動(dòng)操作系統(tǒng)的支持。

在過(guò)去的幾年中,WebRTC在科技界被廣泛采用。Facebook,Amazon和Google都是實(shí)施WebRTC來(lái)使其Web應(yīng)用程序更快,更可靠,更安全的重要技術(shù)公司。

WebRTC特性也提供了現(xiàn)成的解決方案,可以很容易地與其他軟件集成。

正如前面提到的,WebRTC的關(guān)鍵特征是它是一種簡(jiǎn)單而復(fù)雜的技術(shù)。簡(jiǎn)單性的本質(zhì)歸結(jié)為易于實(shí)現(xiàn),只需5到10行代碼就可以組織兩個(gè)瀏覽器之間的點(diǎn)對(duì)點(diǎn)視頻通信。該技術(shù)的復(fù)雜性與WebRTC的特殊性有關(guān),它必須適應(yīng)不同的瀏覽器,如果不能正確工作,則很難進(jìn)行配置。此外,為了獲得所需的結(jié)果,也應(yīng)該了解STUN、TURN和NAT。

STUN是一套標(biāo)準(zhǔn)化的方法,包括一種網(wǎng)絡(luò)協(xié)議,用于在實(shí)時(shí)語(yǔ)音、視頻、消息和其他交互式通信應(yīng)用中穿越網(wǎng)絡(luò)地址轉(zhuǎn)換(NAT)網(wǎng)關(guān)。

當(dāng)我們需要連接兩個(gè)沒(méi)有外部IP地址的瀏覽器時(shí),必須使用STUN。兩者都連接到服務(wù)器并找出其IP。瀏覽器交換它們相互關(guān)聯(lián)的端口。

TURN做了幾乎相同的事情。它通過(guò)自身發(fā)送流量。這個(gè)流量沒(méi)有以任何方式被修改或改變。這種方法允許我們?cè)赥CP(比UDP更可靠但更慢的協(xié)議)上工作時(shí)連接兩點(diǎn)。值得注意的是,大約15%的呼叫沒(méi)有TURN就不能發(fā)出。

現(xiàn)在,你已經(jīng)對(duì)WebRTC這項(xiàng)技術(shù)有了一些了解。此外,我們將概述該技術(shù)的優(yōu)缺點(diǎn),WebRTC解決方案的例子,以及高要求的WebRTC應(yīng)用程序。默認(rèn)情況下,這些應(yīng)用程序基于點(diǎn)對(duì)點(diǎn)通信。如果我們需要組織群呼和直播,就必須使用作為協(xié)議客戶端的服務(wù)器。

WebRTC如何工作?

WebRTC的主要重點(diǎn)是提供參與者之間的實(shí)時(shí)音頻和視頻通信,參與者使用Web瀏覽器開(kāi)始對(duì)話,彼此定位并繞過(guò)防火墻。

WebRTC利用嵌入在瀏覽器中的JavaScript API和HTML5。WebRTC應(yīng)用程序的典型功能如下:

  • 發(fā)送和接收流音頻和視頻。
  • 檢索使用WebRTC API向其他客戶端發(fā)送和接收數(shù)據(jù)所需的網(wǎng)絡(luò)配置數(shù)據(jù),例如IP地址,應(yīng)用程序端口,防火墻和NAT(網(wǎng)絡(luò)地址轉(zhuǎn)換器)
  • 打開(kāi)/關(guān)閉連接并報(bào)告錯(cuò)誤。
  • 傳輸媒體數(shù)據(jù),例如圖像分辨率和視頻編解碼器

??

為了發(fā)送和接收數(shù)據(jù)流,WebRTC提供了以下可在Web應(yīng)用程序中使用的API:

  • RTCPeerConnection用于音頻和視頻傳輸,加密和帶寬配置
  • RTCDataChannel用于傳輸通用數(shù)據(jù)
  • MediaStream,用于從數(shù)碼相機(jī),網(wǎng)絡(luò)攝像頭,麥克風(fēng)或共享桌面等設(shè)備訪問(wèn)多媒體數(shù)據(jù)流

Internet工程任務(wù)組和Web實(shí)時(shí)通信工作組目前正在開(kāi)發(fā)一套在軟件中使用WebRTC的標(biāo)準(zhǔn)。

WebRTC技術(shù)的優(yōu)缺點(diǎn)

WebRTC的主要優(yōu)點(diǎn)是:

  1. 有適用于所有平臺(tái)的實(shí)現(xiàn)。
  2. 使用現(xiàn)代音頻和視頻編解碼器可促進(jìn)高質(zhì)量的通信。
  3. 安全和加密的DTLS和SRTP連接。
  4. 有一個(gè)內(nèi)置的內(nèi)容獲取機(jī)制(桌面共享)。
  5. P2P =端到端加密。
  6. 瀏覽器直接同意。
  7. 基于HTML5和JavaScript實(shí)現(xiàn)管理界面的靈活性。
  8. 開(kāi)源。
  9. 多功能性:只要瀏覽器支持WebRTC,基于標(biāo)準(zhǔn)的應(yīng)用程序就可以在任何OS上正常運(yùn)行。

WebRTC的條件缺點(diǎn)是其維護(hù)費(fèi)用高,這與需要強(qiáng)大的服務(wù)器有關(guān)。。

正如文章中已經(jīng)提到的,Web實(shí)時(shí)通信的基礎(chǔ)是視頻聊天。包括音頻和視頻通話、數(shù)據(jù)共享在內(nèi)的服務(wù)是WebRTC技術(shù)的主要應(yīng)用類型,最著名的例子是WhatsApp、谷歌Hangouts和Facebook Messenger。但是如果我們把所有的業(yè)務(wù)案例和WebRTC的例子拼湊在一起,我們會(huì)發(fā)現(xiàn)有很多使用領(lǐng)域。

該技術(shù)在遠(yuǎn)程醫(yī)療、監(jiān)控和遠(yuǎn)程監(jiān)控、在線教育、物聯(lián)網(wǎng)、虛擬現(xiàn)實(shí)游戲、流媒體、語(yǔ)音通信網(wǎng)絡(luò)游戲、應(yīng)急響應(yīng)等方面都有很高的要求。

WebRTC的未來(lái):趨勢(shì)和預(yù)測(cè)

根據(jù)市場(chǎng)研究報(bào)告,到2026年,全球WebRTC市場(chǎng)規(guī)模預(yù)計(jì)將達(dá)到165.705億美元。讓我們回顧一下,2016年使用WebRTC的產(chǎn)品的全球市場(chǎng)價(jià)值為107億美元。WebRTC的轉(zhuǎn)折點(diǎn)出現(xiàn)在2017年,當(dāng)時(shí)微軟Edge和iOS Safari 11開(kāi)始支持它。

目前,谷歌致力于網(wǎng)絡(luò)實(shí)時(shí)通信的發(fā)展。因此,WebRTC的未來(lái)是很有前景的。通過(guò)評(píng)估谷歌在該技術(shù)上的投資,很容易驗(yàn)證這一點(diǎn)。所有這些都針對(duì)代碼優(yōu)化以及功能集的擴(kuò)展或改進(jìn)。

2021-2022年與WebRTC相關(guān)的主要趨勢(shì)是:

  1. 作為W3C標(biāo)準(zhǔn)的WebRTC將迅速發(fā)展。
  2. WebRTC提供的會(huì)議規(guī)模將會(huì)增加,這將影響解決方案的復(fù)雜性。值得注意的是,會(huì)議中有1000個(gè)用戶是一個(gè)真正的挑戰(zhàn),需要新的架構(gòu)。
  3. 其他的工具,如背景模糊和噪聲抑制之類已經(jīng)開(kāi)發(fā),并將在未來(lái)改進(jìn),并且這些工具與Chrome中的WebRTC實(shí)施相關(guān)。
  4. 與用戶隱私和應(yīng)用程序安全相關(guān)的大量活動(dòng)將被完成。
  5. VP9和AV1編解碼器將實(shí)現(xiàn)現(xiàn)代化。

WebRTC的未來(lái)與新市場(chǎng)中出現(xiàn)的技術(shù)有關(guān)。而且,只要WebRTC是W3C標(biāo)準(zhǔn),任何人都可以影響其發(fā)展,這意味著廣闊的前景。 

【51CTO譯稿,合作站點(diǎn)轉(zhuǎn)載請(qǐng)注明原文譯者和出處為51CTO.com】


責(zé)任編輯:黃顯東 來(lái)源: hackernoon.com
相關(guān)推薦

2012-06-28 10:26:51

Silverlight

2021-01-27 18:15:01

Docker底層宿主機(jī)

2011-07-11 09:58:52

2021-01-06 05:23:15

ServiceMesh網(wǎng)絡(luò)阿帕網(wǎng)

2015-01-05 09:35:54

云計(jì)算應(yīng)用程序開(kāi)發(fā)

2018-05-06 16:26:03

關(guān)聯(lián)規(guī)則數(shù)據(jù)分析關(guān)聯(lián)規(guī)則推薦

2018-03-12 21:31:24

區(qū)塊鏈

2009-11-05 14:53:54

Visual Stud

2021-10-19 07:27:08

HTTP代理網(wǎng)絡(luò)

2020-10-13 18:22:58

DevOps工具開(kāi)發(fā)

2022-12-16 09:55:50

網(wǎng)絡(luò)架構(gòu)OSI

2023-09-07 23:52:50

Flink代碼

2018-03-12 14:37:50

區(qū)塊鏈比特幣架構(gòu)

2017-07-06 08:12:02

索引查詢SQL

2018-03-23 11:56:09

相似性推薦推薦算法推薦

2022-07-18 06:16:07

單點(diǎn)登錄系統(tǒng)

2024-06-25 12:25:12

LangChain路由鏈

2009-11-09 12:55:43

WCF事務(wù)

2021-05-17 20:13:50

數(shù)倉(cāng)操作型數(shù)據(jù)庫(kù)

2021-02-03 11:20:41

Docker架構(gòu)容器
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)