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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

WebRTC诞生记

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

今年1月份, W3C和IETF正式宣布, WebRTC現已成為官方標準,這意味著它可以將音頻和視頻通信帶到 Web 的任何地方,實現真正意義上的全球互聯。

?

2020年的疫情使數百萬人改變了他們的日常生活和工作方式,為了減少身體接觸,越來越多的人使用音視頻實時通信(如直播互動、在線教育、視頻會議,在線問診等),而這些不同應用場景背后的核心技術就是WebRTC,一個通過簡單的API為瀏覽器和移動App提供實時通信功能的免費開源項目。

?

距離谷歌正式開源WebRTC實時通信項目,已經有10年時間,這10年中,WebRTC的重要性日益凸顯,應用場景也越來越廣泛。那么10年以前呢?WebRTC是怎樣開發出來的?開發過程中遇到了哪些挑戰?背后又有哪些幕后英雄?

?

接下來讓曾參與過WebRTC開發工作,目前為谷歌產品管理總監的Serge Lachapelle 來為我們講述WebRTC的誕生過程。

Serge Lachapelle,谷歌產品管理總監,Marratech聯合創始人


從事WebRTC開發工作的原因

?

從大學開始,我就對通信軟件開發非常感興趣。90年代,開始出現nv(Network Video,早期視頻會議)這樣的技術,但是卻很難使用。所以我開發了一個項目,可以讓人們從瀏覽器上直接加入視頻通話,我還把它移植到了Windows上。

?

我把這個項目帶到了Marratech(一家由我和其他人一起創立的公司)。我和那里的同事一起為群組視頻會議開發軟件。那個時候的技術環境和現在大不一樣,視頻方面的前沿技術主要基于組播網絡。在一次通話中,用戶可以通過網絡將視頻包發送給所有人,這同時也意味著我們的服務器會非常簡單。但這里有一個很大的問題,我們需要為視頻包設計可以容納它的網絡。所以我們后來就棄用了這種方法,而采用了包轉發的模式,也就是后來被人們熟知的SFU。

?

2007年,我的公司Marratech被谷歌收購,我在谷歌繼續從事視頻通信的相關工作,而這些工作對日后的WebRTC產生了一定影響。

第一個谷歌項目

?

當時的團隊(即未來的WebRTC團隊)做的第一個項目就是Gmail Voice和Video Chat。將音頻和視頻加入到瀏覽器中絕非是一件容易的事情。我們需要從不同公司獲得不同的專業組件,而這一切都要獲得對方公司的許可,如來自GIPS的音頻,Vidyo的視頻,libjingle的網絡。接下來就是奇跡的發生:把它們組裝到一起!

?

每個子系統都有一個完全不同的API,所以你要去解決不同的問題。在這個過程中,你要用到多種領域的知識,如網絡、密碼學、媒體等等。承擔這項工作的是 Justin Uberti ,他將所有的這些組件組裝到一起,做出了一件非常有用的產品。

?Justin Uberti,WebRTC和Google Duo創造者之一,前段時間剛剛離開了工作近15年的谷歌,目前為Clubhouse流媒體技術負責人

瀏覽器中的實時渲染也是一個大難題。我們不得不用到NPAPI(Netscape Plugin API,網景插件接口),并下了一番苦工才讓它實現。整個過程雖然艱難,但卻對日后的WebRTC影響深遠。

Chrome?

同一時期,Chrome項目也在谷歌內部開啟。當時大家都非常激動,因為這個項目將會實現很多重大的目標。當時大家經常討論的話題還有WebGL、離線Web技術、數據庫性能,游戲的低延時輸入等等。

?

放棄使用NPAPI是當時做的很重要的一件事。NPAPI雖然很強大,但卻帶來了很多安全問題。Chrome中使用了沙盒設計來確保用戶數據安全。不同進程中,存在很多有安全隱患的操作,在這種設計下,即使出現問題,攻擊者也無法獲取用戶數據。

WebRTC誕生了!

在我看來,促成WebRTC誕生的因素有好幾個,正是在它們的一起作用下,才有了今天的WebRTC。

WebRTC的開發難度不應如此之大。不同的開發人員去重新實現同一個東西,導致浪費了太多的時間和精力。我們應該一次性解決這些麻煩的集成問題,然后專注于其他工作。

?

人與人之間的交流應該是開放且不受阻礙的。我的實時語音和圖像為什么不能像文本和 HTML 那樣開放出來?

最需要解決的是安全問題。對于用戶來說,使用NPAPI存在安全隱患,并不是最佳選擇。這也使得默認是安全的網絡協議應運而生。

為了實現WebRTC,Google收購并開源了我們之前用到的組件,比如On2的視頻技術,GIPS的RTC技術(我曾負責GIPS的收購)。我們需要將這些組件組合到一起,使它可以在瀏覽器內、外都能易于使用。

標準化工作

標準化WebRTC是我們一直都想做的事情,但我和團隊成員之前都沒有做過這方面的工作。非常幸運的是,Harald Alvestrand在谷歌!他曾經在IETF工作過,所以就由他接手了WebRTC的標準化工作。

Harald Alvestrand,計算機科學家,目前任職于谷歌,自1991年以來,他一直通過IETF積極參與互聯網標準化工作

我記得是2010年的一個夏天,當時在Maastricht有一個非正式的午餐會。很多公司(包括谷歌、思科、愛立信、Skype、Mozilla、Linden Labs等)的開發者齊聚一堂,討論WebRTC應該是什么樣子的。你可以在rtc-web.alvestrand.com上找到當時現場的PPT。

Skype對IETF設計的Opus所做的貢獻同樣為WebRTC的實現提供了重要的指南。

?

站在巨人的肩膀上

在IETF時,你需要做許多擴展工作。而開發WebRTC卻很幸運,因為很多技術已經存在,所以我們不必事事親為地去解決問題。但如果你不喜歡這些已存在的技術,就會很麻煩。摒棄這些已有的技術需要一個相當充分的理由,開發你自己的技術顯然并不是明智之舉。

?

我們沒有試圖去再標準化諸如信令這樣的東西,這些通過SIP和其他非IETF的方式已得到解決。

?

我沒有像Justin 和Harald那樣投入到標準化工作中去,但是我很享受參與WebRTC開發的過程。那個時候,我對于能夠回來為用戶開發新的產品感到非常興奮。

未來

WebRTC今時今日的地位已經非常重要。它還在不斷地迭代中,但我已經不再參與其中的工作了。

我非常高興看到云計算給通信帶來的進步。使用高級算法可以消除背景噪音,使以前無法實現的通信成為可能。我們看到,WebRTC已經不再限于通信。當時誰能知道,9年以后,它能用在基于云的游戲上呢?沒有WebRTC,這一切都不可能。

Serge Lachapelle ??谷歌產品管理總監,從事視頻通信工作超過20年時間,曾是視頻會議軟件公司Marratech 的聯合創始人,該公司后被谷歌收購,Serge Lachapelle隨后加入谷歌。在谷歌,Serge Lachapelle啟動了很多重要的視頻會話項目,包括 Gmail Video Chat, Google Hangouts, WebRTC, Google Duo, 和Google Meet等。

延伸閱讀:W3C與IETF共同定義WebRTC未來6大應用方向


?

翻譯?/Alex Li

技術Review:劉連響

原文鏈接:https://webrtcforthecurious.com/docs/10-history-of-webrtc/#webrtc


?

詳情請掃描圖中的二維碼或點擊閱讀原文了解大會更多信息。

總結

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

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