CN103826159A - 一种m3u8格式视频的本地离线播放方法和终端 - Google Patents
一种m3u8格式视频的本地离线播放方法和终端 Download PDFInfo
- Publication number
- CN103826159A CN103826159A CN201310643473.9A CN201310643473A CN103826159A CN 103826159 A CN103826159 A CN 103826159A CN 201310643473 A CN201310643473 A CN 201310643473A CN 103826159 A CN103826159 A CN 103826159A
- Authority
- CN
- China
- Prior art keywords
- video
- local
- address
- format
- http
- 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
- 238000000034 method Methods 0.000 title claims abstract description 36
- 238000006243 chemical reaction Methods 0.000 claims abstract description 65
- 230000011218 segmentation Effects 0.000 claims description 134
- 230000006855 networking Effects 0.000 claims description 5
- 230000008569 process Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 235000002595 Solanum tuberosum Nutrition 0.000 description 2
- 244000061456 Solanum tuberosum Species 0.000 description 2
- 235000012015 potatoes Nutrition 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 241000255969 Pieris brassicae Species 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000002045 lasting effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Images
Abstract
本发明公开了一种M3U8格式视频的本地离线播放方法和终端,所述方法通过对终端本地存储的M3U8格式视频进行本地M3U8文本格式编码索引,生成包含多分段视频的本地地址和相应分段视频时长的本地M3U8索引文件;对多分段视频的本地地址进行HTTP格式转化,并生成包含HTTP格式地址的M3U8索引文件;对所述M3U8索引文件的本地存储地址进行HTTP格式转化,并发送到本地播放器进行播放;从而实现了M3U8格式视频的本地离线播放,给用户带来了大大的方便。
Description
技术领域
本发明涉及终端视频播放领域,尤其涉及的是一种M3U8格式视频的本地离线播放方法和终端。
背景技术
随着移动互联网的发展,用户可以通过多种终端来访问互联网的多媒体资源。目前大多Android应用客户端的网络视频下载大多为单个视频文件的下载,而对于多分段视频文件(如M3U8格式视频)下载存在则很大的空白区域。不仅如此,对Android客户端视频的离线播放一般为单个视频文件的播放,对于M3U8格式视频的播放目前大多为在线播放,即通过解析网络上M3U8文件获取实际视频的网络URL地址来进行播放,由于受网络带宽限制,播放时需要匹配适合各种带宽的多码率媒体视频文件,过程耗时耗力。在实际应用中,网络视频(优酷、土豆等视频网站)大多为M3U8格式视频并且终端(如手机、电视等)经常出现无连接网络的情况,这使得用户无法离线分享多媒体资源。并且下载后的M3U8格式视频或本地存储的M3U8格式视频不能离线播放,不便于用户使用。
因此,现有技术还有待于改进和发展。
发明内容
本发明要解决的技术问题在于,针对现有技术的上述缺陷,提供一种M3U8格式视频的本地离线播放方法和终端,旨在解决现有的下载后的M3U8格式视频或本地存储的M3U8格式视频不能离线播放的问题。
本发明解决技术问题所采用的技术方案如下:
一种M3U8格式视频的本地离线播放方法,其中,包括以下步骤:
A、对终端本地存储的M3U8格式视频进行本地M3U8文本格式编码索引,生成包含多分段视频的本地地址和相应分段视频时长的本地M3U8索引文件;
B、对多分段视频的本地地址进行HTTP格式转化,并生成包含HTTP格式地址的M3U8索引文件;对所述M3U8索引文件的本地存储地址进行HTTP格式转化,并发送到本地播放器进行播放。
所述的M3U8格式视频的本地离线播放方法,其中,在所述步骤A之前还包括:
A10、通过网络获取M3U8格式视频文件地址,根据M3U8格式命名规则对所述M3U8格式视频文件进行解析,获取多分段视频对应的URL地址和视频时长信息;
A20、根据每分段视频对应的URL地址,下载每分段视频到终端并本地存储。
所述的M3U8格式视频的本地离线播放方法,其中,所述步骤A10具体包括:
A11、在终端处于联网时,通过网络获取M3U8格式视频文件地址;
A12、根据M3U8格式命名规则对所述M3U8格式视频文件进行解析,获取每分段视频对应的URL地址、每分段视频时长和最大分段视频时长;
A13、开启本地下载服务。
所述的M3U8格式视频的本地离线播放方法,其中,所述步骤A20具体包括:
A21、根据每分段视频对应的URL地址,逐条下载每分段视频到本地;
A22、按照多分段视频的播放顺序依次重命名下载到本地的多分段视频。
所述的M3U8格式视频的本地离线播放方法,其中,所述步骤A具体包括:
A1、在本地新建一个后缀名为M3U8的文件;
A2、按照M3U8格式标准,向所述后缀名为M3U8的文件中写入根据本地存储的多分段视频中每分段视频地址和对应的每分段视频时长,生成对应的本地M3U8索引文件。
所述的M3U8格式视频的本地离线播放方法,其中,所述步骤B具体包括;
B1、通过本地创建的HTTP服务及其指定数据传输的活动端口,并根据终端的IP地址,将所述本地M3U8索引文件所关联的每分段视频的本地地址进行HTTP格式转化,生成相应的包含本地每分段视频的HTTP格式地址的M3U8索引文件;
B2、将所述M3U8索引文件在终端上的本地存储地址进行HTTP格式转化,并发送到本地播放器,实现本地离线播放。
一种M3U8格式视频的本地离线播放终端,其中,包括:
本地M3U8索引文件生成模块,用于对终端本地存储的M3U8格式视频进行本地M3U8文本格式编码索引,生成包含多分段视频的本地地址和相应分段视频时长的本地M3U8索引文件;
HTTP转化模块,用于对多分段视频的本地地址进行HTTP格式转化,并生成包含HTTP格式地址的M3U8索引文件;对所述M3U8索引文件的本地存储地址进行HTTP格式转化,并发送到本地播放器进行播放。
所述的M3U8格式视频的本地离线播放终端,其中,还包括:
解析模块,用于通过网络获取M3U8格式视频文件地址,根据M3U8格式命名规则对所述M3U8格式视频文件进行解析,获取多分段视频对应的URL地址和视频时长信息;
下载模块,用于根据每分段视频对应的URL地址,下载每分段视频到终端并本地存储。
所述的M3U8格式视频的本地离线播放终端,其中,所述本地M3U8索引文件生成模块包括:
M3U8文件新建单元,用于在本地新建一个后缀名为M3U8的文件;
本地M3U8索引文件生成单元,用于按照M3U8格式标准,向所述后缀名为M3U8的文件中写入根据本地存储的多分段视频中每分段视频地址和对应的每分段视频时长,生成对应的本地M3U8索引文件。
所述的M3U8格式视频的本地离线播放终端,其中,所述HTTP转化模块包括;
第一HTTP转化单元,用于通过本地创建的HTTP服务及其指定数据传输的活动端口,并根据终端的IP地址,将所述本地M3U8索引文件所关联的每分段视频的本地地址进行HTTP格式转化,生成相应的包含本地每分段视频的HTTP格式地址的M3U8索引文件;
第二HTTP转化单元,用于将所述M3U8索引文件在终端上的本地存储地址进行HTTP格式转化,并发送到本地播放器,实现本地离线播放。
本发明所提供的一种M3U8格式视频的本地离线播放方法和终端,有效地解决了现有的终端通过网络下载的m3u8格式视频(或本地存储的已下载的m3u8格式视频)不能离线播放的问题,其方法通过对终端本地存储的M3U8格式视频进行本地M3U8文本格式编码索引,生成包含多分段视频的本地地址和相应分段视频时长的本地M3U8索引文件;对多分段视频的本地地址进行HTTP格式转化,并生成包含HTTP格式地址的M3U8索引文件;对所述M3U8索引文件的本地存储地址进行HTTP格式转化,并发送到本地播放器进行播放;从而实现了M3U8格式视频的本地离线播放,给用户带来了大大的方便,其实现方法简单,通过软件实现,成本较低。
附图说明
图1为本发明提供的M3U8格式视频的本地离线播放方法较佳实施例的流程图。
图2为本发明提供的M3U8格式视频属性表的示意图。
图3为本发明提供的M3U8格式视频的本地离线播放方法中HTTP格式地址形成的示意图。
图4为本发明提供的M3U8格式视频的本地离线播放终端较佳实施例的结构框图。
具体实施方式
本发明提供一种M3U8格式视频的本地离线播放方法和终端,为使本发明的目的、技术方案及优点更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
请参阅图1,图1为本发明提供的M3U8格式视频的本地离线播放方法较佳实施例的流程图,所述方法包括以下步骤:
步骤S100、对终端本地存储的M3U8格式视频进行本地M3U8文本格式编码索引,生成包含多分段视频的本地地址和相应分段视频时长的本地M3U8索引文件;
步骤S200、对多分段视频的本地地址进行HTTP格式转化,并生成包含HTTP格式地址的M3U8索引文件;对所述M3U8索引文件的本地存储地址进行HTTP格式转化,并发送到本地播放器进行播放。
以下结合具体的实施例对上述步骤进行详细的描述。
在步骤S100中,对终端本地存储的M3U8格式视频进行本地M3U8文本格式编码索引,生成包含多分段视频的本地地址和相应分段视频时长的本地M3U8索引文件。
具体来说,M3U8是一种可扩展的视频播放列表文件格式。它是一个使用UTF-8【即(8-bit Unicode Transformation Format)是一种针对Unicode的可变长度字符编码,又称万国码】进行编码的m3u播放列表。m3u是包含媒体文件URL的一个播放列表标准。这种格式被用来作为HTTP 在线媒体流索引文件的格式。M3U8格式用于视频流播放,直播或者点播形式,M3U8网络视频文本文件地址一般主要来自优酷、土豆等视频类网站,或者特定的视频聚合服务器。M3U8文件属性说明请参阅图2。其中,URL地址,即Uniform Resource Locator,缩写为URL,是对可以从互联网上得到的资源的位置和访问方法的一种简洁的表示,是互联网上标准资源的地址。互联网上的每个文件都有一个唯一的URL,它包含的信息指出文件的位置以及浏览器应该怎么处理它。
所述终端可以为手机、平板电脑等移动终端,也可以为个人电脑、电视等终端。终端可以从网络下载M3U8格式视频,也可以用其它存储器(U盘、SD卡等等)中拷贝M3U8格式视频。
在步骤S100中,就是创建本地M3U8索引文件对下载到终端上或者存储到终端上的多分段视频进行关联。根据存储的M3U8格式视频的视频信息,对下载后的本地多分段视频重新进行本地M3U8文本格式编码索引,即产生一个对应关联本地视频的M3U8文件。该文件记录了多分段视频的本地地址(也就是存储在本地的地址)和相应的分段视频时长。本地m3u8文本格式编码索引的目的是记录视频的地址和时长等信息,后续步骤中http格式转化要根据这个文件进行,用以准确记录存储视频的本地地址及相应分段视频时长等信息。
在步骤S200中,对多分段视频的本地地址进行HTTP格式转化,并生成包含HTTP格式地址的M3U8索引文件;对所述M3U8索引文件的本地存储地址进行HTTP格式转化,并发送到本地播放器进行播放。具体来说,首先搭建了一个本地HTTP服务(即应用进程)对多分段视频的本地地址进行HTTP格式转化,也就是将多分段视频的本地地址转换为HTTP格式地址,从而创建另一个包含HTTP格式地址的M3U8索引文件。然后再对该包含HTTP格式地址的M3U8索引文件在终端上的本地存储地址进行HTTP格式转化,发送到本地播放器,以实现本地离线播放。
优选地,所述步骤S200具体包括:通过本地创建的HTTP服务及其指定数据传输的活动端口,并根据终端的IP地址,将所述本地M3U8索引文件所关联的每分段视频的本地地址进行HTTP格式转化,生成相应的包含本地每分段视频的HTTP格式地址的M3U8索引文件;然后将所述M3U8索引文件在终端上的本地存储地址进行HTTP格式转化,并发送到本地播放器实现本地离线播放。
具体来说,本地视频地址http格式转化由终端的IP地址,HTTP服务活动端口(http服务数据传输的活动端口)以及本地视频地址决定。就是根据本地HTTP服务定义的活动端口和终端的IP地址,通过HTTP服务将多分段视频的本地地址进行http格式转化,再重新创建另一个包含本地视频的HTTP格式地址的m3u8索引文件,然后将该m3u8索引文件的地址进行http格式转化后传递给播放器,便可响应android播放器的播放请求,传输本地视频播放数据,从而实现了本地离线播放,摆脱了m3u8视频只能远程在线播放的困扰。播放器播放本地视频的顺序由本地创建的m3u8索引文件内视频的URL地址先后顺序决定。
进一步,本所述步骤S100之前还包括:
通过网络获取M3U8格式视频文件地址,根据M3U8格式命名规则对所述M3U8格式视频文件进行解析,获取多分段视频对应的URL地址和视频时长信息;
根据每分段视频对应的URL地址,下载每分段视频到终端并本地存储。
具体来说,通过网络获取M3U8格式视频文件地址,根据M3U8格式命名规则对所述M3U8格式视频文件进行解析,获取多分段视频对应的URL地址和视频时长信息的步骤具体包括:
在终端处于联网时,通过网络获取M3U8格式视频文件地址;然后根据M3U8格式命名规则对所述M3U8格式视频文件进行解析,获取每分段视频对应的URL地址、每分段视频时长和最大分段视频时长;再开启本地下载线程服务。
以采用Android系统的移动终端为例进行说明。如果终端处于联网状态时,便可以从网络上获取M3U8网络视频文本文件地址。针对M3U8网络视频文本文件地址,首先根据M3U8格式命名规则对该文本文件包含内容进行解析,可在线读取解析或者下载文件到本地后读取解析,该文本文件包含内容如图2所示一些基本属性,从而可以获取到与该视频有关的实质信息,譬如各分段视频的多段URL地址、最大分段视频时长及各分段视频时长等,根据上述得到的信息开启本地下载线程服务。其中,根据M3U8格式命名规则,每个视频URL地址为每个分段视频的链接地址,各分段视频时长为该段视频播放持续的时间,各分段视频时长必须小于或等于最大分段视频时长。
然后根据每分段视频对应的URL地址,下载每分段视频到终端并本地存储。具体来说,在开启本地下载线程服务后,根据每段URL地址下载对应的视频,保存在本地sd卡或内存中。在实际应用时,存在一个单独的文件夹内。
优选地,根据每分段视频对应的URL地址,下载每分段视频到终端并本地存储步骤,具体过程为:根据每分段视频对应的URL地址,逐条下载每分段视频到本地;按照多分段视频的播放顺序依次重命名下载到本地的多分段视频。
此处以ts格式视频为例,ts格式为日本高清摄像机拍摄下进行的封装格式,此处不再详细说明。一段ts媒体视频一般仅包含几秒钟视频内容。多段ts媒体视频从而构成一个完整的视频。根据每段ts视频的链接地址即分段视频URL地址,只需下载URL地址对应的ts视频到本地,而后按照多分段视频的播放顺序(即完整视频的播放顺序),顺序下载并进行重命名(如0.ts,1.ts,2.ts……),而分段视频时长和最大分段视频时长等信息只须获取即可,用作后续的中创建本地m3u8文件编码索引的信息依据。除下载的ts视频外,其他信息无须修改,从而避免造成视频播放错误,如:视频时长不正确,视频不能播放等。
在实际应用时,以下面的网络m3u8文本文件地址为例来说明m3u8文本格式编码索引及本地视频地址http格式转化。
网络m3u8文本文件地址为:
http://v.youku.com/player/getRealM3U8/vid/XNDc1NjUzMzEy/type/hd2/video.m3u8。举例说明其文本文件内容如下所示(仅列出一部分文本内容作展示),其中以http开头的URL地址为网络ts视频地址。
#EXTM3U //m3u8文件头
#EXT-X-TARGETDURATION:12 //最大分段时长
#EXT-X-VERSION:3 //协议版本
#EXTINF:6.256, //分段时长
http://61.158.246.104/6773F6AE4DA37822C463314548/030001290052562A1A042F055EEB3EDDADE89C-C763-E9CA-A7FC-511C85309D2E.flv.ts?ts_start=0&ts_end=6&ts_seg_no=0&ts_keyframe=1
#EXTINF:6.256,
http://61.158.246.104/6773F6AE4DA37822C463314548/030001290052562A1A042F055EEB3EDDADE89C-C763-E9CA-A7FC-511C85309D2E.flv.ts?ts_start=6&ts_end=12&ts_seg_no=1&ts_keyframe=1
#EXTINF:6.257, http://61.158.246.104/6773F6AE4DA37822C463314548/030001290052562A1A042F055EEB3EDDADE89C-C763-E9CA-A7FC-511C85309D2E.flv.ts?ts_start=12&ts_end=18&ts_seg_no=2&ts_keyframe=1
#EXT-X-DISCONTINUITY
#EXTINF:10.927, http://218.26.231.14/65734D916904778F557753F3B/030001290152562A1A042F055EEB3EDDADE89C-C763-E9CA-A7FC-511C85309D2E.flv.ts?ts_start=0&ts_end=10&ts_seg_no=18&ts_keyframe=1
#EXTINF:11.053,
http://218.26.231.14/65734D916904778F557753F3B/030001290152562A1A042F055EEB3EDDADE89C-C763-E9CA-A7FC-511C85309D2E.flv.ts?ts_start=10&ts_end=21&ts_seg_no=19&ts_keyframe=1
#EXT-X-ENDLIST
在下载网络m3u8文本文件中包含的url地址对应的实际ts视频后,并获取其中视频的实质信息(最大分段时长、协议版本、分段时长等)。在下载结束之后,进入步骤S100,根据获取到视频信息。对下载的本地视频进行m3u8文本格式编码索引,即创建本地mu3u8索引文件,以记录本地视频的存储路径和相应时长等信息。如以/mnt/sdcard开头的地址表示本地ts视频在终端中的存储路径。
创建本地m3u8索引文件过程步骤如下:
在本地新建一个后缀名为M3U8的文件,如local.m3u8,此时local.m3u8文件内容为空;
按照M3U8格式标准,向所述后缀名为M3U8的文件中写入根据本地存储的多分段视频中每分段视频地址和对应的每分段视频时长,生成对应的本地M3U8索引文件。具体来说,根据获取到的网络m3u8视频的实质信息(最大分段时长、协议版本、分段时长等),按照m3u8格式标准,向文件local.m3u8文件中写入这些视频信息,其中,写入的URL视频地址为本地下载后的视频地址,如:/mnt/sdcard/………/0.ts。其它写入的视频信息与获取到的视频信息一致。
举例说明创建的本地m3u8索引文本文件内容如下所示。
#EXTM3U
#EXT-X-TARGETDURATION:12
#EXT-X-VERSION:3
#EXT-X-DISCONTINUITY
#EXTINF:6.256
/mnt/sdcard/onlinevideo/download/10057699/0.ts
#EXTINF:6.256
/mnt/sdcard/onlinevideo/download/10057699/1.ts
#EXTINF:6.256
/mnt/sdcard/onlinevideo/download/10057699/2.ts
#EXTINF:10.927
/mnt/sdcard/onlinevideo/download/10057699/3.ts
#EXTINF:11.053
/mnt/sdcard/onlinevideo/download/10057699/4.ts
#EXT-X-ENDLIST
然后进入步骤S200,通过本地创建的http服务,对本地ts视频地址进行http格式转化,即对local.m3u8文件中的本地视频地址重新进行http格式转化,创建另一个http格式的m3u8索引文件,如http.m3u8,只需更改视频url地址为http格式转换后的地址,此文件为播放器将要播放的文件。其中,以http开头的地址为http格式转化后的本地视频地址。文件内容如下所示:
#EXTM3U
#EXT-X-TARGETDURATION:12
#EXT-X-VERSION:3
#EXT-X-DISCONTINUITY
#EXTINF:6.256
http://127.0.0.1:8080/filename=%2Fmnt%2Fsdcard%2Fonlinevideo%2Fdownload%2F10057699%2F 0.ts
#EXTINF:6.256
http://127.0.0.1:8080/filename=%2Fmnt%2Fsdcard%2Fonlinevideo%2Fdownload%2F10057699%2F1.ts
#EXTINF:6.256
http:// 127.0.0.1:8080/filename=%2Fmnt%2Fsdcard%2Fonlinevideo%2Fdownload%2F10057699%2F2.ts
#EXTINF:10.927
http:// 127.0.0.1:8080/filename=%2Fmnt%2Fsdcard%2Fonlinevideo%2Fdownload%2F10057699%2F3.ts
#EXTINF:11.053
http://127.0.0.1:8080/filename=%2Fmnt%2Fsdcard%2Fonlinevideo%2Fdownload%2F10057699%2F4.ts
#EXT-X-ENDLIST
也可以参阅图3,图3为M3U8格式视频的本地离线播放方法中HTTP格式地址的示意图,如图所示,其为进行HTTP转化后的地址构成。
然后,对http格式转化后的m3u8文件(http.m3u8)的地址也进行http格式转化后,将该地址传给播放器即可播放。如上述的本地ts视频地址http格式转化,转化后的地址格式如下:
http://127.0.0.1:38520/filename=%2Fmnt%2Fsdcard%2Fonlinevideo%2Fdownload%2F10057699%2Fhttp.m3u8;
其中,127.0.0.1为Android设备终端默认的IP地址,8080为开启的http服务数据传输的活动端口;
%2Fmnt%2Fsdcard%2Fonlinevideo%2Fdownload%2F10057699%2Fhttp.m3u8,为对本地M3U8视频文件地址进行UTF-8编码。
当用户需要播放本地多分段视频时,通过Android播放器发送播放请求,然后本地http服务根据播放请求,从存储的本地视频中获取播放视频流。然后本地http服务响应响应播放请求,并传输播放视频流,从而实现了本地离线播放。
本发明为解决Android播放器仅支持M3U8视频文件远程在线播放的受网络带宽限制耗时耗力的缺点和不支持本地多分段视频的完整无缝离线播放的问题,提供了一种M3U8格式视频的本地可离线播放的方法,根据本地存储的各分段视频的本地地址按照M3U8格式标准进行文件编码,即将视频信息和本地视频地址按下载顺序写入一个本地的m3u8文件中,然后通过本地搭建的http服务,将本地视频地址进行http格式转化(与终端IP地址组合),生成各分段视频对应的本地HTTP地址,即将本地m3u8文件中的各分段视频的本地地址修改为各分段视频对应的本地HTTP地址,并将修改后的M3U8文本文件的本地地址进行HTTP格式转换传递给本地播放器,这时本地播放器发送这一M3U8文件的播放请求,本地http服务得到该播放请求后,将该M3U8文本文件内容传递给播放器,播放器解析该文件内容,得到各分段视频对应的本地http地址,后逐个进行请求播放,从而实现了本地离线播放,给用户带来了大大的方便。
进一步地,本发明还提供了一种M3U8格式视频的下载和本地离线播放的方法,首先解析M3U8网络视频文本文件(该文件地址可从该视频的网络服务器上获取)获得该视频文件实际包含每分段视频对应的URL地址等相关信息,并根据URL地址将每分段视频下载到本地并进行存储,然后根据本地存储的各分段视频的本地地址按照M3U8格式标准进行文件编码,即将视频信息和本地视频地址按下载顺序写入一个本地的m3u8文件中,然后通过本地搭建的http服务,将本地视频地址进行http格式转化(与终端IP地址组合),生成各分段视频对应的本地HTTP地址,即将本地m3u8文件中的各分段视频的本地地址修改为各分段视频对应的本地HTTP地址,并将修改后的M3U8文本文件的本地地址进行HTTP格式转换传递给本地播放器,这时本地播放器发送这一M3U8文件的播放请求,本地http服务器得到该播放请求后,将该M3U8文本文件内容传递给播放器,播放器解析该文件内容,得到各分段视频对应的本地http地址,后逐个进行请求播放,从而实现了M3U8格式视频的下载和本地离线播放,给用户带来了大大的方便。
基于上述M3U8格式视频的本地离线播放方法,本发明还提供了一种M3U8格式视频的本地离线播放终端,请参阅图4,图4为本发明提供的M3U8格式视频的本地离线播放终端较佳实施例的结构框图,如图4所示,所述本地离线播放终端包括:
本地M3U8索引文件生成模块10,用于对终端本地存储的M3U8格式视频进行本地M3U8文本格式编码索引,生成包含多分段视频的本地地址和相应分段视频时长的本地M3U8索引文件;具体如步骤S100所述;
HTTP转化模块20,用于对多分段视频的本地地址进行HTTP格式转化,并生成包含HTTP格式地址的M3U8索引文件;对所述M3U8索引文件的本地存储地址进行HTTP格式转化,并发送到本地播放器进行播放;具体如步骤S200所述。
进一步地,所述的M3U8格式视频的本地离线播放终端,还包括:
解析模块,用于通过网络获取M3U8格式视频文件地址,根据M3U8格式命名规则对所述M3U8格式视频文件进行解析,获取多分段视频对应的URL地址和视频时长信息;
下载模块,用于根据每分段视频对应的URL地址,下载每分段视频到终端并本地存储。
进一步地,所述解析模块包括:
地址获取单元,用于在终端处于联网时,通过网络获取M3U8格式视频文件地址;
M3U8格式视频文件解析单元,用于根据M3U8格式命名规则对所述M3U8格式视频文件进行解析,获取每分段视频对应的URL地址、每分段视频时长和最大分段视频时长;
下载开启单元,用于开启本地下载线程服务。
进一步地,所述下载模块包括:
分段下载单元,用于根据每分段视频对应的URL地址,逐条下载每分段视频到本地;
重命名单元,用于按照多分段视频的播放顺序依次重命名下载到本地的多分段视频。
进一步地,所述本地M3U8索引文件生成模块10包括:
M3U8文件新建单元,用于在本地新建一个后缀名为M3U8的文件;
本地M3U8索引文件生成单元,用于按照M3U8格式标准,向所述后缀名为M3U8的文件中写入根据本地存储的多分段视频中每分段视频地址和对应的每分段视频时长,生成对应的本地M3U8索引文件。
进一步地,所述HTTP转化模块20包括;
第一HTTP转化单元,用于通过本地创建的HTTP服务及其指定数据传输的活动端口,并根据终端的IP地址,将所述本地M3U8索引文件所关联的每分段视频的本地地址进行HTTP格式转化,生成相应的包含本地每分段视频的HTTP格式地址的M3U8索引文件;
第二HTTP转化单元,用于将所述M3U8索引文件在终端上的本地存储地址进行HTTP格式转化,并发送到本地播放器实现本地离线播放。
综上所述,本发明提供的一种M3U8格式视频的本地离线播放方法和终端,摆脱了在线播放中网络带宽和制作多码率的视频流文件的限制,解决实际应用中android终端M3U8格式视频的下载、及系统播放器不能离线播放M3U8本地视频的问题,通过网络获取M3U8格式视频文件地址,根据M3U8格式命名规则对所述M3U8格式视频文件进行解析,获取多分段视频对应的URL地址和视频时长信息;根据每分段视频对应的URL地址,下载每分段视频到终端并本地存储;对下载到本地的多分段视频进行本地M3U8文本格式编码索引,生成包含多分段视频的本地地址和相应分段视频时长的本地M3U8索引文件;通过本地创建的HTTP服务,对多分段视频的本地地址进行HTTP格式转化,并生成包含HTTP格式地址的M3U8索引文件;对所述M3U8索引文件在终端上的本地地址进行HTTP格式转化,并发送到本地播放器进行播放;从而实现了M3U8格式视频的多分段下载以及M3U8格式视频的本地离线播放,给用户带来了大大的方便,其实现方法简单,通过软件实现,成本较低。
应当理解的是,本发明的应用不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。
Claims (10)
1.一种M3U8格式视频的本地离线播放方法,其特征在于,包括以下步骤:
A、对终端本地存储的M3U8格式视频进行本地M3U8文本格式编码索引,生成包含多分段视频的本地地址和相应分段视频时长的本地M3U8索引文件;
B、对多分段视频的本地地址进行HTTP格式转化,并生成包含HTTP格式地址的M3U8索引文件;对所述M3U8索引文件的本地存储地址进行HTTP格式转化,并发送到本地播放器进行播放。
2.根据权利要求1所述的M3U8格式视频的本地离线播放方法,其特征在于,在所述步骤A之前还包括:
A10、通过网络获取M3U8格式视频文件地址,根据M3U8格式命名规则对所述M3U8格式视频文件进行解析,获取多分段视频对应的URL地址和视频时长信息;
A20、根据每分段视频对应的URL地址,下载每分段视频到终端并本地存储。
3.根据权利要求2所述的M3U8格式视频的本地离线播放方法,其特征在于,所述步骤A10具体包括:
A11、在终端处于联网时,通过网络获取M3U8格式视频文件地址;
A12、根据M3U8格式命名规则对所述M3U8格式视频文件进行解析,获取每分段视频对应的URL地址、每分段视频时长和最大分段视频时长;
A13、开启本地下载服务。
4.根据权利要求2所述的M3U8格式视频的本地离线播放方法,其特征在于,所述步骤A20具体包括:
A21、根据每分段视频对应的URL地址,逐条下载每分段视频到终端;
A22、按照多分段视频的播放顺序依次重命名下载到终端的多分段视频。
5.根据权利要求1所述的M3U8格式视频的本地离线播放方法,其特征在于,所述步骤A具体包括:
A1、在本地新建一个后缀名为M3U8的文件;
A2、按照M3U8格式标准,向所述后缀名为M3U8的文件中写入根据本地存储的多分段视频中每分段视频地址和对应的每分段视频时长,生成对应的本地M3U8索引文件。
6.根据权利要求1所述的M3U8格式视频的本地离线播放方法,其特征在于,所述步骤B具体包括;
B1、通过本地创建的HTTP服务及其指定数据传输的活动端口,并根据终端的IP地址,将所述本地M3U8索引文件所关联的每分段视频的本地地址进行HTTP格式转化,生成相应的包含本地每分段视频的HTTP格式地址的M3U8索引文件;
B2、将所述M3U8索引文件在终端上的本地存储地址进行HTTP格式转化,并发送到本地播放器实现本地离线播放。
7.一种M3U8格式视频的本地离线播放终端,其特征在于,包括:
本地M3U8索引文件生成模块,用于对终端本地存储的M3U8格式视频进行本地M3U8文本格式编码索引,生成包含多分段视频的本地地址和相应分段视频时长的本地M3U8索引文件;
HTTP转化模块,用于对多分段视频的本地地址进行HTTP格式转化,并生成包含HTTP格式地址的M3U8索引文件;对所述M3U8索引文件的本地存储地址进行HTTP格式转化,并发送到本地播放器进行播放。
8.根据权利要求7所述的M3U8格式视频的本地离线播放终端,其特征在于,还包括:
解析模块,用于通过网络获取M3U8格式视频文件地址,根据M3U8格式命名规则对所述M3U8格式视频文件进行解析,获取多分段视频对应的URL地址和视频时长信息;
下载模块,用于根据每分段视频对应的URL地址,下载每分段视频到终端并本地存储。
9.根据权利要求7所述的M3U8格式视频的本地离线播放终端,其特征在于,所述本地M3U8索引文件生成模块包括:
M3U8文件新建单元,用于在本地新建一个后缀名为M3U8的文件;
本地M3U8索引文件生成单元,用于按照M3U8格式标准,向所述后缀名为M3U8的文件中写入根据本地存储的多分段视频中每分段视频地址和对应的每分段视频时长,生成对应的本地M3U8索引文件。
10.根据权利要求7所述的M3U8格式视频的本地离线播放终端,其特征在于,所述HTTP转化模块包括;
第一HTTP转化单元,用于通过本地创建的HTTP服务及其指定数据传输的活动端口,并根据终端的IP地址,将所述本地M3U8索引文件所关联的每分段视频的本地地址进行HTTP格式转化,生成相应的包含本地每分段视频的HTTP格式地址的M3U8索引文件;
第二HTTP转化单元,用于将所述M3U8索引文件在终端上的本地存储地址进行HTTP格式转化,并发送到本地播放器实现本地离线播放。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310643473.9A CN103826159B (zh) | 2013-12-04 | 2013-12-04 | 一种m3u8格式视频的本地离线播放方法和终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310643473.9A CN103826159B (zh) | 2013-12-04 | 2013-12-04 | 一种m3u8格式视频的本地离线播放方法和终端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103826159A true CN103826159A (zh) | 2014-05-28 |
CN103826159B CN103826159B (zh) | 2017-12-19 |
Family
ID=50760947
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310643473.9A Expired - Fee Related CN103826159B (zh) | 2013-12-04 | 2013-12-04 | 一种m3u8格式视频的本地离线播放方法和终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103826159B (zh) |
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104639976A (zh) * | 2015-03-17 | 2015-05-20 | 浪潮软件集团有限公司 | 机顶盒与移动终端节目同步的方法、机顶盒及移动终端 |
CN104902343A (zh) * | 2015-05-26 | 2015-09-09 | 北京微吼时代科技有限公司 | 一种传输和播放音视频与消息的方法、服务器及终端 |
CN104936092A (zh) * | 2015-05-20 | 2015-09-23 | 广东欧珀移动通信有限公司 | 一种数据的处理方法、相关装置及系统 |
CN105141869A (zh) * | 2015-08-19 | 2015-12-09 | 中山市天启电子科技有限公司 | 基于Android系统的分段录像数据处理方法 |
CN105491400A (zh) * | 2015-11-24 | 2016-04-13 | 腾讯科技(深圳)有限公司 | 一种视频流下载方法及其设备 |
WO2016062092A1 (zh) * | 2014-10-24 | 2016-04-28 | 中兴通讯股份有限公司 | 一种实现加密视频处理的方法及移动终端 |
CN105978912A (zh) * | 2016-07-14 | 2016-09-28 | 合网络技术(北京)有限公司 | 视频索引文件的测试装置及其测试方法 |
CN106375834A (zh) * | 2016-08-31 | 2017-02-01 | 广州易方信息科技有限公司 | 一种基于iOS操作系统的在线加密切片视频离线播放方法及装置 |
CN106375873A (zh) * | 2016-08-31 | 2017-02-01 | 杭州当虹科技有限公司 | 一种hls视频文件下载存储及播放的方法 |
WO2017016285A1 (zh) * | 2015-07-29 | 2017-02-02 | 中兴通讯股份有限公司 | 一种实现多媒体文件下载的方法及装置 |
CN108156152A (zh) * | 2017-12-22 | 2018-06-12 | 北京百度网讯科技有限公司 | 流媒体下载与播放的方法、装置、存储介质及终端设备 |
CN108174284A (zh) * | 2017-12-29 | 2018-06-15 | 航天科工智慧产业发展有限公司 | 一种基于Android系统的解码视频的方法 |
CN109144948A (zh) * | 2017-06-15 | 2019-01-04 | 海马云(天津)信息技术有限公司 | 应用文件定位的方法、装置、电子设备和存储器 |
CN109348297A (zh) * | 2018-11-28 | 2019-02-15 | 湖南快乐阳光互动娱乐传媒有限公司 | 一种数据获取方法及装置 |
CN110868643A (zh) * | 2019-11-21 | 2020-03-06 | 郑州阿帕斯科技有限公司 | 一种视频下载进度的确定方法和装置 |
CN111327941A (zh) * | 2020-03-10 | 2020-06-23 | 腾讯科技(深圳)有限公司 | 一种离线视频播放方法、装置、设备及介质 |
CN112243158A (zh) * | 2019-07-18 | 2021-01-19 | 腾讯科技(深圳)有限公司 | 媒体文件处理方法、装置及电子设备 |
CN112601131A (zh) * | 2020-12-10 | 2021-04-02 | 杭州当虹科技股份有限公司 | 一种hls视频切片文件存储优化方法 |
EP4024876A4 (en) * | 2020-11-04 | 2023-01-04 | Beijing Dajia Internet Information Technology Co., Ltd. | VIDEO RECORDING METHOD AND APPARATUS |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1825472A (zh) * | 2006-03-27 | 2006-08-30 | 中国船舶重工集团公司第七一九研究所 | 一种音频播放终端 |
CN102546616A (zh) * | 2011-12-28 | 2012-07-04 | Tcl集团股份有限公司 | 一种媒体共享互动的实现方法及数字家庭媒体服务器 |
CN102833365A (zh) * | 2012-08-23 | 2012-12-19 | Tcl集团股份有限公司 | 基于dlna的文件播放方法及系统、主、从dlan设备 |
CN102843614A (zh) * | 2012-07-27 | 2012-12-26 | 优视科技有限公司 | 播放流媒体的方法、装置及系统 |
CN102882988A (zh) * | 2011-07-13 | 2013-01-16 | 上海聚力传媒技术有限公司 | 一种获得资源信息的地址信息的方法、装置及设备 |
US20130041808A1 (en) * | 2011-08-10 | 2013-02-14 | Nathalie Pham | Distributed media access |
-
2013
- 2013-12-04 CN CN201310643473.9A patent/CN103826159B/zh not_active Expired - Fee Related
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1825472A (zh) * | 2006-03-27 | 2006-08-30 | 中国船舶重工集团公司第七一九研究所 | 一种音频播放终端 |
CN102882988A (zh) * | 2011-07-13 | 2013-01-16 | 上海聚力传媒技术有限公司 | 一种获得资源信息的地址信息的方法、装置及设备 |
US20130041808A1 (en) * | 2011-08-10 | 2013-02-14 | Nathalie Pham | Distributed media access |
CN102546616A (zh) * | 2011-12-28 | 2012-07-04 | Tcl集团股份有限公司 | 一种媒体共享互动的实现方法及数字家庭媒体服务器 |
CN102843614A (zh) * | 2012-07-27 | 2012-12-26 | 优视科技有限公司 | 播放流媒体的方法、装置及系统 |
CN102833365A (zh) * | 2012-08-23 | 2012-12-19 | Tcl集团股份有限公司 | 基于dlna的文件播放方法及系统、主、从dlan设备 |
Cited By (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016062092A1 (zh) * | 2014-10-24 | 2016-04-28 | 中兴通讯股份有限公司 | 一种实现加密视频处理的方法及移动终端 |
CN104639976A (zh) * | 2015-03-17 | 2015-05-20 | 浪潮软件集团有限公司 | 机顶盒与移动终端节目同步的方法、机顶盒及移动终端 |
CN104936092B (zh) * | 2015-05-20 | 2018-09-04 | 广东欧珀移动通信有限公司 | 一种数据的处理方法、相关装置及系统 |
CN104936092A (zh) * | 2015-05-20 | 2015-09-23 | 广东欧珀移动通信有限公司 | 一种数据的处理方法、相关装置及系统 |
CN104902343A (zh) * | 2015-05-26 | 2015-09-09 | 北京微吼时代科技有限公司 | 一种传输和播放音视频与消息的方法、服务器及终端 |
CN104902343B (zh) * | 2015-05-26 | 2018-11-23 | 北京微吼时代科技有限公司 | 一种传输和播放音视频与消息的方法、服务器及终端 |
WO2017016285A1 (zh) * | 2015-07-29 | 2017-02-02 | 中兴通讯股份有限公司 | 一种实现多媒体文件下载的方法及装置 |
CN106713221A (zh) * | 2015-07-29 | 2017-05-24 | 中兴通讯股份有限公司 | 一种多媒体文件下载的方法及装置 |
CN105141869A (zh) * | 2015-08-19 | 2015-12-09 | 中山市天启电子科技有限公司 | 基于Android系统的分段录像数据处理方法 |
CN105491400A (zh) * | 2015-11-24 | 2016-04-13 | 腾讯科技(深圳)有限公司 | 一种视频流下载方法及其设备 |
CN105491400B (zh) * | 2015-11-24 | 2020-06-02 | 腾讯科技(深圳)有限公司 | 一种视频流下载方法及其设备 |
CN105978912A (zh) * | 2016-07-14 | 2016-09-28 | 合网络技术(北京)有限公司 | 视频索引文件的测试装置及其测试方法 |
CN106375834A (zh) * | 2016-08-31 | 2017-02-01 | 广州易方信息科技有限公司 | 一种基于iOS操作系统的在线加密切片视频离线播放方法及装置 |
CN106375834B (zh) * | 2016-08-31 | 2019-08-02 | 广州易方信息科技股份有限公司 | 一种基于iOS操作系统的在线加密切片视频离线播放方法及装置 |
CN106375873A (zh) * | 2016-08-31 | 2017-02-01 | 杭州当虹科技有限公司 | 一种hls视频文件下载存储及播放的方法 |
CN109144948A (zh) * | 2017-06-15 | 2019-01-04 | 海马云(天津)信息技术有限公司 | 应用文件定位的方法、装置、电子设备和存储器 |
CN109144948B (zh) * | 2017-06-15 | 2021-10-08 | 海马云(天津)信息技术有限公司 | 应用文件定位的方法、装置、电子设备和存储器 |
CN108156152A (zh) * | 2017-12-22 | 2018-06-12 | 北京百度网讯科技有限公司 | 流媒体下载与播放的方法、装置、存储介质及终端设备 |
CN108174284B (zh) * | 2017-12-29 | 2020-09-15 | 航天科工智慧产业发展有限公司 | 一种基于Android系统的解码视频的方法 |
CN108174284A (zh) * | 2017-12-29 | 2018-06-15 | 航天科工智慧产业发展有限公司 | 一种基于Android系统的解码视频的方法 |
CN109348297A (zh) * | 2018-11-28 | 2019-02-15 | 湖南快乐阳光互动娱乐传媒有限公司 | 一种数据获取方法及装置 |
CN109348297B (zh) * | 2018-11-28 | 2021-03-23 | 湖南快乐阳光互动娱乐传媒有限公司 | 一种数据获取方法及装置 |
CN112243158A (zh) * | 2019-07-18 | 2021-01-19 | 腾讯科技(深圳)有限公司 | 媒体文件处理方法、装置及电子设备 |
CN112243158B (zh) * | 2019-07-18 | 2023-07-14 | 腾讯科技(深圳)有限公司 | 媒体文件处理方法、装置、计算机可读介质及电子设备 |
CN110868643A (zh) * | 2019-11-21 | 2020-03-06 | 郑州阿帕斯科技有限公司 | 一种视频下载进度的确定方法和装置 |
CN111327941A (zh) * | 2020-03-10 | 2020-06-23 | 腾讯科技(深圳)有限公司 | 一种离线视频播放方法、装置、设备及介质 |
EP4024876A4 (en) * | 2020-11-04 | 2023-01-04 | Beijing Dajia Internet Information Technology Co., Ltd. | VIDEO RECORDING METHOD AND APPARATUS |
CN112601131A (zh) * | 2020-12-10 | 2021-04-02 | 杭州当虹科技股份有限公司 | 一种hls视频切片文件存储优化方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103826159B (zh) | 2017-12-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103826159A (zh) | 一种m3u8格式视频的本地离线播放方法和终端 | |
US11539989B2 (en) | Media content redirection | |
CN104244079B (zh) | 一种视频下载方法及装置 | |
CN108965397A (zh) | 云端视频编辑方法及装置、编辑设备及存储介质 | |
US20170245022A1 (en) | Splicing method and splicing system for http live streaming media fragment | |
WO2017106749A1 (en) | Server-based video stitching | |
US9367125B2 (en) | Terminal apparatus for shooting and distributing video data and video-data distribution method | |
CA2979357C (en) | Systems and methods for inserting breakpoints and reference links into a media file | |
JP2020533862A (ja) | ビデオ情報処理方法、コンピュータデバイス及び記憶媒体 | |
CN110870282A (zh) | 使用网络内容的文件轨处理媒体数据 | |
CN103561337A (zh) | 一种基于智能电视的网络直播方法和装置 | |
Lai et al. | A personalized mobile IPTV system with seamless video reconstruction algorithm in cloud networks | |
EP2873249A1 (en) | Method and apparatus for interacting with a media presentation description that describes a summary media presentation and an original media presentation | |
US10419798B2 (en) | Method and apparatus for just-in-time transcoding | |
EP4111700A1 (en) | Identification of elements in a group for dynamic element replacement | |
US20170272793A1 (en) | Media content recommendation method and device | |
CN112565877B (zh) | 投屏方法、系统、电子设备及存储介质 | |
US9762703B2 (en) | Method and apparatus for assembling data, and resource propagation system | |
CN102055629A (zh) | 一种家庭网关设备及藉由其共享网络资源的方法 | |
CN112584255B (zh) | 一种流媒体数据的播放方法、装置、计算机设备和存储介质 | |
Lukic et al. | A java API interface for the search of DTV services in embedded multimedia devices | |
CN104301779A (zh) | 一种视频文件的播放方法、系统和装置 | |
WO2010122557A1 (en) | System, method and gateway device for internet television content provisioning | |
CN112052376A (zh) | 资源推荐方法、装置、服务器、设备和介质 | |
CN111654741B (zh) | 视频数据获取方法及装置、计算机设备、存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20171219 |
|
CF01 | Termination of patent right due to non-payment of annual fee |