HLS中m3u8格式规范解读
生活随笔
收集整理的這篇文章主要介紹了
HLS中m3u8格式规范解读
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
權威的itef官方文檔參見:
https://datatracker.ietf.org/doc/draft-pantos-http-live-streaming/
另外參見蘋果官方文檔
https://developer.apple.com/streaming/
#EXTM3U //必需,表示一個擴展的m3u文件
#EXT-X-VERSION:3 ? ? ? ? ? ?//hls的協議版本號,暗示媒體流的兼容性#EXT-X-MEDIA-SEQUENCE:3560 ?//暗示首個視頻分段的sequence number,只能有一個該字段,也可以沒有,若沒有就假設首個視頻分段的sequence number為0
#EXT-X-ALLOW-CACHE:NO ? ? ? //是否允許客戶端對下載的視頻分段緩存用于以后播放?
#EXT-X-TARGETDURATION:25 ? ?//每個視頻分段最大的時長(單位秒)
#EXT-X-DISCONTINUITY ? ? ? ?//暗示當前的視頻分段和它之前及之后的視頻分段有不同的編碼不連續性
#EXTINF:<duration>, ? ? ? ?//每個視頻分段都由以下三行信息組成,duration表示該段的時長,以秒為單位,注意最后有個逗號
http:......mp4 ? ?//視頻分段的地址
#EXT-X-DISCONTINUITY //視頻分段結束,如果是最后一個分段,則不需要這一行
..... ? ?//其他分段的信息,每個分段同樣由三行信息組成。
#EXTINF:10,
http://113.108.235.97:80/ipad/160_15607_4578/20130307153030.ts?userid=VSDNNP-183081183068_160_15607_4578
#EXT-X-ENDLIST //暗示不再有視頻分段加入,可出現在playlist文件的任何地方
嵌套包含的情況:
#EXT-X-STREAM-INF:PROGRAM-ID=1, BANDWIDTH=500000
http://ipad.vsdn.tv380.com/5B63686E5D445830303030303034367C313735397C317C313030307C434354562D357C687474707C74735B2F63686E5D5B74735D307C687474705B2F74735DVSDNSOOONERCOM00/cctv5.m3u8 //嵌套定義一個媒體URI作為一個playlist文件,它包括多媒體展示及展示的元信息,必須包括BANDWIDTH
#EXT-X-STREAM-INF:<attribute-list>
<URI>
下面是相關的屬性列表:
BANDWIDTH ?每個視頻分段的總體bitrate的最大值
PROGRAM-ID 唯一定義playlist文件范圍里的一個特別的presentation
下面是使用ffmpeg生成的一個m3u8文件的樣例
#EXTM3U
#EXT-X-VERSION:3
#EXT-X-MEDIA-SEQUENCE:0
#EXT-X-ALLOW-CACHE:YES
#EXT-X-TARGETDURATION:16
#EXTINF:14.040000,
output_file-0.ts
#EXTINF:5.960000,
output_file-1.ts
#EXTINF:11.360000,
output_file-2.ts
#EXTINF:13.160000,
output_file-3.ts
#EXTINF:6.000000,
output_file-4.ts
#EXTINF:12.000000,
output_file-5.ts
#EXTINF:12.000000,
output_file-6.ts
#EXTINF:6.160000,
output_file-7.ts
#EXTINF:12.120000,
output_file-8.ts
#EXTINF:10.560000,
output_file-9.ts
#EXTINF:8.440000,
output_file-10.ts
#EXTINF:12.680000,
output_file-11.ts
#EXTINF:6.000000,
output_file-12.ts
#EXTINF:11.560000,
output_file-13.ts
#EXTINF:11.040000,
output_file-14.ts
#EXTINF:12.840000,
output_file-15.ts
#EXTINF:5.360000,
output_file-16.ts
#EXTINF:14.280000,
output_file-17.ts
#EXTINF:5.840000,
output_file-18.ts
#EXTINF:9.120000,
output_file-19.ts
#EXTINF:12.800000,
output_file-20.ts
#EXTINF:8.640000,
output_file-21.ts
#EXTINF:12.640000,
output_file-22.ts
#EXTINF:5.880000,
output_file-23.ts
#EXTINF:10.360000,
output_file-24.ts
#EXTINF:11.440000,
output_file-25.ts
#EXTINF:8.200000,
output_file-26.ts
#EXTINF:10.000000,
output_file-27.ts
#EXTINF:15.120000,
output_file-28.ts
#EXTINF:4.800000,
output_file-29.ts
#EXTINF:10.920000,
output_file-30.ts
#EXTINF:11.200000,
output_file-31.ts
#EXTINF:8.520000,
output_file-32.ts
#EXTINF:12.000000,
output_file-33.ts
#EXTINF:10.000000,
output_file-34.ts
#EXTINF:11.480000,
output_file-35.ts
#EXTINF:11.120000,
output_file-36.ts
#EXT-X-ENDLIST
總結
以上是生活随笔為你收集整理的HLS中m3u8格式规范解读的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: FFMPEG转码常用命令研究
- 下一篇: Ubuntu 14.04安装搜狗拼音li