可以輕描淡寫地說,作為一種技術的實時視頻流在過去幾年中的使用迅速增長。高質量的視頻流已經出現在我們的許多日常活動中,例如:
- 向并發用戶提供實時流媒體視頻內容的游戲
- 流式傳輸高質量視頻點播 (VOD) 的平臺
- 啟用實時在線視頻聊天的應用程序
- 新聞媒體、體育和現場活動廣播公司進行現場直播
- 由 HTTP Live Streaming (HLS) 提供支持的 YouTube 等直播視頻問答
事實上,流媒體工具提供商 StreamElements 和指標跟蹤器 Arsenal.gg 的一份報告顯示,直播行業在 2019 年增長了 12%。Facebook Gaming 占這一增長的大部分,觀看時長增加了 210%。自 2018 年 12 月以來,面向游戲玩家的直播平臺 Twitch 的觀看時長增加了 3%。
內容交付網絡 (CDN) 和 CDN 提供商的發展促成了直播視頻的蓬勃發展。這項技術允許在線視頻流以低延遲和實時的方式交付給全球用戶。
什么是 CDN?
內容交付網絡 (CDN) 是分布在全球各地的服務器及其數據中心的網絡,旨在以最小的延遲交付高質量的內容,以實現無縫一致的用戶體驗。CDN通過稱為存在點或 PoP 的戰略性數據中心使內容更接近最終用戶。
不同類型的 CDN
您使用的 CDN 類型可能因他們專門從事的特定服務而異。通常,CDN 可以是點對點 (P2P) 或私有 CDN。
點對點或 P2P 網絡 CDN
P2P 網絡 CDN 涉及已打開以允許服務器從中下載文件的各個系統。啟用它的服務器稱為跟蹤器,盡管它也可以是一個小型服務器網絡。想想像 BitTorrent 這樣的通用文件共享平臺,用戶可以在其中查找要下載的特定文件。跟蹤器不會從單個服務器下載文件,而是搜索包含相同文件的多臺計算機,并從每個系統下載文件的不同部分。這樣,P2P CDN 本質上是非常分散的,但這種模型可能存在安全風險。
私有或對等模型 CDN
私有或對等類型的 CDN 是公司擁有網絡并在其覆蓋范圍內維護服務器的那些。對等/私有 CDN 不依賴于去中心化模型,而是控制其容納網站內容的服務器。當訪問者登陸網站時,文件將從物理上離他們最近的服務器下載。另一種對 CDN 進行分類的方法是基于它們是推式還是原始拉式。
推送 CDN
這些是用戶或主服務器將內容推送到 CDN 的 CDN。它本質上就像一個輔助服務器,用戶將內容直接上傳到 CDN。用戶可以指定要上傳的內容以及更新或過期的時間。當您想要控制流量及其使用方式時,這種類型的 CDN 非常有用,因為只有在發生變化時才需要進行上傳。
來源拉取 CDN
在源拉 CDN 中,用戶不會將文件推送到 CDN,而是會發生相反的情況。CDN 從所有者保存內容的源服務器中提取內容,然后再將其交付給最終用戶。與推送 CDN 相比,源拉 CDN 可能更慢且靈活性較差,因為流量中可能存在一些冗余,尤其是在進行更改之前重新查詢文件時。使用源拉 CDN 的好處是它們更容易設置并最大限度地減少存儲空間。
什么是直播?
直播是指以高質量視頻、音頻和其他媒體形式的數據在創建時從創建者通過互聯網實時傳輸給用戶的過程。與在播放之前下載大型視頻文件不同,實時流媒體讓用戶可以從遠處一次下載一點文件并實時播放。
從本質上講,直播是一種允許您實時創建、分享和觀看在線視頻的技術。它可以通過互聯網使用連接的設備(如筆記本電腦、手機、平板電腦或允許直播的網站或應用程序)完成。想想流行的消費者應用程序和功能,如 Instagram Live、Facebook Live、Twitch 和 Tik Tok,它們可以讓您在用戶直播時查看用戶創建的在線視頻內容。YouTube 視頻和 vlog 等媒體文件在技術上也是流式傳輸的,但不是實時流式傳輸,因為廣播不需要實時進行。
直播視頻流不僅用于公開可見的內容。它們也可以設置為私有且僅可供選定用戶訪問,例如 Zoom 或 Teams 等視頻會議工具。直播技術的興起改變了媒體和娛樂行業。從職業體育到新聞媒體,從社交媒體平臺和應用程序到視頻游戲,當今幾乎所有形式的媒體和娛樂都涉及到直播視頻流的某些方面。
直播 CDN 是如何工作的?
實時流媒體的工作原理是通過互聯網實時發送內容,而無需記錄整個文件并存儲它們。如果我們看一下高質量的視頻流,從創作者的創作到最終用戶對高質量內容的消費涉及 5 個步驟。
第 1 步:視頻捕獲
首先,內容創建者使用相機捕獲原始數據或視覺信息。數據在設備中以二進制 1 和 0 表示。
第 2 步:細分
這是視頻文件被分解成幾秒長的較小部分的地方。實際上,視頻文件的大小要大得多,甚至下載整個文件也需要很長時間。將它們分解成片段有助于一點一點地流式傳輸整個視頻。
第 3 步:壓縮和編碼
每個片段都經過壓縮和編碼。壓縮會刪除多余的視覺信息,例如視頻中沒有變化的背景。這使得在流式傳輸之前僅渲染視頻中的移動幀變得容易。編碼是將數據轉換為與最終用戶消費內容的各種設備兼容的格式所必需的過程。例如,H.264、HEVC、VP9 和 AV1 是視頻編碼成的一些流行格式。
第 4 步:內容分發和 CDN 緩存
接下來,將分段、壓縮和編碼的視頻分發給最終用戶。當最終用戶訪問網站或播放視頻時,他們的設備(客戶端)會向源服務器發送請求以檢索這些文件。現在,如果用戶位于服務器附近或附近區域內,這應該不是問題,并且視頻文件流式傳輸沒有太大問題。
實際上,如果您的收視率很小且分布不廣,則單個服務器可以流式傳輸給您的所有用戶。無需在您的流媒體工作流程中引入更多元素。
但是當用戶分散在更大的地理區域時,在某些情況下跨越不同的國家,服務器交付內容的往返時間可能會更長,從而導致延遲或延遲。這導致用戶體驗低于標準,并且在所有視頻消費者中都不一致。使用 CDN 通過在其分布式流服務器網絡中緩存內容來解決這個問題。離特定最終用戶最近的 CDN 服務器將負責將內容交付給該用戶。
第 5 步:解碼和播放
一旦視頻數據到達用戶,他們的設備將逐段解碼和解壓縮視頻為二進制原始數據。通過視頻播放器,用戶可以看到視覺信息并播放視頻。
為什么使用 CDN 進行直播?
CDN 通過將內容分發到更接近最終用戶的流媒體服務器來幫助提高實時流媒體的質量。具體來說,CDN 提供商通過以下方式使實時視頻流更好。
1、它們確保高流量期間有足夠的帶寬
如果請求超出其帶寬限制,CDN 有助于避免源服務器不堪重負。如果直播突然看到收視率迅速飆升,并且他們都從單個源服務器請求內容,則可能會產生“阻塞點”并導致服務器停機。使用 CDN,可以保護服務器免受這些情況的影響,并且可以將交付內容的責任分散在流服務器網絡中。
2、它們減少了延遲和往返時間
通過在更靠近最終用戶的 CDN 服務器中緩存內容,CDN 減少了實時流請求一直到達源服務器以及內容一路返回的需要。這減少了往返時間或 RTT,重要的是,最大限度地減少了延遲和緩沖以保持流的實時性。
3、他們幫助向全球觀眾直播
由于分發是通過位于世界各地的內容分發網絡中的邊緣服務器完成的,CDN 提供了全球直播流媒體的可擴展性。不僅如此,無論它們位于何處,觀看體驗都是相同的,并且通過離最終用戶最近的 CDN 服務器將延遲和緩沖降至最低。
4、它們減少了原始服務器上的工作量
CDN 有助于將大部分工作負載從源服務器轉移到網絡。由于單個服務器響應請求需要大量計算能力,對于視頻直播流更是如此,CDN 從本質上保護源服務器免于過載并保持其運行。同樣的方法有助于保護服務器免受分布式拒絕服務或DDoS 攻擊。
依賴向全球分布的用戶群提供高質量視頻流服務的企業將從直播 CDN 中受益匪淺。尋求與提供實時和點播視頻流功能以及高級轉碼流程的 CDN 提供商合作,以實現自適應比特率。一些提供商還允許您使用 API 構建自己的工具和功能。