流媒体协议HLS
NB_vol_1
这个作者很懒,什么都没留下…
展开
-
HLS学习(一)HLS介绍
HLS介绍HLS(HTTP live streaming)是apple公司提出的一个基于HTTP的流媒体网络传输协议HLS只请求基本的HTTP报文,和实时传输协议(RTP)不同,HLS可以穿过任何允许HTTP数据通过的防火墙或者代理服务器协议简介 1、视频的封装格式是TS 2、视频的编码格式是H.264,音频编码格转载 2017-03-02 15:10:28 · 3481 阅读 · 0 评论 -
HLS学习(二)HLSDownloader源码分析(1)介绍
HLSDownloader源码分析 为了加深对HLS的理解,下面分析一个开源的HLS项目:HLSDownloader。这个项目配合ffmpge使用,用于下载HLS流媒体文件。 HLSDownloader:https://github.com/ccyjava/HLSDownloader原创 2017-03-02 21:35:29 · 1169 阅读 · 0 评论 -
HLS学习(三)HLSDownloader源码分析(2)相关的数据结构
相关的数据结构 下面介绍HLSDownloader中和HLS协议相关的一些数据结构,它们的关系需要参考下面的图如果不存在Master PlayList,那么它是下面的形式Master PlayList Master PlayList也叫做一级索引,它里面存放了Media PlayList的信息原创 2017-03-02 21:47:01 · 1201 阅读 · 0 评论 -
HLS学习(四)HLSDownloader源码分析(3)总体流程
总体流程下载一个媒体文件的流程1、初始化2、根据URL下载m3u8文件(即PlayList文件)3、判断m3u8文件的类型,是Master PlayList还是Media PlayList4、如果是Master PlayList,那么分析这个PlayList的内容,并选择一个合适的Media PlayList,注意这一步只是分析Master PlayLi原创 2017-03-02 22:07:49 · 1601 阅读 · 0 评论 -
HLS学习(五)HLSDownloader源码分析(4)解析Master PlayList
解析Master PlayListPlayList就是m3u8文件或者索引文件,Master PlayList也叫一级索引文件。 解析Master PlayList的过程如下:1、计算Master PlayList中URL的数量,每一个URL指向一个Media PlayList2、根据URL的数量,分配Media PlayList的内存(Master原创 2017-03-03 10:43:45 · 1546 阅读 · 0 评论 -
HLS学习(七)HLSDownloader源码分析(6)下载TS文件片段
下载TS文件片段解析完成Master PlayList和Media PlayList之后就可以下载TS视频片段了下载的流程:1、初始化本地的文件名2、设置本地文件的访问权限3、创建任务队列4、创建PlayList更新线程,因为服务器上的m3u8文件可能会经过改动,因此需要实时更新5、遍历任务队列,队列里面存放的是TS媒体文件的信息,根据这些信息,原创 2017-03-03 11:56:57 · 1668 阅读 · 0 评论 -
HLS学习(六)HLSDownloader源码分析(5)解析Media PlayList
解析Media PlayListPlayList就是m3u8文件或者索引文件,Media PlayList也叫媒体播放列表或者媒体索引文件解析Media PlayList的流程如下:1、如果hls_media_playlist结构体中媒体信息存在,那么先删除2、如果Media PlayList文件已经存在,那么先删除。没有Master PlayList的时候,这种情原创 2017-03-03 11:31:49 · 1329 阅读 · 0 评论