什么是視頻編碼?實時流編碼如何工作?

      流式傳輸是一種通過 Internet 傳遞數據而無需使最終用戶完整下載數據的方法。實時流式傳輸是一種流式傳輸,其中流是通過 Internet 實時發送的,而無需首先進行錄制和存儲。視頻游戲流、Periscope 和 Facebook Live 等社交媒體流以及Internet 上專業體育廣播都是實時流的示例。盡管音頻和視頻都可以實時流式傳輸,但本文將重點介紹實時視頻流。

      什么是視頻編碼?實時流編碼如何工作?-南華中天

      什么是視頻編碼

      視頻編碼是壓縮視頻數據的過程,以便其高效地發送到其他位置。流的接收端設備(例如,用戶觀看其喜愛的電視節目的平板電腦)對編碼數據進行解碼。視頻編碼遵循眾所周知的標準,因此各種設備都可以解釋編碼后的流。

      視頻編碼的必要性源于兩大原因:

      1.未壓縮的視頻文件通過 Internet 發送的用時太長,無法進行流式傳輸。

      2.視頻必須采用任何用戶設備(智能手機、筆記本電腦和 PC 等)可以解釋的格式。

      在視頻實時流中,設備會獲取視聽輸入并進行編碼,然后將其全部發送給觀眾。此過程的編碼部分對于允許各種用戶設備接收和播放視頻至關重要。

      實時流編碼如何工作?

      從視頻源(例如網絡攝像頭)捕獲的實時流發送到服務器,在服務器上,HLS 或 MPEG-DASH 等流協議將視頻饋送分割成更小的片段,每一段的長度為幾秒鐘。

      然后使用編碼標準對視頻內容進行編碼。當今廣泛使用的編碼標準稱為H.264,但也使用 H.265、VP9 和 AV1 等標準。此編碼過程通過刪除冗余視覺信息來壓縮視頻。例如,在有人在藍天背景下講話的流中,藍天不需要為視頻的每一秒重新渲染一次,因為它并沒有太大變化。因此,可以從視頻的大多數幀中去除藍天。

      然后,使用內容交付網絡(CDN)分發壓縮的分段視頻數據。若無 CDN,只有很少的觀眾真正能夠加載實時流,本文的最后一部分將說明其原因。

      大多數移動設備都具有內置編碼器,使普通用戶可以輕松地在社交媒體平臺上和通過消息傳遞應用進行實時流式傳輸。想要質量更高的流的品牌和公司使用自己的編碼軟件和/或硬件。

      什么是視頻編碼?實時流編碼如何工作?-南華中天

      新技術如何加快實時流式傳輸速度?

      在許多實時流中,觀眾仍然會體驗到 20 到 30 秒的延遲;換而言之,他們觀看的內容比實時落后 20 到 30 秒。部分原因在于,視頻的各個片段必須完整加載后才能播放,而且每個視頻片段可能需要花費幾秒鐘來加載。

      應對這種延遲的一種解決方案是稱為分塊編碼的過程。此過程通過“分塊”進行工作,即將視頻片段細分為更小的碎塊。然后,對那些較小的碎塊進行編碼,接收流的設備可以在加載整個片段之前播放這些較小的碎塊。

      CDN 如何更好地加快實時流式傳輸?

      CDN 對于實時流式傳輸至關重要,因為 CDN 可以將流分發給位置大不相同的用戶。而且,CDN 具有比單一源站服務器更多的帶寬來分發流。若無 CDN,實時流可能很容易遇到帶寬問題。但是,大多數 CDN 仍必須加載完整的視頻片段,然后才能將其一次性提供給多個用戶。這再次引入了分塊編碼應解決的延遲問題。