文档章节

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

孟飞阳
 孟飞阳
发布于 2016/07/17 22:39
字数 1377
阅读 100
收藏 1

1、抓取接口内容

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

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

抓取成功后,如图:

以下优酷服务端响应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次。

© 著作权归作者所有

共有 人打赏支持
孟飞阳
粉丝 206
博文 969
码字总数 544135
作品 5
朝阳
个人站长
私信 提问
iOS 直播类APP开发流程解析

1 . 音视频处理的一般流程: 数据采集→数据编码→数据传输(流媒体服务器) →解码数据→播放显示 1、数据采集: 摄像机及拾音器收集视频及音频数据,此时得到的为原始数据 涉及技术或协议: ...

HeroHY
2017/02/10
0
0
RTMP、HTTP-FLV、HLS,你了解常见的三大直播协议吗

随着直播行业大火,游戏、乐秀、教育、发布会等直播类产品层出不穷,能够满足各方人员的需求。在直播中,总能在其中找到适合自己的产品内容。喜欢玩游戏的可以看游戏直播,想学点工作技能的,...

又拍云
10/31
0
0
iOS直播类APP开发流程解析(内附源码详解)

前言 个人认为要想把直播从零开始做出来,绝对是牛逼中的牛逼,大牛中的大牛,因为直播中运用到的技术难点非常之多,视频/音频处理,图形处理,视频/音频压缩,CDN分发,即时通讯等技术,每一...

_小迷糊
05/09
0
0
iOS实现OTA无线安装App

引用Apple说明: 您可以使用 Apple Developer Enterprise Program(Apple 开发者企> 业级计划)开发 iOS 和 macOS 应用,对于开发、测试应用以及将> > 其分发给用户,此计划提供了完整的流程...

LuisX
08/29
0
0
iOS逆向与安全(一):环境搭建

前言 从本篇文章开始,笔者会整理iOS逆向相关的笔记。作为一位新人,希望通过整理笔记能够更好的理解和掌握知识。作为新人能力有限,在行文时难免出现错误欢迎批评和指正。 前期准备 一台越狱...

紫电清霜Owenli
09/16
0
0

没有更多内容

加载失败,请刷新页面

加载更多

springboot中filter的用法

一、在spring的应用中我们存在两种过滤的用法,一种是拦截器、另外一种当然是过滤器。我们这里介绍过滤器在springboot的用法,在springmvc中的用法基本上一样,只是配置上面有点区别。 二、f...

xiaomin0322
19分钟前
3
0
java项目修改了更换了jdk版本报错进行修改

java项目原来用的是1.8版本的,改成1.7版本后,项目会报错,要进行的修改是 然后是clean一下项目,然后是选中项目的buildpath,然后是configurebuildpath,然后是看jdk是否进行修改...

myAll_myAll
31分钟前
3
0
Gartner 2018 数据库系列报告发布 巨杉数据库连续两年入选

近期,Gartner陆续发布了2018年的数据库系列报告,包括《数据库魔力象限》《数据库核心能力》以及《数据库推荐报告》。其中,SequoiaDB巨杉数据库作为业界领先的金融级分布式交易型数据库产品...

巨杉数据库
33分钟前
1
0
Navicat闲置一段时间卡死问题的解决

先关闭连接,再右键点击所需要设置的链接,进入编辑连接,进入高级项,勾选保持连续间隔(秒):时间设置短一些,比如30秒,完成!!

joyStalker
33分钟前
1
0
理解Java中的弱引用(Weak Reference)

1. What——什么是弱引用? Java中的弱引用具体指的是java.lang.ref.WeakReference<T>类,我们首先来看一下官方文档对它做的说明: 弱引用对象的存在不会阻止它所指向的对象变被垃圾回收器回...

绝地逢生
34分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部