CN103259802A - 媒体文件的下载方法、装置及客户端设备 - Google Patents
媒体文件的下载方法、装置及客户端设备 Download PDFInfo
- Publication number
- CN103259802A CN103259802A CN2013102180926A CN201310218092A CN103259802A CN 103259802 A CN103259802 A CN 103259802A CN 2013102180926 A CN2013102180926 A CN 2013102180926A CN 201310218092 A CN201310218092 A CN 201310218092A CN 103259802 A CN103259802 A CN 103259802A
- Authority
- CN
- China
- Prior art keywords
- media file
- download
- source
- address
- download address
- 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.)
- Pending
Links
Images
Abstract
本发明提供一种媒体文件下载方法、装置及客户端设备,涉及网络通信技术领域。其中,该用于移动终端浏览器中的媒体文件下载方法包括:接收用户的媒体文件下载请求;根据所述媒体文件下载请求,获取所述媒体文件下载请求所对应的页面地址信息;根据所述获取的页面地址信息,尝试获取所述媒体文件的源下载地址;如果获取到媒体文件的源下载地址,根据所述获取到的源下载地址下载所述媒体文件。本发明的技术方案能够实现用户对网络媒体文件的下载。
Description
技术领域
本发明涉及网络技术领域,特别涉及一种媒体文件的下载方法、装置及客户端设备。
背景技术
近年来网络媒体节目极大地丰富了人们的生活。而随着技术的快速发展和用户需求的不断增长,手机等移动终端的功能越来越强大,用户通过移动终端来播放媒体节目已经变得越来越普遍。
但是,有些网络媒体节目往往只能在线欣赏,例如视频网站上提供的视频节目一般是不支持下载的。这样一来,用户如果想要使用移动终端观看视频网站提供的视频节目时,必须进行在线观看,在没有网络连接或者网络信号不好的地方就无法观看到这些视频节目,给用户的使用带来了极大的不便。
发明内容
本发明要解决的技术问题是提供一种媒体文件下载方法、装置及客户端设备,能够实现用户对网络媒体文件的下载。
为解决上述技术问题,本发明的实施例提供技术方案如下:
一方面,提供一种用于移动终端浏览器中的媒体文件下载方法,包括:
接收用户的媒体文件下载请求;
根据所述媒体文件下载请求,获取所述媒体文件下载请求所对应的页面信息;
根据所述获取的页面信息,尝试获取所述媒体文件的源下载地址;
如果获取到媒体文件的源下载地址,根据所述获取到的源下载地址下载所述媒体文件。
进一步地,所述根据所述获取的页面信息,尝试获取所述媒体文件的源下载地址包括:
根据所述获取的页面信息,查询预先设置的源地址规则,获取所述页面信息对应的存放媒体文件的地址规则;
根据所述页面信息和所述地址规则,分析出所述媒体文件的源下载地址。
进一步地,所述根据所述获取的页面信息,尝试获取所述媒体文件的源下载地址包括:
根据所述获取的页面信息,查询预先设置的用户代理UA关系,获取所述页面信息对应的媒体网站对应的UA参数;
将所述浏览器的UA参数调整为所述获取的UA参数;
根据所述调整后的UA参数,向所述媒体网站对应的服务器发送媒体文件下载请求;
接收所述服务器返回的所述媒体文件的源下载地址信息。
进一步地,所述源下载地址信息中包括至少一个所述媒体文件的源下载地址;所述方法还包括:
从所述至少一个源下载地址中选择下载时采用的源下载地址;
所述从所述至少一个源下载地址中选择下载时采用的源下载地址包括:
根据所述移动终端所能支持的媒体文件播放清晰度,从所述至少一个源下载地址中选择下载时采用的源下载地址。
进一步地,在所述根据所述获取的页面信息,尝试获取所述媒体文件的源下载地址后,所述方法还包括:
如果无法获取到媒体文件的源下载地址,向所述页面信息对应的媒体网站的服务器发送所述媒体文件的播放请求;
根据所述服务器返回的媒体文件数据流,后台播放所述媒体文件,并在播放的过程中,保存所述服务器返回的媒体文件数据流;
在所述媒体文件播放结束后,将所述保存的媒体文件数据流组装成完整的媒体文件以作为下载的所述媒体文件。
进一步地,在所述根据所述获取到的源下载地址下载所述媒体文件后,所述方法还包括:
如果下载所述媒体文件失败,分析所述失败的原因;
如果分析所述失败的原因为网络连接断开,在第一预设时间后,尝试进行重新下载;
如果所述重新下载失败,在第二预设时间后,尝试进行再次重新下载,所述第二预设时间大于所述第一预设时间。
进一步地,所述根据所述获取到的源下载地址下载所述媒体文件包括:
根据所述获取到的源下载地址,查找到待下载的媒体文件;
将所述待下载的媒体文件划分为多段文件,并行下载所述媒体文件被划分成的多段文件。
进一步地,所述媒体文件以多片媒体文件的形式保存在所述源下载地址;
所述根据所述获取到的源下载地址下载所述媒体文件包括:
根据所述获取到的源下载地址,下载所述媒体文件的每一片媒体文件;
在所述下载所述媒体文件的每一片媒体文件后,所述方法还包括:
将所述下载的多片媒体文件组装成完整的媒体文件。
进一步地,下载媒体文件之后还包括:
将所述下载的媒体文件显示在播放列表中;
在接收到用户播放所述显示在播放列表中的媒体文件的请求时,调取所述下载的媒体文件以播放所述媒体文件。
本发明实施例还提供了一种用于移动终端浏览器中的媒体文件下载装置,包括:
接收模块,用于接收用户的媒体文件下载请求;
获取模块,用于根据所述媒体文件下载请求,获取所述媒体文件下载请求所对应的页面信息;
处理模块,用于根据所述获取的页面信息,尝试获取所述媒体文件的源下载地址;
下载模块,用于如果获取到媒体文件的源下载地址,根据所述获取到的源下载地址下载所述媒体文件。
进一步地,所述处理模块具体用于根据所述获取的页面信息,查询预先设置的源地址规则,获取所述页面信息对应的存放媒体文件的地址规则;根据所述页面信息和所述地址规则,分析出所述媒体文件的源下载地址。
进一步地,所述处理模块具体用于根据所述获取的页面信息,查询预先设置的用户代理UA关系,获取所述页面信息对应的媒体网站对应的UA参数;将所述浏览器的UA参数调整为所述获取的UA参数;根据所述调整后的UA参数,向所述媒体网站对应的服务器发送媒体文件下载请求;接收所述服务器返回的所述媒体文件的源下载地址信息。
进一步地,所述源下载地址信息中包括至少一个所述媒体文件的源下载地址,所述处理模块还用于根据所述移动终端所能支持的媒体文件播放清晰度,从所述至少一个源下载地址中选择下载时采用的源下载地址。
进一步地,所述装置还包括:
发送模块,用于如果无法获取到媒体文件的源下载地址,向所述页面信息对应的媒体网站的服务器发送所述媒体文件的播放请求;
存储模块,用于根据所述服务器返回的媒体文件数据流,后台播放所述媒体文件,并在播放的过程中,保存所述服务器返回的媒体文件数据流;
组装模块,用于在所述媒体文件播放结束后,将所述保存的媒体文件数据流组装成完整的媒体文件以作为下载的所述媒体文件。
进一步地,所述装置还包括:
分析模块,用于如果下载所述媒体文件失败,分析所述失败的原因;
重新下载模块,用于如果分析所述失败的原因为网络连接断开,在第一预设时间后,尝试进行重新下载;如果所述重新下载失败,在第二预设时间后,尝试进行再次重新下载,所述第二预设时间大于所述第一预设时间。
进一步地,所述下载模块具体用于根据所述获取到的源下载地址,查找到待下载的媒体文件,将所述待下载的媒体文件划分为多段文件,并行下载所述媒体文件被划分成的多段文件。
进一步地,所述媒体文件以多片媒体文件的形式保存在所述源下载地址;
所述下载模块具体用于根据所述获取到的源下载地址,下载所述媒体文件的每一片媒体文件;在所述下载所述媒体文件的每一片媒体文件后,所述方法还包括:将所述下载的多片媒体文件组装成完整的媒体文件。
进一步地,所述装置还包括:
显示模块,用于将所述下载的媒体文件显示在播放列表中;
播放模块,用于在接收到用户播放所述显示在播放列表中的媒体文件的请求时,调取所述下载的媒体文件以播放所述媒体文件。
本发明实施例还提供了一种客户端设备,包括如上所述的媒体文件下载装置。
本发明的实施例具有以下有益效果:
上述方案中,在用户通过浏览器想要下载媒体文件时,将根据用户的媒体文件下载请求获取对应的页面信息,并尝试获取媒体文件的源下载地址;根据获取到的源下载地址下载媒体文件,使得用户能够实现对网络媒体文件的下载。
附图说明
图1为本发明实施例媒体文件下载方法的流程示意图;
图2为本发明实施例媒体文件下载装置的结构框图。
具体实施方式
为使本发明的实施例要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。
本发明的实施例提供一种媒体文件下载方法、装置及客户端设备,能够实现用户对网络媒体文件的下载。
图1为本发明实施例媒体文件下载方法的流程示意图,本实施例应用于移动终端浏览器中,如图1所示,本实施例包括:
步骤101:接收用户的媒体文件下载请求。
步骤102:根据所述媒体文件下载请求,获取所述媒体文件下载请求所对应的页面信息。
其中,所述页面信息可以是当前浏览页的统一资源定位符URL(Uniform Resource Locator),浏览页中的播放参数、flash参数、脚本参数等信息中的至少一种。媒体文件可以为视频文件、音频文件以及其他媒体文件,本发明对此不作限定。
步骤103:根据所述获取的页面信息,尝试获取所述媒体文件的源下载地址;
步骤104:如果获取到媒体文件的源下载地址,根据所述获取到的源下载地址下载所述媒体文件。
进一步地,本发明的另一实施例中,包括上述步骤101-104的基础上,所述根据所述获取的页面信息,尝试获取所述媒体文件的源下载地址包括:
根据所述获取的页面信息,查询预先设置的源地址规则,获取所述页面信息对应的存放媒体文件的地址规则;
根据所述页面信息和所述地址规则,分析出所述媒体文件的源下载地址。
通常来讲,每个媒体网站都有其常规使用的媒体文件的保存方式,即每个媒体网站一般都有其媒体文件的源地址规则,一般来讲这个规则与媒体网站的当前播放页面的页面信息存在关联。由此,本发明实施例中,收集了一定数目的媒体网站的源地址规则,在需要获取媒体文件的源地址时,获取播放页面的页面信息,并根据这些页面信息查询预先设置的源地址规则,进行分析和匹配,从而分析出媒体文件的源下载地址。
举例而言,当页面信息包含页面特征码时,可以提取页面特征码对应的内容。例如,如果页面信息中存在页面特征码var video_data=[urldata1,urldata2,……],则可提取页面特征码var video_data对应的至少一个内容urldata1,urldata2,……。然后,根据页面特征码和源地址规则,获取视频的标识。可对页面特征码对应的至少一个内容进行分析,以获取视频的标识,例如,可对urldata1进行分析可获取视频标识video123。根据该视频的标识组装URL地址:http://www.v1.com/getpath?id=video123,并根据该组装的URL地址获取video123标识的视频所在的服务器地址及其在服务器上的存储位置。
进一步地,本发明的另一实施例中,包括上述步骤101-104的基础上,所述根据所述获取的页面信息,尝试获取所述媒体文件的源下载地址包括:
根据所述获取的页面信息,查询预先设置的用户代理UA关系,获取所述页面信息对应的媒体网站对应的UA参数;
将所述浏览器的UA参数调整为所述获取的UA参数;
根据所述调整后的UA参数,向所述媒体网站对应的服务器发送媒体文件下载请求;
接收所述服务器返回的所述媒体文件的源下载地址信息。
通常来讲,每个媒体网站都有其支持的UA参数,由此,本发明实施例中,收集了一定数目的媒体网站所支持的UA参数,建立UA关系,在需要获取媒体文件的源地址时,获取播放页面的页面信息,并根据这些页面信息查询预先设置的用户代理UA关系,获取所述页面信息对应的媒体网站所能支持的UA参数。
进一步地,本发明的另一实施例中,包括上述步骤101-104的基础上,所述源下载地址信息中包括至少一个所述媒体文件的源下载地址;
所述方法还包括:
从所述至少一个源下载地址中选择下载时采用的源下载地址;
所述从所述至少一个源下载地址中选择下载时采用的源下载地址包括:
根据所述移动终端所能支持的媒体文件播放清晰度,从所述至少一个源下载地址中选择下载时采用的源下载地址。
进一步地,本发明的另一实施例中,包括上述步骤101-104的基础上,在所述根据所述获取的页面信息,尝试获取所述媒体文件的源下载地址后,所述方法还包括:
如果无法获取到媒体文件的源下载地址,向所述页面信息对应的媒体网站的服务器发送所述媒体文件的播放请求;
根据所述服务器返回的媒体文件数据流,后台播放所述媒体文件,并在播放的过程中,保存所述服务器返回的媒体文件数据流;
在所述媒体文件播放结束后,将所述保存的媒体文件数据流组装成完整的媒体文件以作为下载的所述媒体文件。
进一步地,本发明的另一实施例中,包括上述步骤101-104的基础上,在所述根据所述获取到的源下载地址下载所述媒体文件后,所述方法还包括:
如果下载所述媒体文件失败,分析所述失败的原因;
如果分析所述失败的原因为网络连接断开,在第一预设时间后,尝试进行重新下载;
如果所述重新下载失败,在第二预设时间后,尝试进行再次重新下载,所述第二预设时间大于所述第一预设时间。
其中,在规定时间内下载所述媒体文件失败时,还可以对失败原因进行分析,失败的原因有多种,包括:网络连接断开、终端断电、SD卡拔出、媒体文件来源故障等。在失败原因为网络连接断开时,可以在第一预设时间后尝试进行重新下载,若再次失败,则在第二预设时间后尝试进行重新下载。为了提高媒体文件下载的成功率,一般地,第二预设时间大于第一预设时间,比如第一预设时间可以为10s,第二预设时间可以为30s。在失败原因为终端断电、SD卡拔出或视频来源故障时,可以不再尝试进行重新下载。
进一步地,本发明的另一实施例中,包括上述步骤101-104的基础上,所述根据所述获取到的源下载地址下载所述媒体文件包括:
根据所述获取到的源下载地址,查找到待下载的媒体文件;
将所述待下载的媒体文件划分为多段文件,并行下载所述媒体文件被划分成的多段文件。
进一步地,本发明的另一实施例中,包括上述步骤101-104的基础上,所述媒体文件以多片媒体文件的形式保存在所述源下载地址;
所述根据所述获取到的源下载地址下载所述媒体文件包括:
根据所述获取到的源下载地址,下载所述媒体文件的每一片媒体文件;
在所述下载所述媒体文件的每一片媒体文件后,所述方法还包括:
将所述下载的多片媒体文件组装成完整的媒体文件。
进一步地,本发明的另一实施例中,包括上述步骤101-104的基础上,下载媒体文件之后还包括:
将所述下载的媒体文件显示在播放列表中;
在接收到用户播放所述显示在播放列表中的媒体文件的请求时,调取所述下载的媒体文件以播放所述媒体文件。
本发明的媒体文件下载方法,在用户通过浏览器想要下载媒体文件时,将根据用户的媒体文件下载请求获取对应的页面信息,并尝试获取媒体文件的源下载地址;根据获取到的源下载地址下载媒体文件,使得用户能够实现对网络媒体文件的下载。
本发明实施例还提供了一种用于移动终端浏览器中的媒体文件下载装置,如图2所示,本实施例包括:
接收模块20,用于接收用户的媒体文件下载请求;
获取模块22,用于根据所述媒体文件下载请求,获取所述媒体文件下载请求所对应的页面信息;
处理模块24,用于根据所述获取的页面信息,尝试获取所述媒体文件的源下载地址;
下载模块26,用于如果获取到媒体文件的源下载地址,根据所述获取到的源下载地址下载所述媒体文件。
进一步地,所述处理模块具体用于根据所述获取的页面信息,查询预先设置的源地址规则,获取所述页面信息对应的存放媒体文件的地址规则;根据所述页面信息和所述地址规则,分析出所述媒体文件的源下载地址。
进一步地,所述处理模块具体用于根据所述获取的页面信息,查询预先设置的用户代理UA关系,获取所述页面信息对应的媒体网站对应的UA参数;将所述浏览器的UA参数调整为所述获取的UA参数;根据所述调整后的UA参数,向所述媒体网站对应的服务器发送媒体文件下载请求;接收所述服务器返回的所述媒体文件的源下载地址信息。
进一步地,所述服务器返回的源下载地址信息中包括至少一个所述媒体文件的源下载地址,所述处理模块具体用于根据所述移动终端所能支持的媒体文件播放清晰度,从所述至少一个源下载地址中选择下载时采用的源下载地址。
进一步地,所述装置还包括:
发送模块,用于如果无法获取到媒体文件的源下载地址,向所述页面信息对应的媒体网站的服务器发送所述媒体文件的播放请求;
存储模块,用于根据所述服务器返回的媒体文件数据流,后台播放所述媒体文件,并在播放的过程中,保存所述服务器返回的媒体文件数据流;
组装模块,用于在所述媒体文件播放结束后,将所述保存的媒体文件数据流组装成完整的媒体文件以作为下载的所述媒体文件。
进一步地,所述装置还包括:
分析模块,用于如果下载所述媒体文件失败,分析所述失败的原因;
重新下载模块,用于如果分析所述失败的原因为网络连接断开,在第一预设时间后,尝试进行重新下载;如果所述重新下载失败,在第二预设时间后,尝试进行再次重新下载,所述第二预设时间大于所述第一预设时间。
进一步地,所述下载模块具体用于根据所述获取到的源下载地址,查找到待下载的媒体文件;将所述待下载的媒体文件划分为多段文件,并行下载所述媒体文件被划分成的多段文件。
进一步地,所述媒体文件以多片媒体文件的形式保存在所述源下载地址;
所述下载模块具体用于根据所述获取到的源下载地址,下载所述媒体文件的每一片媒体文件;在所述下载所述媒体文件的每一片媒体文件后,将所述下载的多片媒体文件组装成完整的媒体文件。
进一步地,所述装置还包括:
显示模块,用于将所述下载的媒体文件显示在播放列表中;
播放模块,用于在接收到用户播放所述显示在播放列表中的媒体文件的请求时,调取所述下载的媒体文件以播放所述媒体文件。
本发明的媒体文件下载装置,在用户通过浏览器想要下载媒体文件时,将根据用户的媒体文件下载请求获取对应的页面信息,并尝试获取媒体文件的源下载地址;根据获取到的源下载地址下载媒体文件,使得用户能够实现对网络媒体文件的下载。
本发明实施例还提供了一种客户端设备,包括如上所述的媒体文件下载装置。该客户端设备可以设置在浏览器中,还可以设置在移动终端或PC(个人电脑)上。
下面结合具体的实施例对本发明的媒体文件下载方法进行详细介绍:
实施例一
现有互联网上的很多媒体文件是以分片形式存储在中,但是很多浏览器并不支持对这种分片形式的媒体文件进行下载,一般情况下用户只能通过浏览器下载到媒体文件的第一片。通过本实施例的媒体文件下载方法能够使用户下载完整的媒体文件,下面以用户下载视频文件为例,对本实施例的媒体文件下载方法进行介绍,本实施例具体包括以下步骤:
步骤a1:接收用户的视频文件下载请求;
步骤a2:根据视频文件下载请求,获取视频文件下载请求所对应的页面信息;
步骤a3:根据获取的页面信息,尝试获取视频文件的源下载地址,并根据获取到的源下载地址下载视频文件;
具体地,根据获取的页面信息,查询预先设置的源地址规则,获取页面信息对应的媒体网站存放视频文件的地址规则,根据页面信息和地址规则,分析出视频文件的源下载地址。由于,视频文件以多片视频文件的形式保存在源下载地址,因此根据获取到的源下载地址,下载视频文件的每一片视频文件。
其中,源下载地址可以为每片视频文件的Flash播放参数。对每片视频文件的页面信息URL(统一资源定位符)进行分析,得到每片视频文件的Flash播放参数,所述Flash播放参数至少包括有视频文件的时长信息、视频文件的根目录地址和视频文件状态,其中视频文件的时长信息不但包括每片视频文件的时长还包括每片视频文件在视频文件中的位置,比如一个视频文件总长为1小时,分为20片视频文件,每片视频文件的长度为3分钟,则每片视频文件的时长信息中不但包括有每片视频文件的长度3分钟,还包括每片视频文件在该视频文件中的位置,比如第2片视频文件的时长信息为3:01-6:00,即表示第2片视频文件包含了该视频文件第3分钟到第6分钟的视频内容;根据每片视频文件的Flash播放参数下载每片视频文件。
步骤a4:将多片视频文件组装成一个完整的视频文件。
根据每片视频文件的时长信息将所有视频文件组装成一个完整的视频文件存储在终端中,并显示在终端的播放列表中,当用户需要观看该视频文件时,即可通过该播放列表观看该视频文件。其中,终端可以为PC或移动终端。
本实施例中,在下载每片视频文件时,可能会下载失败,下载失败的原因有多种,包括:网络连接断开、终端断电、SD卡拔出、视频来源故障等。在下载失败时,需要分析失败原因,在失败原因为网络连接断开时,可以在第一预设时间后重新发起下载请求;若再次失败,则在第二预设时间后重新发起下载请求,为了提高下载的成功率,一般地,第二预设时间大于第一预设时间,比如第一预设时间可以为10s,第二预设时间可以为30s。在失败原因为终端断电、SD卡拔出或视频来源故障时,因为短时间内恢复的可能性比较小,则可以不再重新发起下载请求。
实施例二
在用户通过浏览器访问互联网上供在线观看的媒体文件时,媒体文件对应的服务器会对不同的浏览器提供不同格式的媒体文件下载地址,比如在通过苹果公司的浏览器safri访问优酷网站时,优酷网站将会向浏览器safri提供mp4格式的媒体文件的下载地址,用户能够通过该地址下载到媒体文件;而对于其他的浏览器来说,优酷网站可能不会提供mp4格式媒体文件的下载地址,这样用户通过其他浏览器访问优酷网站时,将不能下载到媒体文件。通过本实施例的媒体文件下载方法能够在用户使用任何浏览器访问媒体文件时,都能下载完整的媒体文件,下面以用户下载视频文件为例,对本实施例的媒体文件下载方法进行介绍,本实施例具体包括以下步骤:
步骤b1:接收用户的视频文件下载请求;
步骤b2:根据视频文件下载请求,获取视频文件下载请求所对应的页面信息;
步骤b3:根据获取的页面信息,查询预先设置的UA(用户代理)关系,获取页面信息对应的媒体网站对应的UA参数,将浏览器的UA参数调整为获取的UA参数,根据调整后的UA参数,向媒体网站对应的服务器发送视频文件下载请求,接收服务器返回的视频文件的源下载地址信息。
其中,源下载地址信息中可以包括至少一个视频文件的源下载地址,可以从至少一个源下载地址中选择下载时采用的源下载地址,根据获取到的源下载地址,查找到待下载的视频文件。
具体地,可以根据移动终端所能支持的视频文件播放清晰度,从至少一个源下载地址中选择下载时采用的源下载地址。
比如用户在通过IE浏览器访问优酷网站上的视频文件时,可能只能在线观看视频文件,而不能下载视频文件。这时可以向服务器发送携带有浏览器safri对应UA的视频文件下载请求,对浏览器来源进行伪装,即可从服务器获得真实的视频文件下载地址;
其中,在下载视频文件时,为了提高下载速度,可以将视频文件分成多段,同时下载多段视频文件。具体地,可以按照时长或者数据量对视频文件进行分段。
步骤b4:根据视频文件源下载地址下载完整的视频文件。在下载完视频文件时,将视频文件显示在终端的播放列表中,当用户需要观看该视频文件时,即可通过该播放列表观看该视频文件。其中,终端可以为PC(个人电脑)或移动终端。
在下载完视频文件后,还可以接收用户的清晰度设置指令,对视频文件的播放清晰度进行设置,并将视频文件及其对应的播放清晰度存储在终端中,这样在获取视频资源时,可以结合用户设置的播放清晰度对视频文件进行选择;还可以接收用户的清晰度设置指令,对终端的播放清晰度进行设置;用户还可以在播放视频文件时,通过播放界面自己配置播放清晰度。
本实施例中,在下载视频文件时,可能会下载失败,下载失败的原因有多种,包括:网络连接断开、终端断电、SD卡拔出、视频来源故障等。在下载失败时,需要分析失败原因,在失败原因为网络连接断开时,可以在第一预设时间后重新发起下载请求;若再次失败,则在第二预设时间后重新发起下载请求,为了提高下载的成功率,一般地,第二预设时间大于第一预设时间,比如第一预设时间可以为10s,第二预设时间可以为30s。在失败原因为终端断电、SD卡拔出或视频来源故障时,因为短时间内恢复的可能性比较小,则可以不再重新发起下载请求。
实施例三
在无法获取到媒体文件的源下载地址时,通过本实施例的媒体文件下载方法能够在用户使用任何浏览器访问媒体文件时,都能下载完整的媒体文件,下面以用户下载视频文件为例,对本实施例的媒体文件下载方法进行介绍,本实施例包括以下步骤:
步骤c1:接收用户的视频文件下载请求;
步骤c2:根据视频文件下载请求,获取视频文件下载请求所对应的页面信息;
步骤c3:通过实施例一和实施例二的技术方案均无法获取到视频文件的源下载地址,则向页面信息对应的媒体网站的服务器发送视频文件的播放请求,根据服务器返回的视频文件数据流,后台播放视频文件,并在播放的过程中,保存服务器返回的视频文件数据流;
步骤c4:在视频文件播放结束后,将保存的视频文件数据流组装成完整的视频文件以作为下载的视频文件。
具体地,可以通过终端的local server(本地服务器),模拟出观看视频文件的环境,即提供了仿真页面,该页面上展现出真实的播放界面,这样,在观看视频文件的过程中,服务器发送过来的视频文件数据流进入缓存,对进入缓存的视频文件数据流进行保存,存放在终端的local server,并在播放结束后,将存储的视频文件数据流组装成一个完整的视频文件存储在终端中,并显示在终端的播放列表中,当用户需要观看该视频文件时,即可通过该播放列表观看该视频文件。其中,终端可以为PC(个人电脑)或移动终端。通过本实施例可以对直播的视频文件进行录制保存,并可重复播放视频文件。
其中,视频文件播放和录制的过程可以均在终端的后台进行,用户将感受不到这一过程,在视频文件播放完成之后,视频文件自动存储在终端的localserver中。
对于装置和终端而言,由于其工作方式基本相似于前文的方法实施例,所以描述的比较简单,相关之处参见前文方法实施例的部分说明即可。
需要说明的是,本发明的实施例优选适用于移动终端,例如,IOS操作系统(IOS是由苹果公司开发的手持设备操作系统)、安卓操作系统(Android系统是一种基于Linux的自由及开放源代码的操作系统)、Windows Phone操作系统(Windows Phone是微软公司发布的一款手机操作系统)的移动终端,当然也适用于个人计算机以及其他智能移动终端,本发明对此不作限定。
此说明书中所描述的许多功能部件都被称为模块,以便更加特别地强调其实现方式的独立性。
本发明实施例中,模块可以用软件实现,以便由各种类型的处理器执行。举例来说,一个标识的可执行代码模块可以包括计算机指令的一个或多个物理或者逻辑块,举例来说,其可以被构建为对象、过程或函数。尽管如此,所标识模块的可执行代码无需物理地位于一起,而是可以包括存储在不同物理上的不同的指令,当这些指令逻辑上结合在一起时,其构成模块并且实现该模块的规定目的。
实际上,可执行代码模块可以是单条指令或者是许多条指令,并且甚至可以分布在多个不同的代码段上,分布在不同程序当中,以及跨越多个存储器设备分布。同样地,操作数据可以在模块内被识别,并且可以依照任何适当的形式实现并且被组织在任何适当类型的数据结构内。所述操作数据可以作为单个数据集被收集,或者可以分布在不同位置上(包括在不同存储设备上),并且至少部分地可以仅作为电子信号存在于系统或网络上。
在模块可以利用软件实现时,考虑到现有硬件工艺的水平,所以可以以软件实现的模块,在不考虑成本的情况下,本领域技术人员都可以搭建对应的硬件电路来实现对应的功能,所述硬件电路包括常规的超大规模集成(VLSI)电路或者门阵列以及诸如逻辑芯片、晶体管之类的现有半导体或者是其它分立的元件。模块还可以用可编程硬件设备,诸如现场可编程门阵列、可编程阵列逻辑、可编程逻辑设备等实现。
在本发明各方法实施例中,所述各步骤的序号并不能用于限定各步骤的先后顺序,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,对各步骤的先后变化也在本发明的保护范围之内。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (19)
1.一种用于移动终端浏览器中的媒体文件下载方法,其特征在于,包括:
接收用户的媒体文件下载请求;
根据所述媒体文件下载请求,获取所述媒体文件下载请求所对应的页面信息;
根据所述获取的页面信息,尝试获取所述媒体文件的源下载地址;
如果获取到媒体文件的源下载地址,根据所述获取到的源下载地址下载所述媒体文件。
2.根据权利要求1所述的媒体文件下载方法,其特征在于,所述根据所述获取的页面信息,尝试获取所述媒体文件的源下载地址包括:
根据所述获取的页面信息,查询预先设置的源地址规则,获取所述页面信息对应的存放媒体文件的地址规则;
根据所述页面信息和所述地址规则,分析出所述媒体文件的源下载地址。
3.根据权利要求1所述的媒体文件下载方法,其特征在于,所述根据所述获取的页面信息,尝试获取所述媒体文件的源下载地址包括:
根据所述获取的页面信息,查询预先设置的用户代理UA关系,获取所述页面信息对应的媒体网站对应的UA参数;
将所述浏览器的UA参数调整为所述获取的UA参数;
根据所述调整后的UA参数,向所述媒体网站对应的服务器发送媒体文件下载请求;
接收所述服务器返回的所述媒体文件的源下载地址信息。
4.根据权利要求3所述的媒体文件下载方法,其特征在于,
所述服务器返回的源下载地址信息中包括至少一个所述媒体文件的源下载地址;
所述方法还包括:
从所述至少一个源下载地址中选择下载时采用的源下载地址;
所述从所述至少一个源下载地址中选择下载时采用的源下载地址包括:
根据所述移动终端所能支持的媒体文件播放清晰度,从所述至少一个源下载地址中选择下载时采用的源下载地址。
5.根据权利要求1-4任一项所述的媒体文件下载方法,其特征在于,在所述根据所述获取的页面信息,尝试获取所述媒体文件的源下载地址后,所述方法还包括:
如果无法获取到媒体文件的源下载地址,向所述页面信息对应的媒体网站的服务器发送所述媒体文件的播放请求;
根据所述服务器返回的媒体文件数据流,后台播放所述媒体文件,并在播放的过程中,保存所述服务器返回的媒体文件数据流;
在所述媒体文件播放结束后,将所述保存的媒体文件数据流组装成完整的媒体文件以作为下载的所述媒体文件。
6.根据权利要求1所述的媒体文件下载方法,其特征在于,在所述根据所述获取到的源下载地址下载所述媒体文件后,所述方法还包括:
如果下载所述媒体文件失败,分析所述失败的原因;
如果分析所述失败的原因为网络连接断开,在第一预设时间后,尝试进行重新下载;
如果所述重新下载失败,在第二预设时间后,尝试进行再次重新下载,所述第二预设时间大于所述第一预设时间。
7.根据权利要求1-6任一项所述的媒体文件下载方法,其特征在于,所述根据所述获取到的源下载地址下载所述媒体文件包括:
根据所述获取到的源下载地址,查找到待下载的媒体文件;
将所述待下载的媒体文件划分为多段文件,并行下载所述媒体文件被划分成的多段文件。
8.根据权利要求1-6任一项所述的媒体文件下载方法,其特征在于,
所述媒体文件以多片媒体文件的形式保存在所述源下载地址;
所述根据所述获取到的源下载地址下载所述媒体文件包括:
根据所述获取到的源下载地址,下载所述媒体文件的每一片媒体文件;
在所述下载所述媒体文件的每一片媒体文件后,所述方法还包括:
将所述下载的多片媒体文件组装成完整的媒体文件。
9.根据权利要求1-8任一项所述的媒体文件下载方法,其特征在于,下载媒体文件之后还包括:
将所述下载的媒体文件显示在播放列表中;
在接收到用户播放所述显示在播放列表中的媒体文件的请求时,调取所述下载的媒体文件以播放所述媒体文件。
10.一种用于移动终端浏览器中的媒体文件下载装置,其特征在于,包括:
接收模块,用于接收用户的媒体文件下载请求;
获取模块,用于根据所述媒体文件下载请求,获取所述媒体文件下载请求所对应的页面信息;
处理模块,用于根据所述获取的页面信息,尝试获取所述媒体文件的源下载地址;
下载模块,用于如果获取到媒体文件的源下载地址,根据所述获取到的源下载地址下载所述媒体文件。
11.根据权利要求10所述的媒体文件下载装置,其特征在于,
所述处理模块具体用于根据所述获取的页面信息,查询预先设置的源地址规则,获取所述页面信息对应的存放媒体文件的地址规则;根据所述页面信息和所述地址规则,分析出所述媒体文件的源下载地址。
12.根据权利要求10所述的媒体文件下载装置,其特征在于,
所述处理模块具体用于根据所述获取的页面信息,查询预先设置的用户代理UA关系,获取所述页面信息对应的媒体网站对应的UA参数;将所述浏览器的UA参数调整为所述获取的UA参数;根据所述调整后的UA参数,向所述媒体网站对应的服务器发送媒体文件下载请求;接收所述服务器返回的所述媒体文件的源下载地址信息。
13.根据权利要求12所述的媒体文件下载装置,其特征在于,
所述服务器返回的源下载地址信息中包括至少一个所述媒体文件的源下载地址;
所述处理模块还用于根据所述移动终端所能支持的媒体文件播放清晰度,从所述至少一个源下载地址中选择下载时采用的源下载地址。
14.根据权利要求10-13任一项所述的媒体文件下载装置,其特征在于,所述装置还包括:
发送模块,用于如果无法获取到媒体文件的源下载地址,向所述页面信息对应的媒体网站的服务器发送所述媒体文件的播放请求;
存储模块,用于根据所述服务器返回的媒体文件数据流,后台播放所述媒体文件,并在播放的过程中,保存所述服务器返回的媒体文件数据流;
组装模块,用于在所述媒体文件播放结束后,将所述保存的媒体文件数据流组装成完整的媒体文件以作为下载的所述媒体文件。
15.根据权利要求10所述的媒体文件下载装置,其特征在于,所述装置还包括:
分析模块,用于如果下载所述媒体文件失败,分析所述失败的原因;
重新下载模块,用于如果分析所述失败的原因为网络连接断开,在第一预设时间后,尝试进行重新下载;如果所述重新下载失败,在第二预设时间后,尝试进行再次重新下载,所述第二预设时间大于所述第一预设时间。
16.根据权利要求10-15任一项所述的媒体文件下载装置,其特征在于,
所述下载模块具体用于根据所述获取到的源下载地址,查找到待下载的媒体文件,将所述待下载的媒体文件划分为多段文件,并行下载所述媒体文件被划分成的多段文件。
17.根据权利要求10-15任一项所述的媒体文件下载装置,其特征在于,所述媒体文件以多片媒体文件的形式保存在所述源下载地址;
所述下载模块具体用于根据所述获取到的源下载地址,下载所述媒体文件的每一片媒体文件,在所述下载所述媒体文件的每一片媒体文件后,将所述下载的多片媒体文件组装成完整的媒体文件。
18.根据权利要求10-17任一项所述的媒体文件下载装置,其特征在于,所述装置还包括:
显示模块,用于将所述下载的媒体文件显示在播放列表中;
播放模块,用于在接收到用户播放所述显示在播放列表中的媒体文件的请求时,调取所述下载的媒体文件以播放所述媒体文件。
19.一种客户端设备,其特征在于,包括如权利要求10-18中任一项所述的媒体文件下载装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2013102180926A CN103259802A (zh) | 2013-06-03 | 2013-06-03 | 媒体文件的下载方法、装置及客户端设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2013102180926A CN103259802A (zh) | 2013-06-03 | 2013-06-03 | 媒体文件的下载方法、装置及客户端设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103259802A true CN103259802A (zh) | 2013-08-21 |
Family
ID=48963499
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2013102180926A Pending CN103259802A (zh) | 2013-06-03 | 2013-06-03 | 媒体文件的下载方法、装置及客户端设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103259802A (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103631916A (zh) * | 2013-11-29 | 2014-03-12 | 北京奇虎科技有限公司 | 一种进行可下载资源下载的方法和装置 |
CN103873580A (zh) * | 2014-03-21 | 2014-06-18 | 北京金山网络科技有限公司 | 一种用于解析视频网页的方法及装置 |
CN104717570A (zh) * | 2013-12-13 | 2015-06-17 | 乐视网信息技术(北京)股份有限公司 | 一种下载多媒体文件的方法、设备及系统 |
CN104811796A (zh) * | 2014-01-24 | 2015-07-29 | 贝壳网际(北京)安全技术有限公司 | 网络视频续传方法及装置 |
CN105635264A (zh) * | 2016-03-28 | 2016-06-01 | 庄铭宇 | 一种基于网络游戏应用的文件系统 |
CN105763893A (zh) * | 2016-01-15 | 2016-07-13 | 北京傲游天下科技有限公司 | 一种下载页面播放器中播放的视频方法 |
WO2016127888A1 (zh) * | 2015-02-12 | 2016-08-18 | 卓易畅想(北京)科技有限公司 | 一种多媒体文件下载的方法与装置 |
CN106331788A (zh) * | 2016-08-31 | 2017-01-11 | 乐视控股(北京)有限公司 | 一种视频下载方法及装置 |
WO2017084467A1 (zh) * | 2015-11-18 | 2017-05-26 | 腾讯科技(深圳)有限公司 | 一种视频流的处理方法、装置和系统 |
CN110764854A (zh) * | 2019-09-26 | 2020-02-07 | 北京你财富计算机科技有限公司 | 一种页面展示方法、装置和电子设备 |
CN110912984A (zh) * | 2019-11-20 | 2020-03-24 | 四川商通实业有限公司 | 一种多格式文件下载方法及系统 |
CN112449250A (zh) * | 2019-08-27 | 2021-03-05 | 腾讯科技(深圳)有限公司 | 一种视频资源的下载方法、装置、设备和介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101715004A (zh) * | 2009-11-12 | 2010-05-26 | 中国科学院计算技术研究所 | 面向网络视频的分布式采集方法和系统 |
CN102306077A (zh) * | 2011-08-04 | 2012-01-04 | 深圳市万兴软件有限公司 | 一种在mac平台浏览器中实现视频下载的方法及浏览器 |
CN102542062A (zh) * | 2011-12-30 | 2012-07-04 | 深圳市万兴软件有限公司 | 一种下载网页上视频的方法和装置 |
CN102655512A (zh) * | 2011-03-01 | 2012-09-05 | 腾讯科技(深圳)有限公司 | 基于移动设备的下载方法及系统 |
WO2013020450A1 (zh) * | 2011-08-08 | 2013-02-14 | 腾讯科技(深圳)有限公司 | 一种网页浏览方法、装置及移动终端 |
-
2013
- 2013-06-03 CN CN2013102180926A patent/CN103259802A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101715004A (zh) * | 2009-11-12 | 2010-05-26 | 中国科学院计算技术研究所 | 面向网络视频的分布式采集方法和系统 |
CN102655512A (zh) * | 2011-03-01 | 2012-09-05 | 腾讯科技(深圳)有限公司 | 基于移动设备的下载方法及系统 |
CN102306077A (zh) * | 2011-08-04 | 2012-01-04 | 深圳市万兴软件有限公司 | 一种在mac平台浏览器中实现视频下载的方法及浏览器 |
WO2013020450A1 (zh) * | 2011-08-08 | 2013-02-14 | 腾讯科技(深圳)有限公司 | 一种网页浏览方法、装置及移动终端 |
CN102542062A (zh) * | 2011-12-30 | 2012-07-04 | 深圳市万兴软件有限公司 | 一种下载网页上视频的方法和装置 |
Non-Patent Citations (1)
Title |
---|
吴忠仪: "不下载从缓存里寻找宝贝", 《电脑迷》 * |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103631916B (zh) * | 2013-11-29 | 2017-04-19 | 北京奇虎科技有限公司 | 一种进行可下载资源下载的方法和装置 |
CN103631916A (zh) * | 2013-11-29 | 2014-03-12 | 北京奇虎科技有限公司 | 一种进行可下载资源下载的方法和装置 |
CN104717570A (zh) * | 2013-12-13 | 2015-06-17 | 乐视网信息技术(北京)股份有限公司 | 一种下载多媒体文件的方法、设备及系统 |
CN104811796A (zh) * | 2014-01-24 | 2015-07-29 | 贝壳网际(北京)安全技术有限公司 | 网络视频续传方法及装置 |
WO2015109833A1 (zh) * | 2014-01-24 | 2015-07-30 | 贝壳网际(北京)安全技术有限公司 | 网络视频续传方法及装置 |
CN103873580A (zh) * | 2014-03-21 | 2014-06-18 | 北京金山网络科技有限公司 | 一种用于解析视频网页的方法及装置 |
WO2015139540A1 (zh) * | 2014-03-21 | 2015-09-24 | 北京金山网络科技有限公司 | 一种用于解析视频网页的方法及装置 |
WO2016127888A1 (zh) * | 2015-02-12 | 2016-08-18 | 卓易畅想(北京)科技有限公司 | 一种多媒体文件下载的方法与装置 |
WO2017084467A1 (zh) * | 2015-11-18 | 2017-05-26 | 腾讯科技(深圳)有限公司 | 一种视频流的处理方法、装置和系统 |
CN105763893A (zh) * | 2016-01-15 | 2016-07-13 | 北京傲游天下科技有限公司 | 一种下载页面播放器中播放的视频方法 |
CN105635264A (zh) * | 2016-03-28 | 2016-06-01 | 庄铭宇 | 一种基于网络游戏应用的文件系统 |
CN106331788A (zh) * | 2016-08-31 | 2017-01-11 | 乐视控股(北京)有限公司 | 一种视频下载方法及装置 |
CN112449250A (zh) * | 2019-08-27 | 2021-03-05 | 腾讯科技(深圳)有限公司 | 一种视频资源的下载方法、装置、设备和介质 |
CN110764854A (zh) * | 2019-09-26 | 2020-02-07 | 北京你财富计算机科技有限公司 | 一种页面展示方法、装置和电子设备 |
CN110912984A (zh) * | 2019-11-20 | 2020-03-24 | 四川商通实业有限公司 | 一种多格式文件下载方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103259802A (zh) | 媒体文件的下载方法、装置及客户端设备 | |
CN100433565C (zh) | 数字移动终端系统及其接入业务的方法 | |
CN103501481B (zh) | 一种基于无线网络的信息宣传推送方法及其推送设备 | |
CN105451087A (zh) | 弹幕信息的推送方法、终端、历史数据服务器及系统 | |
CN102571726A (zh) | 多媒体数据共享的方法、系统及状态判定服务器 | |
CN105611422A (zh) | 基于多媒体榜单的在线直播方法及装置 | |
CN102075528A (zh) | 一种播放多种封装格式的网络多媒体文件的方法与设备 | |
CN103338384A (zh) | 一种视频播放方法及装置 | |
CN103607634A (zh) | 一种减少网络视频点播终端用户等待时间的方法 | |
CN104185039A (zh) | 音视频同步播放的方法和装置 | |
CN104581171A (zh) | 一种浏览器上播放视频的方法、装置及移动终端 | |
CN103716719A (zh) | 一种多媒体文件的下载方法及用户终端 | |
CN106161627B (zh) | 用于推送信息的方法及装置 | |
CN102904959A (zh) | 网络加速方法和网关 | |
CN104768066A (zh) | 数据下载方法、装置和终端 | |
CN103024491B (zh) | 移动终端的视频播放方法和系统 | |
CN112449250B (zh) | 一种视频资源的下载方法、装置、设备和介质 | |
CN102857349B (zh) | 一种基于rds的个性化信息定制的系统和方法 | |
CN103581199A (zh) | 一种多屏互动场景中服务在客户端的呈现方法及系统 | |
CN104980326A (zh) | 一种终端设备之间分享应用内容的方法及装置 | |
CN102904891A (zh) | 多媒体数据共享方法及装置、多媒体播放设备 | |
CN103685303A (zh) | 连接内容传送网络的处理方法与系统 | |
CN110908643A (zh) | 软件开发工具包的配置方法、装置和系统 | |
CN104040989A (zh) | 网关,及相应的方法、计算机程序和存储装置 | |
CN104301753A (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 | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20130821 |