NO IMAGE

640?wx_fmt=jpeg&wxfrom=5&wx_lazy=1

歷經6年長跑,WebRTC終於在去年迎來了1.0標準(candidate recommendation)的釋出,而它也將成為2018年視訊通訊商業應用場景爆發的主要技術推動力。一站式WebRTC通訊技術提供商Zealcomm公司創始人、CEO馮昶對WebRTC在國內外發展歷程、行業趨勢、技術難點和未來發展做了詳細的分析。本文是『WebRTC-網際網路音視訊新標準?』系列的第三篇,如果您對WebRTC技術的未來有分析和洞見,歡迎聯絡 [email protected]

文 / 馮昶

策劃 / LiveVideoStack

2018年有可能成為是WebRTC 大規模商用的元年。WebRTC 從谷歌2011年開源到1.0標準落地花了六年多時間 ,中間經過了一個典型的新技術早期起跑(technology trigger)— 熱炒 (peak of inflated expectation) — 失落 (trough of disillusionment) — 趨於實用 (slope of enlightenment) 的發展過程。2017年是一個轉折點,2018年我們會看到視訊通訊商業應用場景的大爆發,而WebRTC將成為主要的技術推動力。

WebRTC的前世今生

2011年5月谷歌釋出了一個瀏覽器內嵌的實時音視訊通訊工具的開源專案,它的核心音視訊技術來自谷歌此前收購的兩家公司:一家是瑞典VOIP技術公司GIPS,另一家是免版權(royalty free)的美國視訊編解碼器技術公司ON2,這就是WebRTC 的開始。通常我們所講的WebRTC標準其實由兩部分組成:一個是其核心的流媒體協議棧規範,這個工作是由IETF的RTCWEB Working Group在做;另一個是瀏覽器API的標準化,這個是由W3C來做。

WebRTC 到目前的發展過程大致可分為4個階段。第一階段是從2011年釋出到2012年,這個階段從開始一些工程師對這項新技術的好奇,到geek 圈開始動手做一些好玩的試驗專案,WebRTC在很多領域、特別是音視訊通訊技術界得到的關注迅速升溫。第二階段是2013-2014年的hype期,大家討論的話題都是WebRTC的顛覆性,在這段時期也出現了不少關於WebRTC的行業會議並且出席率都不錯,而很多WebRTC的創業公司也在這個階段成立。第三階段是2015-2016年,這個階段很有意思,一方面我們看到行業巨頭們開始進場,比如WhatsApp和Facebook messenger都開始使用WebRTC 作為核心的音視訊通訊技術;另一方面大多數WebRTC初創公司在商業模式上陷入了困境,其中的原因基本可以總結為兩點:一是技術本身商業化還不夠成熟,二是市場條件還沒到位。

2017 年,我認為是WebRTC作為可商業化技術的里程碑。這主要是源於這一年發生的幾件事:一是在11月釋出了WebRTC 1.0的標準(candidate recommendation),親自動手跟過WebRTC的開發者都會有這種體會——谷歌每一版Chrome的釋出都需要馬上修改自己的code,這其實是一件比較痛苦的事情。二是蘋果宣佈了對WebRTC的支援,至此也完成對WebRTC 的全平臺支援覆蓋。三是AOM (Alliance for Open Media) 的完善,隨著FB 和 Apple (2018)的加入,AOM已涵蓋基本所有網際網路高科技領軍企業,而AOM從設計上就支援RTC的應用場景, 保證了WebRTC和媒體編解碼技術的同步進展。

WebRTC,在國內

國內對WebRTC 的興趣應該是從2015年開始有比較快的發展。目前開發者大致分為幾個層次:最初級的是開發者使用開原始碼(客戶端)很方便的搭一個P2P的方案,這個基本是沒有商用價值的。往上一層則是一些解決方案會加入伺服器端功能,來協調多路流的傳輸和提高穩定性,在這個層面作為一個技術解決方案是可以的,團隊的音視訊技術積累決定了通話質量和穩定性的好壞,畢竟1-1好做,越多點則難度也會越大,那麼媒體伺服器就成為其中的關鍵技術,如果走公網,在網路傳輸層就需要有很多的實戰經驗。再往上則是一個平臺的產品形態,它需要支援包括管理、分析、API等等的功能,並且在整個平臺及網路的設計和運維上達到所謂的運營商級別,這就包括高可用性、可管理性、彈性擴容、安全性等等,而平臺功能的高可定製性和支援私有化部署也是相當大的需求。最上層在我看來是生態圈的層面,也就是如何在實時視訊的流量上形成一個開放的商業環境,當然這需要一個基於WebRTC的開放的平臺作為基礎。

WebRTC最佳行業實踐

有人統計過在去年年初一共有超過1000個WebRTC專案,再往前的就很難統計,主要因為會嵌入在各個應用場景中。但其實現在已經很少能聽到大家專門提到WebRTC,因為如果業務場景有音視訊通訊的需要時,它基本已經成為預設的解決方案。在視訊客服、遠端醫療、遠端控制等各垂直領域都有比較成熟的解決方案和一些專注的創業公司在開拓。而關注點也已經不再是音視訊通訊的本身,而是在已經具備音視訊通訊能力的基礎上如何提供高度場景化的客戶體驗。

那麼在WebRTC 解決了網際網路音視訊通訊的技術門檻問題後,有哪些行業能最大或者最快地體現它帶來的市場價值。目前可以看到的是,國內的網際網路尤其是移動網際網路上基於視訊互動的各種泛娛樂應用創新層出不窮,並且我相信這一領域還會繼續有令人耳目一新的實踐應用湧現出來。此外,我個人更偏向關注視訊通訊在商用場景裡的發展,這裡除了通常提到的線上教育、線上醫療都還有非常大的想象空間外,企業資訊和業務流程的智慧視訊化是一個趨勢,我也非常期待在這些領域看到不斷出現好的創新。

特別一提的是,在教育領域WebRTC目前的應用場景其實是很直白的,特別是線上教育和網上虛擬課堂都是典型的強互動性場景,也有不少方案供應商在做專門針對教育領域的通用、專用解決方案。即便如此整個教育行業機會依舊還很大,根本原因是教育資源的空間分佈的極度不均衡,它需要有一些技術手段和解決方案消除掉這種“空間障礙”,而WebRTC因其開放性和標準性,是不二的技術選擇。可以預見的是,未來隨著一些基本通訊問題的解決,隨之而來的必然是使用者體驗需求的提升——更高的視訊解析度、更低的端到端延時以及更生動的視訊畫面呈現就變得更急迫,我相信VR/AR與WebRTC結合的機會、以及基於人工智慧的多媒體呈現體驗改進將會是行業的熱點和突破點。

WebRTC與Codec

WebRTC在對主流編解碼的支援上還並不是很好,尤其對於H.265的支援,這裡其實牽涉到兩個問題。一個是傳統的主流視訊編解碼器大多是針對比較固定的應用場景設計並優化的,應用於位元速率、幀率、甚至解析度可根據網路狀況實時自適應的RTC應用場景不是很匹配;反觀VP8、VP9,包括新一代的AV1編解碼器都是在設計上就把RTC 的應用場景考慮在內了。

第二點是版權費的問題。WebRTC的宗旨就是開放和透明,為最大限度地推廣這個技術,終端使用者必須不被昂貴的編解碼版權費所限制。還記得當年穀歌花了很大力氣解決了VP8 的版權問題,其目的也是為了除去這個障礙,而我們也看到了MPEGLA很快就宣佈H.264(Baseline Profile)免費使用,思科和微軟Edge瀏覽器也宣佈了對H.264的支援,其實從某種意義上來說,WebRTC最終還是完成了實際意義上對H.264的支援。對於H.265,我猜想基於VP9和AV1的壓力,它有可能會開放免費使用,最起碼是在一些限定的應用場景,這其中很有可能就包括WebRTC。對於大家比較期待的AV1而言,目前包括谷歌、微軟、英特爾等眾多主流廠商參與制定的bitstream格式基本已經完成,因此很可能會在2018年整合到WebRTC中來。

WebRTC與QUIC

QUIC(Quick UDP Internet Connections)協議是一種全新的基於UDP的web開發協議。相比較TCP TLS,它具有時延低、效率高、靈活性強等優點。Google作為其主要開發和倡導者,已經在Chrome瀏覽器上試用多年,並取得了較好的效果。將QUIC用於實現WebRTC資料通道(data channel)是比較容易想象的,用它來做實時音視訊流媒體的傳輸則是很有創意的想法,目前還處在可行性討論的階段。

從技術角度的匹配似乎很容易可以看到,需要考慮的包括:首先QUIC本身還不是一個IETF標準,其次WebRTC 標準本身的向後相容不能被破壞,以及把控制過多曝露給上層應用是否會影響到相容性。比較安全的做法——也是目前主流的意見,是WebRTC會將通訊層做得相對獨立,在保留現有的通訊架構的基礎上增加對QUIC的支援。

WebRTC在路上

WebRTC從最初讓人激動的釋出到現在1.0的落地,花費了六年的時間。在這期間,網際網路通訊不管是從底層技術,媒體終端,還是應用場景都有很快的發展。回頭看看,WebRTC其中一些技術的選擇已經顯得有點保守了,比如其終端媒體能力描述的形式過度依賴於SDP協議,但反過來講,要想能制定一個標準就不能老是變。總體而言,能將1.0 定版就是很好的一個成就。而前面也提到,WebRTC最大的成就不在於它的核心技術比其它私有的技術構架有多麼了不起的優勢,而是在於大大降低了提供音視訊通訊功能的門檻以及互通互聯的開放性。對WebRTC 1.0以後的發展,業界已經開始有不少有意義的反思和建議,包括前面提到對QUIC的討論,以及在不破壞標準相容性的前提下如何能給開發者有更多的自由度等等。

那麼在探討它未來發展之前,我們一起看下在開發基於WebRTC的應用的過程中的主要難點,大體可以分為兩個方面:客戶端側和伺服器側。客戶端側的問題主要是非瀏覽器環境的支援,特別是在各種Android盒子和嵌入式裝置上除錯其多媒體系統,由於終端形態和執行環境的差異,定製化需求比較多,往往每個典型環境的音視訊pipeline和媒體優化引數都要做一遍,是比較繁雜的工作。而伺服器側的主要問題在於面對大併發量的使用場景,要有一套優雅、合理的媒體處理框架設計才能保證服務側系統的高可連線性、可靠性和可擴充套件性。當然這些問題並不是所有WebRTC使用者都會遇到,使用者可以儘量根據自己應用場景的要求選擇恰當的客戶端側和伺服器側方案,在解決特別複雜的終端環境和實用場景下的問題時,最好是利用第三方經過驗證的成熟的方案,避免重複掉到別人摔過的坑裡。

回到WebRTC在2018年發展趨勢的話題,伴隨WebRTC 1.0標準的落地,可以預見各家瀏覽器廠商和平臺廠商未來一年會在穩定性和相容性方面有持續改進,為開發者提供可靠的應用環境和順滑的互操作性。同時也會進入前面所提到的最上層的發展趨勢,也就是圍繞WebRTC 商用的生態圈開始成形。而基於WebRTC的技術和方案提供商則將會進一步細分化、專業化,比如有專注於媒體伺服器的、有提供WebRTC媒體網路平臺運維監控的、有提供客戶端個性化解決方案的。不過從整個行業來看,我們還只是剛剛開始而已。

WebRTCon 2018 7折報名最後一天

除了本文分享,馮昶還將在WebRTCon 2018大會上擔任“測試監控和服務保障”專題出品人並做分享,曾擔任全球社交類App ooVoo公司CTO,讓他積累了超過10億分鐘多點高清視訊通話平臺經驗,並擁有多項視訊通訊領域國際專利,在WebRTC國內外發展、技術研發難點、平臺搭建以及未來趨勢有著獨到的見解,相信他將為我們呈現一場精彩的專題論壇,一同探討如何提升音視訊服務的保障能力,提升產品魯棒性?

本專題我們還在積極邀請包括英特爾、阿里巴巴、愛奇藝、噠噠英語的技術大咖。更多詳情掃描下圖二維碼或點選閱讀原文

640?wx_fmt=jpeg