音視頻知識點(五)

視頻格式 播放體驗 流量占用情況
DASH 統(tǒng)計直播推流端到播放端延時乳附。支持和視頻幀綁定的內(nèi)容交互。比如色罚,直播答題在播放端的彈窗等。
HLS 對視頻進行切片账劲,按切片播放戳护,緩存小起播快金抡;拖動時間軸到任意時間播放時,可以快速定位到對應的切片進行播放腌且,響應快梗肝。 整體占用小,播放一個切片只下載一個切片內(nèi)容铺董;對于低碼率的視頻場景巫击,因封裝代價高導致流量占用相對較高。
MP4 頭文件較大精续,邊下邊緩存坝锰,起播相對HLS和DASH慢一些;拖動時間軸播放時重付,需要一定的時間緩存顷级;市場上大多數(shù)的瀏覽器客戶端均能夠播放,播放成功率高确垫。 拖動時間軸播放時弓颈,仍然需要下載整個頭文件,耗費流量大删掀;因流量占用較大翔冀,建議用在短視頻處理的場景。

1.HLS格式

1.1 如何區(qū)分直播和點播

  • 判斷是否存在 #EXT-X-ENDLIST
    • 一個M3U8文件披泪,如果結尾不存在 #EXT-X-ENDLIST纤子,那么一定是 直播,不是點播
  • 判斷 #EXT-X-PLAYLIST-TYPE 類型
    • '#EXT-X-PLAYLIST-TYPE'有兩種類型:
      • VOD 即 Video on Demand付呕,表示該視頻流為點播源
      • EVENT 表示該視頻流為直播源

1.2 HLS如何實現(xiàn)自適應碼率

HLS有兩種類型:

  • Media Playlist
  • Master Playlist:內(nèi)部提供的是同一份媒體資源的多份流列表資源计福。其格式如下所示:
#EXTM3U
#EXT-X-STREAM-INF:BANDWIDTH=150000,RESOLUTION=416x234,CODECS="avc1.42e00a,mp4a.40.2"
http://example.com/low/index.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=240000,RESOLUTION=416x234,CODECS="avc1.42e00a,mp4a.40.2"
http://example.com/lo_mid/index.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=440000,RESOLUTION=416x234,CODECS="avc1.42e00a,mp4a.40.2"
http://example.com/hi_mid/index.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=640000,RESOLUTION=640x360,CODECS="avc1.42e00a,mp4a.40.2"
http://example.com/high/index.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=64000,CODECS="mp4a.40.5"
http://example.com/audio/index.m3u8
#EXT-X-ENDLIST



碼率自適應技術:

  • Adaptive Bitrate Streaming,一種視頻碼率可以根據(jù)網(wǎng)絡狀況或客戶端播放buffer情況自動調(diào)整的視頻傳輸技術徽职。

有三種不同的碼率自適應算法:

  • Buffer-based:基于客戶端的播放緩沖區(qū)buffer情況決策下一片段的碼率檔位
    • 設置保護窗口象颖,當buffer小于保護窗的時候,降低碼率姆钉;
    • 設置緩存限制:當buffer長度大于該限制的時候说订,提高碼率;
  • Rate-based:基于預測的帶寬去決策下一片段的碼率檔位
    • 通過對之前下載的視頻切片的帶寬進行收集處理, 進而預測下載下一個切片的網(wǎng)絡帶寬
  • 同時考慮預測吞吐量和buffer信息決策下一片段的碼率檔位

1.3 #EXT-X-DISCONTINUITY

當HLS播放過程中編碼參數(shù)發(fā)生變化的時候潮瓶,需要加上#EXT-X-DISCONTINUITY字段分隔開陶冷,重啟編碼器。如果我想在HLS中插入廣告毯辅,就需要加上這個字段埂伦。

  • file format
  • number and type of tracks
  • encoding parameters
  • encoding sequence
  • timestamp sequeue

1.4 TS結構介紹

TS也稱MPEG-TS,其中TS是"Transport Stream"思恐,MPEG2-TS格式的特點就是要求從視頻流的任一片段開始都是可以獨立解碼的沾谜。

  • TS格式是主要用于直播的碼流結構膊毁,具有很好的容錯能力。
  • TS流中不包含快速seek的機制基跑,只能通過協(xié)議層實現(xiàn)seek婚温。HLS協(xié)議基于TS流實現(xiàn)的。

TS文件(流)可以分為三層:

  • TS層(Transport Stream)媳否,TS層在PES層上加入了數(shù)據(jù)流標識和傳輸?shù)谋匾畔ⅰ?/li>
  • PES層(Packet Elemental Stream)栅螟,PES層在音視頻數(shù)據(jù)上加了時間戳等對數(shù)據(jù)幀的說明信息。
  • ES層(Elementary Stream)篱竭,ES層就是音視頻數(shù)據(jù)

1.5 fMP4

fMP4 跟普通 mp4 基本文件結構是一樣的力图。普通mp4用于點播場景,fmp4通常用于直播場景室抽。

  • 普通mp4的時長搪哪、內(nèi)容通常是固定的。fMP4 時長坪圾、內(nèi)容通常不固定晓折,可以邊生成邊播放;
  • 普通mp4完整的metadata都在moov里兽泄,需要加載完moov box后漓概,才能對mdat中的媒體數(shù)據(jù)進行解碼渲染;
  • fMP4中病梢,媒體數(shù)據(jù)的metadata在moof box中胃珍,moof 跟 mdat (通常)結對出現(xiàn)。moof 中包含了sample duration蜓陌、sample size等信息觅彰,因此,fMP4可以邊生成邊播放钮热;

一個完整的fMP4文件是:moov + (moof + mdat)* N

2.DASH格式

工作原理:

  • 下載MPD文件填抬,解析DASH相關信息;
  • 下載視頻的Initialization Segment和音頻的Initialization Segment隧期;
  • 下載視頻的第一個分片飒责,下載音頻的第一個分片;
  • 當視頻和音頻的第一個分片都下載完仆潮,播放器內(nèi)部再進行一些相關處理后宏蛉,就可以開始播放出畫面。后續(xù)就是不斷輪詢更新MPD文件和下載后續(xù)的音頻和視頻分片性置。
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末拾并,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌嗅义,老刑警劉巖个榕,帶你破解...
    沈念sama閱讀 219,490評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異芥喇,居然都是意外死亡,警方通過查閱死者的電腦和手機凰萨,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,581評論 3 395
  • 文/潘曉璐 我一進店門继控,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人胖眷,你說我怎么就攤上這事武通。” “怎么了珊搀?”我有些...
    開封第一講書人閱讀 165,830評論 0 356
  • 文/不壞的土叔 我叫張陵冶忱,是天一觀的道長。 經(jīng)常有香客問我境析,道長囚枪,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,957評論 1 295
  • 正文 為了忘掉前任劳淆,我火速辦了婚禮链沼,結果婚禮上,老公的妹妹穿的比我還像新娘沛鸵。我一直安慰自己括勺,他們只是感情好,可當我...
    茶點故事閱讀 67,974評論 6 393
  • 文/花漫 我一把揭開白布曲掰。 她就那樣靜靜地躺著疾捍,像睡著了一般。 火紅的嫁衣襯著肌膚如雪栏妖。 梳的紋絲不亂的頭發(fā)上乱豆,一...
    開封第一講書人閱讀 51,754評論 1 307
  • 那天,我揣著相機與錄音底哥,去河邊找鬼咙鞍。 笑死,一個胖子當著我的面吹牛趾徽,可吹牛的內(nèi)容都是我干的续滋。 我是一名探鬼主播,決...
    沈念sama閱讀 40,464評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼孵奶,長吁一口氣:“原來是場噩夢啊……” “哼疲酌!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 39,357評論 0 276
  • 序言:老撾萬榮一對情侶失蹤朗恳,失蹤者是張志新(化名)和其女友劉穎湿颅,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體粥诫,經(jīng)...
    沈念sama閱讀 45,847評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡油航,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,995評論 3 338
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了怀浆。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片谊囚。...
    茶點故事閱讀 40,137評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖执赡,靈堂內(nèi)的尸體忽然破棺而出镰踏,到底是詐尸還是另有隱情,我是刑警寧澤沙合,帶...
    沈念sama閱讀 35,819評論 5 346
  • 正文 年R本政府宣布奠伪,位于F島的核電站,受9級特大地震影響首懈,放射性物質(zhì)發(fā)生泄漏绊率。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,482評論 3 331
  • 文/蒙蒙 一究履、第九天 我趴在偏房一處隱蔽的房頂上張望即舌。 院中可真熱鬧,春花似錦挎袜、人聲如沸顽聂。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,023評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽紊搪。三九已至,卻和暖如春全景,著一層夾襖步出監(jiān)牢的瞬間耀石,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,149評論 1 272
  • 我被黑心中介騙來泰國打工爸黄, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留滞伟,地道東北人炕贵。 一個月前我還...
    沈念sama閱讀 48,409評論 3 373
  • 正文 我出身青樓,卻偏偏與公主長得像称开,于是被迫代替她去往敵國和親乓梨。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,086評論 2 355

推薦閱讀更多精彩內(nèi)容