日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Easy Tech:什么是MPEG-DASH协议

發布時間:2024/4/11 编程问答 51 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Easy Tech:什么是MPEG-DASH协议 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

點擊上方“LiveVideoStack”關注我們

翻譯 | Alex

技術審校 | 趙軍

本文來自OTTVerse,作者為Krishna Rao Vijayanagar。

MPEG-DASH

Easy Tech

#014#

MPEG-DASH是最流行的視頻流協議之一,它廣泛用于點播和直播,將媒體傳輸給各種終端設備,包括手機、平板、智能電視、游戲機等。MPEG-DASH是一種基于HTTP的流媒體傳輸協議,負責將視頻從HTTP服務器傳輸給終端用戶。在MPEG-DASH中,一個視頻被分割成許多切片,這一信息被一個MPD記錄。該MPD首先被傳輸給播放器,播放器基于當前網絡條件和緩沖情況,基于MPD信息來請求合適碼率&分辨率的視頻切片。

本篇文章中,讓我們一起來學習MPEG-DASH的基礎知識、歷史和它的重要特性等。

?首先,何謂ABR技術?

DASH是Dynamic Adaptive Streaming over HTTP的簡稱,是一種自適應碼率流媒體技術。學習ABR技術很重要,因為它可以幫助我們更好地理解什么是DASH以及為什么使用DASH。

如果你已經很熟悉ABR,那么MPEG-DASH對你來說也就沒有那么難了,因為它描述了ABR相關的機制。

ABR是Adaptive Bit-Rate streaming的簡稱,是指為確保視頻在互聯網上的流暢傳輸,而根據帶寬條件自適應地調節視頻碼率和質量的過程。

使用ABR技術后,視頻被轉碼為多種分辨率和碼率的組合,這種組合被稱為“rendition”,這些rendition的集合形成了碼率階梯(Bitrate Ladder)。

下面就是一個碼率階梯:

1.? ?1080p 5.0 mbps

2.? ?720p 4.0 mbps

3.? ?640p 3.2 mbps

4.? ?480p 2.0 mbps

5.? ?270p 1 mbps

讓我們假設視頻已經按上述碼率階梯編碼。當播放器開始播放視頻時,它感知到的可用帶寬假設是20mpbs。該帶寬遠大于碼率階梯中最高的5 mbps,所以播放器可以安全地以5mbps下載第一個視頻切片(時長6s)。當播放器再次感知帶寬變化,如果帶寬依然很高,那么同樣請求最高帶寬的視頻。

如果帶寬突然下降到5mbps,播放器將有可能向服務器請求4mbps的切片(因為這時如果再請求5mbps的切片會很有風險)。收到4mbps的切片后,便開始播放這個視頻切片。

整個視頻都會持續這個過程。這就是碼率和質量如何通過自適應帶寬條件來不斷變化的。在介紹了ABR之后,讓我們來看看MPEG-DASH是如何助力ABR技術的。

?什么是MPEG-DASH?

正如我們在前文所述,ABR技術用于在視頻傳輸時通過動態改變視頻碼率和質量來適應帶寬變化和播放器的緩沖程度。

然而,如果一次性傳輸整個流媒體文件,將很難做到這一點,想象一下從Dropbox、S3或者 Google Drive下載視頻文件。和其他類型的文件一樣(如文本、數據),這個文件僅有一個,根本沒有辦法暫停下載并將其切換到一個不同的碼率-分辨率組合(rendition),對吧?所以ABR技術并不適用于龐大而單一的文件。

為了定期在文件之間動態切換,需要將文件處理并分解成小塊。每一塊都應該能夠獨立傳輸。除此之外,應該有一種機制來促進這種自適應的動態下載。

為了解決這些問題并為ABR視頻流制定行業規范,2009年,MPEG組織為基于HTTP的視頻流標準發布了CFP。在幾家公司和行業組織的協作下,MPEG-DASH標準終于在 2012年4月被開發并發布出來。它在2019年被修訂為MPEG-DASH ISO/IEC 23009-1:2019。

?MPEG-DASH如何工作?

從名字就可以看出,DASH(Dynamic Adaptive Streaming over HTTP)基于ABR工作原理,下圖為DASH的工作原理:

  • 一組電影的編碼(或碼率-分辨率組合, 即rendition)由MPEG-DASH打包服務或軟件去打包,打包的過程是將每個rendition分割成指定時間的小片或小塊(例如,2秒或4秒長)。

  • 打包器還將其如何分割視頻以及視頻的交付順序記錄在一個稱為MPD或清單(manifest)的文本文件中。

  • 打包過的視頻和清單被存儲在源站服務器,并等待被分發給播放器(通常使用CDN)。

  • 在另一端,有一個兼容了MPEG-DASH的播放器,其中內置了ABR引擎。

  • 當用戶按下播放鍵,應用程序或者視頻播放器請求視頻的MPD文件,在收到MPD后,播放器對其進行解析然后理解如何播放視頻。

  • 播放器開始按照預定義順序請求視頻切片,解碼它們并將視頻顯示給用戶。

  • 播放器持續監測帶寬條件。根據可用帶寬,播放器選擇MPEG-DASH MPD中描述的碼率之一,并請求CDN從該變體(Variant)中發送下一個視頻塊。

整個過程會一直持續,直到視頻播放結束(電影結束或者用戶停止觀看)。

再來回顧一下MPEG-DASH的工作原理:

  • MPD文件描述了電影視頻的切割、排序方式以及傳輸信息。

  • 打包過的視頻被存儲在服務器上并通過CDN發送。

  • 視頻播放器首先下載MPD,然后需要理解視頻傳輸機制,感知可用帶寬,再開始播放。

  • 根據緩沖大小和可用帶寬,視頻播放器請求該電影某個碼率組合的視頻切片。

  • 通過不斷感知帶寬條件和緩沖水平,播放器自適應地傳輸內容,以提供良好的用戶體驗。

?如何創建MPEG-DASH視頻流?

如果你擁有一個單一的視頻或者同一視頻的幾個碼率-分辨率組合(rendition),你就可以創建與MPEG-DASH兼容的視頻流。這個過程被稱為打包,由專業的軟件打包器完成。

目前市面上有多種打包器,其中最有名的包括:

  • FFmpeg

  • 谷歌的Shaka Packager

  • GPAC的mp4box

  • Bento4的mp4dash

它們都是由命令行驅動,最基本的操作就是在視頻文件中指定打包器,并確認DASH參數(直播、點播、切片列表和切片時間線等),打包器將生成DASH兼容的視頻流和DASH MPD文件。

?MPEG-DASH的清單(MPD)示例

下面是一個簡單的MPEG-DASH清單(MPD)示例,通過DASH協議可以向DASH兼容的播放器傳輸視頻。

<!-- MPD file Generated with GPAC version 0.5.1-DEV-rev5379 on 2014-09-10T13:23:18Z --> <MPD xmlns="urn:mpeg:dash:schema:mpd:2011" minBufferTime="PT1.500000S" type="static" mediaPresentationDuration="PT0H9M56.46S" profiles="urn:mpeg:dash:profile:isoff-live:2011"> <ProgramInformation moreInformationURL="http://gpac.sourceforge.net"> <Title>dashed/BigBuckBunny_2s_simple_2014_05_09.mpd generated by GPAC</Title> </ProgramInformation> <Period duration="PT0H9M56.46S"> <AdaptationSet segmentAlignment="true" group="1" maxWidth="480" maxHeight="360" maxFrameRate="24" par="4:3"> <SegmentTemplate timescale="96" media="bunny_$Bandwidth$bps/BigBuckBunny_2s$Number$.m4s" startNumber="1" duration="192" initialization="bunny_$Bandwidth$bps/BigBuckBunny_2s_init.mp4"/> <Representation id="854x480 595.0kbps" mimeType="video/mp4" codecs="avc1.42c01e" width="854" height="480" frameRate="24" sar="1:1" startWithSAP="1" bandwidth="595491"/> <Representation id="1280x720 1.5Mbps" mimeType="video/mp4" codecs="avc1.42c01f" width="1280" height="720" frameRate="24" sar="1:1" startWithSAP="1" bandwidth="1546902"/> <Representation id="1920x1080 2.1Mbps" mimeType="video/mp4" codecs="avc1.42c032" width="1920" height="1080" frameRate="24" sar="1:1" startWithSAP="1" bandwidth="2133691"/> </AdaptationSet> </Period> </MPD>

更多DASH MPD的詳盡列表,可在OTTVerse上查看:https://ottverse.com/free-mpeg-dash-mpd-manifest-example-test-urls/。

?MPEG-DASH特性

MPEG-DASH擁有很多特性,這些特性對于視頻服務提供商充滿吸引力。讓我們來看下這些特性:

  • MPEG-DASH獲得了播放器公司的廣泛支持,并由國際社區積極發展。持續的Bug修復、改進以及各種特性使得MPEG-DASH成為視頻服務的最佳選擇。

  • MPEG-DASH同時支持點播和直播。

  • 獲得了Android生態的支持,這對于在Android手機、電視以及其他設備上觀看視頻尤為重要??紤]到世界上很多人無法負擔IPhone和Apple TV昂貴的價格,所以MPEG-DASH會是HLS很好的替代。

  • MPEG-DASH對編解碼器沒有要求,可以很好地與 H.264/AVC、AV1 或其他Codec一起使用。

  • MPEG-DASH同時支持MPEG-TS和fMP4容器格式。(審校者注:MPEG DASH最新版本和Fragmented MP4 關聯更緊密一些,它確實也在老版本的標準中支持了 MPEG-TS。)

  • MPEG-DASH支持廣告插入(包括客戶端和服務器端的廣告插入)。

?哪些播放器支持MPEG-DASH?

很多播放器支持MPEG-DASH且服務于各種應用和設備。一些播放器可以通過原生應用或者瀏覽器在Web上、Android Exoplayer、Roku、智能電視上播放MPEG-DASH視頻。

MPEG-DASH兼容播放器包括:

  • DASH.js

  • 帶有MPEG-插件的VideoJS 或帶有native DASH 播放的VideoJS7

  • Bitmovin

  • THEOPlayer

  • CastLabs

  • JWPlayer

  • NexPlayer

  • Radiant Media Player

  • Android Exoplayer

  • Roku


Roku可以播放MPEG-DASH視頻流

下面是一個免費、開源的MPEG-DASH兼容Web播放器。

DASH.js Reference Player[1]

DASH.js reference player 是最佳MPEG-DASH在線播放器之一,它可以免費播放MPD文件。在我看來,它擁有非常易于使用的界面,并可以提供大量便捷且重要的信息來調試視頻流。

這些便捷的信息包括緩沖水平,可以告訴你正在使用的是哪個rendition,以及所有數據的時間線等等。它由開源 dash.js 播放器提供支持,并不斷更新到最新版本,以便用戶始終可以使用最新版本來調試MPD視頻流。

?小? ? ? ?結

我希望這篇文章可以幫助你更好地理解MPEG-DASH。本篇文章中,我們介紹了ABR技術的基礎知識、MPEG-DASH的歷史及其工作原理、MPD文件示例、DASH兼容的視頻播放器等等。在未來的文章中,我們會介紹更多MPD的基礎知識,以及如何使用打包器(如Shaka、mp4box等等)打包MPEG-DASH。

我們下次見!祝大家觀影愉快!


注釋

[1] https://reference.dashif.org/dash.js/latest/samples/dash-if-reference-player/index.html

致謝

本文已獲得作者Krishna Rao Vijayanagar授權翻譯和發布,特此感謝。

原文鏈接:

https://ottverse.com/mpeg-dash-video-streaming-the-complete-guide/


掃描圖中二維碼或點擊閱讀原文

了解大會更多信息

喜歡我們的內容就點個“在看”吧!

總結

以上是生活随笔為你收集整理的Easy Tech:什么是MPEG-DASH协议的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 欧美日韩国产免费 | 国产h在线 | 日韩乱淫 | 免费在线黄色av | 日本成人在线不卡 | 夜夜躁很很躁日日躁麻豆 | 日本在线免费视频 | 永久免费看黄 | 久久久久国产精品国产 | 日本少妇aaa | 国产欧美精品在线观看 | 国产aaa级片 | 日韩视频第一页 | 欧美 日韩 国产一区 | 国产玖玖视频 | 亚洲人成色777777老人头 | 人人干人人插 | 免费91视频 | 国产超碰自拍 | 人妻 日韩 欧美 综合 制服 | 色哟哟免费在线观看 | 色哟哟视频网站 | 超碰最新上传 | 97精品一区 | 狠狠av | 欧美日韩另类在线 | 国产自产一区二区 | 天天操综合 | 2019年中文字幕 | aaa国产精品 | 最新一区二区三区 | 人妻av一区二区三区 | 污视频网站在线观看 | 嫩草影院黄 | 又骚又黄的视频 | 国产丝袜在线视频 | 日韩欧美小视频 | 狂躁美女大bbbbbb黑人 | av免费视屏 | 一区二区亚洲精品 | 亚洲成人二区 | 狠狠躁夜夜躁xxxxaaaa | 高清无码视频直接看 | 亚洲成a人无码 | 成人免费超碰 | 好吊日av| av大片在线看 | 伊人久久五月 | 国产夫妻视频 | 一级淫片免费 | 久久中文字| 日韩欧美一区二区三区在线 | h视频在线免费观看 | 偷看洗澡一二三区美女 | 亲吻刺激视频 | 国产精品国产三级国产专区53 | 男操女免费网站 | 中文字幕免费高 | 亚洲黄网在线观看 | 爱如潮水3免费观看日本高清 | 加勒比在线一区 | 成人做受视频试看60秒 | 国产精品偷伦视频免费观看了 | 在线看片你懂的 | 少妇色综合 | 欧美xxxxbbb | 亚洲免费在线视频观看 | 免费看欧美片 | 亚洲精品一卡二卡 | 狠狠干一区二区 | 成人激情综合 | 一二区免费视频 | 少妇高潮喷水在线观看 | 中文字幕中文字幕 | 91综合网 | 亚洲一区二区三区在线视频观看 | 国产激情精品一区二区三区 | 韩国一区二区视频 | 办公室荡乳欲伦交换bd电影 | 亚洲v日韩v综合v精品v | 成人一区av | mm视频在线观看 | 日韩av一级片 | 老地方在线观看免费动漫 | 涩涩av | 波多野结衣国产在线 | 精品一区二区亚洲 | 九九久久国产视频 | 色播开心网 | 色呦呦在线看 | 欧美日韩国产一级片 | 国产乱淫av麻豆国产 | 豆花视频成人 | 欧美日韩在线免费视频 | 在哪看毛片 | 韩国毛片基地 | 福利毛片 | 天天插日日干 | 亚洲综合激情网 |