溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

M3U8文件格式介紹

發(fā)布時(shí)間:2020-05-25 13:46:18 來源:億速云 閱讀:374 作者:鴿子 欄目:云計(jì)算

阿里云的CDN開通后,作視頻服務(wù),通常會(huì)把視頻文件存放到OSS上面,這個(gè)時(shí)候會(huì)     用到切片服務(wù),m3u8就比較常見的媒體格式。M3U8 是 Unicode 版本的 M3U, 用 UTF-8 編碼。"M3U" 和 "M3U8" 文件都是蘋果公司使用的 HTTP Live Streaming(HLS) 協(xié)議格式的基礎(chǔ),
這種協(xié)議格式可以在 iPhone 和 Macbook 等設(shè)備播放

       m3u8 文件其實(shí)是 HTTP Live Streaming(縮寫為 HLS) 協(xié)議的部分內(nèi)容,
    而 HLS 是一個(gè)由蘋果公司提出的基于 HTTP 的流媒體網(wǎng)絡(luò)傳輸協(xié)議

        HLS 的工作原理是把整個(gè)流分成一個(gè)個(gè)小的基于 HTTP 的文件來下載,
    每次只下載一些。當(dāng)媒體流正在播放時(shí),客戶端可以選擇從許多不同
    的備用源中以不同的速率下載同樣的資源,允許流媒體會(huì)話適應(yīng)不同
    的數(shù)據(jù)速率。在開始一個(gè)流媒體會(huì)話時(shí),客戶端會(huì)下載一個(gè)包含元數(shù)
    據(jù)的 extended M3U (m3u8) playlist文件,用于尋找可用的媒體流。
HLS 只請求基本的 HTTP 報(bào)文,與實(shí)時(shí)傳輸協(xié)議(RTP)不同,HLS 
    可以穿過任何允許 HTTP 數(shù)據(jù)通過的防火墻或者代理服務(wù)器。它也很
    容易使用內(nèi)容分發(fā)網(wǎng)絡(luò)來傳輸媒體流。

HLS 是新一代流媒體傳輸協(xié)議,其基本實(shí)現(xiàn)原理為將一個(gè)大的媒體文件進(jìn)行分片,將該分片文件資源路徑記錄于 m3u8 文件(即 playlist)內(nèi),其中附帶一些額外描述(比如該資源的多帶寬信息···)用于提供給客戶端??蛻舳艘罁?jù)該 m3u8 文件即可獲取對應(yīng)的媒體資源,進(jìn)行播放。

因此,客戶端獲取 HLS 流文件,主要就是對 m3u8 文件進(jìn)行解析操作

 M3U8 文件簡介

m3u8 文件實(shí)質(zhì)是一個(gè)播放列表(playlist),其可能是一個(gè)媒體播放列表(Media Playlist),或者是一個(gè)主列表(Master Playlist)。但無論是哪種播放列表,其內(nèi)部文字使用的都是 utf-8 編碼。

當(dāng) m3u8 文件作為媒體播放列表(Meida Playlist)時(shí),其內(nèi)部信息記錄的是一系列媒體片段資源,順序播放該片段資源,即可完整展示多媒體資源。其格式如下所示:

#EXTM3U
#EXT-X-TARGETDURATION:10

#EXTINF:9.009,
http://media.example.com/first.ts
#EXTINF:9.009,
http://media.example.com/second.ts
#EXTINF:3.003,
http://media.example.com/third.ts
對于點(diǎn)播來說,客戶端只需按順序下載上述片段資源,依次進(jìn)行播放即可。而對于直播來說,客戶端需要 定時(shí)重新請求 該 m3u8 文件,看下是否有新的片段數(shù)據(jù)需要進(jìn)行下載并播放。

當(dāng) m3u8 作為主播放列表(Master Playlist)時(shí),其內(nèi)部提供的是同一份媒體資源的多份流列表資源(Variant Stream)。其格式如下所示:

#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

該備用流資源指定了多種不同碼率,不同格式的媒體播放列表,并且,該備用流資源也可同時(shí)提供不同版本的資源內(nèi)容,比如不同語言的音頻文件,不同角度拍攝的視屏文件等等。客戶可以根據(jù)不同的網(wǎng)絡(luò)狀態(tài)選取合適碼流的資源,并且最好根據(jù)用戶喜好選擇合適的資源內(nèi)容。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI