HLS科普3 HLS简单实现样例

来源:互联网 发布:mysql数据库设计优化 编辑:程序博客网 时间:2024/06/05 03:19

一个视频文件会被分割为多个TS片段,每个TS片段通过URI指示其位置

HLS协议通过一个用UTF-8文本编码的播放列表索引每个TS文件的位置,客户端按照播放列表顺序播放视频片段

播放列表样例

#EXTM3U#EXT-X-TARGETDURATION:10#EXTINF:9.009,http://media.example.com/first.ts#EXTINF:9.009,http://media.example.com/second.ts#EXTINF:3.003,http://media.example.com/third.ts

#EXTM3U为播放列表的唯一标识,这个播放列表我们按照大家通常称呼的m3u8文件称呼

#EXT-X-TARGETDURATION:10 说明所有的TS片段的最大时长为10秒

#EXTINF:9.009 表示当前TS片段的播放时长,上面的三个TS文件的播放时长分别为:9.009s,9.009s,3.003s

客户端播放时,首先下载该m3u8文件,然后依次下载并播放各个TS片段。数据一般通过HTTP协议传输,其它可靠的传输协议也可以。

可以通过一个主播放列表来描述一种更复杂的显示方式。主播放列表提供一组不同的视频流,这些视频流显示的是同一内容(但他们的码率、分别率可能不同,也可能音频流有不同的语言,视角也可能不同,客户端可以根据需求随意选择需要的播放流的格式)。

 一些关键字 在RFC2119有详细解释

MUST、REQUIRED、SHALL:表示绝对要求这样做。
MUST NOT、SHALL NOT:表表示绝对不要求这样做。
SHOULD、RECOMMENDED:表示一般情况下应该这样做,但是在某些特定情况下可以忽视这个要求。
SHOULD NOT、NOT RECOMMENDED:表示一般情况下不应该这样做,但是在某些特定情况下可以忽视这个要求
MAY、OPTIONAL:表示这个要求完全是可选的(optional),你可以这样做,也可以不这样做。

1 0
原创粉丝点击