http live streaming(m3u8 streaming)(m3u8)

來源:互聯網
上載者:User

m3u8 筆記:

在IOS device和mac上可以用http的方式進行分發,其中playlist標準為由m3u擴充而來的m3u8檔案,媒體檔案為MPEG2-TS或者AAC檔案(audio only)。

m3u8檔案有兩種應用情境:

multi bitrate adaptive streaming

#EXTM3U

#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=1280000

http://example.com/low.m3u8

#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=2560000

http://example.com/mid.m3u8

#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=7680000

http://example.com/hi.m3u8

#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=65000,CODECS="mp4a.40.5"

http://example.com/audio-only.m3u8

sbr bitrate adaptive streaming

#EXTM3U

#EXT-X-TARGETDURATION:5220

#EXTINF:5220,

http://media.example.com/entire.ts

#EXT-X-ENDLIST

rfc doc:
http://tools.ietf.org/html/draft-pantos-http-live-streaming-06
m3u8 檔案是m3u檔案的擴充。在該rfc中定義了擴充的關鍵字:
其中:

#EXT-X-TARGETDURATION

定義每個TS的最大的duration。

#EXT-X-MEDIA-SEQUENCE

定義當前m3u8檔案中第一個檔案的序號,每個ts檔案在m3u8檔案中都有固定唯一的序號,該序號用於在MBR時切換碼率進行對齊。

#EXT-X-KEY

定義加密方式和key檔案的url,用於取得16bytes的key檔案解碼ts檔案。

屬性:

METHOD

URL

#EXT-X-PROGRAM-DATE-TIME

第一個檔案的絕對時間

#EXT-X-ALLOW-CACHE

是否允許cache。

#EXT-X-ENDLIST

表明m3u8檔案的結束。live m3u8沒有該tag。

#EXT-X-STREAM-INF

屬性:

BANDWIDTH

PROGRAM-ID

CODECS

#EXT-X-DISCONTINUITY

當遇到該tag的時候說明以下屬性發生了變化:

file format 

number and type of tracks

encoding parameters

encoding sequence

timestamp sequence

#EXT-X-VERSION

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.