详解m3u8协议( 二 )


#EXT-X-PROGRAM-DATE-TIME :将?个绝对时间或是?期和?个媒体段中的第?个 sample 相关联 , 只对下?个 media URI 有效 , 格式如下: #EXT-X-PROGRAM-DATE-TIME:
如: #EXT-X-PROGRAM-DATE-TIME:2010-02-19T14:54:23.031+08:00
#EXT-X-ALLOW-CACHE :是否允许做 cache , 这个可以在 Playlist ?件中任意地?出现 , 并且最多只出现?次 , 作?效果是所有的媒体段 。 格式如下: #EXT-X-ALLOW-CACHE:
#EXT-X-PLAYLIST-TYPE :提供关于 Playlist 的可变性的信息 , 这个对整个 Playlist ?件有效 , 是可选的 , 格式如下: #EXT-X-PLAYLIST-TYPE:
VOD , 即为点播视频 , 服务器不能改变 Playlist ?件 , 换句话说就是该视频全部的 ts ?件已经被?成好了EVENT , 就是实时?成 m3u8 和 ts ?件 。 服务器不能改变或是删除 Playlist ?件中的任何部分 , 但是可以向该?件中增加新的??内容 。 它的索引?件?直处于动态变化中 , 播放的时候需要不断下载?级 index ?件
#EXT-X-ENDLIST :表示 m3u8 ?件的结束 , live m3u8 没有该 tag 。 它可以在 Playlist 中任意位置出现 , 但是只能出现?个 , 格式如下: #EXT-X-ENDLIST
#EXT-X-MEDIA :被?来在 Playlist 中表示相同内容的不同语种/译?的版本 , ?如可以通过使? 3个这种 tag 表示 3 种不同语?的?频 , 或者? 2 个这个 tag 表示不同?度的 video 。 在 Playlist中 , 这个标签是独?存在的 , 其格式如下: #EXT-X-MEDIA:
该属性列表中包含:URI、TYPE、GROUP-ID、LANGUAGE、NAME、DEFAULT、AUTOSELECT 。
URI:如果没有 , 则表示这个 tag 描述的可选择版本在主 PlayList 的 EXT-X-STREAM-INF 中存在
TYPE:AUDIO and VIDEO
GROUP-ID:具有相同 ID 的 MEDIAtag , 组成?组样式
LANGUAGE:identifies the primary language used in the rendition
NAME:The value is a quoted-string containing a human-readable description of the
rendition. If the LANGUAGE attribute is present then this description SHOULD be in
that language
DEFAULT:YES 或是 NO , 默认是 No , 如果是 YES , 则客户端会以这种选项来播放 , 除??户
??进?选择
AUTOSELECT:YES 或是 NO , 默认是 No , 如果是 YES , 则客户端会根据当前播放环境来进?
选择(?户没有根据??偏好进?选择的前提下) , 这个在版本4中 , 也是存在 。
#EXT-X-STREAM-INF :指定?个包含多媒体信息的 media URI 作为 Playlist , ?般做 m3u8 的嵌套使? , 它只对紧跟后?的 URI 有效 , 格式如下: #EXT-X-STREAM-INF:常?的属性如下:
BANDWIDTH:带宽 , 必须有
PROGRAM-ID:该值是?个?进制整数 , 唯?地标识?个在 Playlist ?件范围内的特定的描述 。
?个 Playlist ?件中可能包含多个有相同 ID 的此 tag
CODECS:指定流的编码类型 , 不是必须的
RESOLUTION:分辨率
AUDIO:这个值必须和 AUDIO 类别的 "EXT-X-MEDIA" 标签中 "GROUP-ID" 属性值相匹配
VIDEO:同上
#EXT-X-DISCONTINUITY :当遇到该 tag 的时候说明以下属性发?了变化:
file format ?件格式
number and type of tracks 轨道
encoding parameters 编码参数
encoding sequence 编码序号
timestamp sequence 时间戳序号
#ZEN-TOTAL-DURATION :
表示这个 m3u8 所含 ts 的总时间?度
本篇文章就分析到这里 , 欢迎大家关注欢迎关注 , 点赞 , 转发 , 收藏 , 分享 , 评论区讨论 。
后面关于项目知识 , 后期会更新 。 欢迎关注微信公众号"记录世界 from antonio" 。