CN113852865A - 码率调整方法、装置、设备和存储介质 - Google Patents
码率调整方法、装置、设备和存储介质 Download PDFInfo
- Publication number
- CN113852865A CN113852865A CN202010601652.6A CN202010601652A CN113852865A CN 113852865 A CN113852865 A CN 113852865A CN 202010601652 A CN202010601652 A CN 202010601652A CN 113852865 A CN113852865 A CN 113852865A
- Authority
- CN
- China
- Prior art keywords
- downloading
- code rate
- time length
- current
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 43
- 239000012634 fragment Substances 0.000 claims abstract description 92
- 230000005540 biological transmission Effects 0.000 claims description 16
- 238000004590 computer program Methods 0.000 claims description 5
- 238000010586 diagram Methods 0.000 description 10
- 238000005516 engineering process Methods 0.000 description 9
- 238000004891 communication Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 238000009877 rendering Methods 0.000 description 5
- 230000003044 adaptive effect Effects 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000013500 data storage Methods 0.000 description 2
- AWSBQWZZLBPUQH-UHFFFAOYSA-N mdat Chemical compound C1=C2CC(N)CCC2=CC2=C1OCO2 AWSBQWZZLBPUQH-UHFFFAOYSA-N 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
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/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/45—Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
- H04N21/462—Content or additional data management, e.g. creating a master electronic program guide from data received from the Internet and a Head-end, controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
- H04N21/4621—Controlling the complexity of the content stream or additional data, e.g. lowering the resolution or bit-rate of the video stream for a mobile client with a small screen
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本申请提供一种码率调整方法、装置、设备和存储介质,包括:获取当前分片中每个数据块的下载时长;确定所述当前分片中每个数据块的播放时长;基于所述下载时长和所述播放时长,对下一分片的下载码率进行调整。
Description
技术领域
本申请涉及通信技术领域,具体涉及一种码率调整方法、装置、设备和存储介质。
背景技术
随着视频技术和网络技术的发展,视频流量在网络数据消费的占比将超过95%,视频业务成为拉动网络流量发展的最有价值高地。特别是OTT业务,由于其基于HTTP广联网基本协议的技术特点,对系统支撑技术要求低,可服务于所有的智能终端设备的特点,所以OTT业务近两年得到快速的发展,也成为视频业务主要的发展方向。
OTT终端播放器采用分片下载、终端缓冲式播放方式,可以有效的解决广域网传输带宽不稳定给视频服务带来的卡顿问题,当网络质量波动时,通过ABR码率自适应给用户提供最优质的流畅播放体验。但是OTT播放器分片下载、终端缓冲式播放的技术特点,对于直播业务会引入较大的播放时延,相对于DVB和IPTV技术,直播时延大也成为OTT承载直播业务最主要的短板。
为了解决OTT承载直播服务的时延问题,引入数据块(chunk)传输技术,使得播放器不需要下载完整分片就可以对视频内容进行解码和渲染播放,从而可以降低分片带来的时延问题。
采用CMAF chunk可以降低直播业务的时延,但同时也导致了另一问题,使得现有OTT播放器ABR码率自适应的机制无效。
发明内容
本申请提供的码率调整方法、装置、设备和存储介质,以实现在采用CMAF Chunk可以降低直播业务的时延的同时,播放器码率可以自适应调整。
第一方面,本申请实施例提供一种码率调整方法,所述方法应用播放器,包括:
获取当前分片中每个数据块的下载时长;
确定所述当前分片中每个数据块的播放时长;
基于所述下载时长和所述播放时长,对下一分片的下载码率进行调整。
第二方面,本申请实施例提供一种码率调整装置,所述装置配置于播放器,包括:
下载时长获取模块,被配置为获取当前分片中每个数据块的下载时长;
播放时长确定模块,被配置为确定所述当前分片中每个数据块的播放时长;
码率调整模块,被配置为基于所述下载时长和所述播放时长,对下一分片的下载码率进行调整。
第三方面,本申请实施例提供一种设备,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本申请实施例提供的任一项所述的方法。
第四方面,本申请实施例提供一种存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如本申请实施例提供的任一项所述的方法。
本申请实施例提供的码率调整方法、装置、设备和存储介质,通过获取当前分片中每个数据块的下载时长以及当前分片中每个数据块的播放时长;基于下载时长和播放时长,对下一分片的下载码率进行调整,实现了在采用CMAF数据块技术降低直播业务的时延的同时,播放器码率自适应调整。
关于本申请的以上实施例和其他方面以及其实现方式,在附图说明、具体实施方式和权利要求中提供更多说明。
附图说明
图1是本申请实施例提供的一种码率调整方法的流程图;
图2是本申请实施例提供的一种OTT播放系统的结构示意图;
图3是普通OTT播放的时序的示意图;
图4是基于CMAF chunk播放的时序的示意图;
图5是本申请实施例提供的基于CMAF播放的码率自适应播放流程图;
图6是本申请实施例提供的一种码率调整装置的结构示意图;
图7是本申请实施例提供的一种设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚明白,下文中将结合附图对本申请的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
在一个实施例中,提供一种码率播放方法,如图1所示,本申请实施例提供的码率播放方法主要包括步骤S11、S12和S13。
S11、获取当前分片中每个数据块的下载时长。
S12、确定所述当前分片中每个数据块的播放时长。
S13、基于所述下载时长和所述播放时长,对下一分片的下载码率进行调整。
在本实施例中,上述码率调整方法由终端中的OTT播放器来执行。且终端的下载模块采用数据块(chunk)传输技术,使得播放器不需要接收到完整分片就可以对视频内容进行解码和渲染播放,从而可以降低分片带来的时延问题。
进一步的,所述数据块的下载时长是指下载模块通过HPPT从媒体服务器下载一个chunk所需的时间。Chunk块数据在发送开始和结束都有标识,这样下载模块就可以在检测到一个chunk块的开始标识时进行计时,在检测到该chunk块的结束标识时,停止计时,从而记录每个chunk块的传输时长。
所述每个数据块的播放时长是指OTT播放器播放一个chunk所需要的时间。
在一个实施例中,所述获取当前分片中每个数据块的下载时长,包括:向下载模块发送分片下载请求,其中,所述分片下载请求指示下载模块与媒体服务器建立HPPT连接,按照数据块传输模块下载视频数据,并记录该数据块的下载时长;获取所述下载模块发送的数据块视频数据以及该数据块的下载时长。
在本实施例中,当用户进行OTT播放器的直播频道后,播放器向下载模块发送分片下载请求。下载模块在接收到上述分片下载请求后,和媒体服务器建立HTTP(HTTPS)链接,并协商采用chunk块传输模式下载。然后从媒体服务器依次下载chunk块。
进一步的,播放器每收到一个chunk块数据,都同时从下载模块获取chunk的下载时长,并记录该chunk的下载时长。
当播放器完整接收到两个chunk块的媒体数据,开始渲染播放。其中,收满两个chunk才能启播,避免可能会造成播放卡顿。
需要说明的是,播放器在播放过程中,同步接收chunk的数据包,并记录每个chunk的下载时长。
在一个实施例中,所述获取当前分片中每个数据块的下载时长之前,还包括:接收下载模块在媒体服务器下载的频道描述文件;解析所述频道描述文件确定本频道所支持的所有码率。
在本实施例中,用户进入OTT播放器的直播频道,播放器通过下载模块到媒体服务器下载直播频道的manifest描述文件,播放器收到并解析manifest描述文件,判断是否支持CMAF,并解析出本频道支持哪几个码率。
在本实施例汇总,以manifest文件标明本频道支持1.2M、2.4M、3.5M三种码率为例进行说明。
在一个实施例中,所述基于所述下载时长和所述总播放时长,对下一分片的下载码率进行调整,包括:基于所述每个数据块的下载时长确定所述当前分片的总下载时长;基于所述每个数据块的播放时长确定所述当前分片的总播放时长;在所述总下载时长等于或大于所述总播放时长的情况下,降低所述下一分片的下载码率。
在本实施例中,数据块的下载时长记为Δtn,其中,n为数据块在分片中的序号。一个分片下载完成后,播放器统计整个分片所有chunk的总下载时长。当前分片的总下载时长=∑Δt1+Δt2+...+Δtn。
当前分片的总播放时长是指当前分片包括的所有数据块的播放时长之和。在总下载时长等于或者大于总播放时长的情况下,降低所述下一分片的下载码率,即向下切换码率。例如:当前码率是3.5M,可以切换码率至2.4M或者1.2M。
在一个实施例中,所述基于所述下载时长和所述总播放时长,对下一分片的下载码率进行调整,包括:
基于所述每个数据块的下载时长确定所述当前分片的总下载时长;
基于所述当前分片的总下载时长和当前分片宽带确定当前分片的实际下载速率;
基于所述每个数据块的播放时长确定所述当前分片的总播放时长;
基于所述总播放时长和所述实际下载速率确定当前网络可支持的最大码率带宽阈值;
基于所述最大码率带宽阈值和预设条件,增加所述下一分片的下载码率。
在一个实施例中,所述当前分片的实际下载速率是所述前分片宽带与所述当前分片的总下载时长的比值。
在一个实施例中,所述当前网络可支持的最大码率带宽阈值是所述总播放时长和所述实际下载速率之积。
在一个实施例中,基于所述最大码率带宽阈值和预设条件,增加所述下一分片的下载码率,包括:计算所述最大码率带宽阈值与切换阈值之积;确定码率集合;其中,所述码率集合包括当前频道所支持的所有码率中小于或等于所述最大码率带宽阈值与切换阈值之积的码率;在所述码率集合中选取最大码率作为下一分片的下载码率。
在本实施中,计算当前分片的实际下载速率,当前分片的实际下载速率Rate(Now)=分片带宽/分片下载时间=bandwidth(now)/(∑Δt1+Δt2+...+Δtn)。计算当前网络可以支持的最大码率带宽阈值:bandwidth(切换阈值)=Rate(Now)*分片播放时长。解析manifest中所有的码率带宽,切换取满足bandwidth(切换码率)<bandwidth(切换阈值)*80%的最大值,需要说明的是,80%是为了预留一定的冗余。请求下载满足条件的最大带宽的码率分片进行播放,实现码率的向上切换。
在一个实施例中,如图2所示,本申请实施例提供的码率调整方法涉及到的OTT播放器、HTTP下载模块和媒体服务器三部分。
媒体服务器负责生产chunk封装的ffmp4分片,并提供给终端HTTP分片下载能力。每一个chunk都包括moof和mdat两部分,可以进行独立的直接渲染管理器(DirectRendering Manager,DRM)加密、解码并进行播放服务。
为了兼容支持CMAF chunk低时延播放和普通的OTT播放两种播放器器,媒体下载服务仍然以分片文件的方式请求下载,每次下载分片建立HTTP链接,分片文件下载结束将HTTP链路拆除。
从HTTP1.1开始,HTTP传输就支持chunk的块传输,为了处理简单,媒体服务器通常将分片的chunk块大小和HTTP协议定义的chunk一致,这样每次HTTP的一个chunk数据正好是分片的一个完整chunk(包括chunk的moof和mdat)数据。
下载模块通过HTTP(HTTPS)的方式从媒体服务器下载视频分片,和普通OTT服务一样仍然采用文件的方式,播放器通过下载模块从媒体服务器下载媒体分片。当下载模块收到播放器分片的下载请求,和媒体服务器建立HTTP链接,并协商按照chunk块传输。Chunk块数据在发送开始和结束都有标识,这样下载模块就可以记录每次chunk块的传输时长,当每个chunk接受完毕的时候,将chunk媒体数据发给播放器的时候,同时携带本chunk的传输时间。
终端播放器是负责对视频媒体数据解码并渲染呈现给用户,要实现OTT直播的超低时延播放,那么播放器需要支持CMAF的规范,提供chunk方式的媒体播放能力。
图3是普通OTT播放的时序的示意图。如图3所示,媒体服务器生成多个分片,下载模块将整个分片下载完成之后,播放服务器才开始播放该分片的视频。
图4是基于CMAF chunk播放的时序的示意图。如图4所示,将一个分片分成多个chunk,下载模块和媒体服务器建立HTTP链接,通过Chunk块传输的模式传输媒体数据,播放器完整接收到两个chunk块的媒体数据,开始渲染播放,避免可能会造成播放卡顿。
播放器播放OTT直播频道,首先向下载模块申请下载直播频道manifest描述文件,如果视频支持CMAF,那么就自动执行CMAF的播放流程,通过下载模块向媒体服务器下载当前的最新分片(普通OTT需要下载倒数第三个分片,否则会导致播放卡顿)。下载模块和媒体服务器建立HTTP链接,通过Chunk块传输的模式传输媒体数据,下载模块记录每个chunk的传输时间,和媒体chunk数据包一起发给播放器。
播放器收到下载模块的媒体数据进行解码播放,同时记录每个chunk的下载时长,当一个分片播放结束,统计整个分片所有chunk的下载时长,和整个分片的播放时长比较,如果触发了码率切换阈值,那么从下一个分片开始进行相应的码率切换。
在一个实施例中,提供一种基于CMAF播放的码率自适应播放流程,如图5所示,当用户在终端上播放支持CMAF的直播频道时,码率自适应调整的播放流程如下:
1、用户进入OTT播放器的直播频道。
2、播放器通过下载模块到媒体服务器下载直播频道的manifest描述文件
3、播放器收到并解析manifest描述文件。
基于解析出的manifest描述文件判断是否支持CMAF,并解析出本频道支持哪几个码率。
如下面的manifest文件标明本频道支持1.2M、2.4M、3.5M三种码率:
<Representation frameRate="30"sar="1:1"id="f1-v1-x3"startWithSAP="1"bandwidth="1188848"codecs="avc1.42e01e"mimeType="video/mp4"height="360"width="640"/>
<Representation frameRate="30"sar="1:1"id="f2-v1-x3"startWithSAP="1"bandwidth="2368372"codecs="avc1.42e01e"mimeType="video/mp4"height="480"width="640"/>
<Representation frameRate="30"sar="1:1"id="f3-v1-x3"startWithSAP="1"bandwidth="3484136"codecs="avc1.4d401f"mimeType="video/mp4"height="576"
4、如果直播频道支持CMAF播放,那么选择一个码率从最新的分片开始下载并发起播放。
5、下载模块收到播放器的分片下载请求,和媒体服务器建立HTTP(HTTPS)链接,并协商为chunk块传输模式下载。
6、播放器每收到一个chunk数据,都同时从下载模块获取chunk的下载时间,并记录该chunk的下载时长。
对于每一个chunk块数据,下载模块从chunk的第一个数据包时,当chunk结束的时候计算本次chunk下载的时间,记为Δtn(n为chunk在分片中的序号)。
7、当播放器完整接收到两个chunk块的媒体数据,开始渲染播放。
其中,收满两个chunk才能启播,避免可能会造成播放卡顿。
8、播放过程中,播放器同步接收chunk的数据包,并记录每个chunk的下载时间。
9、一个分片下载完成后,播放器统计整个分片所有chunk的总下载时长。
分片下载时长=∑Δt1+Δt2+...+Δtn。
10、如果触发码率切换,则下载新码率的下一个分片。
11、下载模块下载新码率的分片,按照chunk块传输。
其中,触发码率向下切换的触发条件包括如下之一:
1)连续两个chunk的下载时间超过两个chunk的播放时长,需要向下切换码率。
2)整个分片下载的时长(当前播放分片所有chunk的下载时间总和)和分片的播放时长比较,如果下载时间接近甚至大于分片播放时长,那么就需要向下切换码率。
触发码率向上切换的判断流程如下:
1)计算分片下载的实际速率:下载速率Rate(Now)=分片带宽/分片下载时间=bandwidth(now)/(∑Δt1+Δt2+...+Δtn)
2)计算当前网络可以支持的最大码率带宽阈值:bandwidth(切换阈值)=Rate(Now)*分片播放时长
3)解析manifest中所有的码率带宽,切换取满足bandwidth(切换码率)<bandwidth(切换阈值)*80%的最大值,需要说明的是,80%是为了预留一定的冗余。
4)请求下载满足条件的最大带宽的码率分片进行播放,实现码率的向上切换。
在一个实施例中,提供一种码率播放装置,如图6所示,本申请实施例提供的码率播放装置主要包括下载时长获取模块61、播放时长确定模块62和码率调整模块63。
下载时长获取模块61,被配置为获取当前分片中每个数据块的下载时长;
播放时长确定模块62,被配置为确定所述当前分片中每个数据块的播放时长;
码率调整模块63,被配置为基于所述下载时长和所述播放时长,对下一分片的下载码率进行调整。
在一个实施例中,所述基于所述下载时长和所述总播放时长,对下一分片的下载码率进行调整,包括:
基于所述每个数据块的下载时长确定所述当前分片的总下载时长;
基于所述每个数据块的播放时长确定所述当前分片的总播放时长;
在所述总下载时长等于或大于所述总播放时长的情况下,降低所述下一分片的下载码率。
在一个实施例中,所述基于所述下载时长和所述总播放时长,对下一分片的下载码率进行调整,包括:
基于所述每个数据块的下载时长确定所述当前分片的总下载时长;
基于所述当前分片的总下载时长和当前分片宽带确定当前分片的实际下载速率;
基于所述每个数据块的播放时长确定所述当前分片的总播放时长;
基于所述总播放时长和所述实际下载速率确定当前网络可支持的最大码率带宽阈值;
基于所述最大码率带宽阈值和预设条件,增加所述下一分片的下载码率。
在一个实施例中,所述当前分片的实际下载速率是所述前分片宽带与所述当前分片的总下载时长的比值。
在一个实施例中,所述当前网络可支持的最大码率带宽阈值是所述总播放时长和所述实际下载速率之积。
在一个实施例中,基于所述最大码率带宽阈值和预设条件,增加所述下一分片的下载码率,包括:
计算所述最大码率带宽阈值与切换阈值之积;
确定码率集合;其中,所述码率集合包括当前频道所支持的所有码率中小于或等于所述最大码率带宽阈值与切换阈值之积的码率;
在所述码率集合中选取最大码率作为下一分片的下载码率。
在一个实施例中,所述获取当前分片中每个数据块的下载时长,包括:
向下载模块发送分片下载请求,其中,所述分片下载请求指示下载模块与媒体服务器建立HPPT连接,按照数据块传输模块下载视频数据,并记录该数据块的下载时长;
获取所述下载模块发送的数据块视频数据以及该数据块的下载时长。
在一个实施例中,所述获取当前分片中每个数据块的下载时长之前,还包括:
接收下载模块在媒体服务器下载的频道描述文件;
解析所述频道描述文件确定本频道所支持的所有码率。
本实施例中提供的控制器可执行本发明任意实施例所提供的码率调整方法,具备执行该方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本发明任意实施例所提供的码率调整方法。
值得注意的是,上述码率调整装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。
本申请实施例还提供一种设备,图7是本申请实施例提供的一种设备的结构示意图,如图7所示,该设备包括处理器71、存储器72、输入装置73、输出装置74和通信装置75;设备中处理器71的数量可以是一个或多个,图7中以一个处理器71为例;设备中的处理器71、存储器72、输入装置73和输出装置74可以通过总线或其他方式连接,图7中以通过总线连接为例。
存储器72作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本申请实施例中的码率调整方法对应的程序指令/模块(例如,码率调整装置中的下载时长获取模块61、播放时长确定模块62和码率调整模块63)。处理器71通过运行存储在存储器72中的软件程序、指令以及模块,从而执行设备的各种功能应用以及数据处理,即实现本申请实施例提供的任一方法。
存储器72可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据设备的使用所创建的数据等。此外,存储器72可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器72可进一步包括相对于处理器71远程设置的存储器,这些远程存储器可以通过网络连接至设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置73可用于接收输入的数字或字符信息,以及产生与设备的用户设置以及功能控制有关的键信号输入。输出装置74可包括显示屏等显示设备。
通信装置75可以包括接收器和发送器。通信装置75设置为根据处理器71的控制进行信息收发通信。
在一个示例性的实施方式中,本申请实施例还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种码率调整方法,包括;
获取当前分片中每个数据块的下载时长;
确定所述当前分片中每个数据块的播放时长;
基于所述下载时长和所述播放时长,对下一分片的下载码率进行调整。
当然,本申请实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本申请任意实施例所提供的码率调整方法中的相关操作。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本申请可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
以上所述,仅为本申请的示例性实施例而已,并非用于限定本申请的保护范围。
本领域内的技术人员应明白,术语用户终端涵盖任何适合类型的无线用户设备,例如移动电话、便携数据处理装置、便携网络浏览器或车载移动台。
一般来说,本申请的多种实施例可以在硬件或专用电路、软件、逻辑或其任何组合中实现。例如,一些方面可以被实现在硬件中,而其它方面可以被实现在可以被控制器、微处理器或其它计算装置执行的固件或软件中,尽管本申请不限于此。
本申请的实施例可以通过移动装置的数据处理器执行计算机程序指令来实现,例如在处理器实体中,或者通过硬件,或者通过软件和硬件的组合。计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码。
本申请附图中的任何逻辑流程的框图可以表示程序步骤,或者可以表示相互连接的逻辑电路、模块和功能,或者可以表示程序步骤与逻辑电路、模块和功能的组合。计算机程序可以存储在存储器上。存储器可以具有任何适合于本地技术环境的类型并且可以使用任何适合的数据存储技术实现,例如但不限于只读存储器(ROM)、随机访问存储器(RAM)、光存储器装置和系统(数码多功能光碟DVD或CD光盘)等。计算机可读介质可以包括非瞬时性存储介质。数据处理器可以是任何适合于本地技术环境的类型,例如但不限于通用计算机、专用计算机、微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、可编程逻辑器件(FGPA)以及基于多核处理器架构的处理器。
通过示范性和非限制性的示例,上文已提供了对本申请的示范实施例的详细描述。但结合附图和权利要求来考虑,对以上实施例的多种修改和调整对本领域技术人员来说是显而易见的,但不偏离本发明的范围。因此,本发明的恰当范围将根据权利要求确定。
Claims (11)
1.一种码率调整方法,其特征在于,所述方法应用播放器,包括:
获取当前分片中每个数据块的下载时长;
确定所述当前分片中每个数据块的播放时长;
基于所述下载时长和所述播放时长,对下一分片的下载码率进行调整。
2.根据权利要求1所述的方法,其特征在于,所述基于所述下载时长和所述播放时长,对下一分片的下载码率进行调整,包括:
基于所述每个数据块的下载时长确定所述当前分片的总下载时长;
基于所述每个数据块的播放时长确定所述当前分片的总播放时长;
在所述总下载时长等于或大于所述总播放时长的情况下,降低所述下一分片的下载码率。
3.根据权利要求1所述的方法,其特征在于,所述基于所述下载时长和所述播放时长,对下一分片的下载码率进行调整,包括:
基于所述每个数据块的下载时长确定所述当前分片的总下载时长;
基于所述当前分片的总下载时长和当前分片宽带确定当前分片的实际下载速率;
基于所述每个数据块的播放时长确定所述当前分片的总播放时长;
基于所述总播放时长和所述实际下载速率确定当前网络可支持的最大码率带宽阈值;
基于所述最大码率带宽阈值和预设条件,增加所述下一分片的下载码率。
4.根据权利要求3所述的方法,其特征在于,所述当前分片的实际下载速率是所述前分片宽带与所述当前分片的总下载时长的比值。
5.根据权利要求3所述的方法,其特征在于,所述当前网络可支持的最大码率带宽阈值是所述总播放时长和所述实际下载速率之积。
6.根据权利要求3所述的方法,其特征在于,基于所述最大码率带宽阈值和预设条件,增加所述下一分片的下载码率,包括:
计算所述最大码率带宽阈值与切换阈值之积;
确定码率集合;其中,所述码率集合包括当前频道所支持的所有码率中小于或等于所述最大码率带宽阈值与切换阈值之积的码率;
在所述码率集合中选取最大码率作为下一分片的下载码率。
7.根据权利要求1所述的方法,其特征在于,所述获取当前分片中每个数据块的下载时长,包括:
向下载模块发送分片下载请求,其中,所述分片下载请求指示下载模块与媒体服务器建立HPPT连接,按照数据块传输模块下载视频数据,并记录该数据块的下载时长;
获取所述下载模块发送的数据块视频数据以及该数据块的下载时长。
8.根据权利要求1所述的方法,其特征在于,所述获取当前分片中每个数据块的下载时长之前,还包括:
接收下载模块在媒体服务器下载的频道描述文件;
解析所述频道描述文件确定本频道所支持的所有码率。
9.一种码率调整装置,其特征在于,所述装置配置于播放器,包括:
下载时长获取模块,被配置为获取当前分片中每个数据块的下载时长;
播放时长确定模块,被配置为确定所述当前分片中每个数据块的播放时长;
码率调整模块,被配置为基于所述下载时长和所述播放时长,对下一分片的下载码率进行调整。
10.一种设备,其特征在于,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-8任一项所述的方法。
11.一种存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-8任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010601652.6A CN113852865A (zh) | 2020-06-28 | 2020-06-28 | 码率调整方法、装置、设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010601652.6A CN113852865A (zh) | 2020-06-28 | 2020-06-28 | 码率调整方法、装置、设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113852865A true CN113852865A (zh) | 2021-12-28 |
Family
ID=78972728
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010601652.6A Pending CN113852865A (zh) | 2020-06-28 | 2020-06-28 | 码率调整方法、装置、设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113852865A (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106878828A (zh) * | 2017-02-21 | 2017-06-20 | 微鲸科技有限公司 | 自动切换多媒体码率的方法及装置 |
CN109525893A (zh) * | 2018-11-20 | 2019-03-26 | 广州易方信息科技股份有限公司 | 基于切片文件时长阈值的视频切片方法 |
-
2020
- 2020-06-28 CN CN202010601652.6A patent/CN113852865A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106878828A (zh) * | 2017-02-21 | 2017-06-20 | 微鲸科技有限公司 | 自动切换多媒体码率的方法及装置 |
CN109525893A (zh) * | 2018-11-20 | 2019-03-26 | 广州易方信息科技股份有限公司 | 基于切片文件时长阈值的视频切片方法 |
Non-Patent Citations (1)
Title |
---|
WILLIAM LAW: "William Law:CMAF如何支持的超低延迟视频直播", pages 2 - 5, Retrieved from the Internet <URL:https://blog.csdn.net/vn9PLgZvnPs1522s82g/article/details/83510355> * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107071529B (zh) | 一种hls视频播放方法、终端及服务器 | |
CN110290402B (zh) | 一种视频码率调整方法、装置、服务器及存储介质 | |
CN111586480B (zh) | 低延迟流媒体 | |
US20080133766A1 (en) | Method and apparatus for streaming media to a plurality of adaptive client devices | |
US20130179547A1 (en) | Method and device for playing stream media video content | |
CN108063769B (zh) | 一种内容服务的实现方法、装置及内容分发网络节点 | |
KR101904053B1 (ko) | 단말장치의 멀티미디어 처리장치 및 방법 | |
CN110933517B (zh) | 码率切换方法、客户端和计算机可读存储介质 | |
EP1271953A2 (en) | Improved startup methods and apparatuses for use in streaming content | |
CN106791956A (zh) | 网络直播卡顿的处理方法及装置 | |
US20150271231A1 (en) | Transport accelerator implementing enhanced signaling | |
CN104956631A (zh) | 链路感知流传输自适应 | |
EP1500248B1 (en) | System und method for data transmission combining downloading and streaming | |
WO2011150657A1 (zh) | 流媒体中播放时间点跳转后的处理方法及装置 | |
CN102883152A (zh) | 具有适应性的媒体流传输 | |
CN109729396B (zh) | 视频分片数据传输方法和装置 | |
KR101472032B1 (ko) | Http 스트리밍에서 표현 스위칭시 처리 방법 | |
US8448213B2 (en) | Contents distribution system, contents distribution server, contents reproduction terminal, and contents distribution method | |
US20150095509A1 (en) | Adaptive buffers for media players | |
EP2993911A1 (en) | Method and client terminal for receiving a multimedia content split into at least two successive segments, and corresponding computer program product and computer-readable medium | |
CN106791860A (zh) | 一种自适应视频编码控制系统及方法 | |
CN111866526A (zh) | 一种直播业务处理方法和装置 | |
CN113242436A (zh) | 直播数据的处理方法、装置及电子设备 | |
WO2013185547A1 (zh) | 一种缓存服务器的服务方法、缓存服务器及系统 | |
WO2014124555A1 (zh) | 流媒体数据传输的调节方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |