專訪趙加雨:WebRTC在網易云信的落地

去年的這個時候,在市面上公開表示使用WebRTC的公司還沒幾家,但2018年以來,宣布采用或支持WebRTC的公司已經越來越多。實時音視頻提供商網易云信也在自研的NRTC中集成了WebRTC。在他們眼里,2017年是WebRTC的轉折之年,而2018年將是WebRTC的爆發之年。InfoQ記者對網易云信CTO趙加雨進行了采訪,了解了他們對WebRTC的看法。

\\

前段時間,全球領先的技術研究和咨詢公司Technavio發布了題為“全球網絡實時通訊(WebRTC)市場,2017-2021”的報告。報告顯示,2017-2021年期間,全球網絡實時通信(WebRTC)市場將以34.37%的年均復合增長率增長,增長十分迅速。增長主要來自北美、歐洲及亞太地區。

\\

這個市場增速如此快,其主要驅動因素之一就是對支持WebRTC的設備的需求不斷增長。全球WebRTC市場正在快速增長,主要因為對實時通信的需求越來越高以及WebRTC設備數量的增加。通過互聯網視頻和語音通話功能的高需求,而不需要下載插件,這推動了市場的增長。

\\

一些網絡瀏覽器(如Chrome、Opera和Firefox)在已在手機,電腦,智能電視和平板電腦等設備中支持WebRTC。2014年,超過10億臺設備支持WebRTC。到2016年底,數量增加到40億。并且,截至2016年底,已有超過15億活躍的WebRTC用戶。WebRTC支持設備數量的上升是WebRTC市場日益增長的明顯指標。

\\

2017年11月,WebRTC 1.0標準草案發布,同年至少有上千個WebRTC項目啟動,國內國外很多大公司開始投入人力做這個方向。

\\

網易云信對WebRTC的支持

\\

網易云信是網易在云計算里面很重要的一塊業務。趙加雨說,云計算發展到現在,基礎的云服務已經不再是客戶的剛需,或者說不再是客戶的一個痛點了,云必須深入到場景中去提供更加定制化的服務。網易云信提供的是場景化的、PaaS層的云服務,包括通信能力和視頻能力。其中最為代表性的技術就是他們自研的音視頻框架NRTC。

\\

NRTC是在網易內部杭州研究院孵化的,本身是為整個網易集團提供音視頻相關的基礎技術能力,服務的產品包括網易新聞、網易云音樂以及網易游戲等。2016年9月,網易將其開放并作為標準能力向外提供服務。2017年,NRTC開始支持WebRTC。

\\

8c89c218269f6b854fd62ce6f7379c6b.png

\\

據趙加雨介紹,實時音視頻研發涉及復雜、多樣的技術棧,對資深的人才、網絡服務資源的投入要求很高。而WebRTC為Web端的實時音視頻研發提供了功能強大的技術支持,這也是他們選擇支持WebRTC的原因。

\\
  • 首先,WebRTC技術內置于瀏覽器中,用戶不需要任何插件或者軟件就能直接通過瀏覽器來實現實時通信。對于開發者來說,在Google將WebRTC開源之前,開發瀏覽器之間實現通信技術是一個很困難的任務。現在,開發者使用簡單的HTML標簽和JavaScript API就能夠實現Web端的音視頻通信功能。\\t
  • 主流瀏覽器對WebRTC技術的支持,以及WebRTC1.0標準的技術落地讓這項技術更加的成熟,WebRTC也集成了比較先進的音視頻引擎和codec。由于是開源的技術,開發成本也相對較低。\\t
  • WebRTC具有強大的打洞能力。WebRTC技術包含了使用STUN、ICE、TURN、RTP-over-TCP的關鍵NAT和防火墻穿透技術,并支持代理。 但是,作為一項開源技術以及實驗室級別的產品,WebRTC開發者依然需要基于實際應用場景和具體的業務需求,做技術難度較高的二次開發,以尋求更完善、靈活的實時通信功能的實現。所以,市場仍然需要基于WebRTC的功能更齊全、開發更便捷的工業級的實時音視頻解決方案。\

接入WebRTC,對NRTC提供的幫助包括:

\\
  • 應用層面:WebRTC補充了NRTC在Web端的接入能力,NRTC可以通過WebRTC網關實現Web端實時音視頻的功能。同時,WebRTC 還擴大了NRTC的使用場景,讓NRTC在教育、醫療等領域得到了更加廣泛的開發和應用。\\t
  • 技術層面:WebRTC是一個開源的音視頻技術框架,使用了很多標準協議和方案,對于私有協議NRTC來說是一個互補。隨著WebRTC的廣泛應用,也促進了開發者對NRTC的關注和使用需求。\

網易云信對WebRTC的改進

\\

如果僅僅是基于現有的WebRTC,自己寫一些JavaScript來實現簡單的音視頻會話,那么難度沒有那么高,但是要想實現一個工業級的應用,其實難度是非常高的,因為它基于瀏覽器,而WebRTC本身只提供了一個Web端的接入能力,是沒有服務端的。目前很多基于WebRTC提供能力的廠商,研發都集中在WebRTC網關及服務端能力的建設。

\\

另外WebRTC整個抗丟包都是基于Peer to Peer場景下的優化,它不一定適合企業的應用場景。

\\

第三個就是它只是一個很基本的Web端的音視頻的通話,它沒有其他的服務,包括像錄制和其他云端的服務。

\\

NRTC的WebRTC里面支持了Web的接入同時做了很多優化,包括抗丟包、音頻的優化,這樣比純粹的基于WebRTC構建一個簡單的應用能夠實現的效果要好很多。另外,NRTC通過提供云端的錄制、云端的推流,來實現互動直播。

\\

改造的技術細節,網易云信資深架構師吳桐在前不久線下分享過《精析網易NRTC的WebRTC網關服務器技術架構》,可以進一步了解。關注“前端之巔”公眾號,回復WebRTC獲取PPT。

\\

WebRTC未來展望

\\

最后在談到WebRTC的未來的時候,趙加雨表示,我們要看到,在現在的這個時間點,WebRTC仍然處于大規模應用的早期:

\\
  • 一方面,WebRTC的codec等正在演進,如AV1/VP9等,它們也在近一年來取得了極大的進展,但尚未投入到實際應用當中。\\t
  • 另一方面,部分瀏覽器對WebRTC的實現還非常粗糙,包括移動端的瀏覽器,需要持續的完善。\\t
  • 最后,網絡要支持WebRTC的QUIC協議需要進化,部分新型的實時網絡架構如SD-RTN等需要時間來完善和普及。\

因此WebRTC的未來是光明的,但當前仍然處于過渡階段,這也是NRTC接入WebRTC的原因,通過彌補WebRTC的一些短板來提供服務,是當前階段切實可行的做法。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/390354.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/390354.shtml
英文地址,請注明出處:http://en.pswp.cn/news/390354.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

html/css雜題

1、css選擇器:詳細(http://www.ruanyifeng.com/blog/2009/03/css_selectors.html) 派生選擇器:按標簽 類別選擇器:按class ID選擇器:按ID 通用選擇器:* 匹配所有 屬性選擇器:按屬性&…

黑客馬拉松 招募_我如何贏得第一次黑客馬拉松-研究,設計和編碼的2個狂野日子

黑客馬拉松 招募I had no coding or engineering background. I studied biology in college, with no clue about what to do with my degree. 我沒有編碼或工程背景。 我在大學學習生物學,但不知道如何處理我的學位。 My first jobs were making cold calls in s…

1、Linux命令隨筆

1 Linux命令總結2 3 man 命令幫助;4 help 命令的幫助(bash的內置命令);5 ls list,查看目錄列表;6 -ld:查看目錄權限;7 -l:(long)長格式顯示屬性;8 -F:給不同的文件類型結尾加標識9 -p:給目錄加斜線10 …

1137. 第 N 個泰波那契數

泰波那契序列 Tn 定義如下: T0 0, T1 1, T2 1, 且在 n > 0 的條件下 Tn3 Tn Tn1 Tn2 給你整數 n,請返回第 n 個泰波那契數 Tn 的值。 示例 1: 輸入:n 4 輸出:4 解釋: T_3 0 1 1 2 T_4 1…

web圖像_Web圖像優化的基本介紹

web圖像Images are an essential ingredient of most websites. The visual quality of pictures has a direct impact on the brand image and the message those images convey. And the weight of images usually accounts for a 40-60% of the data transferred on the web…

ElasticSearch客戶端注解使用介紹

The best elasticsearch highlevel java rest api-----bboss 1.ElasticSearch客戶端bboss提供了一系列注解 ESId 用于標識實體對象中作為docid的屬性,該注解只有一個persistent 布爾值屬性,用于控制被本注解標注的字段屬性是否作為普通文檔屬性保存&am…

5827. 檢查操作是否合法

給你一個下標從 0 開始的 8 x 8 網格 board ,其中 board[r][c] 表示游戲棋盤上的格子 (r, c) 。棋盤上空格用 ‘.’ 表示,白色格子用 ‘W’ 表示,黑色格子用 ‘B’ 表示。 游戲中每次操作步驟為:選擇一個空格子,將它變…

團隊的遠程管理_遠程團隊指南:如何管理您的遠程軟件開發團隊

團隊的遠程管理Guides to help you work remotely seem to have swept through the Internet these days. 這些天來,幫助您遠程工作的指南似乎席卷了Internet。 Do this, avoid that, stay productive, and all those run-of-the-mill tips we’ve already tried o…

JS 正則 錢

function ValidateIsDecial(sValue) {return (!sValue && !!!sValue && /^[0-9]{1,10}(\.[0-9]{0,2})?$/.test(sValue)); };驗證 decimal(12,2) 小數點前允許10位,小數點后允許2位 1234567890 true 12345678901 false 0123456789 true 01234567891 false 123.…

5193. 刪除字符使字符串變好

5193. 刪除字符使字符串變好 一個字符串如果沒有 三個連續 相同字符,那么它就是一個 好字符串 。 給你一個字符串 s ,請你從 s 刪除 最少 的字符,使它變成一個 好字符串 。 請你返回刪除后的字符串。題目數據保證答案總是 唯一的 。 示例 …

2020計算機頂級大會_2020年頂級遠程調試工具

2020計算機頂級大會When it comes to debugging, the tool you use is extremely important and can determine how easy is is to fix problems within your code. 在調試方面,您使用的工具非常重要,可以確定在代碼中修復問題的難易程度。 In the earl…

BZOJ5292 洛谷4457 LOJ2513:[BJOI2018]治療之雨——題解

https://www.lydsy.com/JudgeOnline/problem.php?id5292 https://www.luogu.org/problemnew/show/P4457 https://loj.ac/problem/2513 你現在有m1個數:第一個為p,最小值為0,最大值為n;剩下m個都是無窮,沒有最小值或最…

PHP--------微信網頁開發實現微信掃碼功能

今天說說微商城項目中用到的掃一掃這個功能,分享一下,希望對各位有所幫助。 前提:要有公眾號,和通過微信認證,綁定域名,得到相應信息,appid,appsecret等。 微信開發文檔:…

313. 超級丑數

超級丑數 是一個正整數,并滿足其所有質因數都出現在質數數組 primes 中。 給你一個整數 n 和一個整數數組 primes ,返回第 n 個 超級丑數 。 題目數據保證第 n 個 超級丑數 在 32-bit 帶符號整數范圍內。 示例 1: 輸入:n 12,…

初創公司股本結構_我如何向初創公司的開發團隊添加一些結構-以及從過程中學到的東西

初創公司股本結構Until recently, Id spent the last 4 years of my career at FinTech start-ups. Id always worked for smaller companies, and being at a start-up was the next logical step in looking for roles where I could make the biggest difference. 直到最近…

拿什么拯救你,我的面試之——從零打卡刷Leetcode(No.003)

寫在前邊:小詹一直覺得自己編程能力不強,想在網上刷題,又怕不能堅持。不知道有木有和小伙伴和小詹一樣想找個人一起刷題呢?歡迎和小詹一起定期刷leetcode,每周一周五更新一題,每一題都吃透,歡迎…

146. LRU 緩存機制

146. LRU 緩存機制 運用你所掌握的數據結構,設計和實現一個 LRU (最近最少使用) 緩存機制 。 實現 LRUCache 類: LRUCache(int capacity) 以正整數作為容量 capacity 初始化 LRU 緩存 int get(int key) 如果關鍵字 key 存在于緩存中,則返回…

[SQL] 請教一下 count里面有case when 一般情況下啥時候用

http://www.itpub.net/forum.php?modviewthread&tid1810967 問題: 比如 count(case when pday_id${deal_date} then 1 end) 我有點想不明白具體什么情況下count() 這個小括號里面還要用case when 大家做BI統計的時候一般什么情況用啊 還有個…

路由器架設虛擬服務器讓外網訪問到本地網站

確定電腦與路由器正確連接,并且已連至互聯網。在地址欄中輸入192.168.0.1回車,輸入用戶名密碼,進入路由器主界面。 然后點擊左側菜單中的“虛擬服務器”,——“端口段映射”打開“端口段映射”界面。 由于網站用的是80端口&#x…

vue項目示例代碼git_您應該了解的5個Git命令以及代碼示例

vue項目示例代碼gitIve used Git for some years now, and I still find myself googling how to do some basic tasks. So this article is my attempt to learn how to do some of these things by writing about them. And even if I still forget, at least Ill have a ref…