CN103581764A - 适于hls视频文件下载存储方法及hls视频文件播放系统 - Google Patents
适于hls视频文件下载存储方法及hls视频文件播放系统 Download PDFInfo
- Publication number
- CN103581764A CN103581764A CN201210258027.1A CN201210258027A CN103581764A CN 103581764 A CN103581764 A CN 103581764A CN 201210258027 A CN201210258027 A CN 201210258027A CN 103581764 A CN103581764 A CN 103581764A
- Authority
- CN
- China
- Prior art keywords
- file
- piecemeal
- local
- directory
- block
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
本发明涉及一种适于HLS视频文件下载存储方法及HLS视频文件播放系统。其中,下载存储方法包括下列步骤:获取分块文件目录步骤,解析分块文件目录步骤,下载分块文件步骤、生成本地分块文件目录步骤、生成本地HTTP服务器步骤以及建立本地HTTP服务器步骤。本发明能能够顺利下载HLS协议传输的流媒体节目数据的分块目录及分块数据,并在客户端进行存储,以实现客户端播放器在离线情况下进行本地播放。
Description
技术领域
本发明涉及一种视频文件下载方法、系统及播放系统,特别是涉及一种HLS视频文件下载方法、系统及下载播放系统。
背景技术
HTTP Live Streaming(本专利文件简称:HLS)是苹果公司创造的一种基于Http协议的流媒体通信协议,其文件路径均是合法的URL,流媒体文件的播放列表格式是M3U8格式。它将整个媒体流分成一个个小的分块,每一个小的分块均通过HTTP协议传输,它主要运用于向iOS设备(如:iPhone,iPad)传送视频、音频流。它的主要优点如下:利用既有的HTTP协议,不需要安装特殊的服务端软件;对发送的媒体流进行加密和认证。但它有明显的缺点,即必须连接到网络,如下载只能下载流媒体的播放列表,也即M3U8格式的播放列表(下文为描述方便,简称分块文件目录),而不能下载各分块文件,故不能实现离线播放。
发明内容
本发明所要解决的技术问题在于针对上述现有技术存在的不足而提供一种能下载HLS协议文件的目录和各个小分块,并进行存储的方法,以实现离线播放,以及该下载、存储系统和播放系统。
本发明为解决上述基于HLS视频文件下载问题,所采用的下载存储方法,包括下列步骤:
1)获取分块文件目录步骤,本地客户端通过HTTP协议向流媒体服务器请求获取节目数据的远程分块文件目录;
2)解析分块文件目录步骤,对远程分块文件目录进行解析以确定节目数据的各分块路径是否为合法的URL,并确定各分块文件的数量及对应的网址;
3)下载分块文件步骤,根据解析的各分块网址下载节目数据的所有分块文件至客户端;
4)生成本地分块文件目录步骤,将节目数据的远程分块文件目录转换为本地分块文件目录;
5)生成本地HTTP服务器步骤,在本地建立HTTP服务器,并将分块文件和本地分块文件目录置于内置HTTP服务器中。
按上述方案,所述解析分块目录步骤包括:将获取的远程分块文件目录的每一行数据置于数组中;对数组中每一行数据进行筛选,如#开头的数据行不做处理,非#开头的数据行为分块文件地址,输入分块文件下载步骤。
按上述方案,下载到本地的分块文件的排列顺序与分块文件目录的排列顺序一致。
按上述方案,所述建立本地分块文件目录步骤为,将获取的分块文件目录中各分块文件的网址修改为各分块文件对应的本地地址。
按上述方案,所述本地分块文件目录的各分块文件的本地存储地址可以是分块文件的相对地址,或下载后分块文件的绝对地址。
按上述方案,还包括建立文件夹步骤,建立本地文件夹,并将下载的分块文件及建立的本地播放目录均置于该视频文件夹中的步骤。
按上述方案,所述建立文件夹步骤在下载分块文件之前完成。
HLS视频文件下载存储方系统,包括:
1)获取分块文件目录模块,用于客户端通过HTTP协议向流媒体服务器请求获取节目数据的远程分块文件目录;
2)解析分块文件目录模块,用于对分块目录进行解析,判断分块文件路劲是否为合法的URL,确定各分块文件数量及网址,并将分块网址传给下载分块文件模块;
3)下载分块文件模块,用于基于解析分块文件目录模块传送的分块文件网址将所有分块文件下载至客户端;
4)生成本地分块文件目录模块,用于将下载后的节目数据的各分块文件,依序生成本地分块目录;
5)生成本地http服务器模块,用于在本地建立HTTP服务器,并将下载的分块文件及本地分块文件目录置于该服务器中。
按上述方案,还包括自动建立文件夹模块,用于建立文件夹并使下载的分块文件及生成的本地分块文件目录置于该文件夹中。
按上述方案,下载分块文件模块将下载的各分块文件在客户端的排列顺序与远程分块文件目录中各分块文件的排列顺序一致。
HLS视频文件播放系统,包括:HLS视频文件下载存储方系统和播放模块,所述的HLS视频文件下载存储方系统采用如权上述任一项所述的系统。
本发明的有益效果:能够顺利下载HLS协议传输的流媒体节目数据的分块目录及分块数据,并在客户端进行存储,以实现客户端播放器在离线情况下进行本地播放。
附图说明
图1为本发明下载、存数方法流程图;
图2为本发明下载、存储系统的结构原理图;
图3为本发明播放器结构原理图;
图4为本发明远程流媒体视频文件的分块文件目录;
图5为本发明本地流媒体视频文件分块文件目录。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,一下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本发明,并不用于限制本发明。
图1示出了本法名实施例提供的基于HTTP协议播放的流媒体文件下载方法。
在步骤S101中,本地客户端通过HTTP协议向流媒体服务器请求获取节目数据的远程分块文件目录,所下载的远程分块文件目录,也即流媒体的远程M3U8播放列表。
在步骤S102中,对分块目录进行解析以确定节目数据的各分块路径是否为合法的URL,如果不是,则停止后续操作,该类文件非本方法可下载;如果是,则继续操作筛选获得各分块文件的数量及对应的网址。
在步骤S103中,建立本地文件夹,并将下载的分块文件及建立的本地播放目录均置于该视频文件夹中。
在步骤S104中,根据解析的分块网址下载节目数据的所有分块文件至客户端。
在步骤S105中,将节目数据的分块目录转换为本地媒体分块目录,所生成的本地媒体分块目录,也即流媒体的本地M3U8播放列表。
在步骤S106中,在本地建立HTTP服务器,并将分块文件和分块目录置于内置HTTP服务器中。
本发明方法,步骤S103可以在步骤S102之前完成,也可以作为本发明的第一步骤。
更进一步的,步骤S102筛选获得分块文件的数量及网址步骤,是把分块文件目录的所有数据行置于数组中进行筛选,非“#”开头的数据行为各分块文件的网址。
更进一步的,步骤S104下载后的分块分拣在文件夹中的排列顺序与分块文件目录中各分块文件的排列顺序一致。
更进一步的,步骤S105,为将获取的分块文件目录中各分块文件的网址修改为各分块文件对应的本地地址。
更进一步的,步骤S105中各分块文件的本地地址既可以为各分块文件的相对地址。
图2示出了本发明HLS视频文件下载存储系统结构原理。
获取分块目录模块101,用于客户端通过HTTP协议向流媒体服务器请求获取节目数据的分块文件目录,具体步骤为:通过HTTP协议向流媒体远程服务器发出获取节目数据分块目录 的请求,并下载该分块目录;解析分块目录模块102,用于对远程分块目录进行解析,判断分块文件路径是否为合法的URL,如果不是则非本系统可下载的文件,提示客户终端停止操作,如果是则继续操作,确定各分块文件数量及网址,并将分块网址传给下载分块文件模块;建立文件夹模块103,用于建立文件夹并使下载的分块文件及生成的本地分块文件目录置于该文件夹中;下载节目分块模块104,用于根据解析分块目录模块102传送的各分块文件的网址将所有分块文件下载至客户端,并将下载的分块文件的排列顺序与分块目录中文件顺序一致;生成本地分块文件目录模块105,用于将下载后的节目数据的各分块文件依序生成本地分块目录,所生成的本地分块文件目录与下载的分块目录相比,仅将分块文件的网址修改为分块文件的本地地址;生成本地http服务器模块106,用于在本地建立HTTP服务器,并将下载的分块文件及本地分块文件目录置于该服务器中。
本发明方法,建立文件夹模块103也可以设置在解析分块目录模块102与获取分块目录模块101之间。
图3示出了本发明播放器的结构原理图,所述播放器包括本发明HLS视频文件下载存储系统201和播放模块202,通过HLS视频文件下载存储系统201下载流媒体文件,通过播放模块202进行播放。播放模块可为普通播放器的播放模块。
图4为某一流媒体文件远程分块文件目录示例,即M3U8格式播放列表,“http”开头的数据行为各分块文件的远程播放(在线)地址。如只下载该播放列表,离线后无法连接分块文件的远程播放地址,故而无法离线播放。
图5为通过本发明方法及设备下载分块文件并重新建立的分块文件目录示例,也即M3U8格式的播放列表,列表中的“0.ts”、”1.ts”等为下载到本地的各分块文件的播放地址。离线播放是,通过本地分块文件目录,找到各分块文件地址,进行播放。
Claims (10)
1.一种HLS视频文件下载存储方法,包括下列步骤:
1)获取分块文件目录步骤,本地客户端通过HTTP协议向流媒体服务器请求获取节目数据的远程分块文件目录;
2)解析分块文件目录步骤,对远程分块文件目录进行解析以确定节目数据的各分块路径是否为合法的URL,并确定各分块文件的数量及对应的网址;
3)下载分块文件步骤,根据解析的各分块网址下载节目数据的所有分块文件至客户端;
4)生成本地分块文件目录步骤,将节目数据的远程分块文件目录转换为本地分块文件目录;
5)生成本地HTTP服务器步骤,在本地建立HTTP服务器,并将分块文件和本地分块文件目录置于内置HTTP服务器中。
2.根据权利要求1所述的HLS视频文件下载存储方法,其特征在于:所述解析分块目录步骤包括:将获取的远程分块文件目录的每一行数据置于数组中;对数组中每一行数据进行筛选,如#开头的数据行不做处理,非#开头的数据行为分块文件地址,输入分块文件下载步骤。
3.根据权利要求1所述的HLS视频文件下载存储方法,其特征在于:下载到本地的分块文件的排列顺序与分块文件目录的排列顺序一致。
4.根据权利要求1或2或3所述的HLS视频文件下载存储方法,其特征在于:所述建立本地分块文件目录步骤为,将获取的分块文件目录中各分块文件的网址修改为各分块文件对应的本地地址。
5.根据权利要求4所述的HLS视频文件下载存储方法,其特征在于:所述本地分块文件目录的各分块文件的本地存储地址可以是分块文件的相对地址,或下载后分块文件的绝对地址。
6.根据权利要求1或2或3所述的HLS视频文件下载存储方法,其特征在于:还包括建立文件夹步骤,建立本地文件夹,并将下载的分块文件及建立的本地播放目录均置于该视频文件夹中的步骤。
7.一种HLS视频文件下载存储方系统,包括:
1)获取分块文件目录模块,用于客户端通过HTTP协议向流媒体服务器请求获取节目数据的远程分块文件目录;
2)解析分块文件目录模块,用于对分块目录进行解析,判断分块文件路劲是否为合法的URL,确定各分块文件数量及网址,并将分块网址传给下载分块文件模块;
3)下载分块文件模块,用于基于解析分块文件目录模块传送的分块文件网址将所有分块文件下载至客户端;
4)生成本地分块文件目录模块,用于将下载后的节目数据的各分块文件,依序生成本地分块目录;
5)生成本地http服务器模块,用于在本地建立HTTP服务器,并将下载的分块文件及本地分块文件目录置于该服务器中。
8.根据权利要求7所述HLS视频文件下载存储方系统,其特征在于:还包括自动建立文件夹模块,用于建立文件夹并使下载的分块文件及生成的本地分块文件目录置于该文件夹中。
9.根据权利要求7所述HLS视频文件下载存储方系统,其特征在于:下载分块文件模块将下载的各分块文件在客户端的排列顺序与远程分块文件目录中各分块文件的排列顺序一致。
10.一种HLS视频文件播放系统,包括:HLS视频文件下载存储方系统和播放模块,其特征在于:所述的HLS视频文件下载存储方系统采用如权利要求7至10任一项所述的系统。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210258027.1A CN103581764B (zh) | 2012-07-24 | 2012-07-24 | 适于hls视频文件下载存储方法、下载存储系统及播放系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210258027.1A CN103581764B (zh) | 2012-07-24 | 2012-07-24 | 适于hls视频文件下载存储方法、下载存储系统及播放系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103581764A true CN103581764A (zh) | 2014-02-12 |
CN103581764B CN103581764B (zh) | 2017-01-25 |
Family
ID=50052519
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210258027.1A Active CN103581764B (zh) | 2012-07-24 | 2012-07-24 | 适于hls视频文件下载存储方法、下载存储系统及播放系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103581764B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104244079A (zh) * | 2013-06-07 | 2014-12-24 | 腾讯科技(深圳)有限公司 | 一种视频下载方法及装置 |
CN104965693A (zh) * | 2014-08-29 | 2015-10-07 | 腾讯科技(深圳)有限公司 | 一种视频处理的方法和系统 |
CN105335242A (zh) * | 2015-11-02 | 2016-02-17 | 传线网络科技(上海)有限公司 | Ios系统中后台下载视频文件的方法及系统 |
CN106021248A (zh) * | 2015-09-16 | 2016-10-12 | 展视网(北京)科技有限公司 | 一种元搜索引擎相关的视频文件下载系统及方法 |
CN106375834A (zh) * | 2016-08-31 | 2017-02-01 | 广州易方信息科技有限公司 | 一种基于iOS操作系统的在线加密切片视频离线播放方法及装置 |
WO2017016285A1 (zh) * | 2015-07-29 | 2017-02-02 | 中兴通讯股份有限公司 | 一种实现多媒体文件下载的方法及装置 |
CN110798714A (zh) * | 2019-10-23 | 2020-02-14 | 深圳创维新世界科技有限公司 | 一种基于hls的本地视频播放系统及播放方法 |
US11622164B2 (en) | 2019-07-12 | 2023-04-04 | Carrier Corporation | System and method for streaming video/s |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101252454A (zh) * | 2008-03-10 | 2008-08-27 | 中国电信股份有限公司 | 一种客户端视频播放系统及其方法 |
CN101938483A (zh) * | 2010-09-03 | 2011-01-05 | 中兴通讯股份有限公司 | 一种直播内容分发方法和系统 |
US20110246661A1 (en) * | 2010-04-02 | 2011-10-06 | Disney Enterprises, Inc. | Streaming playback and dynamic Ad insertion |
CN102238434A (zh) * | 2011-07-22 | 2011-11-09 | 中兴通讯股份有限公司 | 一种iptv流媒体文件虚拟分段和使用的方法及系统 |
CN102572555A (zh) * | 2012-01-16 | 2012-07-11 | 深圳市同洲视讯传媒有限公司 | 一种实现hls客户端视频直播回看的方法及系统 |
-
2012
- 2012-07-24 CN CN201210258027.1A patent/CN103581764B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101252454A (zh) * | 2008-03-10 | 2008-08-27 | 中国电信股份有限公司 | 一种客户端视频播放系统及其方法 |
US20110246661A1 (en) * | 2010-04-02 | 2011-10-06 | Disney Enterprises, Inc. | Streaming playback and dynamic Ad insertion |
CN101938483A (zh) * | 2010-09-03 | 2011-01-05 | 中兴通讯股份有限公司 | 一种直播内容分发方法和系统 |
CN102238434A (zh) * | 2011-07-22 | 2011-11-09 | 中兴通讯股份有限公司 | 一种iptv流媒体文件虚拟分段和使用的方法及系统 |
CN102572555A (zh) * | 2012-01-16 | 2012-07-11 | 深圳市同洲视讯传媒有限公司 | 一种实现hls客户端视频直播回看的方法及系统 |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104244079A (zh) * | 2013-06-07 | 2014-12-24 | 腾讯科技(深圳)有限公司 | 一种视频下载方法及装置 |
CN104244079B (zh) * | 2013-06-07 | 2019-07-16 | 腾讯科技(深圳)有限公司 | 一种视频下载方法及装置 |
CN104965693A (zh) * | 2014-08-29 | 2015-10-07 | 腾讯科技(深圳)有限公司 | 一种视频处理的方法和系统 |
US10056113B2 (en) | 2014-08-29 | 2018-08-21 | Tencent Technology (Shenzhen) Company Limited | Video processing method and associated electronic device |
CN106713221A (zh) * | 2015-07-29 | 2017-05-24 | 中兴通讯股份有限公司 | 一种多媒体文件下载的方法及装置 |
WO2017016285A1 (zh) * | 2015-07-29 | 2017-02-02 | 中兴通讯股份有限公司 | 一种实现多媒体文件下载的方法及装置 |
CN106021248A (zh) * | 2015-09-16 | 2016-10-12 | 展视网(北京)科技有限公司 | 一种元搜索引擎相关的视频文件下载系统及方法 |
CN105335242B (zh) * | 2015-11-02 | 2019-03-26 | 传线网络科技(上海)有限公司 | Ios系统中后台下载视频文件的方法及系统 |
CN105335242A (zh) * | 2015-11-02 | 2016-02-17 | 传线网络科技(上海)有限公司 | Ios系统中后台下载视频文件的方法及系统 |
CN106375834A (zh) * | 2016-08-31 | 2017-02-01 | 广州易方信息科技有限公司 | 一种基于iOS操作系统的在线加密切片视频离线播放方法及装置 |
CN106375834B (zh) * | 2016-08-31 | 2019-08-02 | 广州易方信息科技股份有限公司 | 一种基于iOS操作系统的在线加密切片视频离线播放方法及装置 |
US11622164B2 (en) | 2019-07-12 | 2023-04-04 | Carrier Corporation | System and method for streaming video/s |
CN110798714A (zh) * | 2019-10-23 | 2020-02-14 | 深圳创维新世界科技有限公司 | 一种基于hls的本地视频播放系统及播放方法 |
CN110798714B (zh) * | 2019-10-23 | 2022-02-01 | 深圳创维新世界科技有限公司 | 一种基于hls的本地视频播放系统及播放方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103581764B (zh) | 2017-01-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103581764A (zh) | 适于hls视频文件下载存储方法及hls视频文件播放系统 | |
CN104244079B (zh) | 一种视频下载方法及装置 | |
CN103379362B (zh) | 视频点播方法和系统 | |
CN102572555B (zh) | 一种实现hls客户端视频直播回看的方法及系统 | |
CN102118428B (zh) | 一种播放流媒体的方法和系统 | |
CN102215116B (zh) | 在数字广播系统中提供时间偏移服务的方法、设备及系统 | |
CN103929427A (zh) | 一种动态多线程下载装置及其下载方法 | |
CN105338423B (zh) | 流媒体数据直播方法及系统 | |
CN101616166B (zh) | 在互联网中用于高速下载多媒体内容的方法与装置 | |
CN104093064A (zh) | 在终端设备之间进行视频互动的方法、系统及装置 | |
CN107124668B (zh) | 流式传输装置及方法、流式传输服务系统及记录介质 | |
US20140036098A1 (en) | Terminal Apparatus And Video-Data Distribution Method | |
CN102883216A (zh) | 一种视频直播方法与设备 | |
JP6382943B2 (ja) | 放送通信システムにおける付加情報を送信及び受信する方法及び装置 | |
CN103685557A (zh) | 文件上传、下载的方法和装置 | |
CN104244028A (zh) | 一种基于码流自适应技术的内容分发方法、装置及系统 | |
WO2016155599A1 (zh) | 流媒体服务与文件下载融合的方法、装置及cdn服务器 | |
CN104618738A (zh) | 一种智能电视节目播放方法及装置 | |
CN102438004A (zh) | 获取媒体文件的元数据信息的方法、系统及多媒体播放器 | |
KR102586630B1 (ko) | 수신 장치, 송신 장치, 및 데이터 처리 방법 | |
CN110677714A (zh) | 一种视频数据下载方法、装置、电子设备及存储介质 | |
CN104967646A (zh) | 文件下载方法及装置 | |
KR101876822B1 (ko) | 메타 정보 기반의 클라우드 서비스 방법 | |
JPWO2013176006A1 (ja) | 情報処理装置、情報処理方法、並びにプログラム | |
CN101447990B (zh) | Iptv系统中实现下载服务器的系统及方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |