2024-03-04 分類: 網站建設
流媒體是某人在 Internet 上觀看視頻時使用的數據傳輸方法。這是一種每次傳送一點視頻文件的方法,通常從遠程存儲位置傳送。通過在互聯網上一次傳輸幾秒鐘的文件,客戶端設備不必在開始播放之前下載整個視頻。實時流媒體是通過 Internet 實時發送流媒體視頻,而無需首先記錄和存儲。如今,電視廣播、視頻游戲流和社交媒體視頻都可以進行直播。
將常規流媒體和實時流媒體之間的區別想象為演員背誦記憶獨白和即興演講之間的區別。在前者中,內容是預先創建、存儲,然后轉發給觀眾的。在后者中,觀眾在演員創作內容的同時收到內容——就像在直播中一樣。
直播一詞通常是指廣播直播流:一次發送給多個用戶的一對多連接。Skype、FaceTime 和 Google Hangouts Meet 等視頻會議技術適用于實時通信 (RTC) 協議,而不是一對多實時流廣播使用的協議。
直播在技術層面是如何運作的?
這些是在直播中在幕后進行的主要步驟:壓縮;編碼;分割;內容交付網絡 (CDN)分發;CDN緩存;解碼;視頻回放。
視頻截取
實時流媒體從原始視頻數據開始:攝像機捕獲的視覺信息。在連接相機的計算設備中,這種視覺信息被表示為數字數據——換句話說,最深層次的 1 和 0。
壓縮和編碼
接下來,對分段的視頻數據進行壓縮和編碼。通過去除冗余的視覺信息來壓縮數據。例如,如果視頻的第一幀顯示一個人在灰色背景下說話,則不需要為具有相同背景的任何后續幀渲染灰色背景。
將視頻壓縮想象成在客廳中添加一件新家具。每次添加新椅子或邊桌時,不必購買全新的家具。相反,可以保持房間布局大致相同,一次只更換一件,偶爾根據需要進行更大的重新布置。類似地,并不是視頻流的每一幀都需要整體渲染——只是隨著幀的變化而變化的部分,例如人嘴的運動。
“編碼”是指將數據轉換為新格式的過程。實時流媒體視頻數據被編碼為各種設備都能識別的可解釋數字格式。常見的視頻編碼標準包括:H.264;H.265;VP9;AV1。
分割
視頻包含大量數字信息,這就是為什么下載視頻文件比下載簡短的 PDF 或圖像需要更長的時間。因為一次通過 Internet 發送所有視頻數據是不切實際的,所以流式視頻被分成幾秒鐘長的更小的片段。
CDN 分發和緩存
一旦直播流被分割、壓縮和編碼(所有這些只需要幾秒鐘),就需要提供給想要觀看它的數十或數百萬觀眾。為了在將流提供給不同位置的多個觀眾的同時以最小的延遲保持高質量,CDN 應該分發它。
CDN 是代表源服務器緩存和提供內容的分布式服務器網絡。使用 CDN 可以提高性能,因為用戶請求不再需要一直到達源服務器,而是可以由附近的 CDN 服務器處理。以這種方式處理請求和交付內容還可以減少源服務器的工作量。最后,CDN 可以有效地為世界各地的用戶提供內容,因為他們的服務器位于世界各地,而不是集中在一個地理區域中。
CDN 還將緩存(臨時保存)直播流的每個片段,因此大多數觀眾將從 CDN 緩存而不是從源服務器獲取直播流。這實際上使實時流更接近實時,即使緩存的數據落后了幾秒鐘,因為它減少了往返源服務器的往返時間 (RTT) 。
解碼和視頻播放
CDN 將直播流發送給所有正在觀看流的用戶。每個用戶的設備接收、解碼和解壓縮分段的視頻數據。最后,用戶設備上的媒體播放器(專用應用程序或瀏覽器中的視頻播放器)將數據解釋為視覺信息,然后播放視頻。
一個例子
假設 Alice 在她的智能手機上開始直播,而住在該國另一邊的 Bob 和 Alice 的另外幾十個朋友一起在他的智能手機上收聽直播。愛麗絲打開自己的智能手機攝像頭并說:“你好,世界!”開始了直播。視頻的“你好,世界”部分需要做什么才能到達該國另一端的 Bob 以及所有其他觀看視頻流的人?
首先,Alice 的智能手機將編碼和壓縮那一小段視頻。如果 Alice 在她的廚房里拍攝直播,她的廚房墻被記錄為視頻的第一幀,由于背景沒有改變,后續幀將忽略它。
現在,Alice 正在使用的應用程序會將她說的“Hello, world”的編碼壓縮版本發送到應用程序的 CDN。對 Bob 來說幸運的是,其中一個 CDN 服務器離他家只有幾英里遠,因此他的智能手機對直播第一段的請求幾乎立即得到了答復。其他直播觀看者可能會遇到比 Bob 更多或更少的延遲,具體取決于他們的地理位置。
Bob 的手機對視頻片段進行解碼并重構壓縮數據,這樣 Alice 的廚房墻就會出現在每一幀中。最后,就在愛麗絲在國家另一邊的廚房里說“你好,世界”之后的幾秒鐘,她的臉出現在鮑勃的智能手機上,鮑勃看到并聽到了她的問候。
為什么 CDN 對直播很重要?
帶寬:網絡上的任何給定點一次只能通過這么多數據;這種測量稱為“帶寬”。如果數據流到達網絡上數據量超過容量的點,這稱為“阻塞點”,因為數據傳輸被阻塞并減慢。阻塞點類似于當太多汽車試圖使用單車道道路時可能發生交通減速的方式。
如果流的所有查看者都從其源點獲取流數據,那么源服務器及其周圍的網絡基礎設施就會成為阻塞點,流會變慢。但是,如果流傳輸的主要負擔轉移到 CDN,那么阻塞點就被消除了。
全球內容交付:因為 CDN 分布在世界各地,它們能夠向全球受眾交付內容。紐約的源服務器無法有效地向米蘭的觀眾提供內容,尤其是視頻等大量內容的情況。但是,CDN 可以從其網絡上的任何點轉發和提供內容,因此米蘭觀看來自紐約的直播流的人可以從米蘭的服務器獲取流,而不是一直等待它從新加載約克。
延遲和 RTT 減少:使用 CDN 在全球范圍內交付內容通過減少 RTT(往返時間)來減少實時流觀眾的延遲。請求-響應往返在距離和時間方面都更短,因為觀看者對直播流的請求不再需要到達流的原始源,流數據不再需要從起源,要么。這減少了延遲并有助于使直播更接近“直播”。
工作負載:回復用戶對數據的請求會消耗服務器一些計算能力。回復許多用戶對視頻數據的請求可能會使單個服務器不堪重負。CDN 使用數十或數百臺服務器,這些服務器可以將大部分工作負載從源服務器上轉移出來并保持其正常運行。
緩存:CDN 緩存直播流的每個視頻片段。然后,CDN 可以從緩存中傳遞段,而不是從源服務器獲取數據。
從緩存中提供實時流似乎是一個矛盾:如果流是實時的,如何保存它并在幾秒鐘后交付它更快?雖然緩存的實時流確實會落后于實時,但這仍然比一直到源服務器要快。往返需要很長時間,以至于溪流會落后得更遠。使用 CDN 緩存,用戶體驗到的延遲時間最短。
本文題目:美國服務器租-為什么CDN對直播很重要?
文章位置:http://m.newbst.com/news6/320106.html
成都網站建設公司_創新互聯,為您提供Google、App設計、企業網站制作、網站設計、面包屑導航、全網營銷推廣
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯
猜你還喜歡下面的內容