zoukankan      html  css  js  c++  java
  • m3u8简介

    m3u8简介

    简介:https://www.jianshu.com/p/426425cad08a

    RFC:https://tools.ietf.org/html/rfc8216

    原理:将视频或音频流分片,并建立m3u8格式的索引,m3u8可以嵌套(最多支持一层嵌套)。可用于直播或者点播。

    格式:m3u8是由独立行组成的文本文件,行分成三类:

    • 以#EXT开头的表示是tag
    • 仅有#表示是注释
    • uri行表示嵌套的m3u8文件,或者真正的分片流。

    m3u8参数

    一级索引和二级索引中,给出的地址可能是相对地址/绝对地址。相对地址根据一级索引的地址更改。
    通常一级索引会给出不同带宽的下载链接,可以根据网速适配不同的下载链接,从而避免卡顿。
    流格式可能是.ts .aac或者RFC支持的其他格式。

    m3u8参数

    • EXTINF:播放时间长度,单位s
    • BANDWIDTH:带宽
    • EXT-X-ENDLIST:有这个参数,说明是点播,是完整的一段音频或者视频;没有这个参数,说明是直播,需要不断从二级索引中去获取下一片段的链接
    • EXT-X-MEDIA-SEQUENCE(可选): 播放列表的第一个音频的序号,如64.m3u8中,有3个音频,序号分别是12591742,12591743,12591744。如果不设置,默认为第一个音频链接序号为0。可以没有这个参数
    • EXT-X-KEY:可能是加密的,具体见RFC
    • EXT-X-TARGETDURATION:每片最大时长,单位s, #EXTINF应该小于这个值
    • 更多参数参考中文链接:http://www.dnsdizhi.com/m/?post=242

    例子

    一级索引 (可以这一层索引,直接是下面的二级索引)
    http://devimages.apple.com/iphone/samples/bipbop/bipbopall.m3u8
    二级索引(在一级索引中根据当前网速找合适的带宽的链接下载)
    http://devimages.apple.com/iphone/samples/bipbop/gear1/prog_index.m3u8
    可以直接播放的文件,mpeg2格式
    http://devimages.apple.com/iphone/samples/bipbop/gear1/fileSequence0.ts

    bipbopall.m3u8

    #EXTM3U
    #EXT-X-STREAM-INF:PROGRAM-ID=1, BANDWIDTH=200000
    gear1/prog_index.m3u8
    #EXT-X-STREAM-INF:PROGRAM-ID=1, BANDWIDTH=311111
    gear2/prog_index.m3u8
    #EXT-X-STREAM-INF:PROGRAM-ID=1, BANDWIDTH=484444
    gear3/prog_index.m3u8
    #EXT-X-STREAM-INF:PROGRAM-ID=1, BANDWIDTH=737777
    gear4/prog_index.m3u8
    

    prog_index.m3u8

    #EXTM3U
    #EXT-X-TARGETDURATION:10
    #EXT-X-MEDIA-SEQUENCE:0
    #EXTINF:10, no desc
    fileSequence0.ts
    #EXTINF:10, no desc
    fileSequence1.ts
    #EXTINF:10, no desc
    ...
    ...
    ...
    fileSequence178.ts
    #EXTINF:10, no desc
    fileSequence179.ts
    #EXTINF:1, no desc
    fileSequence180.ts
    #EXT-X-ENDLIST
    
  • 相关阅读:
    指针
    显示和隐式转换
    C++虚函数
    字符串输出
    BP神经网络
    超像素分割
    函数putText()在图片上写文字
    compare
    十五、cookies和session的使用
    爬取腾讯社招职位信息
  • 原文地址:https://www.cnblogs.com/pukaifei/p/8312936.html
Copyright © 2011-2022 走看看