去年的這個時候,在市面上公開表示使用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。
\\據趙加雨介紹,實時音視頻研發涉及復雜、多樣的技術棧,對資深的人才、網絡服務資源的投入要求很高。而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的一些短板來提供服務,是當前階段切實可行的做法。