天天看點

RTC與WebRTC有什麼差別

rtc(real-time communications),實時通信,是一個正在興起的風口行業,經過短短一年的時間,已經有很多玩家進入了這個行業,最典型的應用就是直播連麥和實時音視訊通信。但是,很多開發者對一些概念還是有混淆的,比如rtc與webrtc,rtc與直播,rtc與im。

實時通信(rtc)最容易和webrtc混淆,實際上,二者不能劃等号。

RTC與WebRTC有什麼差別

rtc從功能流程上來說,包含采集、編碼、前後處理、傳輸、解碼、緩沖、渲染等很多環節,上圖展現了一次rtc通信的簡要流程。每一個細分環節,還有更細分的技術子產品。比如,前後處理環節有美顔、濾鏡、回聲消除、噪聲抑制等,采集有麥克風陣列等,編解碼有vp8、vp9、h.264、h.265等等。

RTC與WebRTC有什麼差別

上圖展現了rtc與webrtc的關系,webrtc是rtc的一部分。webrtc,是google的一個專門針對網頁實時通信的标準及開源項目。隻提供了基礎的前端功能實作,包括編碼解碼和抖動緩沖等,開發者若要基于webrtc開發商用項目,那麼需要自行做服務端實作和部署,信令前後端選型實作部署,以及手機适配等一系列具體工作;在此之外還要在可用性和高品質方面,進行大量的改進和打磨,對自身開發能力的門檻要求非常高。一個專業的rtc技術服務系統,需要除了涵蓋上述的通信環節外,實際上還需要有解決網際網路不穩定性的專用通信網絡,以及針對網際網路信道的高容忍度的音視訊信号處理算法。當然正常雲服務的高可用、服務品質的保障和監控維護工具等都隻能算是一個專業服務商的基本子產品。是以,webrtc僅是rtc技術棧中的幾個小細分的技術組合,并不是一個全棧解決方案。

RTC與WebRTC有什麼差別

上圖展現的就是rtc與直播的關系,rtc的一個具體應用是直播場景中的直播連麥,也就是低延時直播。普通直播,一般采用tcp協定,使用cdn進行内容分發,會有幾秒甚至十幾秒的延時,主播和觀衆的互動隻能通過文字短消息或送禮來進行。而直播連麥,使用udp協定,内容實時傳輸,主播和觀衆可以進行音視訊連麥互動,實時溝通,延時一般低至幾百毫秒。

那麼rtc技術棧究竟包含哪些技術,我們會提供一系列文章,來解讀rtc技術棧。

rtc技術棧之視訊編解碼

rtc技術棧之音頻編解碼

rtc技術棧之音視訊前後處理

rtc技術棧之實時傳輸

rtc技術棧之qoe品質保障

本文是系列文章的第一篇——視訊編解碼

視訊編解碼的作用,就是在裝置的攝像頭采集畫面和前處理後,将圖像進行壓縮,進行數字編碼,用于傳輸。編解碼器的優劣基本在于:壓縮效率的高低,速度和功耗。

目前,主流的視訊編碼器分為3個系列:vpx(vp8,vp9),h.26x(h.264,h.265),avs(avs1.0,avs2.0)

vp8,是視訊壓縮解決方案廠商on2 technologies的第八代視訊編解碼标準,google收購on2後,就将vp8開源了,并且将其應用到webrtc中。目前,google也在主推新一代的編解碼标準——vp9。

h.264,是由itu-t視訊編碼專家組(vceg)和iso/iec動态圖像專家組(mpeg)聯合組成的聯合視訊組(jvt,joint video team)提出的高度壓縮數字視訊編解碼器國際标準。 webrtc也同時支援h.264。

vp8和h.264是十幾年前發明的标準,屬于同一代技術。這兩個标準處于發展成熟的階段,編碼效率、運算複雜度和功耗上都達到了比較好的均衡。技術和應用程度上,二者也略有差別,比如,硬體廠商對h.264的支援較廣泛,而對vp8的支援就比較有限。

vp9,開發始于2011年。vp9的目标之一是在保證相同品質的情況下相對于vp8可以減少50%左右的碼率,換句話說,相同的碼率,vp9能比vp8畫質有非常明顯的提高。vp9的一大的優勢是專利費用,google聲明可以免費進行使用。這和h.264和h.265不同有較大的差異(雖然,2013年cisco已将open264開源,并聲稱在不修改open264代碼的情況下,能保證由cisco覆寫相關的專利費用)。

h.265旨在在有限帶寬下傳輸更高品質的網絡視訊,僅需原先的一半帶寬即可播放相同品質的視訊。它與h.264有着相類似的算法架構,并同時對一些相關技術加以改進而大幅提高視訊品質。舉例來說,h.264編碼器可以以1mbps碼率實作标清數字視訊壓縮;而h.265編碼器則可以利用相同的碼率編碼720p甚至更高的分辨率的高清視訊。這也意味着,在現有的家庭網絡情況下,我們的智能手機、平闆機等移動裝置将能夠直接線上播放1080p的全高清視訊。同時,h.265标準也同時支援4k和8k超高清視訊。

vp9和h.265,是最近5年制定的标準,是目前已經完成标準中壓縮效率最高的。同樣的,h.265是國際标準,vp9是google目前主推的标準。h.265在硬體支援上比較廣泛,apple、高通、intel等的晶片都支援h.265的硬體編解碼器。vp9的硬體支援依然十分有限。總體來說,新一代編碼器,編碼效率能比上一代提高了30-50%,但是複雜度和功耗會比上一代大很多,是以純軟體編碼實作的話有一定瓶頸,現有的技術下,還是需要依靠硬體編解碼為主。

avs是我國具備自主知識産權的第二代信源編碼标準。目前,avs1.0在第三世界國家中已有廣泛應用。avs2.0,屬于與h.265和vp9同級的新一代标準。

編碼器隻是标準和文法,并沒有限定應用場景。是以,在實際應用中,還要結合場景特點,來進行改進和深度優化。聲網的視訊編碼器,針對實時音視訊通信做了深度改進,更适應公共網際網路的特點,實時性和品質上有很大提升。尤其是與網絡的深度結合,同時兼顧對抗丢包和網絡帶寬的波動。

vr視訊标準是目前不論是學術界,還是商業應用的熱門探索方向之一。在2016年的rtc大會上,我們曾邀請到王榮剛教授分享過《vr視訊内容生成技術與編碼标準》,王榮剛教授目前擔任國際mpeg網際網路視訊壓縮标準專題組聯合組長和ieee虛拟現實視訊内容編碼标準專題組組長。

據王榮剛教授分享,vr視訊的編碼目前繼續解決的技術問題有:圖像的顯示品質、合成品質和傳輸帶寬,

vr視訊編碼先前的做法是,将已有的視訊壓縮标準,應用到vr場景中。但是,由于vr視訊内容的特殊性和網絡帶寬的限制,目前的标準無法滿足vr視訊的壓縮需求。業界對vr視訊壓縮标準呼聲極高。将來進階的vr視訊形态應該是自由沉浸立體視訊:在一定空間範圍内提供anywhere + anytime + anyview +stereo的沉浸體驗。

在h.264時代,編碼器主要應用于低于hd的中小分辨率,稍微兼顧1080p高分辨率。

但h.265時代,随着硬體裝置更好、帶寬更高,使用者開始對視訊分辨率的要求更高,人們開始發現,使用者對視訊品質要求是沒有止境。是以,新一代編碼器,更傾向于支援高分辨率,比如4k高清分辨率。新一代編碼器對高分辨率的壓縮效率可提高50%以上。

rtc 2017 第三屆實時網際網路大會上,有來自華為、google、avs視訊組、avs音頻組、avs測試組、slack、houseparty、atlassian(jira)的技術專家到會分享下一代編碼标準的探索及應用,這基本上是國内最全的編解碼的技術分享聚會,當然還有rtc技術棧其他子產品的技術分享,緻力于入行rtc的開發者不可錯過。

繼續閱讀