对于视频点播 (VOD) 会话,媒体文件可用于表示演示的整个持续时间。索引文件是静态的,包含自演示文稿开始以来创建的所有媒体文件的 URL 的完整列表。这种会话允许客户端完全访问整个程序。
此代码是视频点播播放列表的示例:
#EXTM3U
#EXT-X-PLAYLIST-TYPE:VOD
#EXT-X-TARGETDURATION:10
#EXT-X-VERSION:4
#EXT-X-MEDIA-SEQUENCE:0
#EXTINF:10.0,
http://example.com/movie1/fileSequenceA.ts
#EXTINF:10.0,
http://example.com/movie1/fileSequenceB.ts
#EXTINF:10.0,
http://example.com/movie1/fileSequenceC.ts
#EXTINF:9.0,
http://example.com/movie1/fileSequenceD.ts
#EXT-X-ENDLIST
以下是视频点播播放列表示例中使用的标记:
EXTM3U:表示播放列表是扩展的 M3U 文件。这种类型的文件与基本的 M3U 文件区分开来,方法是将第一行的标签更改为 EXTM3U。所有 HLS 播放列表都必须以此标记开头。
EXT-X-PLAYLIST-TYPE:提供适用于整个播放列表文件的可变性信息。此标记可能包含事件或 VOD 的值。如果标记存在且值为 EVENT,则服务器不得更改或删除播放列表文件的任何部分(尽管它可能会向其附加行)。如果标签存在且值为 VOD,则播放列表文件不得更改。
EXT-X-TARGETDURATION:指定最长媒体文件持续时间。
EXT-X 版本:指示播放列表文件的兼容版本。播放列表媒体及其服务器必须符合定义该协议版本的 HTTP 实时流规范的最新版本的 IETF 互联网草案的所有规定。
EXT-X-MEDIA-SEQUENCE:指示播放列表文件中显示的第一个 URL 的序列号。播放列表中的每个媒体文件 URL 都有一个唯一的整数序列号。URL 的序列号比其前面的 URL 的序列号高 1。媒体序列号与文件名无关。
EXTINF:描述由其后 URL 标识的媒体文件的记录标记。每个媒体文件 URL 前面必须有一个 EXTINF 标记。此标记包含一个持续时间属性,该属性是采用十进制位置表示法的整数或浮点数,用于指定媒体段的持续时间(以秒为单位)。此值必须小于或等于目标持续时间。
注意:
始终使用浮点 EXTINF 持续时间(在协议版本 3 中支持)。这允许客户端在流中查找时最大限度地减少舍入误差。
EXT-X-ENDLIST:表示不会再向播放列表文件添加任何媒体文件。
上面的 VOD 播放列表示例使用媒体文件播放列表条目的完整路径名。虽然这是允许的,但最好使用相对路径名。相对路径名比绝对路径名更具可移植性,并且相对于播放列表文件的 URL。与使用相对路径名相比,对单个播放列表条目使用完整路径名通常会产生更多的文本。以下是具有相对路径名的相同播放列表:
#EXTM3U
#EXT-X-PLAYLIST-TYPE:VOD
#EXT-X-TARGETDURATION:10
#EXT-X-VERSION:4
#EXT-X-MEDIA-SEQUENCE:0
#EXTINF:10.0,
fileSequenceA.ts
#EXTINF:10.0,
fileSequenceB.ts
#EXTINF:10.0,
fileSequenceC.ts
#EXTINF:9.0,
fileSequenceD.ts
#EXT-X-ENDLIST