HTTP LIVE STREAMING的介绍(二)

         今天简单地讲一下HLS协议里面流的Playlist。一般测试的时候,使用的encode工具是Envivio,他可以快速的配置处我们需要的流。具体的配置就不讲了,如果购买了他们的设备,会有相应的文档的,而且他们的support也很nice。这里主要是说HLS的Live流。

        当你配置好Envivio后,他将把生成的流自动上传到指定的路径,一般来说,你只需要配置好一个HTTP的服务就可以完成。这里会生成两类文件,m3u8和segment。m3u8文件有index.m3u8和01.m3u8,segment主要就是流了,文件形式是*.ts。

        打开index.m3u8,可以看到:

       

#EXTM3U
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=914432,RESOLUTION=640x480,CODECS="avc1.42e01e,mp4a.40.2"
01.m3u8

    这个文件叫做Variant Playlist,主要描述这个流的一些基本信息,比如需要的带宽,分辨率,还有codec,这个codec是H.264的baseline profile。

     它所对应的的playlist文件时01.m3u8,打开01.m3u8:

     

#EXTM3U
#EXT-X-VERSION:3
#EXT-X-TARGETDURATION:11
#EXT-X-MEDIA-SEQUENCE:182351
#EXTINF:10,
20130227T103156-01-2.ts
#EXTINF:10,
20130227T103156-01-3.ts
#EXTINF:10,
20130227T103156-01-4.ts
#EXTINF:10,
20130227T103156-01-5.ts
#EXTINF:10,
20130227T103156-01-6.ts
#EXTINF:10,
20130227T103156-01-7.ts
~

    简单解释一下这些标记,#EXTM3U是HLS协议中的第一行,仅仅是个声明。#EXT-X-VERSION表示使用的HLS协议的版本号是3。#EXT-X-TARGETDURATION表示segment的长度不超过11秒。#EXT-X-MEDIA-SEQUENCE表示的是这个playlist的序列号,每次刷新一个playlist,这个sequence号会自动加1。#EXTINF表示的是对应的segment的播放长度是10秒。

    

猜你喜欢

转载自david-je.iteye.com/blog/1870347