CN106464942A - 流媒体资源的下载方法、装置和终端设备 - Google Patents
流媒体资源的下载方法、装置和终端设备 Download PDFInfo
- Publication number
- CN106464942A CN106464942A CN201580027952.5A CN201580027952A CN106464942A CN 106464942 A CN106464942 A CN 106464942A CN 201580027952 A CN201580027952 A CN 201580027952A CN 106464942 A CN106464942 A CN 106464942A
- Authority
- CN
- China
- Prior art keywords
- network bandwidth
- media file
- bandwidth
- detection
- data 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L5/00—Arrangements affording multiple use of the transmission path
- H04L5/003—Arrangements for allocating sub-channels of the transmission path
- H04L5/0058—Allocation criteria
- H04L5/0064—Rate requirement of the data, e.g. scalable bandwidth, data priority
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/61—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
- H04L65/613—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for the control of the source by the destination
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/21—Server components or server architectures
- H04N21/222—Secondary servers, e.g. proxy server, cable television Head-end
- H04N21/2223—Secondary servers, e.g. proxy server, cable television Head-end being a public access point, e.g. for downloading to or uploading from clients
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/238—Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/24—Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/24—Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
- H04N21/2402—Monitoring of the downstream path of the transmission network, e.g. bandwidth available
Abstract
本发明实施例公开了一种流媒体资源的下载方法、装置和终端设备。该方法包括:根据第一网络带宽确定第一媒体文件为待下载的媒体文件;第一媒体文件包含在与第一网络带宽对应的流媒体资源中,第一媒体文件包括N个数据块,N≥2,且N为整数;在下载第一媒体文件中的第n‑1个数据块之后,且在下载第一媒体文件中的第n个数据块之前,根据已执行的第一媒体文件的下载过程中网络带宽的下降次数,确定待下载的所述第n个数据块的长度;1≤n≤N。从而根据在第一媒体文件下载过程中网络带宽的下降次数,调整下载数据块的长度来适应下降的网络带宽,使视频播放能够更好的适应带宽变化,减少流媒体资源的切换次数。
Description
本发明实施例涉及网络传输领域,尤其涉及一种流媒体资源的下载方法、装置和终端设备。
HTTP(HyperText Transfer Protocol,超文本传输协议)Live Streaming(HLS)是由苹果公司提出的基于HTTP的流媒体网络传输协议。其中,流媒体是采用流式传输的方式在网络上播放的媒体格式。HLS协议的原理是把流媒体资源分成基于HTTP的多个相等时间长度的TS(Transport Stream,传输流)媒体文件进行传输。一个流媒体资源中的每一个TS媒体文件是独立的,多个TS媒体文件构成了一个连续的流媒体资源。当终端设备播放位于网络侧的流媒体资源时,终端设备根据检测到的网络带宽匹配相应的流媒体资源进行下载。当网络带宽变化时,客户端会根据变化的网络带宽重新匹配并下载流媒体资源。
当网络带宽大范围跳跃或频繁上下波动时,网络带宽的检测值与实际值会有较大偏差。但是,为了适应网络带宽的变化,终端设备仍然会根据网络带宽的检测值频繁的匹配并下载新的流媒体资源,这样,导致了下载的流媒体资源可能与实际的网络带宽不匹配,进而使得视频播放不流畅。
发明内容
本发明实施例提供了一种流媒体资源的下载方法、装置和终端设备,以在网络带宽大范围跳跃或者频繁上下波动等情况下,减少流媒体资源的切换次数,使得播放流畅。
第一方面,一种流媒体资源的下载方法,包括:
根据第一网络带宽确定第一媒体文件为待下载的媒体文件,所述第一网络带宽为确定所述第一媒体文件为待下载的媒体文件时的网络带宽;所述第一媒体文件包含在与所述第一网络带宽对应的流媒体资源中,所述第一媒体
文件包括N个数据块,N≥2,且N为整数;
在下载所述第一媒体文件中的第n-1个数据块之后,且在下载所述第一媒体文件中的第n个数据块之前,根据已执行的所述第一媒体文件的下载过程中网络带宽的下降次数,确定待下载的所述第n个数据块的长度,1≤n≤N。
在第一方面的第一种可能的实现方式中,所述方法还包括:
周期检测所述第一媒体文件下载过程中的网络带宽;
根据所述周期检测的网络带宽,获取已执行的所述第一媒体文件下载过程中网络带宽的下降次数。
结合第一方面或第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述根据已执行的所述第一媒体文件的下载过程中网络带宽的下降次数,确定待下载的所述第n个数据块的长度,具体包括:
当所述已执行的所述第一媒体文件的下载过程中网络带宽的下降次数等于0时,确定待下载的所述第n个数据块的长度为预设长度,所述预设长度与所述第一媒体文件相对应;
当所述已执行的所述第一媒体文件的下载过程中网络带宽的下降次数大于0且小于第一阈值时,确定所述待下载的所述第n个数据块的长度小于所述预设长度。
结合第一方面的第二种可能的实现方式,在第三种可能的实现方式中,所述方法还包括:当所述已执行的所述第一媒体文件的下载过程中网络带宽的下降次数大于0且小于第一阈值时,在确定所述待下载的所述第n个数据块的长度时,使用以下规则:
当所述已执行的所述第一媒体文件的下载过程中网络带宽的下降次数越多时,确定所述第n个数据块的长度越小;或者
当当前时刻与开始下载所述第一媒体文件的时刻之间的时间差越大时,确定所述第n个数据块的长度越小。
结合第一方面或上述第一方面的任一种可能的实现方式,在第四种可能
的实现方式中,在所述确定待下载的所述第n个数据块的长度之后,所述方法还包括:
根据确定的所述第n个数据块的长度,下载所述第n个数据块。
结合第一方面或上述第一方面的任一种可能的实现方式,在第五种可能的实现方式中,所述方法还包括:
当所述已执行的所述第一媒体文件下载过程中网络带宽的下降次数大于或等于第一阈值时,终止下载所述第一媒体文件;
根据第二网络带宽确定第二媒体文件为待下载的媒体文件;所述第二网络带宽为确定所述网络带宽的下降次数大于或等于所述第一阈值时的网络带宽;
所述第二媒体文件包含在与所述第二网络带宽对应的流媒体资源中。
结合上述第一方面的任一种可能的实现方式,在第六种可能的实现方式中,所述方法还包括:所述周期检测所述第一媒体文件下载过程中的网络带宽时,通过以下方式确定检测周期:
当i-x≥k时,确定Tm+1>T;
当0≤i-x<k时,确定Tm+1=T;
其中,
i为所述第一网络带宽对应的带宽等级,x为第m次检测的网络带宽对应的带宽等级,所述带宽等级为整数,m为大于或等于1的整数,i对应的带宽大于x对应的带宽,k为预设的第二阈值;
T为预设的检测周期,Tm+1为第m+1次检测网络带宽的周期,其中,Tm+1=tm+1–tm,tm+1为第m+1次检测网络带宽的时刻,tm为第m次检测网络带宽的时刻。
结合上述第一方面的任一种可能的实现方式,在第七种可能的实现方式中,所述方法还包括根据以下规则获取网络带宽的下降次数:
当i-x>0时,所述网络带宽的下降次数加1;
其中,i为所述第一网络带宽对应的带宽等级,x为第m次检测的网络带
宽对应的带宽等级,所述带宽等级为整数,m为大于等于1的整数,i对应的带宽大于x对应的带宽。
结合第一方面的第六种可能的实现方式或第七种可能的实现方式,在第八种可能的实现方式中,所述方法还包括通过以下方式确定检测的网络带宽对应的带宽等级:
所述流媒体资源包括分别与不同的带宽等级对应的多个媒体文件;
每个带宽等级对应一个网络带宽门限值;
当Wi×a≤W检测<Wi+1×b时,确定所述检测的网络带宽对应的带宽等级为i;
其中,W检测为所述检测的网络带宽,Wi为带宽等级i对应的网络带宽门限值,Wi+1为带宽等级i+1对应的网络带宽门限值,0<a<1,0<b<1。
第二方面,一种流媒体资源的下载装置,包括:
第一确定单元,用于根据第一网络带宽确定第一媒体文件为待下载的媒体文件,所述第一网络带宽为确定所述第一媒体文件为待下载的媒体文件时的网络带宽;所述第一媒体文件包含在与所述第一网络带宽对应的流媒体资源中,所述第一媒体文件包括N个数据块,N≥2,且N为整数;
下降次数获取单元,用于获取已执行的所述第一媒体文件的下载过程中网络带宽的下降次数;
第二确定单元,用于在下载所述第一媒体文件中的第n-1个数据块之后,且在下载所述第一媒体文件中的第n个数据块之前,根据所述下降次数获取单元获取的已执行的所述第一媒体文件的下载过程中网络带宽的下降次数,确定待下载的所述第n个数据块的长度;1≤n≤N。
在第二方面的第一种可能的实现方式中,所述装置还包括:
检测单元,用于周期检测所述第一媒体文件下载过程中的网络带宽;
所述下降次数获取单元,具体用于根据所述检测单元周期检测的网络带宽,获取已执行的所述第一媒体文件下载过程中网络带宽的下降次数。
结合第二方面或第二方面的第一种可能的实现方式,在第二种可能的实
现方式中,所述第二确定单元在根据所述下降次数获取单元获取的已执行的所述第一媒体文件的下载过程中网络带宽的下降次数,确定待下载的所述第n个数据块的长度时,具体用于:
当所述已执行的所述第一媒体文件的下载过程中网络带宽的下降次数等于0时,确定待下载的所述第n个数据块的长度为预设长度,所述预设长度与所述第一媒体文件相对应;
当所述已执行的所述第一媒体文件的下载过程中网络带宽的下降次数大于0且小于第一阈值时,确定所述待下载的所述第n个数据块的长度小于所述预设长度。
结合第二方面的第二种可能的实现方式,在第三种可能的实现方式中,当所述已执行的所述第一媒体文件的下载过程中网络带宽的下降次数大于0且小于第一阈值时,所述第二确定单元在确定所述待下载的所述第n个数据块的长度时,使用以下规则:
当所述已执行的所述第一媒体文件的下载过程中网络带宽的下降次数越多时,确定所述第n个数据块的长度越小;或者
当当前时刻与开始下载所述第一媒体文件的时刻之间的时间差越大时,确定所述第n个数据块的长度越小。
结合第二方面或上述第二方面的任一种可能的实现方式,在第四种可能的实现方式中,所述装置还包括:
数据块下载单元,用于在所述第二确定单元确定了待下载的所述第n个数据块的长度之后,根据所述第二确定单元确定的所述第n个数据块的长度,下载所述第n个数据块。
结合第二方面或上述第二方面的任一种可能的实现方式,在第五种可能的实现方式中,
所述第二确定单元,还用于在下载所述第一媒体文件中的第n-1个数据块之后,且在下载所述第一媒体文件中的第n个数据块之前,当所述已执行的所述第一媒体文件下载过程中网络带宽的下降次数大于或等于第一阈值
时,终止下载所述第一媒体文件;
所述第一确定单元还用于根据第二网络带宽确定第二媒体文件为待下载的媒体文件;所述第二网络带宽为确定所述网络带宽的下降次数大于或等于所述第一阈值时的网络带宽;所述第二媒体文件包含在与所述第二网络带宽对应的流媒体资源中。
结合上述第二方面的任一种可能的实现方式,在第六种可能的实现方式中,所述装置还包括周期计算单元,用于计算所述周期检测第一媒体文件下载过程中的网络带宽的检测周期,所述周期计算单元通过以下方式确定所述检测周期:
当i-x≥k时,确定Tm+1>T;
当0≤i-x<k时,确定Tm+1=T;
其中,
i为所述第一网络带宽对应的带宽等级,x为第m次检测的网络带宽对应的带宽等级,所述带宽等级为整数,m为大于等于1的整数,i对应的带宽大于x对应的带宽,k为预设的第二阈值;
T为预设的检测周期,Tm+1为第m+1次检测网络带宽的周期,其中,Tm+1=tm+1–tm,tm+1为第m+1次检测网络带宽的时刻,tm为第m次检测网络带宽的时刻。
结合上述第二方面的任一种可能的实现方式,在第七种可能的实现方式中,所述下降次数获取单元在获取已执行的所述第一媒体文件的下载过程中网络带宽的下降次数时,根据以下规则获取网络带宽的下降次数:
当i-x>0时,所述网络带宽的下降次数加1;
其中,i为所述第一网络带宽对应的带宽等级,x为第m次检测的网络带宽对应的带宽等级,所述带宽等级为整数,m为大于等于1的整数,i对应的带宽大于x对应的带宽。
结合第二方面的第六种或第七种可能的实现方式,在第八种可能的实现方式中,所述装置还包括:带宽等级确定单元;
所述带宽等级确定单元,用于通过以下方式确定由检测单元检测的网络带宽对应的带宽等级:
所述流媒体资源包括分别与不同的带宽等级对应的多个媒体文件;
每个带宽等级对应一个网络带宽门限值;
当Wi×a≤W检测<Wi+1×b时,确定所述检测的网络带宽对应的带宽等级为i;
其中,W检测为所述检测的网络带宽,Wi为带宽等级i对应的网络带宽门限值,Wi+1为带宽等级i+1对应的网络带宽门限值,0<a<1,0<b<1。
第三方面,一种终端设备,包括:
处理器;
数据存储装置;
通信接口;
所述处理器、所述数据存储装置和所述通信接口通过总线相互通信;
所述处理器读取所述数据存储装置中存储的程序代码和数据,执行以下操作:
根据第一网络带宽确定第一媒体文件为待下载的媒体文件,所述第一网络带宽为确定所述第一媒体文件为待下载的媒体文件时的网络带宽;所述第一媒体文件包含在与所述第一网络带宽对应的流媒体资源中,所述第一媒体文件包括N个数据块,N≥2,且N为整数;
在下载所述第一媒体文件中的第n-1个数据块之后,且在下载所述第一媒体文件中的第n个数据块之前,根据已执行的所述第一媒体文件的下载过程中网络带宽的下降次数,确定待下载的所述第n个数据块的长度,1≤n≤N。
在第三方面的第一种可能的实现方式中,所述处理器还执行以下操作:
周期检测所述第一媒体文件下载过程中的网络带宽;
根据所述周期检测的网络带宽,获取已执行的所述第一媒体文件下载过程中网络带宽的下降次数。
结合第三方面或第三方面的第一种可能的实现方式,在第二种可能的实现方式中,所述处理器根据已执行的所述第一媒体文件的下载过程中网络带宽的下降次数,确定待下载的所述第n个数据块的长度,具体执行以下操作:
当所述已执行的所述第一媒体文件的下载过程中网络带宽的下降次数等于0时,确定待下载的所述第n个数据块的长度为预设长度,所述预设长度与所述第一媒体文件相对应;
当所述已执行的所述第一媒体文件的下载过程中网络带宽的下降次数大于0且小于第一阈值时,确定所述待下载的所述第n个数据块的长度小于所述预设长度。
结合第三方面的第二种可能的实现方式,在第三种可能的实现方式中,当所述已执行的所述第一媒体文件的下载过程中网络带宽的下降次数大于0且小于第一阈值时,所述处理器使用以下规则确定所述待下载的所述第n个数据块的长度:
当所述已执行的所述第一媒体文件的下载过程中网络带宽的下降次数越多时,确定所述第n个数据块的长度越小;或者
当当前时刻与开始下载所述第一媒体文件的时刻之间的时间差越大时,确定所述第n个数据块的长度越小。
结合第三方面或上述第三方面的任一种可能的实现方式,在第四种可能的实现方式中,在所述处理器确定待下载的所述第n个数据块的长度之后,根据确定的所述第n个数据块的长度,执行下载所述第n个数据块的操作。
结合第三方面或上述第三方面的任一种可能的实现方式,在第五种可能的实现方式中,处理器还执行以下操作:
当所述已执行的所述第一媒体文件下载过程中网络带宽的下降次数大于或等于第一阈值时,终止下载所述第一媒体文件;
根据第二网络带宽确定第二媒体文件为待下载的媒体文件;所述第二网络带宽为确定所述网络带宽的下降次数大于或等于所述第一阈值时的网络带宽;所述第二媒体文件包含在与所述第二网络带宽对应的流媒体资源中。
结合上述第三方面的任一种可能的实现方式,在第六种可能的实现方式中,所述处理器在周期检测所述第一媒体文件下载过程中的网络带宽时,通过以下方式确定检测周期:
当i-x≥k时,确定Tm+1>T;
当0≤i-x<k时,确定Tm+1=T;
其中,
i为所述第一网络带宽对应的带宽等级,x为第m次检测的网络带宽对应的带宽等级,所述带宽等级为整数,m为大于等于1的整数,i对应的带宽大于x对应的带宽,k为预设的第二阈值;
T为预设的检测周期,Tm+1为第m+1次检测网络带宽的周期,其中,Tm+1=tm+1–tm,tm+1为第m+1次检测网络带宽的时刻,tm为第m次检测网络带宽的时刻。
结合上述第三方面的任一种可能的实现方式,在第七种可能的实现方式中,所述处理器根据以下规则获取网络带宽的下降次数:
当i-x>0时,所述网络带宽的下降次数加1;
其中,i为所述第一网络带宽对应的带宽等级,x为第m次检测的网络带宽对应的带宽等级,所述带宽等级为整数,m为大于等于1的整数,i对应的带宽大于x对应的带宽。
结合第三方面的第六种或第七种可能的实现方式,在第八种可能的实现方式中,所述处理器通过以下方式确定检测的网络带宽对应的带宽等级:
所述流媒体资源包括分别与不同的带宽等级对应的多个媒体文件;
每个带宽等级对应一个网络带宽门限值;
当Wi×a≤W检测<Wi+1×b时,确定所述检测的网络带宽对应的带宽等级为i;
其中,W检测为所述检测的网络带宽,Wi为带宽等级i对应的网络带宽门限值,Wi+1为带宽等级i+1对应的网络带宽门限值,0<a<1,0<b<1。
本发明实施例,在确定第一媒体文件为待下载的媒体文件之后,在分块
下载第一媒体文件时,根据在第一媒体文件下载过程中网络带宽的下降次数确定下载的数据块的长度,由此来适应下降的网络带宽,使流媒体的播放能够更好的适应网络带宽的变化,减少流媒体资源的切换次数,使得播放流畅。
图1为本发明实施例的一种流媒体资源的下载方法的流程图;
图2为本发明实施例的一种获取网络带宽下降次数的方法的流程图;
图3为本发明实施例的另一种流媒体资源的下载方法的流程图;
图4为本发明实施例的一种流媒体资源的下载装置的示意图;
图5为本发明实施例的另一种流媒体资源的下载装置的示意图。
图6为本发明实施例的一种终端设备的示意图。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
当本发明实施例提及“第一”、“第二”等序数词时,除非根据上下文其确实表达顺序之意,应当理解为仅仅起区分的作用。
本发明实施例提供的流媒体资源的下载方法主要是指HLS实时流传输协议下的流媒体资源的下载。本发明实施例所提及的流媒体资源泛指与HLS传输文件相关的任意文件,可以是所有文件的统称,也可以是传输文件中的任意一个。
图1为本发明实施例的一种流媒体资源的下载方法的流程图,如图1所示,该方法包括:
步骤101、根据第一网络带宽确定第一媒体文件为待下载的媒体文件。
本发明实施例中,当终端设备准备下载流媒体资源时,可以获取当前的网络带宽即第一网络带宽,也就是说第一网络带宽为确定所述第一媒体文件
为待下载的媒体文件时的网络带宽;然后终端设备可以获得第一网络带宽对应的流媒体资源的带宽等级和索引值,并确定该流媒体资源中的第一媒体文件为待下载的媒体文件。第一媒体文件包含在与所述第一网络带宽对应的流媒体资源中,第一媒体文件包括N个数据块,N≥2,且N为整数。
通常,流媒体资源文件包括:索引文件、MPEG2-TS(Moving Picture Experts Group 2-Transport Stream,动态图像专家组2-传输流,简称TS或MTS)媒体文件。TS是一种传输和存储包含音效、视频与通信协议各种数据的标准格式,用于数字电视广播系统。其中,索引文件中包括多个子索引文件,每个子索引文件规定了一个流媒体资源的下载和播放条件,如,BANDWIDTH(带宽)、RESOLUTION(分辨率)、文件名等。每个流媒体资源中包括多个TS媒体文件,这些TS媒体文件在时间上连续,构成一个完整的流媒体资源;并且,每一个TS媒体文件包括多个数据块,可以理解,下载每个流媒体资源时以TS媒体文件为单位进行下载,下载每个TS媒体文件时以TS媒体文件中的数据块为单位进行下载。TS媒体文件即为上述的第一媒体文件。
本发明实施例中描述的TS媒体文件包括2个以上的数据块,且在下载TS媒体文件时依次下载各个数据块,并不是整体下载TS媒体文件;所述多个数据块的长度可以是固定的,也可以是变化的;所述多个数据块的长度可以是相等的,也可以是不相等的。
一个流媒体资源的索引文件包括多个子索引文件,例如可以为下面的格式,其中只列出一个子索引文件用于代表各子索引文件的通用格式:
#EXT-X-STREAM-INF:PROGRAM-ID=?,BANDWIDTH=?,RESOLUTION=?,CODECS="?"
i.m3u8
其中,#EXT-X-STREAM-INF是子索引文件代表的流媒体资源的属性信息标志位;PROGRAM-ID是指流媒体资源的标识,用于表示不同的编码格式的同一类资源;BANDWIDTH是指流媒体资源适合播放的网络带宽门限
值,单位为bit/s;RESOLUTION是指分辨率;CODECS是指流媒体资源的类型格式;i.m3u8是子索引文件的文件名,其中,i为大于等于0的整数,表示该子索引文件的索引值和带宽等级,i越大,索引值和带宽等级越高,带宽越大。
当终端设备准备下载流媒体资源时,例如可以采用带宽估算方法来获得第一网络带宽。
带宽估算方法,例如为:
记录当前时刻以前每次HTTP连接下载数据块的长度和时间,按时间保存当前时刻之前最近的多条下载记录,如100条,将最近100条记录的下载数据块的长度和时间输入公式1,获得第一网络带宽W1:
W1=(B1+B2+….+Bn)*8*1000/(T1+T2+….+Tn)(bit/s)…公式1
Bn为第n条记录的下载数据块的长度,单位为KB,Tn为第n条记录的下载数据块所用的时间,单位为ms,2≤n≤100。
将第一网络带宽W1与各个子索引文件的网络带宽门限值进行比较,以确定第一网络带宽W1适合播放的流媒体资源以及第一网络带宽W1对应的子索引文件的带宽等级。
确定的方法可以采用如下方式:
当BANDWIDTHi≤W1<BANDWIDTHi+1时,确定第一网络带宽W1适合下载BANDWIDTHi对应的流媒体资源,且与W1对应的流媒体资源的带宽等级为i;当BANDWIDTHi为各子索引文件中网络带宽门限值的最大值时,若W1≥BANDWIDTHi,则确定第一网络带宽W1适合下载BANDWIDTHi对应的流媒体资源,且与W1对应的流媒体资源的带宽等级为i;其中,BANDWIDTHi为索引值为i的子索引文件的网络带宽门限值。
索引值为i的流媒体资源包括多个TS媒体文件,每个TS媒体文件包括2个以上的数据块。当终端设备确定了第一网络带宽W1与索引值为i的流媒体资源相对应时,则确定流媒体资源中索引值为i的一个TS媒体文件即第一媒体文件为待下载的媒体文件,并准备进行该第一媒体文件的下载。需要说
明的是,流媒体资源中索引值为i的TS媒体文件有多个,在具体实现过程中,可以根据现有机制从这多个TS媒体文件中选择一个合适的待下载的TS媒体文件。
步骤102,在下载第一媒体文件中的第n-1个数据块之后,且在下载第一媒体文件中的第n个数据块之前,根据已执行的第一媒体文件的下载过程中网络带宽的下降次数,确定待下载的第n个数据块的长度;1≤n≤N。
在第一媒体文件被分为多个数据块进行下载的过程中,终端设备可以根据网络带宽的变化来调整待下载的数据块的长度。
需要说明的是,每个第一媒体文件可以对应一个数据块的预设长度。例如:当第一媒体文件对应的数据块的预设长度为L1,则在下载该第一媒体文件时,默认将第一媒体文件分为多个长度为L1的数据块进行下载。然后在下载的过程中,可以根据网络带宽的变化来调整待下载的数据块的长度。其中,第一媒体文件对应的数据块的预设长度与第一媒体文件对应的网络带宽门限值相关(即第一媒体文件对应的数据块的预设长度与第一媒体文件对应的索引值相关),第一媒体文件对应的网络带宽门限值越高(即当第一媒体文件对应的索引值越大),则该媒体文件对应的数据块的预设长度越大。
当确定了第一媒体文件为待下载媒体文件后,以预设长度开始下载该第一媒体文件中的第一个数据块,即第一个数据块的长度为预设长度;该第一个数据块的下载,可以无需判断网络带宽的下降次数;或者可以理解为,在下载该第一个数据块之前,获取的网络带宽的下降次数为0,此时就确定待下载的第一个数据块的长度为预设长度。需要说明的是,在确定第一个数据块的长度时,n=1,此时第n-1个数据块为第0个数据块,其中第0个数据块为空,不包含任何内容。
当根据步骤101,确定索引值为i的流媒体资源中的第一媒体文件为待下载的媒体文件时,可以根据该索引值为i的子索引文件中的网络带宽门限值,获得该第一媒体文件对应的数据块的预设长度。
例如,可以采用公式2获得数据块的预设长度:
Pi=Log2(BANDWIDTHi/BANDWIDTHmin)×10240…公式2
其中,Pi为索引值为i的第一媒体文件对应的数据块的预设长度,且,Pmin≤Pi≤Pmax,Pmin为预设长度的最小值,Pmax为预设长度的最大值,Pmin、Pmax可以根据实际情况确定,例如:Pmin=10240,Pmax=655360;BANDWIDTHmin为各子索引文件网络带宽门限值中的最小值。
当确定了索引值为i的流媒体资源与第一网络带宽W1相对应时,则以Pi为预设长度开始下载该流媒体资源中的第一媒体文件的第一个数据块。
在下载第一媒体文件的任意一个其它数据块之前,根据已执行的第一媒体文件的下载过程中网络带宽的下降次数,确定待下载的数据块的长度。例如:在下载第一媒体文件中的第n-1个数据块之后,且在下载第一媒体文件中的第n个数据块之前,根据已执行的第一媒体文件的下载过程中网络带宽的下降次数,确定待下载的第n个数据块的长度。其中,已执行的第一媒体文件的下载过程为下载第一媒体文件的n-1个数据块的过程,该n-1个数据块可以为第0个数据块、第1个数据块、第2个数据块、…、第n-1个数据块。
根据在第一媒体文件下载过程中网络带宽的下降次数,确定该第n个数据块的长度,确定的长度可以等于预设数据块的长度或小于预设数据块的长度,从而使得媒体文件的下载能够适应下降的网络带宽对下载数据长度的要求。
由于在下载第一媒体文件过程中,网络带宽可能出现大范围跳跃或频繁上下波动。网络带宽下降时,在较低的网络带宽下,一定时间内所能下载的数据量变小,如果仍然采用预设长度下载数据块,会导致下载速度降低,甚至会由于网络带宽的持续下降,导致下载终止;如果根据下降的网络带宽直接更换新的媒体文件进行下载,也会由于网络带宽检测不准确,导致错误的切换资源;同时,由于网络带宽的频繁上下波动,也会导致频繁的切换资源,产生资源浪费。
在本发明实施例中,在确定第一媒体文件为待下载的媒体文件之后,开
始分块下载第一媒体文件,其中,在下载第一媒体文件的任意一个数据块之前,根据已执行的该第一媒体文件的下载过程中网络带宽的下降次数,来确定待下载的数据块的长度,由此使得下载的数据块的长度适应下降的网络带宽,且可以减少切换下载资源的次数,并使得播放流畅。
图2为本发明实施例的一种获取网络带宽下降次数的方法的流程图,用于获取如图1所示的实施例中,已执行的第一媒体文件下载过程中网络带宽的下降次数。
如图2所示,该方法包括:
步骤201,周期检测第一媒体文件下载过程中的网络带宽。
终端设备在第一媒体文件下载过程中,持续对网络带宽进行周期检测,获得检测的网络带宽。
需要说明的是,本发明实施例中所指的周期是指相邻两次网络带宽检测时刻之间的时间差;所述的周期是可调整的,并非固定不变的。执行网络带宽检测的周期、时间点均与下载的数据块无关,其以第一媒体文件下载过程中的时刻为执行基础。
本发明实施例例如可以采用如下方式确定周期检测中的检测周期:
预设周期检测网络带宽的检测周期T预设,在第一媒体文件开始下载后,首次执行网络带宽检测的周期为T预设,即从开始下载第一媒体文件的时刻开始,到与当前时刻的时间差为T预设时,进行首次网络带宽的检测。
执行网络带宽周期检测获得的检测网络带宽为W检测,根据步骤101中确定第一网络带宽W1对应的子索引文件的带宽等级的方法,确定W检测与索引值为x的子索引文件的带宽等级对应,同时,已知确定待下载的第一媒体文件时的第一网络带宽W1与索引值为i的子索引文件的带宽等级对应,则判断索引值i与索引值x的关系。
索引值越大,表明与该索引值对应的网络带宽越高;预设一个索引值差值的阈值k即预设的第二阈值,k大于0。当i-x≥k时,表明周期检测获得的检测网络带宽W检测相对于第一网络带宽W1产生下降,则可以增加周期检
测网络带宽的检测周期,即,下一次进行网络带宽检测的周期Tn+1>T预设;如果i-x<k,表明周期检测获得的检测网络带宽W检测未相对于第一网络带宽W1产生下降,则周期检测网络带宽的检测周期不变,即,下一次进行网络带宽检测的周期Tn+1=T预设。
终端设备根据周期检测的网络带宽的索引值,调整第一媒体文件下载过程中的周期检测网络带宽的检测周期,并以该调整的周期检测的网络带宽的检测周期进行下一次网络带宽的检测,获得周期检测的网络带宽。
步骤202,根据所述周期检测的网络带宽,获取已执行的第一媒体文件下载过程中网络带宽的下降次数。
根据步骤201,周期检测第一媒体文件下载过程中的网络带宽,获得检测网络带宽W检测。检测网络带宽W检测与索引值为x的子索引文件的带宽等级对应,第一网络带宽W1与索引值为i的子索引文件的带宽等级对应,如果i>x,即,检测网络带宽相比第一网络带宽产生下降,则把第一媒体文件下载过程中网络带宽下降次数增加1次。
在第一媒体文件下载过程中,每次执行周期网络带宽检测时,均根据周期检测的网络带宽W检测来判断检测的网络带宽是否产生下降,且累计在第一媒体文件下载过程中网络带宽的下降次数。
由于在第一媒体文件下载过程中,网络带宽可能出现大范围跳跃或频繁上下波动,检测的网络带宽会低于或高于实际的网络带宽,这会导致终端设备根据不准确的网络带宽检测值进而错误的切换下载文件。
本发明实施例中,在周期性执行网络带宽检测时,当周期检测的网络带宽的带宽等级与第一网络带宽的带宽等级相差超过一定阈值时,即,当判断在第一媒体文件下载过程中,网络带宽跳变达到一定程度,相应增加检测周期,能够通过延长检测周期来获得接近真实值的网络带宽值,降低了网络带宽估算结果差异性,使得检测网络带宽的估算结果更准确。
需要说明的是,本发明实施例中,步骤201中确定周期检测中的检测周期以及步骤202获取已执行的第一媒体文件下载过程中的网络带宽的下降次
数时,均需要确定周期检测的网络带宽的带宽等级。
本发明实施例确定周期检测的网络带宽的带宽等级的方法,可以采用步骤101中提供的第一网络带宽对应的子索引文件的带宽等级的方法,还可以采用如下方法替代步骤101采用的确认带宽等级的方法。
本发明实施例例如可以对流媒体资源的各子索引文件的网络带宽门限值进行一定幅度的调整,以在周期检测第一媒体文件下载过程中的网络带宽时,缓冲流媒体资源的切换点,且,带宽等级越高,网络带宽门限值调整幅度的越大。
一个流媒体资源包括多个具有不同网络带宽门限值的流媒体资源;网络带宽门限值包含在流媒体资源的子索引文件中,与该流媒体资源的带宽等级对应;当Wi×a≤W检测<Wi+1×b时,确定所述检测网络带宽W检测对应的带宽等级为i;可以理解,当Wi为网络带宽门限值的最大值时,Wi+1可以相当于无限大,那么只要W检测≥Wi×a,则可以确定所述检测的网络带宽对应的带宽等级为i;Wi为带宽等级i对应的网络带宽门限值,Wi+1为带宽等级i+1对应的网络带宽门限值,0<a<1,0<b<1。
本发明实施例中,例如可以采用公式3对流媒体资源的各子索引文件的网络带宽门限值进行调整:
BANDWIDTHx调整=BANDWIDTHx×(1-log2(BANDWIDTHx/BANDWIDTHmin)×0.05)…公式3
其中,BANDWIDTHx调整是BANDWIDTHx调整后的值,单位为bit/s。
进一步的,采用步骤101中确定第一网络带宽W1对应的子索引文件的带宽等级的方法,确定周期检测获得的检测网络带宽W检测的带宽等级。
当BANDWIDTHx调整≤W检测<BANDWIDTHx+1调整时,确定检测网络带宽W检测适合下载BANDWIDTHx调整对应的流媒体资源,且与W检测对应的流媒体资源的带宽等级为x;当BANDWIDTHx调整为各子索引文件中的网络带宽门限值的最大值时,若W检测≥BANDWIDTHx调整,则确定检测网络带宽W检 测适合下载BANDWIDTHx调整对应的流媒体资源,且与W检测对应的资源的带
宽等级为x,其中,BANDWIDTHx调整为索引值为x的子索引文件的网络带宽门限值。
当确定了W检测对应的带宽等级为x,则可以进一步根据步骤202的方法获取已执行的第一媒体文件下载过程中网络带宽的下降次数。
比较第一网络带宽等级i与检测网络带宽W检测对应的带宽等级x,如果,i>x,则把第一媒体文件下载过程中网络带宽下降次数增加1次,并累计在第一媒体文件下载过程中的网络带宽下降次数。
由于向下调整了各流媒体资源的网络带宽门限值,使得在检测网络带宽下降幅度不大时,检测网络带宽适合播放的流媒体资源仍为正在下载的流媒体资源,从而不会由于检测网络带宽的下降,直接切换与检测网络带宽匹配的流媒体资源,缓冲了流媒体资源的切换点,提高了切换流媒体资源的准确性,减少了切换次数。
图3为本发明实施例的另一种流媒体资源的下载方法的流程图。
该方法包括:
步骤301,根据第一网络带宽确定第一媒体文件为待下载的媒体文件。其中,步骤301与图1所示实施例中的步骤101相同,在此不再赘述。
步骤302,在下载第一媒体文件的第n-1个数据块之后,且在下载第一媒体文件中的第n个数据块之前,获取已执行的第一媒体文件的下载过程中的网络带宽的下降次数。
其中,可以通过图2所示实施例中步骤202的方法,来获取已执行的第一媒体文件的下载过程中的网络带宽的下降次数。
在步骤302获取到下降次数之后,根据下降次数,确定待下载的数据块的长度;具体的,根据下降次数,可以在步骤302之后选择执行步骤303、步骤304或者步骤305。
步骤303,当已执行的第一媒体文件的下载过程中网络带宽的下降次数等于0时,则确定待下载的第n个数据块的长度等于预设长度,并根据确定的待下载的数据块的预设长度开始下载第n个数据块。该预设长度采用前述
步骤102的方法获得,其长度由第一媒体文件所在的流媒体资源的子索引文件中的网络带宽门限值决定。
步骤304,当已执行的第一媒体文件的下载过程中网络带宽的下降次数大于0,且小于预设阈值w时,确定待下载的第n个数据块的长度小于预设长度,并以该减小的数据块的长度下载第n个数据块。
该减小的数据块的长度由已执行的第一媒体文件的下载过程中网络带宽的下降次数决定,下降次数越多,待下载的第n个数据块的长度越小。或者,该减小的数据块的长度由当前时刻与开始下载第一媒体文件的时刻之间的时间差决定,时间差越大,待下载的第n个数据块的长度越小。
例如,可以在下降次数为1次时,减小数据块的长度为Pi/(1+1)或Pi/(1+2);或,当当前时刻与开始下载第一媒体文件的时刻之间的时间差为2秒时,减小数据块的长度为Pi/2或Pi/(2+1)。
步骤305,当已执行的第一媒体文件下载过程中网络带宽的下降次数大于或等于预设阈值w时,停止该第一媒体文件的下载,确定待下载的第一媒体文件的数据块的长度为0。
需要说明的是,在步骤305确定了待下载的第一媒体文件的数据块的长度为0,表明不再下载第一媒体文件。
进一步的,本发明实施例提供的方法还可以包括以下步骤a1、a2和a3。
步骤a1、根据第二网络带宽确定第二媒体文件为待下载的媒体文件;所述第二网络带宽为确定所述网络带宽的下降次数大于或等于预设阈值w时的网络带宽;第二媒体文件包含在与所述第二网络带宽对应的流媒体资源中。
需要说明的是,可以采用图1所示实施例中确定第一媒体文件为待下载媒体文件的方法,来确定第二媒体文件为待下载媒体文件。
步骤a2、在下载第二媒体文件中的第n-1个数据块之后,且在下载第二媒体文件中的第n个数据块之前,根据已执行的第二媒体文件的下载过程中网络带宽的下降次数,确定待下载的第n个数据块的长度;1≤n≤N。
在下载第二媒体文件的过程中,采用与下载第一媒体文件相同的方法进
行下载,下载第一媒体文件的方法参见前述各实施例。
步骤a3、根据确定的待下载的第n个数据块的长度,下载第二媒体文件的第n个数据块,或者,确定另一媒体文件为待下载的媒体文件,并开始下载另一媒体文件。
需要说明的是,在下载任一媒体文件时,都可以参见上述下载第一媒体文件的方法。
本发明实施例提供的上述方法,是在流媒体资源下载过程中网络带宽发生下降时的下载方法。由于网络带宽上升时不会影响原本较小带宽下的数据块的下载,所以当网络带宽上升时可以采用现有的方式,如,一个流媒体资源的第一媒体文件下载结束后,直接更换与当前网络带宽等级对应的另一个流媒体资源的第二媒体文件进行下载,还可以采用本领域技术人员公知的其他方法,在网络带宽上升时下载流媒体资源;当然,也可以在网络带宽上升过程中,采用与步骤303、304或305类似的方法,配合网络带宽的上升,增加数据块的长度以适应网络带宽的变化。
在网络带宽大范围跳跃或频繁上下波动时,网络带宽估算方法得到的网络带宽检测结果会产生很大误差,导致要频繁切换下载的媒体文件。本发明实施例中,根据已执行的第一媒体文件在下载过程中网络带宽的下降次数来调整第一媒体文件待下载数据块的长度,使待下载数据块的长度更好的适应网络带宽的下降,避免了因网络带宽检测结果不准确而错误更换下载中的第一媒体文件带来的资源浪费。
下面,给出一个具体实例以更好的理解前述本发明各实施方式。
一个流媒体资源的M3U8索引文件如下:
其中,#EXTM3U是m3u8文件的标志位;#EXT-X-STREAM-INF是子索引文件代表的流媒体资源的属性信息标志位;PROGRAM-ID是指流媒体资源的标识,表示不同编码格式的同一类资源;BANDWIDTH是指流媒体资源适合播放的网络带宽门限值,单位为bit/s;RESOLUTION是指分辨率;CODECS是指流媒体资源的类型格式;i.m3u8是子索引文件的文件名,其中,i为大于等于0的整数,表示该子索引文件的索引值和带宽等级,i越大,索引值和带宽等级越高,带宽越大。
该流媒体资源的下载方法例如可以包括以下步骤:
步骤1,对各子索引文件中的网络带宽门限值进行处理,获得各流媒体资源的TS媒体文件对应的数据块的预设长度。
例如,可以对各子索引文件文件中的带宽门限值进行归一化处理,获得数据块的预设长度,按照子索引文件的索引值顺序,计算如下:
P0=log2(55648/55648)*10240=0
P1=log2(120320/55648)*10240=11391
P2=log2(294784/55648)*10240=24629
P3=log2(511360/55648)*10240=33879
P4=log2(809152/55648)*10240=39546
P5=log2(1343072/55648)*10240=47032
上述结果为取整处理后的结果,其单位为字节(Byte)。
本发明实施例中,数据块的预设长度Pi限定了取值范围,具有最大值和最小值,10240≤Pi≤65536,即,当计算得到的Pi小于10240时,均取值为10240,当计算得到的Pi大于65536时,均取值为65536,因此,上述结果中,仅需对P0做取值处理,使P0=10240,其他值均为计算结果取整。那么,各子索引文件的数据块的预设长度分别为{10240,11391,24629,33879,39546,47032},其对应的网络带宽分别为{55648,120320,294784,511360,809152,1343072},其对应索引值和带宽等级分别为{0,1,2,3,4,5}。
举例来说,当检测的网络带宽W检测=150000时,其大于120320bit/s,小于294784bit/s时,检测的网络带宽对应的流媒体资源的索引值和带宽等级为1,预设下载数据块的长度为11391Byte。
步骤2,根据第一网络带宽确定第一媒体文件为待下载的媒体文件。
当准备下载一个流媒体资源时,根据带宽估算方法获得第一网络带宽W1,本发明实施例中假设获得的第一网络带宽W1=1400000bit/s,W1与各子索引文件中的网络带宽门限值进行比较,由于W1大于索引值为5的网络带宽门限值1343072,且,索引值为5的网络带宽门限值1343072为各子索引文件中的最大值,因此,根据第一网络带宽W1确定索引值为5的流媒体资源中的第一媒体文件为待下载的媒体文件,且根据步骤1中处理的结果,以索引值5对应的数据块的预设长度47032KB,开始下载该第一媒体文件,并记录该第一媒体文件下载开始的时间为08:00:00.000(下载一个新的媒体文件时会更新),可以精确到毫秒。
步骤3,周期检测第一媒体文件下载过程中的网络带宽,并调整周期检
测网络带宽的检测周期。
从第一媒体文件的第一个数据块下载完成开始,在第一媒体文件尚有未下载完成的数据块时,判断是否要执行网络带宽的周期检测。
检测当前时刻与上一次执行带宽周期检测的时刻之间的时间差,判断上述时间差是否大于或等于检测周期。当没有上一次执行带宽周期检测的动作,即在第一媒体文件的下载过程中从未进行过带宽检测时,获取当前时刻与开始下载第一媒体文件的时刻之间的时间差。当时间差大于或等于检测周期时,进行网络带宽的周期检测。
需要说明的是,网络带宽的检测周期可以有个预设值。在下载第一媒体文件的过程中,根据网络带宽的变化,可以调整检测周期。
以下举例说明检测周期的调整。
网络带宽的检测周期,例如预设为T秒。如果,在已执行的第一媒体文件下载过程中,进行上一次网络带宽周期检测时,网络带宽下降,且上一次网络带宽周期检测的带宽等级i与第一网络带宽W1的带宽等级x之间的带宽等级差i-x大于T,则以带宽等级差i-x秒为检测周期,如果i-x小于等于T,则仍以预设T为检测周期。
例如,在第一媒体文件下载过程中,执行过周期网络带宽检测,刚结束的周期检测中,网络带宽下降且下降后的网络带宽的带宽等级与第一网络带宽的带宽等级差为2,而预设的检测周期为1秒,则以带宽等级差2秒为检测周期进行网络带宽周期检测,即,从刚结束的周期网络带宽检测的时刻开始到当前时刻为2秒时进行本次网络带宽的周期检测,其与下载的数据块无关。
如果在第一媒体文件下载过程中,未执行过网络带宽的周期检测,或执行了周期检测,但检测发现下降后的网络带宽的带宽等级与第一网络带宽的等级差小于预设周期1秒,则以预定检测周期1秒为检测周期进行网络带宽的周期检测。
步骤4,根据网络带宽的周期检测结果,获得在第一媒体文件下载过程
中的网络带宽的下降次数。
在网络带宽周期检测过程中,可以直接以各子索引文件中的网络带宽门限值为基础,判断周期检测的网络带宽对应的带宽等级,以获得网络带宽的下降次数。
可选的,还可以以调整后的各子索引文件文件中的网络带宽门限值为基础,判断周期检测获得的网络带宽对应的带宽等级,以获得网络带宽的下降次数。
以调整后的各子索引文件文件中的网络带宽门限值为基础,举例说明如下,对各子索引文件中的网络带宽门限值做出如下调整,调整后的BANDWIDTH调整单位为bits/s。
BANDWIDTH0调整=55648×(1-log2(55648/55648)×0.05)=55648
BANDWIDTH1调整=120320×(1-log2(120320/55648)×0.05)=113100
BANDWIDTH2调整=294784×(1-log2(294784/55648)×0.05)=259409
BANDWIDTH3调整=511360×(1-log2(511360/55648)×0.05)=429542
BANDWIDTH4调整=809152×(1-log2(809152/55648)×0.05)=655413
BANDWIDTH5调整=1343072×(1-log2(1343072/55648)×0.05)=1034165
调整后的网络带宽分别为{55648,113100,259409,429542,655413,1034165},其对应的网络带宽分别为{55648,120320,294784,511360,809152,1343072},其对应的索引值和带宽等级分别为{0,1,2,3,4,5}。
当检测网络带宽W检测=450000bits/s时,则将W检测与调整后的网络带宽进行比较,W检测大于索引值为3的调整后的网络带宽门限值425942,W检测小于索引值为4的调整后的网络带宽门限值655413,则BANDWIDTH3调整<W检测<BANDWIDTH4调整,因此,周期检测的网络带宽W检测与索引值为3的流媒体资源相对应。
将第一网络带宽W1对应的索引值5与周期检测的检测网络带宽W检测对应的索引值3比较,可知,周期检测的检测网络带宽W检测相比第一网络带宽W1下降,因此,记录索引值的差值为2,增加1次第一媒体文件下载过程中
网络带宽下降次数,并累计第一媒体文件下载过程中网络带宽的下降次数。
步骤5,在下载第n-1个数据块之后,在下载第n个数据块之前,根据上述步骤4中得到的第一媒体文件下载过程中网络带宽的下降次数,确定待下载的第n个数据块的长度,并开始相应的下载。
如果,在步骤4中得到的下降次数等于0,即在第一媒体文件的前n-1个数据块下载过程中网络带宽均没有下降,那么,确定待下载的第n个数据块的长度为预设长度47032KB,继续下载该第一媒体文件;
如果,在步骤4中得到的下降次数为2,预设阈值为3,那么下降次数小于预设阈值3,即在第一媒体文件的前n-1个数据块下载过程中网络带宽有2次下降时,可以根据下降的次数2来确定待下载的数据块的长度为47032/2(次 数)KB或47032/(2(次数)+1)KB;或,根据待下载第n个数据块的时间08:00:02.020与开始下载第一媒体文件的时间08:00:00.000之间的时间差2,来确定待下载的数据块长度为47032/2KB,终端设备可以根据实际需要,从上述结果中选择一个确定的数据块的长度开始第n个数据块的下载;如果,在步骤4中得到的下降次数为3,其大于等于预设阈值3,即在第一媒体文件的前n-1个数据块下载过程中网络带宽有3次下降时,则可以排除网络带宽检测的不准确性,确定网络带宽确有下降,放弃该第一媒体文件的下载及全部下载的数据块,并根据新的网络带宽W新确定流媒体资源中的第二媒体文件为待下载的媒体文件。
本发明实施例进一步给出实现上述方法实施例中各步骤及方法的流媒体资源的下载装置。
图4为本发明实施例的一种流媒体资源的下载装置的示意图。如图4所示,该流媒体资源的下载装置400包括:第一确定单元401、下降次数获取单元402、第二确定单元403。其中,
第一确定单元401,用于根据第一网络带宽确定第一媒体文件为待下载的媒体文件。
其中,所述第一网络带宽为确定所述第一媒体文件为待下载的媒体文件
时的网络带宽,第一媒体文件包含在与第一网络带宽对应的流媒体资源中,第一媒体文件包括N个数据块,N≥2,且N为整数。
下降次数获取单元402,用于获取已执行的第一媒体文件的下载过程中网络带宽的下降次数。
第二确定单元403,用于在下载第一媒体文件中的第n-1个数据块之后,且在下载第一媒体文件中的第n个数据块之前,根据下降次数获取单元502获取的已执行的第一媒体文件的下载过程中网络带宽的下降次数,确定待下载的第n个数据块的长度;n≥2。
进一步的,下降次数获取单元402在获取已执行的第一媒体文件的下载过程中网络带宽的下降次数时,根据以下规则获取网络带宽的下降次数:
当i-x>0时,所述网络带宽的下降次数加1;
其中,i为所述第一网络带宽对应的带宽等级,x为第m次检测的网络带宽对应的带宽等级,所述带宽等级为整数,m为大于等于1的整数,i对应的带宽大于x对应的带宽。
进一步的,第二确定单元403在根据下降次数获取单元402根据所述下降次数获取单元402获取的已执行的第一媒体文件的下载过程中网络带宽的下降次数,确定待下载的第n个数据块的长度时,具体用于:
当已执行的第一媒体文件的下载过程中网络带宽的下降次数等于0时,确定待下载的第n个数据块的长度为预设长度,预设长度与所述第一媒体文件相对应;
当已执行的第一媒体文件的下载过程中网络带宽的下降次数大于0且小于第一阈值时,确定待下载的第n个数据块的长度小于预设长度。
当已执行的第一媒体文件下载过程中网络带宽的下降次数大于或等于第一阈值时,终止下载第一媒体文件。同时,由第一确定单元401根据第二网络带宽确定第二媒体文件为待下载的媒体文件;所述第二网络带宽为确定所述网络带宽的下降次数大于或等于所述第一阈值时的网络带宽;所述第二媒体文件包含在与所述第二网络带宽对应的流媒体资源中。
进一步的,第二确定单元403在确定待下载的第n个数据块的长度为预设长度时,使用以下规则:
当已执行的第一媒体文件的下载过程中网络带宽的下降次数越多时,确定第n个数据块的长度越小;或者
当当前时刻与开始下载第一媒体文件的时刻之间的时间差越大时,确定第n个数据块的长度越小。
本发明实施例通过在下载过程中,根据在第一媒体文件下载过程中网络带宽的下降次数,确定下载数据块的长度能够适应下降的网络带宽对下载数据长度的要求,且减少切换下载资源的次数,避免资源浪费,并使得播放流畅。
本发明实施例提供的流媒体资源的下载装置,用于实现图1-图3所示实施例所示的方法,该流媒体资源的下载装置的工作原理、工作流程和该流媒体资源的下载装置产生的技术效果,具体参见图1-图3所示实施例,在此不再赘述。
图5本发明实施例的另一种流媒体资源的下载装置的示意图。在图4所示实施例的基础上,如图5所示,该流媒体资源的下载装置500还包括:检测单元501。
检测单元501,用于周期检测第一媒体文件下载过程中的网络带宽。
下降次数获取单元402根据检测单元501周期检测的网络带宽,获取已执行的第一媒体文件下载过程中网络带宽的下降次数。
在第一媒体文件下载过程中,检测单元501持续对当前时刻的网络带宽进行周期检测。当当前时刻距离前一次检测网络带宽时刻的时间差大于等于检测周期时,检测单元501执行当前时刻的网络带宽检测,下降次数获取单元402会根据检测单元501周期检测的网络带宽结果获取已执行的第一媒体文件的下载过程中的网络带宽的下降次数。
进一步的,流媒体资源的下载装置500,还包括:数据块下载单元502。
数据块下载单元502用于在第二确定单元403确定了待下载的第n个数
据块的长度之后,根据第二确定单元确定的第n个数据块的长度,下载第n个数据块。
进一步的,流媒体资源的下载装置500,还包括:周期计算单元503、带宽等级确定单元504。
周期计算单元503,用于计算第一媒体文件下载过程中的网络带宽的周期检测的检测周期。检测单元501可以根据周期计算单元503计算的检测周期进行网络带宽的检测。
周期计算单元503通过以下方式确定检测周期:
当i-x≥k时,确定Tm+1>T;
当0≤i-x<k时,确定Tm+1=T;
其中,
i第一网络带宽对应的带宽等级,x为第m次检测的网络带宽对应的带宽等级,带宽等级为整数,m为大于等于1的整数,i对应的带宽大于x对应的带宽,k为改变检测周期的预设阈值;
T为网络带宽的检测周期,Tm+1为第m+1次检测网络带宽的周期,其中,Tm+1=tm+1-tm,tm+1为第m+1次检测网络带宽的时刻,tm为第m次检测网络带宽的时刻。
带宽等级确定单元504,用于通过以下方式确定由检测单元501检测的网络带宽对应的带宽等级:
一个流媒体资源包括多个具有不同网络带宽门限值的流媒体资源;网络带宽门限值包含在流媒体资源的子索引文件中,与该流媒体资源的带宽等级对应;
当Wi×a≤W检测<Wi+1×b时,确定所述检测的网络带宽对应的带宽等级为i;
其中,W检测为检测的网络带宽,Wi为带宽等级i对应的网络带宽门限值,Wi+1为带宽等级i+1对应的网络带宽门限值,0<a<1,0<b<1。
在网络带宽跳变频繁时,网络带宽估算方法得到的网络带宽检测结果会
产生很大误差,导致要频繁切换下载的媒体文件。本发明实施例中,根据已执行的第一媒体文件在下载过程中网络带宽的下降次数来确定第一媒体文件的待下载数据块的长度,使待下载流媒体资源能够更好的适应网络带宽的下降,避免了因网络带宽检测结果不准确而错误更换下载中的流媒体资源带来的资源浪费,同时提高了网络带宽检测结果的准确性。
本发明实施例提供的流媒体资源的下载装置,用于实现图1-图3所示实施例所示的方法,该流媒体资源的下载装置的工作原理、工作流程和该流媒体资源的下载装置产生的技术效果,具体参见图1-图3所示实施例,在此不再赘述。
图6为本发明实施例的一种终端设备的示意图。
本发明实施例中的终端设备600包括与一个或多个数据存储装置耦合的处理器601、数据存储装置602、通信接口603、总线604。
数据存储装置602可包括存储介质和存储器单元。存储介质可以是只读的,如只读存储器(ROM),或是可读/可写的,如硬盘或闪存。存储器单元可以是随机存取存储器(RAM)。存储器单元可以物理上与处理器601集成或集成在处理器601内或在一个或多个独立单元中构造。
处理器601是终端设备600的控制中心并提供排序和处理设施以执行指令、执行中断操作、提供定时功能和许多其它功能。可选地,处理器601包括一个或多个中央处理器(CPU),可选地,终端设备600包括一个以上的处理器。处理器601可以是单核(单CPU)处理器或多核(多CPU)处理器。本文所使用的术语“处理器”指一个或多个用于处理计算机程序指令等数据的设备、电路和/或处理内核。
处理器601可以执行存储在数据存储装置602中的程序代码。可选地,在数据存储装置602的存储介质中存储的程序代码可以被复制到存储器单元中以便处理器执行。处理器可执行至少一个内核(例如,以LINUZTM、UNIXTM、WINDOWSTM、ANDROIDTM、IOSTM等商标出售的操作系统中的内核),众所周知该内核用来通过控制其它程序或过程的执行、控制与外围设备的通
信以及控制计算设备资源的使用来控制终端设备600的操作。
终端设备600还包括通信接口603,用于直接或通过外部网络与另一设备或系统进行通信。
终端设备600的上述元件可通过数据总线、地址总线、控制总线、扩展总线和本地总线等总线604中的任一或任意组合互相耦合。
可选地,终端设备600还包括输出设备和输入设备(未图示)。输出设备与处理器601耦合,并且能够以一种或多种方式显示信息。输出设备的一个示例是视觉显示设备,例如,液晶显示屏(LCD)、发光二极管(LED)显示器、阴极射线管(CRT)或投影仪。输入设备也与处理器601耦合,并能够以一种或多种方式接收终端设备600的用户的输入。输入设备的示例包括鼠标、键盘、触摸屏设备、传感设备等等。
终端设备600可以是通用计算设备或应用特定计算设备。作为实用示例,上述终端设备600可为台式计算机、笔记本电脑、网络服务器、个人数字助理(PDA)、移动电话、平板电脑、无线终端设备、电信设备、嵌入系统或具有如图6所示类似结构的任何其它设备。然而,本发明并不仅仅受限于任何特定类型的终端设备。
本发明实施例的一种终端设备600,其处理器601执行数据存储装置中的程序代码的指令时,指令致使处理器601执行以下操作:
根据第一网络带宽确定第一媒体文件为待下载的媒体文件,所述第一网络带宽为确定所述第一媒体文件为待下载的媒体文件时的网络带宽;第一媒体文件包含在与第一网络带宽对应的流媒体资源中,第一媒体文件包括N个数据块,N≥2,且N为整数;在下载第一媒体文件中的第n-1个数据块之后,且在下载第一媒体文件中的第n个数据块之前,处理器601根据已执行的第一媒体文件的下载过程中网络带宽的下降次数,确定待下载的第n个数据块的长度;1≤n≤N。
进一步的,本发明实施例的处理器601还执行以下操作:
对第一媒体文件下载过程中的网络带宽进行周期检测,获得周期检测的
网络带宽;根据周期检测的网络带宽,获取已执行的第一媒体文件下载过程中网络带宽的下降次数。
进一步的,本发明实施例的处理器601根据如下方式确定检测的网络带宽对应的带宽等级:一个流媒体资源包括多个具有不同网络带宽门限值的流媒体资源;网络带宽门限值包含在流媒体资源的子索引文件中,与该流媒体资源的带宽等级对应;当Wi×a≤W检测<Wi+1×b时,确定检测的网络带宽对应的带宽等级为i;其中,W检测为检测的网络带宽,Wi为带宽等级i对应的网络带宽门限值,Wi+1为带宽等级i+1对应的网络带宽门限值,0<a<1,0<b<1。
进一步的,本发明实施例的处理器601在执行周期检测第一媒体文件下载过程中的网络带宽时,通过以下方式确定检测周期:
当i-x≥k时,确定Tm+1>T;
当0≤i-x<k时,确定Tm+1=T;
其中,
i为第一网络带宽对应的带宽等级,x为第m次检测的网络带宽对应的带宽等级,所述带宽等级为整数,m为大于等于1的整数,i对应的带宽大于x对应的带宽,k为预设的第二阈值;
T为预设的网络带宽的检测周期,Tm+1为第m+1次检测网络带宽的周期,其中,Tm+1=tm+1-tm,tm+1为第m+1次检测网络带宽的时刻,tm为第m次检测网络带宽的时刻。
进一步的,本发明实施例的处理器601根据以下规则获取网络带宽的下降次数:
当i-x>0时,网络带宽的下降次数加1;
其中,i为第一网络带宽对应的带宽等级,x为第m次检测的网络带宽对应的带宽等级,带宽等级为整数,m为大于等于1的整数,i对应的带宽大于x对应的带宽。
进一步的,本发明实施例的处理器601根据已执行的第一媒体文件的下
载过程中网络带宽的下降次数,确定待下载的第n个数据块的长度,具体包括:
当已执行的第一媒体文件的下载过程中网络带宽的下降次数等于0时,处理器601确定待下载的数据块的长度等于预设下载数据块的长度,并开始下载待下载数据块。
当已执行的第一媒体文件的下载过程中网络带宽的下降次数大于等于0,小于预设阈值w时,处理器601减小待下载数据块的长度,使待下载的数据块的长度小于预设下载数据块的长度,并继续执行该第一媒体文件中待下载数据块的下载。
其中,处理器601可以根据已执行的第一媒体文件的下载过程中网络带宽的下降次数或当前时刻与开始下载所述第一媒体文件的时刻之间的时间差来调整下载数据块的长度。下降次数越多,或者时间差越大,那么待下载的数据块的长度可以越小。
当已执行的第一媒体文件下载过程中网络带宽的下降次数大于或等于预设阈值w时,处理器601会停止该第一媒体文件的下载,并确定待下载的第一媒体文件的数据块的长度为0。
处理器601执行以下步骤:根据第二网络带宽确定第二媒体文件为待下载的媒体文件;所述第二网络带宽为确定所述网络带宽的下降次数大于或等于预设阈值w时的网络带宽;第二媒体文件包含在与所述第二网络带宽对应的流媒体资源中。
根据本发明实施例的终端设备,处理器根据已执行的第一媒体文件在下载过程中网络带宽的下降次数来调整第一媒体文件待下载数据块的长度,使待下载流媒体资源更好的适应网络带宽的下降,避免了因网络带宽检测结果不准确而错误更换下载中的流媒体资源带来的资源浪费,同时提高了网络带宽检测结果的准确性。
本发明实施例提供的终端设备,用于实现图1-图3所示实施例所示的方法,该终端设备的工作原理、工作流程和该终端设备产生的技术效果,具体
参见图1-图3所示实施例,在此不再赘述。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本发明可以用硬件实现,或固件实现,或它们的组合方式来实现。当使用软件实现时,可以将上述功能存储在计算机可读介质中或作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是计算机能够存取的任何可用介质。以此为例但不限于:计算机可读介质可以包括RAM、ROM、EEPROM、CD-ROM或其他光盘存储、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质。此外。任何连接可以适当的成为计算机可读介质。例如,如果软件是使用同轴电缆、光纤光缆、双绞线、数字用户线(DSL)或者诸如红外线、无线电和微波之类的无线技术从网站、服务器或者其他远程源传输的,那么同轴电缆、光纤光缆、双绞线、DSL或者诸如红外线、无线和微波之类的无线技术包括在所属介质的定影中。如本发明所使用的,盘(Disk)和碟(disc)包括压缩光碟(CD)、激光碟、光碟、数字通用光碟(DVD)、软盘和蓝光光碟,其中盘通常磁性的复制数据,而碟则用激光来光学的复制数据。上面的组合也应当包括在计算机可读介质的保护范围之内。
总之,以上所述仅为本发明技术方案的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (27)
- 一种流媒体资源的下载方法,其特征在于,包括:根据第一网络带宽确定第一媒体文件为待下载的媒体文件,所述第一网络带宽为确定所述第一媒体文件为待下载的媒体文件时的网络带宽;所述第一媒体文件包含在与所述第一网络带宽对应的流媒体资源中,所述第一媒体文件包括N个数据块,N≥2,且N为整数;在下载所述第一媒体文件中的第n-1个数据块之后,且在下载所述第一媒体文件中的第n个数据块之前,根据已执行的所述第一媒体文件的下载过程中网络带宽的下降次数,确定待下载的所述第n个数据块的长度,1≤n≤N。
- 根据权利要求1所述的方法,其特征在于,还包括:周期检测所述第一媒体文件下载过程中的网络带宽;根据所述周期检测的网络带宽,获取已执行的所述第一媒体文件下载过程中网络带宽的下降次数。
- 根据权利要求1或2所述的方法,其特征在于,所述根据已执行的所述第一媒体文件的下载过程中网络带宽的下降次数,确定待下载的所述第n个数据块的长度,具体包括:当所述已执行的所述第一媒体文件的下载过程中网络带宽的下降次数等于0时,确定待下载的所述第n个数据块的长度为预设长度,所述预设长度与所述第一媒体文件相对应;当所述已执行的所述第一媒体文件的下载过程中网络带宽的下降次数大于0且小于第一阈值时,确定所述待下载的所述第n个数据块的长度小于所述预设长度。
- 根据权利要求3所述的方法,其特征在于,还包括:当所述已执行的所述第一媒体文件的下载过程中网络带宽的下降次数大于0且小于第一阈值时,在确定所述待下载的所述第n个数据块的长度时,使用以下规则:当所述已执行的所述第一媒体文件的下载过程中网络带宽的下降次数 越多时,确定所述第n个数据块的长度越小;或者当当前时刻与开始下载所述第一媒体文件的时刻之间的时间差越大时,确定所述第n个数据块的长度越小。
- 根据权利要求1-4中任一项所述的方法,其特征在于,在所述确定待下载的所述第n个数据块的长度之后,所述方法还包括:根据确定的所述第n个数据块的长度,下载所述第n个数据块。
- 根据权利要求1-5中任一项所述的方法,其特征在于,还包括:当所述已执行的所述第一媒体文件下载过程中网络带宽的下降次数大于或等于第一阈值时,终止下载所述第一媒体文件;根据第二网络带宽确定第二媒体文件为待下载的媒体文件;所述第二网络带宽为确定所述网络带宽的下降次数大于或等于所述第一阈值时的网络带宽;所述第二媒体文件包含在与所述第二网络带宽对应的流媒体资源中。
- 根据权利要求2-6中任一项所述的方法,其特征在于,还包括:所述周期检测所述第一媒体文件下载过程中的网络带宽时,通过以下方式确定检测周期:当i-x≥k时,确定Tm+1>T;当0≤i-x<k时,确定Tm+1=T;其中,i为所述第一网络带宽对应的带宽等级,x为第m次检测的网络带宽对应的带宽等级,所述带宽等级为整数,m为大于或等于1的整数,i对应的带宽大于x对应的带宽,k为预设的第二阈值;T为预设的检测周期,Tm+1为第m+1次检测网络带宽的周期,其中,Tm+1=tm+1-tm,tm+1为第m+1次检测网络带宽的时刻,tm为第m次检测网络带宽的时刻。
- 根据权利要求2-7中任一项所述的方法,其特征在于,还包括根据以下规则获取网络带宽的下降次数:当i-x>0时,所述网络带宽的下降次数加1;其中,i为所述第一网络带宽对应的带宽等级,x为第m次检测的网络带宽对应的带宽等级,所述带宽等级为整数,m为大于等于1的整数,i对应的带宽大于x对应的带宽。
- 根据权利要求7-8任一项所述的方法,其特征在于,还包括通过以下方式确定检测的网络带宽对应的带宽等级:所述流媒体资源包括分别与不同的带宽等级对应的多个媒体文件;每个带宽等级对应一个网络带宽门限值;当Wi×a≤W检测<Wi+1×b时,确定所述检测的网络带宽对应的带宽等级为i;其中,W检测为所述检测的网络带宽,Wi为带宽等级i对应的网络带宽门限值,Wi+1为带宽等级i+1对应的网络带宽门限值,0<a<1,0<b<1。
- 一种流媒体资源的下载装置,其特征在于,包括:第一确定单元,用于根据第一网络带宽确定第一媒体文件为待下载的媒体文件,所述第一网络带宽为确定所述第一媒体文件为待下载的媒体文件时的网络带宽;所述第一媒体文件包含在与所述第一网络带宽对应的流媒体资源中,所述第一媒体文件包括N个数据块,N≥2,且N为整数;下降次数获取单元,用于获取已执行的所述第一媒体文件的下载过程中网络带宽的下降次数;第二确定单元,用于在下载所述第一媒体文件中的第n-1个数据块之后,且在下载所述第一媒体文件中的第n个数据块之前,根据所述下降次数获取单元获取的已执行的所述第一媒体文件的下载过程中网络带宽的下降次数,确定待下载的所述第n个数据块的长度;1≤n≤N。
- 根据权利要求10所述的装置,其特征在于,所述装置还包括:检测单元,用于周期检测所述第一媒体文件下载过程中的网络带宽;所述下降次数获取单元,具体用于根据所述检测单元周期检测的网络带宽,获取已执行的所述第一媒体文件下载过程中网络带宽的下降次数。
- 根据权利要求10或11所述的装置,其特征在于,所述第二确定单元根据所述下降次数获取单元获取的已执行的所述第一媒体文件的下载过程中网络带宽的下降次数,确定待下载的所述第n个数据块的长度时,具体用于:当所述已执行的所述第一媒体文件的下载过程中网络带宽的下降次数等于0时,确定待下载的所述第n个数据块的长度为预设长度,所述预设长度与所述第一媒体文件相对应;当所述已执行的所述第一媒体文件的下载过程中网络带宽的下降次数大于0且小于第一阈值时,确定所述待下载的所述第n个数据块的长度小于所述预设长度。
- 根据权利要求12所述的装置,其特征在于,当所述已执行的所述第一媒体文件的下载过程中网络带宽的下降次数大于0且小于第一阈值时,所述第二确定单元在确定所述待下载的所述第n个数据块的长度时,使用以下规则:当所述已执行的所述第一媒体文件的下载过程中网络带宽的下降次数越多时,确定所述第n个数据块的长度越小;或者当当前时刻与开始下载所述第一媒体文件的时刻之间的时间差越大时,确定所述第n个数据块的长度越小。
- 根据权利要求10-13中任一项所述的装置,其特征在于,所述装置还包括:数据块下载单元,用于在所述第二确定单元确定待下载的所述第n个数据块的长度之后,根据所述第二确定单元确定的所述第n个数据块的长度,下载所述第n个数据块。
- 根据权利要求10-14中任一项所述的装置,其特征在于,所述第二确定单元,还用于在下载所述第一媒体文件中的第n-1个数据块之后,且在下载所述第一媒体文件中的第n个数据块之前,当所述已执行的所述第一媒体文件下载过程中网络带宽的下降次数大于或等于第一阈值 时,终止下载所述第一媒体文件;所述第一确定单元还用于根据第二网络带宽确定第二媒体文件为待下载的媒体文件;所述第二网络带宽为确定所述网络带宽的下降次数大于或等于所述第一阈值时的网络带宽;所述第二媒体文件包含在与所述第二网络带宽对应的流媒体资源中。
- 根据权利要求11-15中任一项所述的装置,其特征在于,所述装置还包括:周期计算单元;所述周期计算单元,用于计算所述周期检测第一媒体文件下载过程中的网络带宽的检测周期,所述周期计算单元通过以下方式确定所述检测周期:当i-x≥k时,确定Tm+1>T;当0≤i-x<k时,确定Tm+1=T;其中,i为所述第一网络带宽对应的带宽等级,x为第m次检测的网络带宽对应的带宽等级,所述带宽等级为整数,m为大于等于1的整数,i对应的带宽大于x对应的带宽,k为预设的第二阈值;T为预设的检测周期,Tm+1为第m+1次检测网络带宽的周期,其中,Tm+1=tm+1-tm,tm+1为第m+1次检测网络带宽的时刻,tm为第m次检测网络带宽的时刻。
- 根据权利要求11-16中任一项所述的装置,其特征在于,所述下降次数获取单元在获取已执行的所述第一媒体文件的下载过程中网络带宽的下降次数时,根据以下规则获取网络带宽的下降次数:当i-x>0时,所述网络带宽的下降次数加1;其中,i为所述第一网络带宽对应的带宽等级,x为第m次检测的网络带宽对应的带宽等级,所述带宽等级为整数,m为大于等于1的整数,i对应的带宽大于x对应的带宽。
- 根据权利要求16-17任一项所述的装置,其特征在于,所述装置还包括:带宽等级确定单元;所述带宽等级确定单元,用于通过以下方式确定由所述检测单元检测的网络带宽对应的带宽等级:所述流媒体资源包括分别与不同的带宽等级对应的多个媒体文件;每个带宽等级对应一个网络带宽门限值;当Wi×a≤W检测<Wi+1×b时,确定所述检测的网络带宽对应的带宽等级为i;其中,W检测为所述检测的网络带宽,Wi为带宽等级i对应的网络带宽门限值,Wi+1为带宽等级i+1对应的网络带宽门限值,0<a<1,0<b<1。
- 一种终端设备,其特征在于,包括:处理器;数据存储装置;通信接口;所述处理器、所述数据存储装置和所述通信接口通过总线相互通信;所述处理器读取所述数据存储装置中存储的程序代码和数据,执行以下操作:根据第一网络带宽确定第一媒体文件为待下载的媒体文件,所述第一网络带宽为确定所述第一媒体文件为待下载的媒体文件时的网络带宽;所述第一媒体文件包含在与所述第一网络带宽对应的流媒体资源中,所述第一媒体文件包括N个数据块,N≥2,且N为整数;在下载所述第一媒体文件中的第n-1个数据块之后,且在下载所述第一媒体文件中的第n数据块之前,根据已执行的所述第一媒体文件的下载过程中网络带宽的下降次数,确定待下载的所述第n个数据块的长度,1≤n≤N。
- 根据权利要求19所述的终端设备,其特征在于,所述处理器还执行以下操作:周期检测所述第一媒体文件下载过程中的网络带宽;根据所述周期检测的网络带宽,获取已执行的所述第一媒体文件下载过程中网络带宽的下降次数。
- 根据权利要求19或20所述的终端设备,其特征在于,所述处理器根据已执行的所述第一媒体文件的下载过程中网络带宽的下降次数,确定待下载的所述第n个数据块的长度,具体执行以下操作:当所述已执行的所述第一媒体文件的下载过程中网络带宽的下降次数等于0时,确定待下载的所述第n个数据块的长度为预设长度,所述预设长度与所述第一媒体文件相对应;当所述已执行的所述第一媒体文件的下载过程中网络带宽的下降次数大于0且小于第一阈值时,确定所述待下载的所述第n个数据块的长度小于所述预设长度。
- 根据权利要求21所述的终端设备,其特征在于:当所述已执行的所述第一媒体文件的下载过程中网络带宽的下降次数大于0且小于第一阈值时,所述处理器使用以下规则确定所述待下载的所述第n个数据块的长度:当所述已执行的所述第一媒体文件的下载过程中网络带宽的下降次数越多时,确定所述第n个数据块的长度越小;或者当当前时刻与开始下载所述第一媒体文件的时刻之间的时间差越大时,确定所述第n个数据块的长度越小。
- 根据权利要求19-22中任一项所述的终端设备,其特征在于,所述处理器在确定待下载的所述第n个数据块的长度之后,根据确定的所述第n个数据块的长度,执行下载所述第n个数据块的操作。
- 根据权利要求19-23中任一项所述的终端设备,其特征在于,处理器还执行以下操作:当所述已执行的所述第一媒体文件下载过程中网络带宽的下降次数大于或等于第一阈值时,终止下载所述第一媒体文件;根据第二网络带宽确定第二媒体文件为待下载的媒体文件;所述第二网络带宽为确定所述网络带宽的下降次数大于或等于所述第一阈值时的网络带宽;所述第二媒体文件包含在与所述第二网络带宽对应的流媒体资源中。
- 根据权利要求20-24中任一项所述的终端设备,其特征在于,所述处理器在执行周期检测所述第一媒体文件下载过程中的网络带宽时,通过以下方式确定检测周期:当i-x≥k时,确定Tm+1>T;当0≤i-x<k时,确定Tm+1=T;其中,i为所述第一网络带宽对应的带宽等级,x为第m次检测的网络带宽对应的带宽等级,所述带宽等级为整数,m为大于等于1的整数,i对应的带宽大于x对应的带宽,k为预设的第二阈值;T为预设的检测周期,Tm+1为第m+1次检测网络带宽的周期,其中,Tm+1=tm+1-tm,tm+1为第m+1次检测网络带宽的时刻,tm为第m次检测网络带宽的时刻。
- 根据权利要求20-25中任一项所述的终端设备,其特征在于,所述处理器根据以下规则执行获取网络带宽的下降次数:当i-x>0时,所述网络带宽的下降次数加1;其中,i为所述第一网络带宽对应的带宽等级,x为第m次检测的网络带宽对应的带宽等级,所述带宽等级为整数,m为大于等于1的整数,i对应的带宽大于x对应的带宽。
- 根据权利要求25-26任一项所述的终端设备,其特征在于,所述处理器通过以下方式执行确定检测的网络带宽对应的带宽等级:所述流媒体资源包括分别与不同的带宽等级对应的多个媒体文件;每个带宽等级对应一个网络带宽门限值;当Wi×a≤W检测<Wi+1×b时,确定所述检测的网络带宽对应的带宽等级为i;其中,W检测为所述检测的网络带宽,Wi为带宽等级i对应的网络带宽门限值,Wi+1为带宽等级i+1对应的网络带宽门限值,0<a<1,0<b<1。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2015/074694 WO2016149863A1 (zh) | 2015-03-20 | 2015-03-20 | 流媒体资源的下载方法、装置和终端设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106464942A true CN106464942A (zh) | 2017-02-22 |
CN106464942B CN106464942B (zh) | 2020-03-10 |
Family
ID=56977925
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201580027952.5A Active CN106464942B (zh) | 2015-03-20 | 2015-03-20 | 流媒体资源的下载方法、装置和终端设备 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10574730B2 (zh) |
EP (1) | EP3253065B1 (zh) |
CN (1) | CN106464942B (zh) |
WO (1) | WO2016149863A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113709585A (zh) * | 2021-08-25 | 2021-11-26 | 三星电子(中国)研发中心 | 流媒体播放方法和装置 |
CN114389975A (zh) * | 2022-02-08 | 2022-04-22 | 北京字节跳动网络技术有限公司 | 网络带宽预估方法、装置、系统、电子设备及存储介质 |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10715231B1 (en) | 2019-01-24 | 2020-07-14 | Google Llc | Antenna switch diversity circuitry |
CN110121100B (zh) * | 2019-05-28 | 2022-03-15 | 平安科技(深圳)有限公司 | 媒体文件的下载方法、装置、终端和计算机可读存储介质 |
CN113170214A (zh) * | 2020-03-13 | 2021-07-23 | 深圳市大疆创新科技有限公司 | 自动调整视频直播码率的方法、视频传输装置和服务器 |
CN111984504A (zh) * | 2020-08-20 | 2020-11-24 | 海信电子科技(深圳)有限公司 | 浏览器内存监控方法及电子设备 |
CN113115078B (zh) * | 2021-04-09 | 2022-08-16 | 浙江大华技术股份有限公司 | 带宽的调整方法及装置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1490980A (zh) * | 2002-09-17 | 2004-04-21 | ���ǵ�����ʽ���� | 用于流式传输多媒体数据的装置和方法 |
CN102065468A (zh) * | 2009-11-13 | 2011-05-18 | 华为技术有限公司 | 码率调整方法及服务器 |
CN102843351A (zh) * | 2012-03-31 | 2012-12-26 | 华为技术有限公司 | 一种流媒体业务的处理方法、流媒体服务器及系统 |
CN103281569A (zh) * | 2013-04-10 | 2013-09-04 | 深圳康佳通信科技有限公司 | 一种面向视频传输的网络带宽检测及预测方法及系统 |
WO2014041547A1 (en) * | 2012-09-13 | 2014-03-20 | Yevvo Entertainment Inc. | Live video broadcasting from a mobile device |
CN103929684A (zh) * | 2013-01-14 | 2014-07-16 | 华为技术有限公司 | 一种基于流媒体选择码流分段的方法、播放器和终端 |
CN104022845A (zh) * | 2014-05-30 | 2014-09-03 | 北京高森明晨信息科技有限公司 | 调整数据块比特率的方法、装置和系统 |
Family Cites Families (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20010036271A1 (en) * | 1999-09-13 | 2001-11-01 | Javed Shoeb M. | System and method for securely distributing digital content for short term use |
US8712473B2 (en) * | 2000-08-23 | 2014-04-29 | Novatel Wireless, Inc. | System and method for seamlessly increasing download throughput |
US20070053428A1 (en) * | 2001-03-30 | 2007-03-08 | Vixs Systems, Inc. | Managed degradation of a video stream |
US7480703B2 (en) * | 2001-11-09 | 2009-01-20 | Sony Corporation | System, method, and computer program product for remotely determining the configuration of a multi-media content user based on response of the user |
KR100682871B1 (ko) * | 2004-10-30 | 2007-02-15 | 삼성전기주식회사 | 컨텐츠 재생 시스템 및 방법 |
US8949452B2 (en) * | 2005-04-07 | 2015-02-03 | Opanga Networks, Inc. | System and method for progressive download with minimal play latency |
CN100407611C (zh) * | 2006-02-21 | 2008-07-30 | 华为技术有限公司 | 移动通信网络中分组数据传输速率的控制方法及其系统 |
EP1833211B1 (en) | 2006-02-21 | 2014-08-13 | Huawei Technologies Co., Ltd. | Method and system for controlling data transfer rate |
US8400918B2 (en) * | 2009-08-06 | 2013-03-19 | Georgia Tech Research Corporation | Video traffic smoothing |
US8695053B2 (en) * | 2009-09-10 | 2014-04-08 | Jeffrey Huang | Apparatus and method for multimedia data reception, processing, routing, storage, and access using a web / cloud-computing synchronization of personal multimedia data |
CN102065458A (zh) | 2010-02-09 | 2011-05-18 | 熊文俊 | 基于用户通话行为的移动网络质量测试方法及系统 |
US8386621B2 (en) * | 2010-03-12 | 2013-02-26 | Netflix, Inc. | Parallel streaming |
US9277260B2 (en) * | 2010-10-01 | 2016-03-01 | Mobitv, Inc. | Media convergence platform |
US8788695B2 (en) * | 2011-06-15 | 2014-07-22 | Allot Communications Ltd. | Method and apparatus for session bandwidth estimation and rate control |
US20130007200A1 (en) * | 2011-06-30 | 2013-01-03 | Divx, Llc | Systems and methods for determining available bandwidth and performing initial stream selection when commencing streaming using hypertext transfer protocol |
US20130064287A1 (en) * | 2011-09-14 | 2013-03-14 | Mobitv, Inc. | Management of resources for live stream variant processing |
CN102710374B (zh) | 2012-05-28 | 2015-05-20 | 天津大学 | 无线流媒体传输中的速率控制方法 |
US9386331B2 (en) * | 2012-07-26 | 2016-07-05 | Mobitv, Inc. | Optimizing video clarity |
US9462021B2 (en) * | 2012-09-24 | 2016-10-04 | Google Technology Holdings LLC | Methods and devices for efficient adaptive bitrate streaming |
US8990843B2 (en) * | 2012-10-26 | 2015-03-24 | Mobitv, Inc. | Eye tracking based defocusing |
EP2819379A1 (en) * | 2013-06-28 | 2014-12-31 | Thomson Licensing | Method for adapting the downloading behavior of a client terminal configured to receive multimedia content, and corresponding terminal |
US20150188963A1 (en) * | 2013-12-30 | 2015-07-02 | Sonic Ip, Inc. | Systems and Methods for Distributing Adaptive Bitrate Streaming Content by Multicast |
US9386067B2 (en) * | 2013-12-30 | 2016-07-05 | Sonic Ip, Inc. | Systems and methods for playing adaptive bitrate streaming content by multicast |
KR102270034B1 (ko) * | 2014-09-30 | 2021-06-28 | 삼성전자주식회사 | 다수 개의 무선 억세스 인터페이스들을 지원하는 이동 통신 시스템에서 스트리밍 서비스 데이터 수신 장치 및 방법 |
US10554571B2 (en) * | 2015-08-18 | 2020-02-04 | Avago Technologies International Sales Pte. Limited | Packet-to-packet timing reconstruction for channel bonding |
US10750175B2 (en) * | 2017-05-04 | 2020-08-18 | Sony Corporation | Quantization partitioning for enhanced image compression |
US10873781B2 (en) * | 2017-06-13 | 2020-12-22 | Comcast Cable Communications, Llc | Video fragment file processing |
-
2015
- 2015-03-20 WO PCT/CN2015/074694 patent/WO2016149863A1/zh active Application Filing
- 2015-03-20 CN CN201580027952.5A patent/CN106464942B/zh active Active
- 2015-03-20 US US15/559,816 patent/US10574730B2/en active Active
- 2015-03-20 EP EP15885802.7A patent/EP3253065B1/en active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1490980A (zh) * | 2002-09-17 | 2004-04-21 | ���ǵ�����ʽ���� | 用于流式传输多媒体数据的装置和方法 |
CN102065468A (zh) * | 2009-11-13 | 2011-05-18 | 华为技术有限公司 | 码率调整方法及服务器 |
CN102843351A (zh) * | 2012-03-31 | 2012-12-26 | 华为技术有限公司 | 一种流媒体业务的处理方法、流媒体服务器及系统 |
WO2014041547A1 (en) * | 2012-09-13 | 2014-03-20 | Yevvo Entertainment Inc. | Live video broadcasting from a mobile device |
CN103929684A (zh) * | 2013-01-14 | 2014-07-16 | 华为技术有限公司 | 一种基于流媒体选择码流分段的方法、播放器和终端 |
CN103281569A (zh) * | 2013-04-10 | 2013-09-04 | 深圳康佳通信科技有限公司 | 一种面向视频传输的网络带宽检测及预测方法及系统 |
CN104022845A (zh) * | 2014-05-30 | 2014-09-03 | 北京高森明晨信息科技有限公司 | 调整数据块比特率的方法、装置和系统 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113709585A (zh) * | 2021-08-25 | 2021-11-26 | 三星电子(中国)研发中心 | 流媒体播放方法和装置 |
CN113709585B (zh) * | 2021-08-25 | 2023-09-19 | 三星电子(中国)研发中心 | 流媒体播放方法和装置 |
CN114389975A (zh) * | 2022-02-08 | 2022-04-22 | 北京字节跳动网络技术有限公司 | 网络带宽预估方法、装置、系统、电子设备及存储介质 |
CN114389975B (zh) * | 2022-02-08 | 2024-03-08 | 北京字节跳动网络技术有限公司 | 网络带宽预估方法、装置、系统、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
US20180054470A1 (en) | 2018-02-22 |
US10574730B2 (en) | 2020-02-25 |
WO2016149863A1 (zh) | 2016-09-29 |
CN106464942B (zh) | 2020-03-10 |
EP3253065A1 (en) | 2017-12-06 |
EP3253065B1 (en) | 2019-03-06 |
EP3253065A4 (en) | 2018-01-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106464942A (zh) | 流媒体资源的下载方法、装置和终端设备 | |
US20210067578A1 (en) | Streaming media segments | |
CN105052107B (zh) | 使用质量信息进行媒体内容自适应传输 | |
CN110121100B (zh) | 媒体文件的下载方法、装置、终端和计算机可读存储介质 | |
CN108965907B (zh) | 用于播放视频的方法、装置和系统 | |
US20090282162A1 (en) | Optimized client side rate control and indexed file layout for streaming media | |
CN110636339B (zh) | 基于码率的调度方法、装置及电子设备 | |
RU2569024C1 (ru) | Способ и устройство для передачи мультимедийных потоков | |
EP3135019B1 (en) | Method and system for bandwidth-dependent file transfer | |
US20180359302A1 (en) | System and method for encoding image data and other data types into one data format and decoding of same | |
EP2381646A1 (en) | Method, apparatus for processing a control message and system thereof | |
WO2016118668A1 (en) | Multiple protocol media streaming | |
CN103152606A (zh) | 视频文件处理方法及装置、系统 | |
CN114567396A (zh) | 无线通信方法、非线性函数的拟合方法、终端及设备 | |
CN112468828B (zh) | 全景视频的码率分配方法、装置、移动终端及存储介质 | |
CN112383623B (zh) | 多媒体文件的处理方法、装置、终端及网络接入点设备 | |
CN111182334B (zh) | 数据处理方法、服务器、终端以及存储介质 | |
CN110740138B (zh) | 数据传输方法和装置 | |
WO2023226757A1 (zh) | 视频缓存方法、装置、设备及存储介质 | |
CN110971962B (zh) | 切片缓存的方法、装置及存储介质 | |
CN113299269B (zh) | 语音合成系统的训练方法、装置、计算机设备及存储介质 | |
US20200195996A1 (en) | Methods and Apparatus for Streaming Data | |
KR20200108348A (ko) | 데이터 전송 | |
CN114501084A (zh) | 播放器的起播方法、装置、设备和介质 | |
CN112800303B (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 |