天天看點

RTC vs RTMP,适合的才是最好的!

随着線上教育、電商直播、泛娛樂社交等 App 的普及,實時音視訊技術的應用需求也越來越多元化。目前,市場中能夠支援音視訊通信的主流技術有“RTMP+CDN”和“RTC”兩大陣營。選型時,開發者如何根據場景選擇更适合自己的通信技術?這就要從兩者的技術特點、價格、廠商服務綜合考慮。

RTC vs RTMP,适合的才是最好的!

RTMP+CDN 技術特點與适用場景

RTMP (Real Time Messaging Protocol)基于 TCP 的流媒體傳輸協定,最大的特點是與 CDN 的強綁定,需要借助 CDN 的負載均衡系統将内容推送到接近使用者的邊緣節點,使使用者就近取得所需内容,提高使用者通路的響應速度和成功率,解決因分布、帶寬、伺服器性能帶來的通路延遲問題。更多适用于站點加速、點播、短視訊等場景。

對于初次通過 CDN 服務來實作音視訊通信的開發者來說,技術名額應主要關注延時、卡頓率、下載下傳速度、打開速度、回源率、寬帶備援提升率等幾個次元。

有研究表明,在 0.1s 以下的延遲,使用者幾乎是無感覺的;1s 左右的延遲,使用者會明顯注意到延時的發生,但在該時間内思維依然是連貫的;超過 10s 的延時,使用者會失去等待的耐心。在所有關鍵技術名額中,控制延時是 CDN 最需要提升的。

以直播場景為例,延時主要看 2 個核心名額:首播時間和再緩存時間。首播時間即從打開到看到視訊畫面的時間,會受域名解析、連接配接、第一包時間的影響,首播時間控制在 1 秒内算是不錯的效果。其次是再緩沖時間,是使用者觀看視訊時的卡頓時間。由于實際服務中視訊長度不一,一般會做播放的體驗統計,主要監測的是卡頓率。行業内而言,直播首播時間 300ms,卡頓率在 15% 以下算是優質的通信服務。

目前的 CDN,通常有 3-5 秒的延遲,在浏覽圖檔、短視訊等内容時使用者感覺不明顯,對于不需要實時強互動的直播,比如體育賽事網絡直播、演唱會網絡直播、新聞現場直播,延遲是可以接受的,并不會影響使用者體驗。

RTC vs RTMP,适合的才是最好的!

而線上視訊會議、線上教育、電商直播、遠端醫療會診這些對互動有非常高要求的場景,RTMP+CDN 的模式與這些場景對于低延時、無卡頓的要求有一定差距。這時,選擇 RTC 技術才能更好地滿足開發者的需求。

RTC 技術特點與适用場景

說到 RTC(Real Time Communication)實時音視訊通信,它最大的特點就是低延時和無卡頓。從功能流程上說,它包含了采集、編碼、前後處理、傳輸、解碼、緩沖、渲染等諸多環節,RTC 不是靠“優化”各環節去實作的實時互動,而是依靠推流端實時的傳輸機制。

RTC vs RTMP,适合的才是最好的!

很多實時音視訊服務專業廠商使用的就是 WebRTC 标準,這是一種基于浏覽器的實時通信的開源解決方案,使用 UDP 私有協定來進行媒體推流,而不需要建立離散的媒體段;并且它是面向無連接配接的,沒有 TCP 連接配接斷開時的揮手确認連接配接關閉的機制,基于這兩點,WebRTC 能夠做到毫秒級的低延遲,遠遠低于基于 RTMP 協定的 CDN 分發的延遲。而且,它直接通過浏覽器就可以完成推流和播放,對于開發者接入來說實在太友善。

是以,WebRTC 标準針對有高互動性要求的直播場景尤為适宜。以直播連麥為例,主播端把通信直播流發到觀衆端,同時也可以把觀衆端拉上麥,實作主播和觀衆的互動。使用 WebRTC,内容實時傳輸,主播和觀衆可以進行音視訊連麥互動,實時溝通,延時一般低至 400ms 以内。

RTC vs RTMP,适合的才是最好的!

通信雲服務商融雲相關解決方案

基于 WebRTC 标準的融雲實時音視訊服務,擁有超低延遲的優勢,同時也支援将 RTC 音視訊流合流(MCU)轉碼為 RTMP,并推流到第三方 CDN 上,保留了标準協定普遍被 CDN 網絡支援的好處。目前,融雲音視訊通話,可做到全球端到端延時小于 400ms,最低延時 66ms;低延時互動直播的直播推流可以做到主播觀衆間延遲在 300ms 左右,保障端到端之間延遲無感覺的實時互動。

CDN vs RTC 選型還需看價格服務綜合比

一套實時音視訊通信能力的搭建,除了要根據場景選擇适合的技術外,還要看價格、服務的綜合成本效益。通常來說,使用 RTC 技術的成本比 RTMP+CDN 高。因為,從實踐來看,UDP 傳輸比 TCP 傳輸對資源消耗要多,而且重傳、封包、FEC 備援計算等都會額外增加計算量,在多程序模式下可能還會遇到記憶體資源的過多消耗,這些都導緻開發及使用成本的增加。

開發者選型中,成本效益需綜合技術特點、适用場景、價格和服務四個方面的全面考量。服務在産品上線前後的開發階段和營運階段,都要發揮重要作用。目前,開發者服務做得比較好的廠商比如融雲,會與開發者共建開發文檔,技術手冊短視訊化,提供場景化的 Demo,以及在官網搭建開發者專區,幫助開發者更便捷、更快速的了解 SDK。

融雲全新更新的實時音視訊服務,提出“以一套 SDK 解決所有通信場景”,使用融雲 RTC 的開發者,同時可以用融雲 IM 作為信令通道,而不用自己重新搭建或選擇第三方信令通道,這樣可以大大提升開發效率,減少 SDK 文檔學習時間。

總體而言,RTC 低延遲直播是未來發展的趨勢,而 RTMP 在目前依然擁有價格上的優勢,而兩者作為音視訊領域的實用技術,無論是适用場景、還是貼近開發的服務都越來越多樣化,開發者未來選型之路也将更順暢。

繼續閱讀