CN106303563A - 流媒体在线播放方法和装置 - Google Patents
流媒体在线播放方法和装置 Download PDFInfo
- Publication number
- CN106303563A CN106303563A CN201610692808.XA CN201610692808A CN106303563A CN 106303563 A CN106303563 A CN 106303563A CN 201610692808 A CN201610692808 A CN 201610692808A CN 106303563 A CN106303563 A CN 106303563A
- Authority
- CN
- China
- Prior art keywords
- burst
- time point
- time
- streaming media
- network
- 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 80
- 230000003139 buffering effect Effects 0.000 claims abstract description 164
- 239000000872 buffer Substances 0.000 claims description 79
- 238000001514 detection method Methods 0.000 claims description 44
- 239000012634 fragment Substances 0.000 claims description 13
- 238000004080 punching Methods 0.000 claims description 6
- 230000000875 corresponding effect Effects 0.000 claims 6
- 230000002596 correlated effect Effects 0.000 claims 2
- 238000010586 diagram Methods 0.000 description 8
- 230000015654 memory Effects 0.000 description 8
- 239000002699 waste material Substances 0.000 description 8
- 230000005540 biological transmission Effects 0.000 description 5
- 241000208340 Araliaceae Species 0.000 description 4
- 235000005035 Panax pseudoginseng ssp. pseudoginseng Nutrition 0.000 description 4
- 235000003140 Panax quinquefolius Nutrition 0.000 description 4
- 230000002159 abnormal effect Effects 0.000 description 4
- 230000007812 deficiency Effects 0.000 description 4
- 235000008434 ginseng Nutrition 0.000 description 4
- 238000007689 inspection Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 230000003203 everyday effect Effects 0.000 description 2
- 241000196324 Embryophyta Species 0.000 description 1
- 238000003556 assay Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 238000000151 deposition Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
Classifications
-
- 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/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/845—Structuring of content, e.g. decomposing content into time segments
- H04N21/8456—Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
-
- 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/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/23406—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving management of server-side video buffer
-
- 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/2405—Monitoring of the internal components or processes of the server, e.g. server load
-
- 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/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/266—Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
- H04N21/2662—Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
-
- 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/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
- H04N21/44004—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving video buffer management, e.g. video decoder buffer or video display buffer
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Information Transfer Between Computers (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明涉及一种流媒体在线播放方法和装置。所述方法包括:在开始播放流媒体时,获取并解析分片配置参数,所述分片配置参数包括分片时间点序列和预下载时间;检测是否满足开启分片缓冲策略的条件;若满足,获取首次缓冲时需要下载流媒体的最小长度,获取所述分片时间点序列中不小于所述最小长度的第一个时间点作为所述首次缓冲的长度,配置当前下载数据的区间范围;按照预设间隔时间检测是否满足开启分片缓冲策略的条件;若满足,则判断所述分片时间点序列中是否存在比当前播放时间加上所述预下载时间之和大的最小的时间点,若存在所述最小的时间点,则配置当前下载数据的区间范围。能准确控制下载的数据量,节省网络资源。
Description
技术领域
本发明涉及流媒体播放领域,特别是涉及一种流媒体在线播放方法和装置。
背景技术
流媒体是指采用流式传输的方式在因特网播放的媒体格式。它是指服务提供者将数据包发送到网络上,用户通过解压设备对这些数据包解压后数据就会显示出来。
传统的流媒体在线播放,客户端从网络读取流媒体数据,通过控制流媒体数据读取线程的运行状态,来控制从网络获取数据的速度,因TCP协议存在接收缓存区,当读取了一部分接收缓存区数据后,即使暂停了对内核层中网络流的读取,客户端仍然会从网络中再拉取数据将接收缓存区中已被读取数据所腾出的空间进行填充,直到填满接收缓存区,因此,客户端无法准确控制下载的数据量,导致网络资源的浪费。
发明内容
基于此,有必要针对传统的流媒体在线播放中无法准确控制下载的数据量而导致网络资源浪费的问题,提供一种流媒体在线播放方法和装置,能准确控制下载的数据量,节省网络资源。
一种流媒体在线播放方法,包括:
在开始播放流媒体时,获取并解析分片配置参数,所述分片配置参数包括分片时间点序列和预下载时间;
检测是否满足开启分片缓冲策略的条件;
若满足开启分片缓冲策略的条件,则获取首次缓冲时需要下载流媒体的最小长度,获取所述分片时间点序列中不小于所述最小长度的第一个时间点作为所述首次缓冲的长度,配置当前下载数据的区间范围为0至第一个时间点;
实时检测是否满足开启分片缓冲策略的条件;
若满足开启分片缓冲策略的条件,则判断所述分片时间点序列中是否存在比当前播放时间加上所述预下载时间之和大的最小的时间点,若存在所述最小的时间点,则配置当前下载数据的区间范围的下限为所述最小的时间点相邻的上一个时间点,上限为所述最小的时间点;
若满足开启分片缓冲策略的条件,判断所述分片时间点序列中是否存在与当前播放时间加上所述预下载时间之和相等的时间点,若存在所述相等的时间点,则配置当前下载数据的区别范围的下限为所述相等的时间点,上限为所述相等的时间点相邻的下一个时间点。
一种流媒体在线播放装置,包括:
解析模块,用于在开始播放流媒体时,获取并解析分片配置参数,所述分片配置参数包括分片时间点序列和预下载时间;
第一检测模块,用于检测是否满足开启分片缓冲策略的条件;
获取模块,用于若满足开启分片缓冲策略的条件,则获取首次缓冲时需要下载流媒体的最小长度,获取所述分片时间点序列中不小于所述最小长度的第一个时间点作为所述首次缓冲的长度,配置当前下载数据的区间范围;
所述第一检测模块还用于按照预设间隔时间检测是否满足开启分片缓冲策略的条件;
判断模块,用于若满足开启分片缓冲策略的条件,则判断所述分片时间点序列中是否存在比当前播放时间加上所述预下载时间之和大的最小的时间点;
配置模块,用于若存在所述最小的时间点,配置当前下载数据的区间范围。
上述流媒体在线播放方法和装置,通过获取分片配置参数,检测到满足开启分片缓冲策略的条件时,获取分片时间点序列中不小于最小长度的第一个时间点作为首次缓冲的长度,在开始缓冲之后,检测到满足开启分片缓冲策略的条件,且判断在分片时间点序列中存在比当前播放时间加上预下载时间之和大的最小的时间点,则配置当前下载数据的区间范围的下限为所述最小的时间点相邻的上一个时间点,上限为所述最小的时间点;以及判断所述分片时间点序列中是否存在与当前播放时间加上所述预下载时间之和相等的时间点,若存在所述相等的时间点,则配置当前下载数据的区别范围的下限为所述相等的时间点,上限为所述相等的时间点相邻的下一个时间点,开始下载下一个分片数据,如此流媒体在线播放时实现了分片缓冲,且配置了下载数据的区间范围,能准确控制下载的数据量,节省网络资源,可以避免不必要的流量浪费,节省网络流量。
一种流媒体在线播放方法,包括:
获取分片配置参数,所述分片配置参数包括分片时间点序列;
检测是否满足开启分片缓冲策略的条件;
若满足开启分片缓冲策略的条件,则接收服务器返回的第一分片数据;
检测是否到达所述分片时间点序列中的下一分片所对应的时间点;
若到达下一分片所对应的时间点,则向所述服务器发送下载消息;
接收所述服务器根据所述下载消息发送的下一分片所对应的时间点的数据。
一种流媒体在线播放装置,包括:
参数获取模块,用于获取分片配置参数,所述分片配置参数包括分片时间点序列;
第一检查模块,检测是否满足开启分片缓冲策略的条件;
接收模块,用于若满足开启分片缓冲策略的条件,则接收服务器返回的第一分片数据;
检查模块,用于检测是否到达分片时间点序列中的下一分片所对应的时间点;
发送模块,用于若到达下一分片所对应的时间点,则向所述服务器发送下载消息;
所述接收模块还用于接收所述服务器根据所述下载消息发送的下一分片所对应的时间点的数据。
上述流媒体在线播放方法和装置,通过获取分片配置参数,检测到满足开启分片缓冲策略的条件时,获取第一分片数据,当到达下一分片所对应的时间点时,从服务器下载下一分片所对应的时间点的数据,如此流媒体在线播放时实现了分片缓冲,每次下载下一分片对应的时间点的数据,能准确控制下载的数据量,节省网络资源,可以避免不必要的流量浪费,节省网络流量。
附图说明
图1为一个实施例中流媒体在线播放方法的应用环境示意图;
图2A为一个实施例中终端的内部结构示意图;
图2B为一个实施例中服务器的内部结构示意图;
图3为一个实施例中流媒体在线播放方法的流程图;
图4为另一个实施例中流媒体在线播放方法的流程图;
图5为一个实施例中流媒体在线播放装置的结构框图;
图6为另一个实施例中流媒体在线播放装置的结构框图;
图7为另一个实施例中流媒体在线播放装置的结构框图;
图8为另一个实施例中流媒体在线播放装置的结构框图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
图1为一个实施例中流媒体在线播放方法的应用环境示意图。如图1所示,该应用环境包括终端110和服务器120。终端110和服务器120通过网络进行通信。终端110向服务器120发起播放流媒体请求,服务器120下发分片配置参数到终端110。终端110解析分片配置参数,分片配置参数包括分片时间点序列和预下载时间,在开始播放时,检测到满足开启分片缓冲策略的条件时,获取首次缓冲时需要下载流媒体的最小长度,获取所述分片时间点序列中不小于所述最小长度的第一个时间点作为所述首次缓冲的长度,在开始缓冲之后,实时检测到满足开启分片缓冲策略的条件,判断该分片时间点序列中是否存在比当前播放时间加上预下载时间之和大的最小的时间点,若存在该最小的时间点,则配置当前下载数据的区间范围的下限为所述最小的时间点相邻的上一个时间点,上限为所述最小的时间点;若满足开启分片缓冲策略的条件,判断所述分片时间点序列中是否存在与当前播放时间加上所述预下载时间之和相等的时间点,若存在所述相等的时间点,则配置当前下载数据的区别范围的下限为所述相等的时间点,上限为所述相等的时间点相邻的下一个时间点。
图2A为一个实施例中终端的内部结构示意图。如图2A所示,该终端包括通过系统总线连接的处理器、非易失性存储介质、内存储器、网络接口。其中,终端的非易失性存储介质存储有操作系统,还包括一种流媒体在线播放装置,该流媒体在线播放装置用于实现一种流媒体在线播放方法。该处理器用于提供计算和控制能力,支撑整个终端的运行。终端中的内存储器为非易失性存储介质中的流媒体在线播放装置的运行提供环境,该内存储器中可储存有计算机可读指令,该计算机可读指令被所述处理器执行时,可使得所述处理器执行一种流媒体在线播放方法。网络接口用于与服务器进行网络通信,如发送流媒体在线播放请求至服务器,接收服务器返回的流媒体的分片数据等。终端的显示屏可以是液晶显示屏或者电子墨水显示屏等,输入装置可以是显示屏上覆盖的触摸层,也可以是终端外壳上设置的按键、轨迹球或触控板,也可以是外接的键盘、触控板或鼠标等。该终端可以是手机、平板电脑或者个人数字助理或穿戴式设备等。本领域技术人员可以理解,图2A中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的终端的限定,具体的终端可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
图2B为一个实施例中服务器(或云端等)的内部结构示意图。如图2B所示,该服务器包括通过系统总线连接的处理器、非易失性存储介质、内存储器和网络接口。其中,该服务器的非易失性存储介质存储有操作系统、数据库和流媒体在线播放装置,数据库中存储有流媒体数据,该流媒体在线播放装置用于实现适用于服务器的一种流媒体在线播放方法。该服务器的处理器用于提供计算和控制能力,支撑整个服务器的运行。该服务器的内存储器为非易失性存储介质中的流媒体在线播放装置的运行提供环境,该内存储器中可储存有计算机可读指令,该计算机可读指令被所述处理器执行时,可使得所述处理器执行一种流媒体在线播放方法。该服务器的网络接口用于据以与外部的终端通过网络连接通信,比如接收终端发送的播放请求以及向终端返回流媒体分片数据等。服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现。本领域技术人员可以理解,图2B中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的服务器的限定,具体的服务器可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
图3为一个实施例中流媒体在线播放方法的流程图。如图3所示,一种流媒体在线播放方法,运行于终端上,包括:
步骤302,在开始播放流媒体时,获取并解析分片配置参数,该分片配置参数包括分片时间点序列和预下载时间。
本实施例中,终端向服务器发起流媒体播放请求,接收服务器下发的分片配置参数,解析该分片配置参数。服务器将流媒体数据划分为多个分片,并设置分片配置参数,分片配置参数包括分片时间点序列和预下载时间。分片时间点序列是指由分片的时间点按时间顺序排成的序列。分片时间点序列中包括一系列的时间点。每个时间点通常与分片时间序列中上一个时间点之间的数据一起组成一段分片。例如分片时间点序列为[10,20,40,80,160,320,……]等,服务器将流媒体数据的0至10秒划分为第一段分片,10秒至20秒划分为第二段分片,20秒至40秒划分为第三段分片,依次类推。预下载时间是指下载下一分片的提前时间量。例如预下载时间为5秒,以分片时间点序列为20,40,80,160和320为例,当流媒体播放至15秒时,当前播放时间加上预下载时间5秒等于20秒,到达分片时间点序列中的20秒,将下载20至40秒内的数据。
步骤304,检测是否满足开启分片缓冲策略的条件,若是,执行步骤306,若否,执行步骤308。
本实施例中,开启分片缓冲策略的条件可根据需要设定。例如,开启分片缓冲策略的条件可为在预设的开启时段开启,或者在当前网络为预设的网络条件,如在2G、3G或4G网络条件下开启,或者在流媒体的比特率在预设的比特率范围内开启,或者,两种以上条件组合满足时开启。
分片缓冲策略是指将流媒体数据划分为多个分片,以分片形式进行下载缓冲。
步骤306,若满足开启分片缓冲策略的条件,则获取首次缓冲时需要下载流媒体的最小长度,获取该分片时间点序列中不小于该最小长度的第一个时间点作为该首次缓冲的长度,配置当前下载数据的区间范围为0至第一个时间点。
本实施例中,获取首次缓冲时需要下载流媒体的最小长度是指能够播放的最小长度。流媒体可为视频或音频数据。最小长度可根据需要设定或经验计算得到。刚开始缓冲时,在分片时间点序列中查找不小于该最小长度的第一个时间点作为首次缓冲的长度,再配置当前下载数据的区间范围。例如分片时间点序列为[10,20,40],首次缓冲是需要下载流媒体的最小长度为15秒,则该分片时间点序列[10,20,40]中不小于该最小长度15秒的第一个时间点为20秒,因此,首次缓冲的长度为20秒,此时,将当前下载数据的区间范围配置为0-20秒,即下载0至20秒的数据。
当前下载数据区间范围可采用HTTP请求头中的Range字段配置。Range字段是用来控制下载数据的起始和结束位置。例如range字段为0-1023指的是让服务器返回0-1023编号对应的数据。Range字段设置的是数据编号,将配置的当前下载数据的时间点范围计算对应的数据编号范围,例如20秒至40秒范围的数据量,计算20秒和40秒分别对应的数据编号为多少,然后设置range字段为20秒对应的数据编号至40秒对应的数据编号范围。
本实施例中,还设置下载状态标志位,获取下载状态标志位的位置,当配置的当前下载数据的区间范围的上限值大于当前下载的位置时,从当前下载的位置继续下载。下载状态标志位用于表示下载的状态。下载状态标志位的位置表示暂停下载或当前正在下载的数据的位置。
步骤308,实时检测是否满足开启分片缓冲策略的条件,若是,执行步骤310,若否,执行步骤314。
本实施例中,实时是指检测间隔的时间很小,例如可为10毫秒、20毫秒等,不限于此。
若检测不满足开启分片缓冲策略的条件,则清除下载数据的区间范围限制,即清除掉终端之前设置的当前下载数据的区间范围限制。清除下载数据的区间范围限制后,终端若向服务器请求数据时,将不再限制下载数据的区间范围。
步骤310,若满足开启分片缓冲策略的条件,则判断该分片时间点序列中是否存在比当前播放时间加上该预下载时间之和大的最小的时间点,若存在,执行步骤312,若不存在,执行步骤314。
本实施例中,当前播放时间是指当前正在播放的流媒体的时间,例如流媒体在播放到30秒时暂停了,则当前播放时间为第30秒。
终端查找在分片时间点序列中是否存在比当前播放时间加上预下载时间之和大的时间点,若存在比当前播放时间加上预下载时间之和大的时间点,再从中获取最小的时间点,配置当前下载数据的区间范围的下限为所述最小的时间点相邻的上一个时间点,上限为该最小的时间点。例如当前播放时间为14秒,预下载时间为5秒,14秒加上5秒为19秒,分片时间点序列为[10,20,40,80],单位为秒,分片时间点序列中比19秒大的时间点为[20,40,80],选取最小的时间点即20秒,则配置当前下载数据的区别范围为[10,20]。
步骤312,配置当前下载数据的区间范围的下限为所述最小的时间点相邻的上一个时间点,上限为该最小的时间点。
举例说明,分片时间点序列为[10,20,40,80,160,320],预下载时间为5秒,当前播放时间为14秒时,查找当前播放时间加上预下载时间为19秒,在分片时间点序列中存在大于19秒的值为[20,40,80,160,320],取其中最小的20秒对应的数据长度作为当前下载数据的终点,配置当前下载数据的区别范围为[10,20]。终端获取下载状态标志位的位置,将该下载状态标志位的位置与配置的当前下载数据的区间范围比较,若下载状态标志位的位置小于该当前下载数据的区间范围的上限值,则从下载状态标志位的位置起继续下载。
步骤314,清除下载数据的区间范围限制。
本实施例中,当不满足开启分片缓冲策略的条件时不需要对下载数据的区间范围进行限制,清除该下载数据的区间范围限制,保证数据下载。若该分片时间点序列中不存在比当前播放时间加上该预下载时间之和大的最小的时间点时,表明当前播放时间加上预下载时间已经超过了配置的分片数据,此时不需要再进行分片限制,直接下载状态标志位的位置起下载至文件末尾。例如分片时间点序列为[10,20,40,80,160],当前播放时间为156秒,加上预下载时间5秒,得到的和为161秒,超过了分片时间点序列中的最大时间点160,此时不需要再限制分片数据,直接下载后续未下完的全部数据。
步骤316,若满足开启分片缓冲策略的条件,判断该分片时间点序列中是否存在与当前播放时间加上该预下载时间之和相等的时间点,若存在,执行步骤318。
步骤318,配置当前下载数据的区别范围的下限为该相等的时间点,上限为该相等的时间点相邻的下一个时间点。
分片时间点序列为[10,20,40,80,160,320],预下载时间为5秒,当前播放时间为15秒时,查找当前播放时间加上预下载时间为20秒,在分片时间点序列中存在等于20秒的值,取其中20秒相邻的下一个时间点40秒对应的数据作为当前下载数据的终点,配置当前下载数据的区别范围为[20,40]。
获取下载状态标志位的位置,将该下载状态标志位的位置与配置的当前下载数据的区间范围比较,若下载状态标志位的位置小于该当前下载数据的区间范围的上限值,则从下载状态标志位的位置起继续下载。
上述流媒体在线播放方法,通过获取分片配置参数,检测到满足开启分片缓冲策略的条件时,获取分片时间点序列中不小于最小长度的第一个时间点作为首次缓冲的长度,在开始缓冲之后,检测到满足开启分片缓冲策略的条件,且判断在分片时间点序列中存在比当前播放时间加上预下载时间之和大的最小的时间点,则配置当前下载数据的区间范围的下限为所述最小的时间点相邻的上一个时间点,上限为所述最小的时间点,若满足开启分片缓冲策略的条件,判断该分片时间点序列中是否存在与当前播放时间加上该预下载时间之和相等的时间点,若存在该相等的时间点,则配置当前下载数据的区别范围的下限为所述相等的时间点,上限为该相等的时间点相邻的下一个时间点,开始下载下一个分片数据,如此流媒体在线播放时实现了分片缓冲,且配置了下载数据的区间范围,能准确控制下载的数据量,节省网络资源,可以避免不必要的流量浪费,节省网络流量。通过分片缓冲数据,可以节省终端和服务器的接口操作,能够节省能源。
在一个实施例中,该分片配置参数还包括网络条件、码率系数和开启时段。
网络条件是指用于控制客户端在哪些网络连接条件下需要开启分片缓冲策略。例如在2G、3G、4G、wifi网络或其他运营商网络下开启分片缓冲策略等。
码率系数是用来计算时长对应文件长度的系数。因为对于可变码率,某段时间范围的平均码率会高于整体的平均码率,对与这段时间,用平均码率计算出来的时间对应文件长度将小于实际满足解码要求的文件长度,导致二次缓冲发生,通过该码率系数可以避免二次缓冲发生。
开启时段是用于控制客户端在每天的何时将开启分片缓冲策略,如在22时00分至23时30分开启。
该检测是否满足开启分片缓冲策略的条件,包括(1)~(4):
(1)获取当前时间,判断该当前时间是否处于该开启时段内。
当前时间是指终端所在地的时间。
(2)获取当前网络,判断该当前网络是否满足该网络条件。
当前网络是指终端当前所使用的网络类型。
(3)获取流媒体的比特率,判断该比特率是否满足开启分片缓冲策略的比特率条件。
开启分片缓冲策略的比特率条件可为低于预定比特率,则开启分片缓冲策略。比特率是指每秒传送的比特数。
(4)若该当前时间处于该开启时段内、该当前网络满足该网络条件和该流媒体的比特率满足开启分片缓冲策略的比特率条件中至少一条满足,则满足开启分片缓冲策略的条件。
当前时间处于开启时段内、当前网络满足网络条件、流媒体的比特率满足开启分片缓冲策略的比特率条件等中一条满足,则满足开启分片缓冲策略的条件。
在一个实施例中,同时满足当前时间处于该开启时段内、该当前网络满足该网络条件和该流媒体的比特率满足开启分片缓冲策略的比特率条件时,为满足开启分片缓冲策略的条件。
在一个实施例中,同时满足当前时间处于该开启时段内、该当前网络满足该网络条件和该流媒体的比特率满足开启分片缓冲策略的比特率条件中的任意两条时,为满足开启分片缓冲策略的条件。
在一个实施例中,上述流媒体在线播放方法还包括:检测在播放过程中是否发生了二次缓冲或网络错误;若发生了二次缓冲或网络错误,则停止该分片缓冲策略,进入分片关闭状态。
本实施例中,二次缓冲是指播放流媒体数据时,由于数据不足导致解码等待,需要等待缓冲更多数据的情况。分片关闭状态是指停止分片缓冲策略的状态。
检测在播放过程中是否发生二次缓冲的步骤包括:检测在播放过程中是否接收到约定的第一错误码且网络连接未断开,若是,则认为发生了二次缓冲。第一错误码是用于表示发生了二次缓冲的。
网络错误是指网络连接异常断开时发生了网络错误。检测在播放过程中是否发生了网络错误的步骤包括:检测在播放过程中是否接收到约定的第二错误码,若是,则认为发生了网络错误。第二错误码是用于表示发生了网络错误。
在发生了二次缓冲或网络错误之后,关闭分片缓冲策略,可以保证用户不会因为慢速网络而被多次限速。
在一个实施例中,上述流媒体在线播放方法还包括:从进入分片关闭状态开始倒计时,当该倒计时的时长为零时,重新开启该分片缓冲策略,进入分片开启状态。
本实施例中,预先设定倒计时的时长。分片开启状态是指分片缓冲策略开启的状态。
在一个实施例中,上述流媒体在线播放方法还包括:检测在该分片关闭状态期间是否发生了二次缓冲或网络错误;若发生了二次缓冲或网络错误,则增加重新开启该分片缓冲策略的倒计时时长;若发生了二次缓冲或网络错误的次数小于次数阈值,则该倒计时的时长与该次数正相关;若发生了二次缓冲或网络错误的次数不小于次数阈值,则该倒计时的时长与该次数阈值相关。
本实施例中,二次缓冲是指播放流媒体数据时,由于数据不足导致解码等待,需要等待缓冲更多数据的情况。次数阈值是指允许进行增加倒计时的时长的最大次数。
检测在播放过程中是否发生二次缓冲的步骤包括:检测在播放过程中是否接收到约定的第一错误码且网络连接未断开,若是,则认为发生了二次缓冲。第一错误码是用于表示发生了二次缓冲的。
网络错误是指网络连接异常断开时发生了网络错误。检测在播放过程中是否发生了网络错误的步骤包括:检测在播放过程中是否接收到约定的第二错误码,若是,则认为发生了网络错误。第二错误码是用于表示发生了网络错误。
分片配置参数还可包括重新开启分片的时间基数和系数,用于在发生二次缓冲或网络错误时,计算重新开启分片缓冲策略的倒计时的时长。
在分片关闭状态期间,再次发生了二次缓冲或网络错误,将会增加重新开启分片缓冲策略的倒计时的时长,倒计时的时长计算公式(1)可为:
公式(1)中,t为重新开启分片缓冲策略的倒计时的时长;n为分片关闭状态中,发生二次缓冲或网络错误的次数;max为n的最大值,即次数阈值;a为重新开启分片的时间基数;b为重新开启分片的时间系数。
此外,在分片关闭状态期间切换流媒体源,甚至是重新启动应用,并不会影响重新开启分片缓冲策略的倒计时的时长,这样可以保证网络状态差的用户不会重复开启分片缓冲策略。
图4为另一个实施例中流媒体在线播放方法的流程图。如图4所示,一种流媒体在线播放方法,包括:
步骤402,获取分片配置参数,该分片配置参数包括分片时间点序列。
本实施例中,终端向服务器发起流媒体播放请求,接收服务器下发的分片配置参数,解析该分片配置参数。服务器将流媒体数据划分为多个分片,并设置分片配置参数。分片时间点序列是指由分片时间点按时间顺序排成的序列。分片时间点序列中包括一系列的时间点。每个时间点通常与分片数组中上一个分片一起组成一段分片。例如分片时间点序列为[10,20,40,80,160,320,……]等。该分片时间点序列可为将HTTP请求头中的Range字段的区间范围进行分片。
步骤404,检测是否满足开启分片缓冲策略的条件。
本实施例中,开启分片缓冲策略的条件可根据需要设定。例如,开启分片缓冲策略的条件可为在预设的开启时段开启,或者在当前网络为预设的网络条件,如在2G、3G或4G网络条件下开启,或者在流媒体的比特率在预设的比特率范围内开启,或者,两种以上条件组合满足时开启。
分片缓冲策略是指将流媒体数据划分为多个分片,以分片形式进行下载缓冲。
步骤406,若满足开启分片缓冲策略的条件,则接收服务器返回的第一分片数据。
本实施例中,终端向服务器发起连接请求,服务器接收到连接请求后,返回第一分片数据给终端。第一分片数据是指分片配置参数中第一个时间点所对应的分片数据。
步骤408,检测是否到达该分片时间点序列中的下一分片所对应的时间点。
本实施例中,检测当前播放时间是否到达分片时间点序列中的下一分片所对应的时间点。当前播放时间是指当前正在播放的流媒体的时间,例如流媒体在播放到30秒时暂停了,则当前播放时间为第30秒。
分片时间点序列为[10,20,40,80,160,320],当前播放时间为20秒时,到达了下一分片所对应的时间点20,则下载下一分片20至40秒的数据。
步骤410,若到达下一分片所对应的时间点,则向服务器发送下载消息。
本实施例中,到达下一分片所对应的时间点时,根据自定义协议发送给服务器一个下载消息。
步骤412,接收该服务器根据该下载消息发送的下一分片所对应的时间点的数据。
上述流媒体在线播放方法,通过获取分片配置参数,检测到满足开启分片缓冲策略的条件时,获取第一分片数据,当到达下一分片所对应的时间点时,从服务器下载下一分片所对应的时间点的数据,如此流媒体在线播放时实现了分片缓冲,每次下载下一分片对应的时间点的数据,能准确控制下载的数据量,节省网络资源,可以避免不必要的流量浪费,节省网络流量。通过分片缓冲数据,可以节省终端和服务器的接口操作,能够节省能源。
上述流媒体在线播放方法可适用于流媒体的试播或试听场景中,例如一首歌只试听前几秒,或一个视频只播放头几分钟,可以避免不必要的流量浪费。
再者,图3和图4中的流媒体在线播放方法可灵活控制下载的数据量,在一个分片的时间点所对应的数据下载过程中,不会控制下载速度,避免了低速连接导致连接被服务器主动断开。
在一个实施例中,该分片配置参数还包括网络条件、码率系数和开启时段。
网络条件是指用于控制客户端在哪些网络连接条件下需要开启分片缓冲策略。例如在2G、3G、4G、wifi网络或其他运营商网络下开启分片缓冲策略等。
码率系数是用来计算时长对应文件长度的系数。因为对于可变码率,某段时间范围的平均码率会高于整体的平均码率,对与这段时间,用平均码率计算出来的时间对应文件长度将小于实际满足解码要求的文件长度,导致二次缓冲发生,通过该码率系数可以避免二次缓冲发生。
开启时段是用于控制客户端在每天的何时将开启分片缓冲策略,如在22时00分至23时30分开启。
该检测是否满足开启分片缓冲策略的条件,包括(1)~(4):
(1)获取当前时间,判断该当前时间是否处于该开启时段内。
当前时间是指终端所在地的时间。
(2)获取当前网络,判断该当前网络是否满足该网络条件。
当前网络是指终端当前所使用的网络类型。
(3)获取流媒体的比特率,判断该比特率是否满足开启分片缓冲策略的比特率条件。
开启分片缓冲策略的比特率条件可为低于预定比特率,则开启分片缓冲策略。比特率是指每秒传送的比特数。
(4)若该当前时间处于该开启时段内、该当前网络满足该网络条件和该流媒体的比特率满足开启分片缓冲策略的比特率条件中至少一条满足,则满足开启分片缓冲策略的条件。
当前时间处于开启时段内、当前网络满足网络条件、流媒体的比特率满足开启分片缓冲策略的比特率条件等中一条满足,则满足开启分片缓冲策略的条件。
在一个实施例中,同时满足当前时间处于该开启时段内、该当前网络满足该网络条件和该流媒体的比特率满足开启分片缓冲策略的比特率条件时,为满足开启分片缓冲策略的条件。
在一个实施例中,同时满足当前时间处于该开启时段内、该当前网络满足该网络条件和该流媒体的比特率满足开启分片缓冲策略的比特率条件中的任意两条时,为满足开启分片缓冲策略的条件。
在一个实施例中,上述流媒体在线播放方法还包括:检测在播放过程中是否发生了二次缓冲或网络错误;若发生了二次缓冲或网络错误,则停止该分片缓冲策略,进入分片关闭状态。
本实施例中,二次缓冲是指播放流媒体数据时,由于数据不足导致解码等待,需要等待缓冲更多数据的情况。分片关闭状态是指停止分片缓冲策略的状态。
检测在播放过程中是否发生二次缓冲的步骤包括:检测在播放过程中是否接收到约定的第一错误码且网络连接未断开,若是,则认为发生了二次缓冲。第一错误码是用于表示发生了二次缓冲的。
网络错误是指网络连接异常断开时发生了网络错误。检测在播放过程中是否发生了网络错误的步骤包括:检测在播放过程中是否接收到约定的第二错误码,若是,则认为发生了网络错误。第二错误码是用于表示发生了网络错误。
在发生了二次缓冲或网络错误之后,关闭分片缓冲策略,可以保证用户不会因为慢速网络而被多次限速。
在一个实施例中,上述流媒体在线播放方法还包括:从进入分片关闭状态开始倒计时,当该倒计时的时长为零时,重新开启该分片缓冲策略,进入分片开启状态。
本实施例中,预先设定倒计时的时长。分片开启状态是指分片缓冲策略开启的状态。
在一个实施例中,上述流媒体在线播放方法还包括:检测在该分片关闭状态期间是否发生了二次缓冲或网络错误;若发生了二次缓冲或网络错误,则增加重新开启该分片缓冲策略的倒计时时长;若发生了二次缓冲或网络错误的次数小于次数阈值,则该倒计时的时长与该次数正相关;若发生了二次缓冲或网络错误的次数不小于次数阈值,则该倒计时的时长与该次数阈值相关。
本实施例中,二次缓冲是指播放流媒体数据时,由于数据不足导致解码等待,需要等待缓冲更多数据的情况。次数阈值是指允许进行增加倒计时的时长的最大次数。
检测在播放过程中是否发生二次缓冲的步骤包括:检测在播放过程中是否接收到约定的第一错误码且网络连接未断开,若是,则认为发生了二次缓冲。第一错误码是用于表示发生了二次缓冲的。
网络错误是指网络连接异常断开时发生了网络错误。检测在播放过程中是否发生了网络错误的步骤包括:检测在播放过程中是否接收到约定的第二错误码,若是,则认为发生了网络错误。第二错误码是用于表示发生了网络错误。
分片配置参数还可包括重新开启分片的时间基数和系数,用于在发生二次缓冲或网络错误时,计算重新开启分片缓冲策略的倒计时的时长。
在分片关闭状态期间,再次发生了二次缓冲或网络错误,将会增加重新开启分片缓冲策略的倒计时的时长,倒计时的时长计算公式(1)可为:
公式(1)中,t为重新开启分片缓冲策略的倒计时的时长;n为分片关闭状态中,发生二次缓冲或网络错误的次数;max为n的最大值,即次数阈值;a为重新开启分片的时间基数;b为重新开启分片的时间系数。
此外,在分片关闭状态期间切换流媒体源,甚至是重新启动应用,并不会影响重新开启分片缓冲策略的倒计时的时长,这样可以保证网络状态差的用户不会重复开启分片缓冲策略。
上述流媒体在线播放方法可适用于流媒体的试播或试听场景中,例如一首歌只试听前几秒,或一个视频只播放头几分钟,可以避免不必要的流量浪费。
图5为一个实施例中流媒体在线播放装置的结构框图。如图5所示,一种流媒体在线播放装置,运行于终端上,为实现图3中的流媒体在线播放方法所构建的装置,包括解析模块502、第一检测模块504、获取模块506、判断模块508和配置模块510。其中:
解析模块502用于在开始播放流媒体时,获取并解析分片配置参数,所述分片配置参数包括分片时间点序列和预下载时间。
第一检测模块504用于检测是否满足开启分片缓冲策略的条件。
获取模块506用于若满足开启分片缓冲策略的条件,则获取首次缓冲时需要下载流媒体的最小长度,获取所述分片时间点序列中不小于所述最小长度的第一个时间点作为所述首次缓冲的长度。
第一检测模块504还用于在开始缓冲之后,实时检测是否满足开启分片缓冲策略的条件。
判断模块508用于若满足开启分片缓冲策略的条件,判断该分片时间点序列中是否存在比当前播放时间加上所述预下载时间之和大的最小的时间点,以及判断所述分片时间点序列中是否存在与当前播放时间加上所述预下载时间之和相等的时间点。
配置模块510用于若存在所述最小的时间点,配置当前下载数据的区间范围的下限为所述最小的时间点相邻的上一个时间点,上限为所述最小的时间点;以及若存在所述相等的时间点,则配置当前下载数据的区别范围的下限为所述相等的时间点,上限为所述相等的时间点相邻的下一个时间点。
上述流媒体在线播放装置,通过获取分片配置参数,检测到满足开启分片缓冲策略的条件时,获取分片时间点序列中不小于最小长度的第一个时间点作为首次缓冲的长度,在开始缓冲之后,检测到满足开启分片缓冲策略的条件,且判断在分片时间点序列中存在比当前播放时间加上预下载时间之和大的最小的时间点,则配置当前下载数据的区间范围,如此流媒体在线播放时实现了分片缓冲,且配置了下载数据的区间范围,能准确控制下载的数据量,节省网络资源,可以避免不必要的流量浪费,节省网络流量。通过分片缓冲数据,可以节省终端和服务器的接口操作,能够节省能源。
在一个实施例中,该分片配置参数还包括网络条件、码率系数和开启时段。
该第一检测模块504还用于获取当前时间,判断该当前时间是否处于该开启时段内;获取当前网络,判断该当前网络是否满足该网络条件;以及获取流媒体的比特率,判断该比特率是否满足开启分片缓冲策略的比特率条件。
若该当前时间处于该开启时段内、该当前网络满足该网络条件且该流媒体的比特率满足开启分片缓冲策略的比特率条件中至少一个条件满足,则满足开启分片缓冲策略的条件。
在一个实施例中,同时满足当前时间处于该开启时段内、该当前网络满足该网络条件和该流媒体的比特率满足开启分片缓冲策略的比特率条件时,为满足开启分片缓冲策略的条件。
在一个实施例中,同时满足当前时间处于该开启时段内、该当前网络满足该网络条件和该流媒体的比特率满足开启分片缓冲策略的比特率条件中的任意两条时,为满足开启分片缓冲策略的条件。
图6为另一个实施例中流媒体在线播放装置的结构框图。如图6所示,一种流媒体在线播放装置,运行于终端上,为实现图3中的流媒体在线播放方法所构建的装置,除了包括解析模块502、第一检测模块504、获取模块506、判断模块508和配置模块510,还包括第二检测模块512、第一关闭模块514、第一计时模块516、第一开启模块518和第一增加模块520。其中:
第二检测模块512用于检测在播放过程中是否发生了二次缓冲或网络错误。
第一关闭模块514用于若发生了二次缓冲或网络错误,则停止该分片缓冲策略,进入分片关闭状态。
第一计时模块516用于从关闭该分片缓冲策略开始倒计时。
第一开启模块518用于当该倒计时时长为零时,重新开启该分片缓冲策略,进入分片开启状态。
该第二检测模块512还用于检测在该分片关闭状态期间是否发生了二次缓冲或网络错误。
第一增加模块520用于若发生了二次缓冲或网络错误,则增加重新开启该分片缓冲策略的倒计时时长。若发生了二次缓冲或网络错误的次数小于次数阈值,则该倒计时时长与该次数正相关;若发生了二次缓冲或网络错误的次数不小于次数阈值,则该倒计时时长与该次数阈值相关。
在其他实施例中,上述流媒体在线播放装置可包括解析模块502、第一检测模块504、获取模块506、判断模块508、配置模块510、第二检测模块512、第一关闭模块514、第一计时模块516、第一开启模块518和第一增加模块520任意可能的组合。
图7为另一个实施例中流媒体在线播放装置的结构框图。如图7所示,一种流媒体在线播放装置,运行于终端上,为实现图4中的流媒体在线播放方法所构建的装置,包括参数获取模块702、第一检查模块704、接收模块706和发送模块708。其中:
参数获取模块702用于获取分片配置参数,该分片配置参数包括分片时间点序列。
第一检查模块704检测是否满足开启分片缓冲策略的条件。
接收模块706用于若满足开启分片缓冲策略的条件,则接收服务器返回的第一分片数据。
第一检查模块704用于检测是否到达分片时间点序列中的下一分片时间点。
发送模块708用于若到达下一分片时间点,则向该服务器发送下载消息。
接收模块706还用于接收该服务器根据该下载消息发送的下一分片时间点的数据。
在一个实施例中,该分片配置参数还包括网络条件、码率系数和开启时段。
该第一检查模块704还用于获取当前时间,判断该当前时间是否处于该开启时段内;获取当前网络,判断该当前网络是否满足该网络条件;以及获取流媒体的比特率,判断该比特率是否满足开启分片缓冲策略的比特率条件。
若该当前时间处于该开启时段内、该当前网络满足该网络条件且该流媒体的比特率满足开启分片缓冲策略的比特率条件中至少一个条件满足,则满足开启分片缓冲策略的条件。
在一个实施例中,同时满足当前时间处于该开启时段内、该当前网络满足该网络条件和该流媒体的比特率满足开启分片缓冲策略的比特率条件时,为满足开启分片缓冲策略的条件。
在一个实施例中,同时满足当前时间处于该开启时段内、该当前网络满足该网络条件和该流媒体的比特率满足开启分片缓冲策略的比特率条件中的任意两条时,为满足开启分片缓冲策略的条件。
图8为另一个实施例中流媒体在线播放装置的结构框图。如图8所示,一种流媒体在线播放装置,运行于终端上,为实现图4中的流媒体在线播放方法所构建的装置,除了包括参数获取模块702、第一检查模块704、接收模块706和发送模块708,还包括第二检查模块710、第二关闭模块712、第二计时模块714、第二开启模块716和第二增加模块718。其中:
第二检查模块710用于检测在播放过程中是否发生了二次缓冲或网络错误。
第二关闭模块712用于若发生了二次缓冲或网络错误,则停止该分片缓冲策略,进入分片关闭状态。
第二计时模块714用于从关闭该分片缓冲策略开始倒计时。
第二开启模块716用于当该倒计时时长为零时,重新开启该分片缓冲策略,进入分片开启状态。
该第二检查模块710还用于检测在该分片关闭状态期间是否发生了二次缓冲或网络错误。
第二增加模块718用于若发生了二次缓冲或网络错误,则增加重新开启该分片缓冲策略的倒计时时长。若发生了二次缓冲或网络错误的次数小于次数阈值,则该倒计时时长与该次数正相关;若发生了二次缓冲或网络错误的次数不小于次数阈值,则该倒计时时长与该次数阈值相关。
在其他实施例中,上述流媒体在线播放装置可包括参数获取模块702、第一检查模块704、接收模块706、发送模块708、第二检查模块710、第二关闭模块712、第二计时模块714、第二开启模块716和第二增加模块718任意可能的组合。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)等。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (12)
1.一种流媒体在线播放方法,包括:
在开始播放流媒体时,获取并解析分片配置参数,所述分片配置参数包括分片时间点序列和预下载时间;
检测是否满足开启分片缓冲策略的条件;
若满足开启分片缓冲策略的条件,则获取首次缓冲时需要下载流媒体的最小长度,获取所述分片时间点序列中不小于所述最小长度的第一个时间点作为所述首次缓冲的长度,配置当前下载数据的区间范围为0至第一个时间点;
实时检测是否满足开启分片缓冲策略的条件;
若满足开启分片缓冲策略的条件,则判断所述分片时间点序列中是否存在比当前播放时间加上所述预下载时间之和大的最小的时间点,若存在所述最小的时间点,则配置当前下载数据的区间范围的下限为所述最小的时间点相邻的上一个时间点,上限为所述最小的时间点;
若满足开启分片缓冲策略的条件,判断所述分片时间点序列中是否存在与当前播放时间加上所述预下载时间之和相等的时间点,若存在所述相等的时间点,则配置当前下载数据的区别范围的下限为所述相等的时间点,上限为所述相等的时间点相邻的下一个时间点。
2.根据权利要求1所述的方法,其特征在于,所述分片配置参数还包括网络条件、码率系数和开启时段;
所述检测是否满足开启分片缓冲策略的条件,包括:
获取当前时间,判断所述当前时间是否处于所述开启时段内;
获取当前网络,判断所述当前网络是否满足所述网络条件;
获取流媒体的比特率,判断所述比特率是否满足开启分片缓冲策略的比特率条件;
若所述当前时间处于所述开启时段内,所述当前网络满足所述网络条件和所述流媒体的比特率满足开启分片缓冲策略的比特率条件中至少一条满足,则满足开启分片缓冲策略的条件。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
检测在播放过程中是否发生了二次缓冲或网络错误;
若发生了二次缓冲或网络错误,则停止所述分片缓冲策略,进入分片关闭状态。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
从进入分片关闭状态开始倒计时,当所述倒计时的时长为零时,重新开启所述分片缓冲策略,进入分片开启状态。
5.根据权利要求3所述的方法,其特征在于,所述方法还包括:
检测在所述分片关闭状态期间是否发生了二次缓冲或网络错误;
若发生了二次缓冲或网络错误,则增加重新开启所述分片缓冲策略的倒计时的时长;
若发生了二次缓冲或网络错误的次数小于次数阈值,则所述倒计时的时长与所述次数正相关;
若发生了二次缓冲或网络错误的次数不小于次数阈值,则所述倒计时的时长与所述次数阈值相关。
6.一种流媒体在线播放方法,包括:
获取分片配置参数,所述分片配置参数包括分片时间点序列;
检测是否满足开启分片缓冲策略的条件;
若满足开启分片缓冲策略的条件,则接收服务器返回的第一分片数据;
检测是否到达所述分片时间点序列中的下一分片所对应的时间点;
若到达下一分片所对应的时间点,则向所述服务器发送下载消息;
接收所述服务器根据所述下载消息发送的下一分片所对应的时间点的数据。
7.根据权利要求6所述的方法,其特征在于,所述分片配置参数还包括网络条件、码率系数和开启时段;
所述检测是否满足开启分片缓冲策略的条件,包括:
获取当前时间,判断所述当前时间是否处于所述开启时段内;
获取当前网络,判断所述当前网络是否满足所述网络条件;
获取流媒体的比特率,判断所述比特率是否满足开启分片缓冲策略的比特率条件;
若所述当前时间处于所述开启时段内、所述当前网络满足所述网络条件和所述流媒体的比特率满足开启分片缓冲策略的比特率条件中至少一条满足,则满足开启分片缓冲策略的条件。
8.根据权利要求6所述的方法,其特征在于,所述方法还包括:
检测在播放过程中是否发生了二次缓冲或网络错误;
若发生了二次缓冲或网络错误,则停止所述分片缓冲策略,进入分片关闭状态。
9.根据权利要求8所述的方法,其特征在于,所述方法还包括:
从进入分片关闭状态开始倒计时,当所述倒计时的时长为零时,重新开启所述分片缓冲策略,进入分片开启状态。
10.根据权利要求8所述的方法,其特征在于,所述方法还包括:
检测在所述分片关闭状态期间是否发生了二次缓冲或网络错误;
若发生了二次缓冲或网络错误,则增加重新开启所述分片缓冲策略的倒计时的时长;
若发生了二次缓冲或网络错误的次数小于次数阈值,则所述倒计时的时长与所述次数正相关;
若发生了二次缓冲或网络错误的次数不小于次数阈值,则所述倒计时的时长与所述次数阈值相关。
11.一种流媒体在线播放装置,其特征在于,包括:
解析模块,用于在开始播放流媒体时,获取并解析分片配置参数,所述分片配置参数包括分片时间点序列和预下载时间;
第一检测模块,用于检测是否满足开启分片缓冲策略的条件;
获取模块,用于若满足开启分片缓冲策略的条件,则获取首次缓冲时需要下载流媒体的最小长度,获取所述分片时间点序列中不小于所述最小长度的第一个时间点作为所述首次缓冲的长度,配置当前下载数据的区间范围为0至第一个时间点;
所述第一检测模块还用于实时检测是否满足开启分片缓冲策略的条件;
判断模块,用于若满足开启分片缓冲策略的条件,则判断所述分片时间点序列中是否存在比当前播放时间加上所述预下载时间之和大的最小的时间点,以及判断所述分片时间点序列中是否存在与当前播放时间加上所述预下载时间之和相等的时间点;
配置模块,用于若存在所述最小的时间点,配置当前下载数据的区间范围的下限为所述最小的时间点相邻的上一个时间点,上限为所述最小的时间点,以及若存在所述相等的时间点,则配置当前下载数据的区别范围的下限为所述相等的时间点,上限为所述相等的时间点相邻的下一个时间点。
12.一种流媒体在线播放装置,其特征在于,包括:
参数获取模块,用于获取分片配置参数,所述分片配置参数包括分片时间点序列;
第一检查模块,检测是否满足开启分片缓冲策略的条件;
接收模块,用于若满足开启分片缓冲策略的条件,则接收服务器返回的第一分片数据;
检查模块,用于检测是否到达分片时间点序列中的下一分片所对应的时间点;
发送模块,用于若到达下一分片所对应的时间点,则向所述服务器发送下载消息;
所述接收模块还用于接收所述服务器根据所述下载消息发送的下一分片所对应的时间点的数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610692808.XA CN106303563B (zh) | 2016-08-19 | 2016-08-19 | 流媒体在线播放方法、装置、执行终端以及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610692808.XA CN106303563B (zh) | 2016-08-19 | 2016-08-19 | 流媒体在线播放方法、装置、执行终端以及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106303563A true CN106303563A (zh) | 2017-01-04 |
CN106303563B CN106303563B (zh) | 2020-04-14 |
Family
ID=57661621
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610692808.XA Active CN106303563B (zh) | 2016-08-19 | 2016-08-19 | 流媒体在线播放方法、装置、执行终端以及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106303563B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109218847A (zh) * | 2017-06-30 | 2019-01-15 | 中兴通讯股份有限公司 | 一种下载控制方法、装置以及多媒体终端 |
CN110149524A (zh) * | 2018-02-11 | 2019-08-20 | 腾讯科技(深圳)有限公司 | 直播流切片系统、直播流切片方法、装置及可读介质 |
CN110381355A (zh) * | 2019-07-12 | 2019-10-25 | 上海掌门科技有限公司 | 一种用于控制流媒体播放的方法与设备 |
CN110401691A (zh) * | 2019-05-09 | 2019-11-01 | 腾讯科技(深圳)有限公司 | 一种资源下载控制方法、装置及终端 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103596036A (zh) * | 2013-11-12 | 2014-02-19 | 浪潮齐鲁软件产业有限公司 | 一种流媒体播放器智能缓冲方法 |
CN103873926A (zh) * | 2012-12-13 | 2014-06-18 | 腾讯科技(深圳)有限公司 | 下载并播放媒体文件的方法及系统 |
CN105744308A (zh) * | 2014-12-08 | 2016-07-06 | 深圳Tcl数字技术有限公司 | 流媒体数据的下载方法及装置 |
-
2016
- 2016-08-19 CN CN201610692808.XA patent/CN106303563B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103873926A (zh) * | 2012-12-13 | 2014-06-18 | 腾讯科技(深圳)有限公司 | 下载并播放媒体文件的方法及系统 |
CN103596036A (zh) * | 2013-11-12 | 2014-02-19 | 浪潮齐鲁软件产业有限公司 | 一种流媒体播放器智能缓冲方法 |
CN105744308A (zh) * | 2014-12-08 | 2016-07-06 | 深圳Tcl数字技术有限公司 | 流媒体数据的下载方法及装置 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109218847A (zh) * | 2017-06-30 | 2019-01-15 | 中兴通讯股份有限公司 | 一种下载控制方法、装置以及多媒体终端 |
CN109218847B (zh) * | 2017-06-30 | 2022-03-04 | 中兴通讯股份有限公司 | 一种下载控制方法、装置以及多媒体终端 |
CN110149524A (zh) * | 2018-02-11 | 2019-08-20 | 腾讯科技(深圳)有限公司 | 直播流切片系统、直播流切片方法、装置及可读介质 |
CN110401691A (zh) * | 2019-05-09 | 2019-11-01 | 腾讯科技(深圳)有限公司 | 一种资源下载控制方法、装置及终端 |
CN110401691B (zh) * | 2019-05-09 | 2021-11-16 | 腾讯科技(深圳)有限公司 | 一种资源下载控制方法、装置及终端 |
CN110381355A (zh) * | 2019-07-12 | 2019-10-25 | 上海掌门科技有限公司 | 一种用于控制流媒体播放的方法与设备 |
Also Published As
Publication number | Publication date |
---|---|
CN106303563B (zh) | 2020-04-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106303563A (zh) | 流媒体在线播放方法和装置 | |
EP2487883B1 (en) | Browser adjusting method and mobile terminal | |
CN103546950B (zh) | 自动开关无线路由器的WiFi模组的方法和装置 | |
CN104254007B (zh) | 一种音频处理方法及装置 | |
US9621949B2 (en) | Method and apparatus for reducing latency in multi-media system | |
US20070250637A1 (en) | Method and Apparatus for Reducing Jitter in a Receiver of a Selective Combining System | |
CN107800665B (zh) | 多媒体传输方法、接入网设备及终端 | |
CN105828134B (zh) | 一种音视频播放系统中的播放控制方法及装置 | |
JP2005510133A (ja) | データ送信システム | |
CN103916414B (zh) | 传输速率配置方法、终端设备、服务器及系统 | |
CN112997528A (zh) | 网络切换方法及相关设备 | |
CN109982293A (zh) | 流量产品推送方法、系统、电子设备及存储介质 | |
CN112566262B (zh) | 数据处理方法及装置、通信设备及存储介质 | |
CN104168218B (zh) | 抖动缓冲方法及装置 | |
CN104509060A (zh) | 流媒体数据传输的方法及装置 | |
CN106921865A (zh) | 视频处理方法及装置 | |
WO2023221794A1 (zh) | 控制方法、通信设备及存储介质 | |
CN104254074A (zh) | 一种拦截骚扰短消息的方法和装置 | |
CN105636209A (zh) | 一种终端并发业务的资源分配方法、装置及基站 | |
CN105791987B (zh) | 媒体数据播放的方法及终端 | |
CN102412921B (zh) | 多媒体广播业务的实现方法以及数据卡 | |
CN105915453A (zh) | 网络服务质量策略的调整方法和装置 | |
CN110169134A (zh) | 无线质量支持视频体验的检测方法及装置 | |
CN104424949A (zh) | 用于发送和接收语音分组的方法和实现该方法的电子设备 | |
US20150304952A1 (en) | Network Device, Method, Computer Program and Computer Program Product for Determining a Set of Power State Parameters |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |