一种音视频文件下载方法及装置制造方法

文档序号:7799786阅读:199来源:国知局
一种音视频文件下载方法及装置制造方法
【专利摘要】本发明公开了一种音视频文件下载方法及装置。所述方法包括:解析音视频播放列表,解析后的所述音视频播放列表包括音视频文件的局域网和/或广域网下载地址;若解析后音视频播放列表中的音视频文件存在于局域网服务器,则从局域网服务器下载所述音视频文件,否则根据所述音视频文件的下载地址下载。本发明能够动态加快音视频下载与播出速度。
【专利说明】一种音视频文件下载方法及装置

【技术领域】
[0001]本发明涉及计算机网络【技术领域】,尤其涉及一种音视频文件下载方法及装置。

【背景技术】
[0002]能够播放数字编码的音视频数据的便携式音视频数据播放器的使用已经变得非常普遍,如手机、ipad等。随着对于在便携式音视频数据播放器中的较大数据存储容量的增加的需求,小型手持设备的存储容量不足的问题越来越突出。
[0003]多媒体播放列表用于提供一个指向其他位置的音视频文件索引,使用多媒体播放列表播放音视频实际上打开的是由多媒体播放列表中所指向的其他位置处的音视频文件。多媒体播放列表可以是纯文本格式的文件,其中需要存储多媒体文件的属性如名称、大小、播放时长和下载地址等。
[0004]多数音视频数据文件管理程序使得用户可以建立和编辑多媒体播放列表,所述播放列表随后可以被下载到便携式音视频数据播放器并用于播放音视频数据文件的选择序列。M3U是一种典型的多媒体播放列表,其可用于手机、电脑等的在线播放,用户先下载M3U播放列表并本地存储,由于M3U播放列表是纯文本格式的,因此占用空间非常小,非常适用于如手机等小型电子设备上使用。用户选择播放M3U播放列表中的文件时,根据其中的相应下载地址找到相应的音视频文件后在线播放。
[0005]目前通常的M3U播放列表的播放方式是,客户端从远程请求下载一个M3u列表,如M3U8列表,然后根据其编码格式UFT-8对其进行解析,获得播放列表中每个多媒体文件对应的网络地址,并从所述网络地址逐个下载多媒体文件后进行在线播放。
[0006]然而当客户端在内网或离服务器较近的网段时,由于解析出的播放列表文件的网络地址存在于远端,或网络环境不对等,如客户端使用电信宽带网络,而多媒体文件所在服务器端为联通或其他运营商网络时,会造成下载缓慢,音视频播放不顺畅的情况。


【发明内容】

[0007]本发明所要解决的技术问题是:在使用多媒体播放列表播放音视频文件时,如何能够快速地下载并流畅播放音视频内容。
[0008]为此,根据本发明一方面,其提出了一种音视频文件下载方法,其包括:
[0009]解析音视频播放列表,解析后的所述音视频播放列表包括音视频文件的局域网和/或广域网下载地址;
[0010]若解析后音视频播放列表中的音视频文件存在于局域网服务器,则从局域网服务器下载所述音视频文件,否则根据所述音视频文件的下载地址下载。
[0011]可选地,若解析后音视频播放列表中的音视频文件存在于局域网服务器,则根据局域网服务器返回的音视频文件的下载地址更新所述解析后的音视频文件播放列表。
[0012]可选地,所述音视频播放列表中的部分音视频文件同时存储于局域网服务器和广域网服务器。
[0013]可选地,所述局域网服务器每隔一定的时间向广域网服务器请求下载音视频文件。
[0014]可选地,所述局域网服务器上以与广域网服务器同样的目录结构存储所述部分音视频文件。
[0015]可选地,从局域网服务器和广域网服务器同时请求一定时间段内的音视频播放列表;
[0016]解析局域网服务器返回的局域网音视频播放列表和广域网服务器返回的广域网音视频播放列表;
[0017]合并解析后的局域网音视频播放列表和广域网音视频播放列表。
[0018]可选地,所述若解析后音视频播放列表中的音视频文件存在于局域网服务器,则从局域网服务器下载所述音视频文件之前还包括:
[0019]判断所述音视频播放列表是否为局域网音视频播放列表和广域网音视频播放列表合并后的音视频播放列表,若是则直接使用音视频播放列表总的下载地址下载。
[0020]可选地,从局域网服务器下载失败后,自动切换至广域网服务器下载。
[0021]可选地,若广域网下载速度高于局域网下载速度,则直接从广域网服务器下载音视频文件。
[0022]根据本发明另一方面,其还提出了一种音视频文件下载装置,其包括:
[0023]解析模块,解析音视频播放列表,解析后的所述音视频播放列表包括音视频文件的局域网和/或广域网下载地址;
[0024]下载模块,若解析后音视频播放列表中的音视频文件存在于局域网服务器,则从局域网服务器下载所述音视频文件,否则根据所述音视频文件的下载地址下载。
[0025]本发明提出的上述方案应用于互联网视频播放及下载【技术领域】。本发明可通过不同的音视频播放列表,如不同的m3u8列表切换不同的视频流,即通过先备份m3u8播放列表中的音视频文件到不同的服务器,从而替换解析m3u8播放列表得到的音视频文件源地址来达到加速下载音视频文件的目的,本发明能够动态加快音视频下载与播出速度。

【专利附图】

【附图说明】
[0026]图1是本发明中音视频文件下载方法的流程图;
[0027]图2是本发明中音视频文件下载装置的结构框图。

【具体实施方式】
[0028]为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明作进一步的详细说明。
[0029]图1示出了本发明提出的一种音/视频下载方法流程图。如图1所示,该方法包括:
[0030]步骤101:解析音/视频播放列表;
[0031]步骤102:查找本地是否存储有解析得到的音/视频播放列表中的音/视频文件,若本地存储有所述音/视频文件,则直接从本地获取所述音/视频;
[0032]步骤103:若本地没有存储所述音视频文件,则查找局域网服务器上是否存储有所述音/视频文件,若局域网服务器存储有所述音/视频文件,则从局域网服务器下载所述音/视频文件;
[0033]步骤104:若局域网服务器没有存储所述音/视频文件,则根据解析得到的所述音视频播放列表的下载地址,从相应地广域网服务器下载所述音/视频文件。
[0034]下面根据具体的实施手段详细描述本发明提出的音视频下载方法中的各个步骤。本领域技术人员应当理解,所述具体的实施手段仅是用来阐明本发明的技术方案,而非对其范围的限定,这些具体的实施手段还可以采用其他实现同样功能的手段来替换。
[0035]对于步骤101,所述音/视频播放列表通常包括音视频文件属性以及下载地址,具体包括:音视频文件的下载地址,音视频文件的名称,音视频文件涉及的歌手、演员和/或导演等,音视频文件的播放绝对时间,音视频文件的播放时长等。不同格式的播放列表需要采用不同的解析方法,解析的目的是获取音视频播放列表中的播放地址及音视频文件属性等,用以下载所述播放列表中音视频文件。目前较常见的音/视频播放列表包括m3u8音/视频播放列表,其解析方法可以采用约定的格式,如#EXTINF: 10,对所述播放列表进行分害I],并解析获得相应的内容,如音视频下载地址,音视频播放绝对时间,音视频播放时长等。
[0036]所述音视频播放列表可以是音视频服务器如局域网服务器和/或广域网服务器生成并进行发布后,由客户端获取并存储的,也可以是用户根据自己的喜好建立的音视频播放列表,还可以是从局域网服务器和/或广域网服务器请求获得的音视频播放列表。当客户端向局域网服务器和/或广域网服务器请求音视频播放列表时,局域网服务器和/或广域网服务器根据其上存储的音视频文件的属性信息以及存储的地址生成音视频播放列表,并将其发送给客户端。
[0037]用户可以同时向局域网服务器和广域网服务器请求音视频播放列表,并且在解析所请求到的两个音视频播放列表后,将两者进行合并。在合并时,如果同一音视频文件既有局域网下载地址也有广域网下载地址,则将其下载地址更新为局域网下载地址。
[0038]对于步骤102,在解析音视频播放列表获得了需要进行播放的音视频文件属性信息后,根据所述音视频文件的属性信息如音视频文件名称、歌手、演员和/或导演等查找本地存储器中是否已经缓存有所述音视频文件。
[0039]该步骤主要是为了防止重复下载,如客户端在下载或播放过程中以外重启或者发生断网时,有可能存在已经下载成功的文件记录未下载等;还有可能出现的情况是用户反复播放同一列表中的音视频文件,本次播放时前次已经缓冲过的音视频文件依然存储在本地时,无需重新下载。因此,为了防止重复下载而造成资源浪费,客户端在下载音视频文件时首先查看本地端是否已经缓冲存储有当前要下载的音视频文件,如果已经存在,就可以直接播放本地客户端缓存的音视频文件,而无需重新下载。
[0040]该步骤中,如果在本地存储器上查找到音视频文件,则将音视频播放列表中对应的音视频文件下载地址修改为本地存储地址。
[0041]对于步骤103,若在本地存储器中没有存储所解析的音视频播放列表中当前要播放的音视频文件,则查找局域网服务器上是否存储有所述音视频文件。若局域网服务器上存储有当前要播放的音视频文件,则直接从局域网服务器上下载所述音视频,并在下载完成后将所下载的音视频内容存储于本地存储器中,开始播放。
[0042]该步骤中,如果客户端在本地查询不到播放列表中的音视频文件,则先向局域网服务器请求所述音视频文件的下载地址,如果局域网服务器上存储有所请求的音视频文件,则局域网服务器将所请求的音视频文件的下载地址返回给客户端,客户端可以根据所述下载地址从局域网服务器下载所述音视频文件。
[0043]在该步骤前,本发明的上述方法还包括先判断所述音视频文件的下载地址是否已经为局域网下载地址,如果是则不向局域网服务器请求该音视频文件的下载地址,而是直接使用音视频播放列表中音视频文件的下载地址进行下载并播放。
[0044]本发明提出的技术方案中采用了双缓冲机制来存储音视频文件,即一部分音视频文件既存储于广域网服务器,也存储于局域网服务器。所述双缓冲机制具体描述如下:
[0045]广域网存储服务器中永久性存储大量音视频文件,所述广域网存储服务器就是目前下载音视频文件的存储服务器,即从网络获得的音视频播放列表中存储的音视频文件下载地址通常指向广域网存储服务器。现有技术中,在解析得到指向广域网存储服务器的下载地址后,从所述下载地址下载音视频文件,但是这种下载方式可能会导致下载速度慢,致使播放不流畅,导致用户体验不佳。
[0046]基于此,本发明提出了一种存储音视频文件的双缓冲机制。除了在广域网存储服务器上存储音视频文件之外,还在本地局域网备份所述音视频文件。可选地,在本地局域网中部署一台服务器,每隔预定时间向广域网存储服务器请求其上永久存储的音视频文件,广域网存储服务器接收到所述请求后向局域网中的所述服务器返回一个音视频播放列表,如m3u8视频播放列表,局域网服务器解析所述m3u8视频播放列表,并根据解析获得的下载地址,多线程分段下载所述m3u8视频播放列表中对应的视频文件,将所下载的音视频文件存储在局域网服务器中,存储的目录结构与广域网服务器上的相同。局域网服务器还根据广域网服务器给出的m3u8视频播放列表,将下载的视频文件的存储地址、文件名、视频时间等存入数据库,以供后续客户端下载。
[0047]可选地,本地局域网服务器可以根据需要从广域网服务器请求下载客户端最常播放的音视频文件,如本地局域网服务器记录客户端请求下载的音视频文件名称,客户端每请求一次且局域网服务器上不存在所下载的音视频文件时,相应音视频文件的下载次数增加一次。局域网服务器每次仅向广域网服务器请求下载次数超过预定阈值的音视频文件。可选地,局域网服务器也可以不按照预定时间间隔请求下载音视频文件,而是在下载次数超过预定阈值的音视频文件超过一定数量后,再向广域网服务器请求下载所述音视频文件。
[0048]当客户端解析出来当前的音视频播放列表后,如果本地并为缓存音视频文件,则首先根据音视频播放列表中的音视频文件属性如名称等向局域网服务器提出请求,局域网服务器中如果已经缓存有所请求的音视频文件,则局域网服务器将所请求的音视频文件将音视频文件在局域网服务器中的下载地址发送给客户端,客户端使用所接收到的局域网下载地址替换解析后的音视频播放列表中相应音视频文件的下载地址,客户端根据所述下载地址从局域网服务器下载所述音视频文件。可选地,局域网服务器也可以直接将客户端所请求的音视频文件发送给客户端。
[0049]对于步骤104,若局域网服务器上也没有存储当前要播放的音视频文件,则直接从广域网存储服务器下载所述音视频文件。
[0050]上述方案中,客户端可以通过上述方案在播放过程中每获得一个音视频文件的下载地址后直接下载所述音视频文件,例如,即将播放音视频文件A时,如果音视频文件A存储于本地,则直接从本地存储器播放该音视频文件A进行播放,如果即将播放的音视频文件B在本地没有存储,但是局域网服务器上有存储,则从局域网服务器返回的地址下载所述音视频文件B或者直接从局域网服务器接收所述音视频文件B,并进行播放;如果即将播放的音视频文件C既没有存储于本地,也没有存储于局域网服务器,则直接根据音视频播放列表中的下载地址从广域网服务器下载所述音视频文件C并进行播放。
[0051]客户端还可以先遍历一遍解析后的音视频播放列表,根据音视频文件所在位置如本地、局域网服务器和广域网服务器更新所述解析后的音视频播放列表中的下载地址信息后,在播放的时候根据更新后的音视频播放列表直接下载并播放音视频文件。例如,音视频文件A已经在本地有缓存,则将所述音视频播放列表中对应音视频文件A的下载地址更新为本地存储地址,音视频文件B没有存储在本地,但是在局域网服务器上有备份,则将其在音视频播放列表中的下载地址更新为局域网服务器上的存储的存储地址,如果音视频文件C既没有存储在本地,也没有存储在局域网服务器,则保持其下载地址不变。在遍历完整个音视频播放列表后,客户端在播放过程中根据更新后的音视频播放列表下载并播放所述音视频播放列表中的音视频文件。
[0052]可选地,本发明提出的上述方案中,如果客户端想获得最近一段时间内的音视频文件时,可以通过直接向局域网服务器和广域网服务器同时请求这段时间内的音视频播放列表来完成。并且在请求获得两个音视频播放列表后,将两者进行比较,如果相同,直接使用从局域网服务器获得的音视频播放列表从局域网下载音视频文件进行播放,如果两者不同,则将两者进行合并,即存在于广域网音视频播放列表,而局域网音视频播放列表中不存在的音视频文件信息添加至所述局域网音视频播放列表,并根据合并后的音视频播放列表下载并播放音视频文件。
[0053]下面通过一个具体的示例来对本发明的上述方法加以说明,具体以m3u8音视频播放列表为例来说明。客户端向局域网服务器和广域网服务器请求m3u8音视频播放列表,客户端可以按时间段请求音视频播放列表,如:请求10点03分20秒,到10点14分20秒的视频。客户端可以先访问局域网中的服务器,请求这段时间内新增加的音视频文件,例如:http://1calAreaNetwork.com/approve/vod?starttime=1376415344&endtime=1376415393,局域网服务器根据客户端的请求,根据这段时间内新增音视频文件的属性信息以及存储的地址,按照m3u8列表的生成协议生成相应的m3u8播放列表后返回给客户端;之后客户端再向广域网服务器请求同一时间段内的音视频播放列表,广域网服务器地址如下:http://internet.com/approve/vod?starttime=1376415344&endtime=l376415393 ο 同样地,广域网服务器将生成的m3u8播放列表返回给客户端,当两个列表中返回的数量一致时,客户端就直接使用局域网服务器返回的m3u8播放列表下载音视频并进行播放。如果返回视频列表不一样,客户端可以比较每一个视频的播放时间点,把局域网服务器中缺少的列表地址加上,直接下载广域网总服务器上的音视频文件。
[0054]例如,局域网服务器返回的m3u8播放列表如下所示:
[0055]#EXTM3U
[0056]#EXT-X-TARGETDURAT1N:10
[0057]#EXT-X-MEDIA-SEQUENCE:19426771
[0058]#EXTINF:10,
[0059]http://1calAreaNetwork.com/2014_0206_100320.ts
[0060]#EXTINF:10
[0061]http://1calAreaNetwork.com/2014_0206_100340.ts
[0062]广域网服务器返回的m3u8播放列表如下所示:
[0063]#EXTM3U
[0064]#EXT-X-TARGETDURAT1N:10
[0065]#EXT-X-MEDIA-SEQUENCE:19426771
[0066]#EXTINF:10,
[0067]http://intertnet.com/2014_0206_100320.ts
[0068]#EXTINF:10
[0069]http://internet.com/2014_0206_100330.ts
[0070]#EXTINF:10
[0071]http://internet.com/2014_0206_100340.ts
[0072]则客户端比对后数量不一致,之后比对时间,发现总服务器上多了一条10点03分30秒的,则客户端将两者进行合并,合并后的m3u8播放列表如下所示:
[0073]#EXTM3U
[0074]#EXT-X-TARGETDURAT1N:10
[0075]#EXT-X-MEDIA-SEQUENCE:19426771
[0076]#EXTINF:10,
[0077]http://intertnet.com/2014_0206_100320.ts
[0078]#EXTINF:10
[0079]http://1calAreaNetwork.com/2014_0206_100330.ts
[0080]#EXTINF:10
[0081]http://internet.com/2014_0206_100340.ts
[0082]客户端解析到下载地址后,按照合并后的地址去下载。这时客户端会先检视本地目录下是否有同名的视频,如果有,就视为已经缓冲过,跳过,缓冲下一个。所下载的音视频文件存储于本地存储器中,并在下载完成后进行播放。
[0083]可选地,所述音视频播放列表在更新的时候,音视频文件的广域网地址依然保留,以便当客户端从局域网服务器下载所需音视频内容失败后,自动被切换至广域网服务器进行下载。
[0084]可选地,本发明中当客户端从局域网服务器下载音视频文件时,分析广域网的下载速度,如果广域网的下载速度比局域网下载速度快,即从广域网服务器下载所需的音视频内容比从局域网服务器下载所需音视频内容更快时,直接切换至广域网服务器进行下载。
[0085]图2示出了本发明提出的一种音/视频下载装置结构示意图。如图2所示,该装置包括:
[0086]解析模块201:用于解析音/视频播放列表;
[0087]本地下载模块202:用于查找本地是否存储有解析得到的音/视频列表中的音/视频,若有则本模块直接从本地播放所述音/视频;
[0088]局域网下载模块203:若本地没有存储所述音/视频,则查找局域网服务器上是否存储有所述音/视频,存在则本模块从局域网服务器下载所述音/视频,并进行播放;
[0089]广域网下载模块204:若局域网服务器没有存储所述音/视频,则本模块从广域网服务器下载所述音/视频,并进行播放。
[0090]由于所述装置实施例基本相应于前述图1所示的方法实施例,故本实施例的描述中未详尽之处,可以参见前述实施例中的相关说明,在此就不赘述了。
[0091]以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【权利要求】
1.一种音视频文件下载方法,其包括: 解析音视频播放列表,解析后的所述音视频播放列表包括音视频文件的局域网和/或广域网下载地址; 若解析后音视频播放列表中的音视频文件存在于局域网服务器,则从局域网服务器下载所述音视频文件,否则根据所述音视频文件的下载地址下载。
2.如权利要求1所述的方法,其中: 若解析后音视频播放列表中的音视频文件存在于局域网服务器,则根据局域网服务器返回的音视频文件的下载地址更新所述解析后的音视频文件播放列表。
3.如权利要求1所述的方法,其中: 所述音视频播放列表中的部分音视频文件同时存储于局域网服务器和广域网服务器。
4.如权利要求3所述的方法,其中,所述局域网服务器每隔一定的时间向广域网服务器请求下载音视频文件。
5.如权利要求3或4所述的方法,其中,所述局域网服务器上以与广域网服务器同样的目录结构存储所述部分音视频文件。
6.如权利要求3或4所述的方法,其还包括: 从局域网服务器和广域网服务器同时请求一定时间段内的音视频播放列表; 解析局域网服务器返回的局域网音视频播放列表和广域网服务器返回的广域网音视频播放列表; 合并解析后的局域网音视频播放列表和广域网音视频播放列表。
7.如权利要求6所述的方法,其中,所述若解析后音视频播放列表中的音视频文件存在于局域网服务器,则从局域网服务器下载所述音视频文件之前还包括: 判断所述音视频播放列表是否为局域网音视频播放列表和广域网音视频播放列表合并后的音视频播放列表,若是则直接使用音视频播放列表总的下载地址下载。
8.如权利要求1_4、7任一项所述的方法,其还包括: 从局域网服务器下载失败后,自动切换至广域网服务器下载。
9.如权利要求1_4、7任一项所述的方法,其还包括: 若广域网下载速度高于局域网下载速度,则直接从广域网服务器下载音视频文件。
10.一种音视频文件下载装置,其包括: 解析模块,解析音视频播放列表,解析后的所述音视频播放列表包括音视频文件的局域网和/或广域网下载地址; 下载模块,若解析后音视频播放列表中的音视频文件存在于局域网服务器,则从局域网服务器下载所述音视频文件,否则根据所述音视频文件的下载地址下载。
【文档编号】H04N21/435GK104202655SQ201410112374
【公开日】2014年12月10日 申请日期:2014年3月24日 优先权日:2014年3月24日
【发明者】吴鹏 申请人:无锡天脉聚源传媒科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1