视频文件下载方法、装置、电子设备及存储介质与流程

文档序号:18357818发布日期:2019-08-06 23:23阅读:207来源:国知局
视频文件下载方法、装置、电子设备及存储介质与流程

本发明涉及视频技术领域,尤其涉及一种视频文件下载方法、装置、电子设备及存储介质。



背景技术:

当前主流视频网站都在使用p2p(中文全称:对等网络,英文全称:peertopeer)技术来节省cdn(中文全称:内容分发网络,英文全称:contentdeliverynetwork)带宽降低成本,即通过播放位置和下载位置的文件偏移差值来确定是否使用cdn节点下载数据,但此方式受限于视频的码率,不能行之有效的满足各个码率的视频流畅播放,例如同样大小的文件偏移差值,对于高码率视频能够播放的时长较短(预先缓存的视频文件过短),会导致高码率视频播放时间点和下载时间点相近甚至重合时仍使用cdn节点下载数据,可能造成播放卡顿;而同样大小的文件偏移差值对于低码率视频能够播放的时长较长(预先缓存的视频文件过长),低码率视频播放时过多的从cdn源服务器下载,增加带宽成本。

因此,如何在各码率视频流畅播放的前提下,减少cdn节点的带宽成本是本领域技术人员需要解决的技术问题。



技术实现要素:

鉴于以上内容,有必要提供一种视频文件下载方法、装置、电子设备及存储介质,能够在各码率视频流畅播放的前提下,减少cdn节点的带宽成本。

本发明的第一方面提供一种视频文件下载方法,所述方法包括:

从内容分发网络cdn节点中下载视频文件的头部文件;

根据所述头部文件,确定所述视频文件的下载时间点;

计算所述下载时间点与所述视频文件的播放时间点的时间差;

根据所述时间差,确定所述视频文件当前需要的下载方式;

使用所述下载方式下载所述视频文件的视频数据;其中,所述下载方式包括:所述cdn节点下载,或,所述cdn节点和用户节点混合下载,或,所述用户节点下载。

在一种可能的实现方式中,所述根据所述时间差,确定所述视频文件当前需要的下载方式包括:

若所述时间差小于或等于第一时间阈值,确定当前所述视频文件需要的下载方式为所述cdn节点下载;

所述使用所述下载方式下载所述视频文件的视频数据包括:

使用所述cdn节点下载所述视频文件的视频数据。

在一种可能的实现方式中,所述根据所述时间差,确定所述视频文件当前需要的下载方式包括:

若所述时间差大于第一时间阈值,且所述时间差小于或等于第二时间阈值,确定当前所述视频文件需要的下载方式为所述cdn节点和所述用户节点混合下载;

所述使用所述下载方式下载所述视频文件的视频数据包括:

使用所述cdn节点和所述用户节点混合下载所述视频文件的视频数据。

在一种可能的实现方式中,所述根据所述时间差,确定所述视频文件当前需要的下载方式包括:

若所述时间差大于第二时间阈值,且所述时间差小于或等于第三时间阈值,确定当前所述视频文件需要的下载方式为所述用户节点下载;

所述使用所述下载方式下载所述视频文件的视频数据包括:

使用所述用户节点下载所述视频文件的视频数据。

在一种可能的实现方式中,所述方法还包括:

若所述时间差大于第三时间阈值,停止下载所述视频文件的视频数据。

在一种可能的实现方式中,所述根据所述头部文件,确定所述视频文件的下载时间点包括:

从所述头部文件中获取所述视频文件的文件偏移地址与时间点的对应关系;

获取所述视频文件的当前下载位置所对应的目标文件偏移地址;

根据所述对应关系,将所述目标文件偏移地址对应的目标时间点确定为所述视频文件的下载时间点。

在一种可能的实现方式中,所述视频文件为点播视频文件或下载视频文件。

本发明的第二方面提供一种视频文件下载装置,所述视频文件下载装置包括:

下载模块,用于从内容分发网络cdn节点中下载视频文件的头部文件;

第一确定模块,用于根据所述头部文件,确定所述视频文件的下载时间点;

计算模块,用于计算所述下载时间点与所述视频文件的播放时间点的时间差;

第二确定模块,用于根据所述时间差,确定所述视频文件当前需要的下载方式;

所述下载模块,还用于使用所述下载方式下载所述视频文件的视频数据;其中,所述下载方式包括:所述cdn节点下载,或,所述cdn节点和用户节点混合下载,或,所述用户节点下载。

本发明的第三方面提供一种电子设备,所述电子设备包括处理器和存储器,所述处理器用于执行所述存储器中存储的计算机程序时实现所述的视频文件下载方法。

本发明的第四方面提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现所述的视频文件下载方法。

由以上技术方案,本发明中,可以先从内容分发网络cdn节点中下载视频文件的头部文件,根据所述头部文件,确定所述视频文件的下载时间点;进一步地,计算所述下载时间点与所述视频文件的播放时间点的时间差;更进一步地,可以根据所述时间差,确定所述视频文件当前需要的下载方式,并使用所述下载方式下载所述视频文件的视频数据;其中,所述下载方式包括:所述cdn节点下载,或,所述cdn节点和用户节点混合下载,或,所述用户节点下载。可见,本发明中,可以通过计算所述下载时间点与所述视频文件的播放时间点的时间差,在整个下载过程中,根据不同的时间差来选择不同的下载方式,进而使用恰当的下载方式来下载视频文件的视频数据,从而可以在各码率视频流畅播放的前提下,减少cdn节点的带宽成本。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1是本发明公开的一种视频文件下载方法的较佳实施例的流程图。

图2是本发明公开的一种视频文件的下载阶段的示意图。

图3是本发明公开的一种视频文件下载装置的较佳实施例的功能模块图。

图4是本发明实现视频文件下载方法的较佳实施例的电子设备的结构示意图。

具体实施方式

为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施例对本发明进行详细描述。需要说明的是,在不冲突的情况下,本发明的实施例及实施例中的特征可以相互组合。

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。

为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。

其中,所述电子设备包括一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的电子设备,其硬件包括但不限于微处理器、专用集成电路(asic)、可编程门阵列(fpga)、数字处理器(dsp)、嵌入式设备等。所述电子设备还可包括网络设备和/或用户设备。其中,所述网络设备包括但不限于单个网络服务器、多个网络服务器组成的服务器组或基于云计算(cloudcomputing)的由大量主机或网络服务器构成的云,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个超级虚拟计算机。所述用户设备包括但不限于任何一种可与用户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互的电子产品,例如,个人计算机、平板电脑、智能手机、个人数字助理pda、游戏机、交互式网络电视iptv、智能式穿戴式设备等。其中,所述用户设备及网络设备所处的网络包括但不限于互联网、广域网、城域网、局域网、虚拟专用网络vpn等。

请参见图1,图1是本发明公开的一种视频文件下载方法的较佳实施例的流程图。其中,根据不同的需求,该流程图中步骤的顺序可以改变,某些步骤可以省略。

s11、电子设备从内容分发网络cdn节点中下载视频文件的头部文件。

其中,cdn(contentdeliverynetwork,内容分发网络)的目的是通过在现有的internet中增加一层新的网络架构,将网站的内容发布到最接近用户的网络“边缘”,使用户可以就近取得所需的内容,提高用户访问网站的响应速度。

其中,所述cdn节点包括传统的cdn源服务器以及边缘节点,所述视频文件为点播视频文件或下载视频文件,比如mp4视频文件。

本发明实施例中,当接收到视频文件的在线播放请求时,电子设备可以从内容分发网络cdn节点中下载视频文件的头部文件。其中,所述视频文件主要分为视频头部和视频数据两个部分,其中,所述视频头部包含文件偏移地址与时间点的对应关系,因此,在获取到视频文件的头部文件后,可以利用头部文件中的对应关系,确定出视频文件的任一文件偏移地址对应的下载时间点。

s12、电子设备根据所述头部文件,确定所述视频文件的下载时间点。

其中,所述下载时间点为所述视频文件的当前下载位置对应的时间点,比如所述视频文件的总时长为60秒,当前的下载时间点为5秒,即所述视频文件处于5秒的位置。其中,所述下载时间点为实时变量,即随着下载的进度而发生变化。

具体的,所述根据所述头部文件,确定所述视频文件的下载时间点包括:

从所述头部文件中获取所述视频文件的文件偏移地址与时间点的对应关系;

获取所述视频文件的当前下载位置所对应的目标文件偏移地址;

根据所述对应关系,将所述目标文件偏移地址对应的目标时间点确定为所述视频文件的下载时间点。

其中,电子设备从内容分发网络cdn节点获取到所述视频文件的头部文件后,即可从所述头部文件中获取所述视频文件的文件偏移地址与时间点的对应关系,其中,所述对应关系包含了所述视频文件的每个字节位置(即文件偏移地址)对应的时间点。电子设备可以获取当前下载位置所对应的目标文件偏移地址,并根据所述对应关系,确定所述目标文件偏移地址对应的目标时间点,即可将所述目标时间点确定为当前的下载时间点。

s13、电子设备计算所述下载时间点与所述视频文件的播放时间点的时间差。

其中,可以通过播放器来获取当前所述视频文件的播放时间点,所述播放时间点即当前所述视频文件的播放时长,其中,所述播放时间点为实时变量,即所述播放时间点会随着播放的进度而发生变化。

其中,所述时间差的长度可以理解为当前已经下载但还未播放的视频文件能够播放的时长。

s14、电子设备根据所述时间差,确定所述视频文件当前需要的下载方式。

其中,所述下载方式包括:所述cdn节点下载,或,所述cdn节点和用户节点混合下载,或,所述用户节点下载。其中,所述用户节点即使用p2p(peertopeer,对等网络)进行数据传输的个人闲置资源节点,比如玩客云节点peer。

其中,利用cdn节点下载视频数据的速度快,可以满足视频数据的紧急需求,利用cdn节点下载可以减少cdn的带宽占用。

其中,可以预先将所述视频文件的在线点播下载过程分为多个阶段(比如4个阶段),每个阶段对应一个下载区间,该下载区间为所述时间差所属的时间范围,每个下载区间的时间范围可以用时间阈值来表示,不同的下载区间可以使用不同的下载方式来下载所述视频文件的视频数据。

请一并参见图2,图2是本发明公开的一种视频文件的下载阶段的示意图。如图2所示,所述视频文件的在线点播下载过程分为4个阶段,即第一下载阶段、第二下载阶段、第三下载阶段以及第四下载阶段。

其中,在第一下载阶段中,由于视频文件的头部文件只能从所述cdn节点中获取,而且,通过所述cdn节点下载比较稳定,速率较快,因此,在刚开始播放所述视频文件时,为了确保播放器及时且流畅的播放所述视频文件,需要在所述第一下载阶段使用所述cdn节点进行下载。其中,所述第一下载阶段对应的下载区间可以设置为所述时间差小于或等于第一时间阈值(比如2秒)。

其中,在第二下载阶段中,由于已经有一定的视频数据提供播放,为了减少所述cdn节点的带宽成本,可以在第二下载阶段使用所述cdn节点和所述用户节点混合下载;其中,所述第二下载阶段对应的下载区间可以设置为所述时间差大于第一时间阈值(比如2秒),且所述时间差小于或等于第二时间阈值(比如5秒)。

其中,在第三下载阶段中,不需要那么快的下载速度,为了进一步地减少所述cdn节点的带宽成本,可以在第三下载阶段使用所述用户节点下载;其中,所述第三下载阶段对应的下载区间可以设置为所述时间差大于第二时间阈值(比如5秒),且所述时间差小于或等于第三时间阈值(比如60秒)。

其中,在第四下载阶段中,由于已有充足的数据提供播放,为避免缓存过多的视频数据造成存储内存过大,可以在第四下载阶段停止下载,其中,所述第四下载阶段对应的下载区间可以设置为所述时间差大于第三时间阈值(比如60秒)。

之后,按照上述的方式,待下载时间点与播放时间点的时间差变小,再根据时间差,确定当前下载过程所属的下载时间段,并采用对应的下载方式进行下载,直至所述视频文件的视频数据全部下载完为止。

具体的,所述根据所述时间差,确定所述视频文件当前需要的下载方式包括:

若所述时间差小于或等于第一时间阈值,确定当前所述视频文件需要的下载方式为所述cdn节点下载。

其中,当计算出所述时间差小于或等于第一时间阈值时,可以确定当前所述视频文件的下载过程属于第一下载阶段,即可确定所述第一下载阶段对应的下载方式(所述cdn节点下载)为所述视频文件需要的下载方式。

具体的,所述根据所述时间差,确定所述视频文件当前需要的下载方式包括:

若所述时间差大于第一时间阈值,且所述时间差小于或等于第二时间阈值,确定当前所述视频文件需要的下载方式为所述cdn节点和所述用户节点混合下载。

其中,当计算出所述时间差大于第一时间阈值,且所述时间差小于或等于第二时间阈值时,可以确定当前所述视频文件的下载过程属于第二下载阶段,即可确定所述第二下载阶段对应的下载方式(所述cdn节点和所述用户节点混合下载)为所述视频文件需要的下载方式。

具体的,所述根据所述时间差,确定所述视频文件当前需要的下载方式包括:

若所述时间差大于第二时间阈值,且所述时间差小于或等于第三时间阈值,确定当前所述视频文件需要的下载方式为所述用户节点下载。

其中,当计算出所述时间差大于第二时间阈值,且所述时间差小于或等于第三时间阈值时,可以确定当前所述视频文件的下载过程属于第三下载阶段,即可确定所述第三下载阶段对应的下载方式(所述用户节点下载)为所述视频文件需要的下载方式。

作为一种可选的实施方式,所述方法还包括:

若所述时间差大于第三时间阈值,停止下载所述视频文件的视频数据。

需要说明的是,上述第一时间阈值、第二时间阈值以及第三时间阈值为预先通过多次试验获得的,所述第一时间阈值小于所述第二时间阈值,所述第二时间阈值小于所述第三时间阈值。

s15、电子设备使用所述下载方式下载所述视频文件的视频数据。

其中,在确定当前所述视频文件需要的下载方式之后,电子设备即可使用所述下载方式下载所述视频文件的视频数据。

如果所述下载方式为所述cdn节点下载,电子设备即可使用所述cdn节点下载所述视频文件的视频数据。

如果所述下载方式为所述cdn节点和所述用户节点混合下载,电子设备即可使用所述cdn节点和所述用户节点混合下载所述视频文件的视频数据。

如果所述下载方式为所述用户节点下载,电子设备即可使用所述用户节点下载所述视频文件的视频数据。

其中,通过计算下载时间点和播放时间点的时间差,通过时间差来确定使用所述cdn节点下载视频数据,还是使用所述用户节点下载视频数据,能够在所述用户节点的质量不佳的情况下,预留充足的时间切回所述cdn节点下载的方式来补充视频数据,保证了各码率视频播放流畅,并且尽量少的使用cdn节点下载视频数据,减少了cdn带宽,节约成本。

在图1所描述的方法流程中,可以先从内容分发网络cdn节点中下载视频文件的头部文件,根据所述头部文件,确定所述视频文件的下载时间点;进一步地,计算所述下载时间点与所述视频文件的播放时间点的时间差;更进一步地,可以根据所述时间差,确定所述视频文件当前需要的下载方式,并使用所述下载方式下载所述视频文件的视频数据;其中,所述下载方式包括:所述cdn节点下载,或,所述cdn节点和用户节点混合下载,或,所述用户节点下载。可见,本发明中,可以通过计算所述下载时间点与所述视频文件的播放时间点的时间差,在整个下载过程中,根据不同的时间差来选择不同的下载方式,进而使用恰当的下载方式来下载视频文件的视频数据,从而可以在各码率视频流畅播放的前提下,减少cdn节点的带宽成本。

以上所述,仅是本发明的具体实施方式,但本发明的保护范围并不局限于此,对于本领域的普通技术人员来说,在不脱离本发明创造构思的前提下,还可以做出改进,但这些均属于本发明的保护范围。

请参见图3,图3是本发明公开的一种视频文件下载装置的较佳实施例的功能模块图。

在一些实施例中,所述视频文件下载装置运行于电子设备中。所述视频文件下载装置可以包括多个由程序代码段所组成的功能模块。所述视频文件下载装置中的各个程序段的程序代码可以存储于存储器中,并由至少一个处理器所执行,以执行图1所描述的视频文件下载方法中的部分或全部步骤。

本实施例中,所述视频文件下载装置根据其所执行的功能,可以被划分为多个功能模块。所述功能模块可以包括:下载模块301、第一确定模块302、计算模块303及第二确定模块304。本发明所称的模块是指一种能够被至少一个处理器所执行并且能够完成固定功能的一系列计算机程序段,其存储在存储器中。在一些实施例中,关于各模块的功能将在后续的实施例中详述。

下载模块301,用于从内容分发网络cdn节点中下载视频文件的头部文件;

其中,cdn(contentdeliverynetwork,内容分发网络)的目的是通过在现有的internet中增加一层新的网络架构,将网站的内容发布到最接近用户的网络“边缘”,使用户可以就近取得所需的内容,提高用户访问网站的响应速度。

其中,所述cdn节点包括传统的cdn源服务器以及边缘节点,所述视频文件为点播视频文件或下载视频文件,比如mp4视频文件。

本发明实施例中,当接收到视频文件的在线播放请求时,电子设备可以从内容分发网络cdn节点中下载视频文件的头部文件。其中,所述视频文件主要分为视频头部和视频数据两个部分,其中,所述视频头部包含文件偏移地址与时间点的对应关系,因此,在获取到视频文件的头部文件后,可以利用头部文件中的对应关系,确定出视频文件的任一文件偏移地址对应的下载时间点。

第一确定模块302,用于根据所述头部文件,确定所述视频文件的下载时间点;

其中,所述下载时间点为当前所述视频文件的下载位置对应的时间点,比如所述视频文件的总时长为60秒,当前的下载时间点为5秒,即所述视频文件处于5秒的位置。

具体的,所述根据所述头部文件,确定所述视频文件的下载时间点包括:

从所述头部文件中获取所述视频文件的文件偏移地址与时间点的对应关系;

获取所述视频文件的当前下载位置所对应的目标文件偏移地址;

根据所述对应关系,将所述目标文件偏移地址对应的目标时间点确定为所述视频文件的下载时间点。

其中,电子设备从内容分发网络cdn节点获取到所述视频文件的头部文件后,即可从所述头部文件中获取所述视频文件的文件偏移地址与时间点的对应关系,其中,所述对应关系包含了所述视频文件的每个字节位置(即文件偏移地址)对对应的时间点。电子设备可以获取当前下载位置所对应的目标文件偏移地址,并根据所述对应关系,确定所述目标文件偏移地址对应的目标时间点,即可将所述目标时间点确定为当前的下载时间点。

计算模块303,用于计算所述下载时间点与所述视频文件的播放时间点的时间差;

其中,可以通过播放器来获取当前所述视频文件的播放时间点,所述播放时间点即当前所述视频文件的播放时长。

其中,所述时间差的长度可以理解为当前已经下载但还未播放的视频文件能够播放的时长。

第二确定模块304,用于根据所述时间差,确定所述视频文件当前需要的下载方式;

其中,所述下载方式包括:所述cdn节点下载,或,所述cdn节点和用户节点混合下载,或,所述用户节点下载。其中,所述用户节点即使用p2p(peertopeer,对等网络)进行数据传输的个人闲置资源节点,比如玩客云节点peer。

其中,利用cdn节点下载视频数据的速度快,可以满足视频数据的紧急需求,利用cdn节点下载可以减少cdn的带宽占用。

其中,可以预先将所述视频文件的在线点播下载过程分为多个阶段(比如4个阶段),每个阶段对应一个下载区间,该下载区间为所述时间差所属的时间范围,每个下载区间的时间范围可以用时间阈值来表示,不同的下载区间可以使用不同的下载方式来下载所述视频文件的视频数据。

请一并参见图2,图2是本发明公开的一种视频文件的下载阶段的示意图。如图2所示,所述视频文件的在线点播下载过程分为4个阶段,即第一下载阶段、第二下载阶段、第三下载阶段以及第四下载阶段。

其中,在第一下载阶段中,由于视频文件的头部文件只能从所述cdn节点中获取,而且,通过所述cdn节点下载比较稳定,速率较快,因此,在刚开始播放所述视频文件时,为了确保播放器及时且流畅的播放所述视频文件,需要在所述第一下载阶段使用所述cdn节点进行下载。其中,所述第一下载阶段对应的下载区间可以设置为所述时间差小于或等于第一时间阈值(比如2秒)。

其中,在第二下载阶段中,由于已经有一定的视频数据提供播放,为了减少所述cdn节点的带宽成本,可以在第二下载阶段使用所述cdn节点和所述用户节点混合下载;其中,所述第二下载阶段对应的下载区间可以设置为所述时间差大于第一时间阈值(比如2秒),且所述时间差小于或等于第二时间阈值(比如5秒)。

其中,在第三下载阶段中,不需要那么快的下载速度,为了进一步地减少所述cdn节点的带宽成本,可以在第三下载阶段使用所述用户节点下载;其中,所述第三下载阶段对应的下载区间可以设置为所述时间差大于第二时间阈值(比如5秒),且所述时间差小于或等于第三时间阈值(比如60秒)。

其中,在第四下载阶段中,由于已有充足的数据提供播放,为避免缓存过多的视频数据造成存储内存过大,可以在第四下载阶段停止下载,其中,所述第四下载阶段对应的下载区间可以设置为所述时间差大于第三时间阈值(比如60秒)。

之后,按照上述的方式,待下载时间点与播放时间点的时间差变小,再根据时间差,确定当前下载过程所属的下载时间段,并采用对应的下载方式进行下载,直至所述视频文件的视频数据全部下载完为止。

所述下载模块301,还用于使用所述下载方式下载所述视频文件的视频数据;其中,所述下载方式包括:所述cdn节点下载,或,所述cdn节点和用户节点混合下载,或,所述用户节点下载。

具体的,所述第二确定模块304根据所述时间差,确定所述视频文件当前需要的下载方式包括:

若所述时间差小于或等于第一时间阈值,确定当前所述视频文件需要的下载方式为所述cdn节点下载;

所述下载模块301使用所述下载方式下载所述视频文件的视频数据包括:

使用所述cdn节点下载所述视频文件的视频数据。

具体的,所述第二确定模块304根据所述时间差,确定所述视频文件当前需要的下载方式包括:

若所述时间差大于第一时间阈值,且所述时间差小于或等于第二时间阈值,确定当前所述视频文件需要的下载方式为所述cdn节点和所述用户节点混合下载;

所述下载模块301使用所述下载方式下载所述视频文件的视频数据包括:

使用所述cdn节点和所述用户节点混合下载所述视频文件的视频数据。

具体的,所述第二确定模块304根据所述时间差,确定所述视频文件当前需要的下载方式包括:

若所述时间差大于第二时间阈值,且所述时间差小于或等于第三时间阈值,确定当前所述视频文件需要的下载方式为所述用户节点下载;

所述下载模块301使用所述下载方式下载所述视频文件的视频数据包括:

使用所述用户节点下载所述视频文件的视频数据。

可选的,所述视频文件下载装置还包括:

停止模块,用于若所述时间差大于第三时间阈值,停止下载所述视频文件的视频数据。

可选的,所述第一确定模块302根据所述头部文件,确定所述视频文件的下载时间点包括:

获取所述视频文件的文件偏移地址;

从所述头部文件中获取文件偏移地址与下载时间点的对应关系;

根据所述对应关系,确定所述视频文件的文件偏移地址对应的所述视频文件的下载时间点。

其中,所述视频文件为点播视频文件或下载视频文件。

在图3所描述的视频文件下载装置中,可以先从内容分发网络cdn节点中下载视频文件的头部文件,根据所述头部文件,确定所述视频文件的下载时间点;进一步地,计算所述下载时间点与所述视频文件的播放时间点的时间差;更进一步地,可以根据所述时间差,确定所述视频文件当前需要的下载方式,并使用所述下载方式下载所述视频文件的视频数据;其中,所述下载方式包括:所述cdn节点下载,或,所述cdn节点和用户节点混合下载,或,所述用户节点下载。可见,本发明中,可以通过计算所述下载时间点与所述视频文件的播放时间点的时间差,在整个下载过程中,根据不同的时间差来选择不同的下载方式,进而使用恰当的下载方式来下载视频文件的视频数据,从而可以在各码率视频流畅播放的前提下,减少cdn节点的带宽成本。

请参见图4,图4是本发明实现视频文件下载方法的较佳实施例的电子设备的结构示意图。所述电子设备4包括存储器41、至少一个处理器42、存储在所述存储器41中并可在所述至少一个处理器42上运行的计算机程序43及至少一条通讯总线44。

本领域技术人员可以理解,图4所示的示意图仅仅是所述电子设备4的示例,并不构成对所述电子设备4的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述电子设备4还可以包括输入输出设备、网络接入设备等。

所述电子设备4还包括但不限于任何一种可与用户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互的电子产品,例如,个人计算机、平板电脑、智能手机、个人数字助理(personaldigitalassistant,pda)、游戏机、交互式网络电视(internetprotocoltelevision,iptv)、智能式穿戴式设备等。所述电子设备4所处的网络包括但不限于互联网、广域网、城域网、局域网、虚拟专用网络(virtualprivatenetwork,vpn)等。

所述至少一个处理器42可以是中央处理单元(centralprocessingunit,cpu),还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。该处理器42可以是微处理器或者该处理器42也可以是任何常规的处理器等,所述处理器42是所述电子设备4的控制中心,利用各种接口和线路连接整个电子设备4的各个部分。

所述存储器41可用于存储所述计算机程序43和/或模块/单元,所述处理器42通过运行或执行存储在所述存储器41内的计算机程序和/或模块/单元,以及调用存储在存储器41内的数据,实现所述电子设备4的各种功能。所述存储器41可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据电子设备4的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器41可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。

结合图1,所述电子设备4中的所述存储器41存储多个指令以实现一种视频文件下载方法,所述处理器42可执行所述多个指令从而实现:

从内容分发网络cdn节点中下载视频文件的头部文件;

根据所述头部文件,确定所述视频文件的下载时间点;

计算所述下载时间点与所述视频文件的播放时间点的时间差;

根据所述时间差,确定所述视频文件当前需要的下载方式;

使用所述下载方式下载所述视频文件的视频数据;其中,所述下载方式包括:所述cdn节点下载,或,所述cdn节点和用户节点混合下载,或,所述用户节点下载。

在一种可选的实施方式中,所述根据所述时间差,确定所述视频文件当前需要的下载方式包括:

若所述时间差小于或等于第一时间阈值,确定当前所述视频文件需要的下载方式为所述cdn节点下载;

所述使用所述下载方式下载所述视频文件的视频数据包括:

使用所述cdn节点下载所述视频文件的视频数据。

在一种可选的实施方式中,所述根据所述时间差,确定所述视频文件当前需要的下载方式包括:

若所述时间差大于第一时间阈值,且所述时间差小于或等于第二时间阈值,确定当前所述视频文件需要的下载方式为所述cdn节点和所述用户节点混合下载;

所述使用所述下载方式下载所述视频文件的视频数据包括:

使用所述cdn节点和所述用户节点混合下载所述视频文件的视频数据。

在一种可选的实施方式中,所述根据所述时间差,确定所述视频文件当前需要的下载方式包括:

若所述时间差大于第二时间阈值,且所述时间差小于或等于第三时间阈值,确定当前所述视频文件需要的下载方式为所述用户节点下载;

所述使用所述下载方式下载所述视频文件的视频数据包括:

使用所述用户节点下载所述视频文件的视频数据。

在一种可选的实施方式中,所述方法还包括:

若所述时间差大于第三时间阈值,停止下载所述视频文件的视频数据。

在一种可选的实施方式中,所述根据所述头部文件,确定所述视频文件的下载时间点包括:

从所述头部文件中获取所述视频文件的文件偏移地址与时间点的对应关系;

获取所述视频文件的当前下载位置所对应的目标文件偏移地址;

根据所述对应关系,将所述目标文件偏移地址对应的目标时间点确定为所述视频文件的下载时间点。

在一种可选的实施方式中,所述视频文件为点播视频文件或下载视频文件。

具体地,所述处理器42对上述指令的具体实现方法可参考图1对应实施例中相关步骤的描述,在此不赘述。

在图4所描述的电子设备4中,可以先从内容分发网络cdn节点中下载视频文件的头部文件,根据所述头部文件,确定所述视频文件的下载时间点;进一步地,计算所述下载时间点与所述视频文件的播放时间点的时间差;更进一步地,可以根据所述时间差,确定所述视频文件当前需要的下载方式,并使用所述下载方式下载所述视频文件的视频数据;其中,所述下载方式包括:所述cdn节点下载,或,所述cdn节点和用户节点混合下载,或,所述用户节点下载。可见,本发明中,可以通过计算所述下载时间点与所述视频文件的播放时间点的时间差,在整个下载过程中,根据不同的时间差来选择不同的下载方式,进而使用恰当的下载方式来下载视频文件的视频数据,从而可以在各码率视频流畅播放的前提下,减少cdn节点的带宽成本。

所述电子设备4集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。

在本发明所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。

所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。

对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附关联图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。系统权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第二等词语用来表示名称,而并不表示任何特定的顺序。

最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1