IOS 设备m3u8流媒体协议标签解析

1、抓取接口内容

通过配置代理抓包工具与itouch连接后,在代理服务端即可抓取itouch访问优酷服务器过程的包。配置教程:

http://jingyan.baidu.com/article/5bbb5a1b4cb92513eaa1797a.html

抓取成功后,如图:

223505_Crbg_2391658.png

以下优酷服务端响应itouch播放请求的内容:

#EXTM3U
#EXT-X-TARGETDURATION:12
#EXT-X-VERSION:2
#EXTINF:6,
http://58.211.22.209/67742D3E9A34883C3013EF4071/03000201005355AEB045B30230E416DE8E7AE4-029D-1B46-B233-8E29C448A69F.flv?ts_start=0&ts_end=5.9&ts_seg_no=0&ts_keyframe=1
#EXTINF:6,
http://58.211.22.209/67742D3E9A34883C3013EF4071/03000201005355AEB045B30230E416DE8E7AE4-029D-1B46-B233-8E29C448A69F.flv?ts_start=5.9&ts_end=11.9&ts_seg_no=1&ts_keyframe=1
#EXTINF:6,
http://58.211.22.209/67742D3E9A34883C3013EF4071/03000201005355AEB045B30230E416DE8E7AE4-029D-1B46-B233-8E29C448A69F.flv?ts_start=11.9&ts_end=17.9&ts_seg_no=2&ts_keyframe=1
#EXTINF:12,
http://58.211.22.209/67742D3E9A34883C3013EF4071/03000201005355AEB045B30230E416DE8E7AE4-029D-1B46-B233-8E29C448A69F.flv?ts_start=17.9&ts_end=29.9&ts_seg_no=4&ts_keyframe=1
#EXTINF:12,
http://58.211.22.209/67742D3E9A34883C3013EF4071/03000201005355AEB045B30230E416DE8E7AE4-029D-1B46-B233-8E29C448A69F.flv?ts_start=29.9&ts_end=41.9&ts_seg_no=5&ts_keyframe=1
#EXTINF:12,
http://58.211.22.209/67742D3E9A34883C3013EF4071/03000201005355AEB045B30230E416DE8E7AE4-029D-1B46-B233-8E29C448A69F.flv?ts_start=41.9&ts_end=53.9&ts_seg_no=6&ts_keyframe=1
#EXTINF:12,
http://58.211.22.209/67742D3E9A34883C3013EF4071/03000201005355AEB045B30230E416DE8E7AE4-029D-1B46-B233-8E29C448A69F.flv?ts_start=53.9&ts_end=65.9&ts_seg_no=7&ts_keyframe=1
#EXTINF:12,
http://58.211.22.209/67742D3E9A34883C3013EF4071/03000201005355AEB045B30230E416DE8E7AE4-029D-1B46-B233-8E29C448A69F.flv?ts_start=65.9&ts_end=77.9&ts_seg_no=8&ts_keyframe=1
#EXTINF:12,
http://58.211.22.209/67742D3E9A34883C3013EF4071/03000201005355AEB045B30230E416DE8E7AE4-029D-1B46-B233-8E29C448A69F.flv?ts_start=77.9&ts_end=89.9&ts_seg_no=9&ts_keyframe=1
#EXTINF:12,
http://58.211.22.209/67742D3E9A34883C3013EF4071/03000201005355AEB045B30230E416DE8E7AE4-029D-1B46-B233-8E29C448A69F.flv?ts_start=89.9&ts_end=101.9&ts_seg_no=10&ts_keyframe=1
#EXTINF:12,
http://58.211.22.209/67742D3E9A34883C3013EF4071/03000201005355AEB045B30230E416DE8E7AE4-029D-1B46-B233-8E29C448A69F.flv?ts_start=101.9&ts_end=113.9&ts_seg_no=11&ts_keyframe=1
#EXTINF:12,
http://58.211.22.209/67742D3E9A34883C3013EF4071/03000201005355AEB045B30230E416DE8E7AE4-029D-1B46-B233-8E29C448A69F.flv?ts_start=113.9&ts_end=125.9&ts_seg_no=12&ts_keyframe=1
#EXTINF:4,
http://58.211.22.209/67742D3E9A34883C3013EF4071/03000201005355AEB045B30230E416DE8E7AE4-029D-1B46-B233-8E29C448A69F.flv?ts_start=125.9&ts_end=129.833&ts_seg_no=13&ts_keyframe=1
#EXT-X-ENDLIST

2、解析特殊标签

内容中有一些特殊标签,如#EXTM3U,现在我们来解析这些标签:

编号

标签值

标签意义

备注

1、

#EXTM3U

标识播放列表文件扩展名的格式,如

.M3U8

该标签必须包含在播放列表中。且只能出现1次

2、

#EXT-X-TARGETDURATION

指定媒体段文件最大持续的时间

该标签在播放列表文件中只能出现1次。#EXTINF会标识每个段的具体持续时间,该时间只能小于等于#EXT-X-TARGETDURATION

3、

#EXTINF

指定每个媒体段文件的持续时间。

该标签后必须紧跟段文件的URI地址。

4、

#EXT-X-VERSION

指定播放列表兼容性版本。相关的媒体文件和服务器都必须全部支持该标签指定的版本。

该标签必须包含在播放列表中,且该值在PlayList中只能出现1次

5、

#EXT-X-DISCONTINUITY

该标签指示在当前段文件的段前或段后的连续性

该标签不能出现在主播放列表中

6、

#EXT-X-ENDLIST

该标签指示其后没有媒体文件段了。

该标签可以在播放列表的任意位置出现,但只能出现1次

7、

#EXT-X-BYTERANGE

该标签指示当前的媒体段文件是一个被媒体URI确定的源文件的子范围

该标签只能出现在当前段文件的下一个段文件中。

8、

#EXT-X-MEDIA-SEQUENCE

每个媒体段文件在播放列表中都有一个唯一的顺序值,该标签指示第一个出现的段文件的顺序号。

如果该值是个十进制的整数,则该值不能在减少。一个播放列表文件一个以上的该标签。如果播放列表不包含此标签,则第一段出现的段文件的序号就是0,该标签不能出现在主播放列表中

9、

#EXT-X-KEY

媒体段文件可能会被加密,该标签指示如何解密他们。

该标签应用在当前段文件和下一个段文件之间,多个该标签必须提供同样的解密字符。

10、

#EXT-X-PROGRAM-DATE-TIME

该标签指定与第一个段文件的实例连接的绝对日期和时间。

该标签只能应用在当前段文件的下一个段文件中

11、

#EXT-X-ALLOW-CACHE

该标签值指示客户端是否缓存下一个请求的段文件。

该标签可以在播放列表的任意位置出现,但只能出现1次。

12、

#EXT-X-PLAYLIST-TYPE

该标签值将为播放列表提供多个提示信息。它应用与整个播放列表中。

该标签不能出现在主播放列表

13、

#EXT-X-MEDIA

该标签用于替换播放列表相关的相同的内容。

该标签只能出现在版本4以上的协议中,且不能出现在播放列表中

14、

#Rendition Groups

展示一套具有相同GROUP-ID值得EXT-X-MEDIA,

组内的每个成员必须代表可替代的一段相同内容

15、

#EXT-X-STREAM-INF

该标签指定一个流,这个流可以绑定在播放介绍中。

如绑定编码,带宽值等。

16、

#EXT-X-I-FRAMES-ONLY

该标签指定每个媒体段文件中的关键帧,关键帧被编码为不依赖其他帧。

不能出现在主播放文件

17、

#EXT-X-MAP

该标签指示了如何从每个段文件的包头中获得信息。它应用在每个紧接着的段文件中。

 

18、

#EXT-X-I-FRAME-STREAM-INF

该标签指示一个媒体播放列表文件所包含的的关键帧的帧内容介绍。它是独立的,不应用在主播放列表的特定URI中。

该标签不能出现在媒体播放列表中。

19、

#EXT-X-INDEPENDENT-SEGMENTS

该标签指示所有的媒体段文件都能被解码,它应用在播放列表中的每个段文件中。

协议版本6以上才能支持。

20、

#EXT-X-START

该标签指示播放列表中能被优先播放的点。默认为客户端在刚开始播放时,必须处在这个点。

此关键字在播放列表中只能出现1次。

转载于:https://my.oschina.net/u/2391658/blog/713543

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值