CN110636346B - 一种码率自适应切换方法、装置、电子设备及存储介质 - Google Patents
一种码率自适应切换方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN110636346B CN110636346B CN201910887584.1A CN201910887584A CN110636346B CN 110636346 B CN110636346 B CN 110636346B CN 201910887584 A CN201910887584 A CN 201910887584A CN 110636346 B CN110636346 B CN 110636346B
- Authority
- CN
- China
- Prior art keywords
- file
- code rate
- switched
- determining
- key frame
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/40—Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
- G06F16/41—Indexing; Data structures therefor; Storage structures
-
- 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
- H04N21/23805—Controlling the feeding rate to the network, e.g. by controlling the video pump
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Databases & Information Systems (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请公开了一种码率自适应切换方法、装置、电子设备及存储介质,用于解决不同码率的媒体文件切换效率较低的问题。该方法包括:确定目标媒体文件集中的第一码率文件,并播放第一码率文件;确定满足预设切换条件的待切换码率文件以及与待切换码率文件对应的索引信息;根据索引信息,确定从第一码率文件切换为待切换码率文件的目标关键帧时间戳,并根据目标关键帧时间戳确定目标关键帧在待切换码率文件中的位置;在第一码率文件播放到目标关键帧时间戳对应的时刻时,在目标关键帧时间戳对应的目标关键帧在待切换码率文件中的位置处,将第一码率文件切换为待切换码率文件。
Description
技术领域
本公开涉及通信技术领域,尤其涉及一种码率自适应切换方法、装置、电子设备及存储介质。
背景技术
目前,对于同一媒体文件(例如视频文件),客户端在不同的网络环境下播放不同码率的媒体文件也存在的不同的表现。具体的,客户端播放低码率的媒体文件可以保证较差网络环境下播放的流畅性,但是无法满足播放画面清晰度的要求;以及客户端播放高码率的媒体文件虽然提高了播放的清晰度,但是对较差的网络环境,媒体文件播放的流畅性较差。因而需要对媒体文件进行多个码率之间的转码处理。
相关技术中在进行多码率媒体文件切换播放时,客户端只可以在分片间进行码率切换,也就是当前分片数据下载完成,下载下一个分片时可以进行是否切换码率的判断,但是若分片的播放总时长较大的话,就不能够比较及时的完成码率文件的切换,也就是说,在选择切换媒体文件后,有一定的反应时间,导致视频不能直接播放,降低用户的使用体验。
可见,相关技术中的客户端的多码率媒体文件切换时存在切换效率较低的技术问题。
发明内容
本公开提供一种码率自适应切换方法、装置、电子设备及存储介质,以解决现有技术中不同码率的媒体文件切换效率的较低的技术问题。本公开的技术方案如下:
根据本公开实施例的第一方面,提供一种码率自适应切换方法,包括:
确定目标媒体文件集中的第一码率文件,并播放所述第一码率文件,其中,所述目标媒体文件集中包括同一媒体文件对应的除码率不同之外,编码参数均相同的多个码率文件;
确定满足预设切换条件的待切换码率文件以及与所述待切换码率文件对应的索引信息,其中,所述索引信息至少包括多个关键帧时间戳和所述多个关键帧时间戳在所述待切换码率文件中的多个位置;
根据所述索引信息,确定从所述第一码率文件切换为所述待切换码率文件的目标关键帧时间戳,并根据所述目标关键帧时间戳确定目标关键帧在所述待切换码率文件中的位置;
在所述第一码率文件播放到所述目标关键帧时间戳对应的时刻时,在所述目标关键帧时间戳对应的目标关键帧在所述待切换码率文件中的位置处,将所述第一码率文件切换为所述待切换码率文件。
在一种可能的实施方式中,所述确定满足预设切换条件的待切换码率文件以及与所述待切换码率文件对应的索引信息,包括:
确定所述待切换码率文件中是否包括所述索引信息;
若是,则直接从所述待切换码率文件中获取所述索引信息。
在一种可能的实施方式中,所述确定满足预设切换条件的待切换码率文件以及与所述待切换码率文件对应的索引信息,包括:
若所述待切换码率文件中未包括所述索引信息,则获取所述待切换码率文件对应的索引文件,其中,所述索引文件用于表征针对所述待切换码率文件对应封装生成的包含索引信息的文件;
根据所述索引文件,获取所述索引信息。
在一种可能的实施方式中,所述确定满足预设切换条件的待切换码率文件,包括:
检测当前时刻所述第一码率文件的下载速率以及所述第一码率文件的剩余缓存数据的可播放时长;
根据所述下载速率、所述剩余缓存数据的可播放时长和预设选择策略,确定所述待切换码率文件。
在一种可能的实施方式中,所述根据所述下载速率、所述剩余缓存数据的播放时间和预设选择策略,确定待切换码率文件,包括:
将所述下载速率和所述第一码率进行比较,若所述第一码率小于所述下载速率,则从所述多个码率文件中确定码率大于所述第一码率的文件形成第一目标文件集;
确定所述第一目标文件集中每个码率文件的码率与所述下载速率对应的第一差值集,并从所述第一差值集中确定出差值最小的码率文件,以确定第一候选码率文件;
若确定所述第一候选码率文件对应的第一时间值小于所述剩余缓存数据的可播放时长,则将所述第一候选码率文件作为待切换码率文件,其中,所述第一时间值用于表征以第一候选码率播放所述同一媒体文件的剩余数据的可播放时长。
在一种可能的实施方式中,所述根据所述下载速率、所述剩余缓存数据的播放时间和预设选择策略,确定待切换码率文件,包括:
将所述下载速率和所述第一码率进行比较,若所述第一码率大于所述下载速率,则从所述多个码率文件中码率小于所述第一码率的文件形成第二目标文件集;
确定所述第二目标文件集中每个码率文件的码率与所述下载速率对应的第二差值集,并从所述第二差值集中确定出差值最小的码率文件,以确定第二候选码率文件;
若确定所述第二候选码率文件对应的第二时间值大于所述剩余缓存数据的播放时间,则将所述第二候选码率文件作为待切换码率文件,其中,所述第二时间值用于表征以第二候选码率播放所述同一媒体文件的剩余数据的可播放时长。
在一种可能的实施方式中,所述根据所述索引信息,确定从所述第一码率文件切换为所述待切换码率文件的目标关键帧时间戳,并根据所述目标关键帧时间戳确定目标关键帧在所述待切换码率文件中的位置,包括:
根据所述第一码率文件的当前播放时刻,确定从所述第一码率文件切换为所述待切换码率文件的切换时间;
从所述索引信息中的多个关键帧时间戳中确定出与所述切换时间对应的目标关键帧时间戳;
根据所述目标关键帧时间戳确定出对应的目标关键帧在所述待切换码率文件中的位置。
在一种可能的实施方式中,所述在达到所述目标关键帧时间戳时,在所述目标关键帧时间戳对应的目标关键帧在所述待切换码率文件中的位置处,将所述第一码率文件切换为所述待切换码率文件,包括:
确定所述待切换码率文件的文件地址信息,并获取所述待切换码率文件;
在到达所述目标关键帧时间戳时,在所述目标关键帧在所述待切换码率文件中的位置处将所述第一码率文件切换为所述待切换码率文件。
根据本公开实施例的第二方面,提供一种码率自适应切换装置,所述装置包括:
第一确定单元,被配置为执行确定目标媒体文件集中的第一码率文件,并播放所述第一码率文件,其中,所述目标媒体文件集中包括同一媒体文件对应的除码率不同之外,编码参数均相同的多个码率文件;
第二确定单元,被配置为执行确定满足预设切换条件的待切换码率文件以及与所述待切换码率文件对应的索引信息,其中,所述索引信息至少包括多个关键帧时间戳和所述多个关键帧时间戳在所述待切换码率文件中的多个位置;
第三确定单元,被配置为执行根据所述索引信息,确定从所述第一码率文件切换为所述待切换码率文件的目标关键帧时间戳,并根据所述目标关键帧时间戳确定目标关键帧在所述待切换码率文件中的位置;
切换单元,被配置为执行在所述第一码率文件播放到所述目标关键帧时间戳对应的时刻时,在所述目标关键帧时间戳对应的目标关键帧在所述待切换码率文件中的位置处,将所述第一码率文件切换为所述待切换码率文件。
在一种可能的实施方式中,所述第二确定单元,被配置为执行:
确定所述待切换码率文件中是否包括所述索引信息;
若是,则直接从所述待切换码率文件中获取所述索引信息。
在一种可能的实施方式中,所述第二确定单元,被配置为执行:
若所述待切换码率文件中未包括所述索引信息,则获取所述待切换码率文件对应的索引文件,其中,所述索引文件用于表征针对所述待切换码率文件对应封装生成的包含索引信息的文件;
根据所述索引文件,获取所述索引信息。
在一种可能的实施方式中,所述第二确定单元,被配置为执行:
检测当前时刻所述第一码率文件的下载速率以及所述第一码率文件的剩余缓存数据的可播放时长;
根据所述下载速率、所述剩余缓存数据的可播放时长和预设选择策略,确定所述待切换码率文件。
在一种可能的实施方式中,所述第二确定单元,被配置为执行:
将所述下载速率和所述第一码率进行比较,若所述第一码率小于所述下载速率,则从所述多个码率文件中确定码率大于所述第一码率的文件形成第一目标文件集;
确定所述第一目标文件集中每个码率文件的码率与所述下载速率对应的第一差值集,并从所述第一差值集中确定出差值最小的码率文件,以确定第一候选码率文件;
若确定所述第一候选码率文件对应的第一时间值小于所述剩余缓存数据的可播放时长,则将所述第一候选码率文件作为待切换码率文件,其中,所述第一时间值用于表征以第一候选码率播放所述同一媒体文件的剩余数据的可播放时长。
在一种可能的实施方式中,所述第二确定单元,被配置为执行:
将所述下载速率和所述第一码率进行比较,若所述第一码率大于所述下载速率,则从所述多个码率文件中码率小于所述第一码率的文件形成第二目标文件集;
确定所述第二目标文件集中每个码率文件的码率与所述下载速率对应的第二差值集,并从所述第二差值集中确定出差值最小的码率文件,以确定第二候选码率文件;
若确定所述第二候选码率文件对应的第二时间值大于所述剩余缓存数据的播放时间,则将所述第二候选码率文件作为待切换码率文件,其中,所述第二时间值用于表征以第二候选码率播放所述同一媒体文件的剩余数据的可播放时长。
在一种可能的实施方式中,所述第三确定单元,被配置为执行:
根据所述第一码率文件的当前播放时刻,确定从所述第一码率文件切换为所述待切换码率文件的切换时间;
从所述索引信息中的多个关键帧时间戳中确定出与所述切换时间对应的目标关键帧时间戳;
根据所述目标关键帧时间戳确定出对应的目标关键帧在所述待切换码率文件中的位置。
在一种可能的实施方式中,所述切换单元,被配置为执行:
确定所述待切换码率文件的文件地址信息,并获取所述待切换码率文件;
在到达所述目标关键帧时间戳时,在所述目标关键帧在所述待切换码率文件中的位置处将所述第一码率文件切换为所述待切换的码率文件。
根据本公开实施例的第三方面,提供一种电子设备,所述电子设备包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,处理器被配置为执行指令,以实现本公开实施例上述第一方面以及第一方面涉及的任一可能涉及的方法。
根据本公开实施例的第四方面,提供一种存储介质,当存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行本公开实施例上述第一方面以及第一方面涉及的任一可能涉及的方法。
根据本公开实施例的第五方面,提供一种计算机程序产品,当所述计算机程序产品在电子设备上运行时,使得电子设备能够执行本公开实施例上述第一方面以及第一方面涉及的任一可能涉及的方法。
本公开的实施例提供的技术方案至少带来以下有益效果:
在本公开实施例中,可以从目标媒体文件集中确定出第一码率文件,并以第一码率播放第一码率文件。然后可以确定满足预设切换条件的待切换码率文件以及待切换码率文件的索引信息,例如根据当前的第一码率文件的播放状态来确定待切换码率文件,从而可以从索引信息中,确定从第一码率文件切换为待切换码率文件的目标关键帧时间戳,并根据目标关键帧时间戳确定目标关键帧在待切换码率文件中的位置,进而在确定出切换时间以及切换位置之后,在达到第一码率文件播放到目标关键帧时间戳对应的时刻时,在目标关键帧时间戳对应的目标关键帧在待切换码率文件中的位置处,将第一码率文件切换为待切换码率文件。
在本公开实施例中,由于目标媒体文件集中包括同一媒体文件对应的除码率不同之外,编码参数均相同的多个码率文件,则可以较为准确的保证对多个码率文件的解码的统一性,从而可以保障以帧内编码帧(关键帧)为划分单元对多个码率文件进行划分即可以在任何一个关键帧的图像帧处进行码率转换。然后在确定出待切换码率文件以及与待切换码率文件对应的索引信息后,由于索引信息中包括多个关键帧时间戳以及与关键帧时间戳对应的位置,从而可以从索引信息中确定具体切换的关键帧的切换时间以及关键帧的切换位置,即确定具体的目标关键帧,这样的话,可以准确且快速的将第一码率文件切换到待切换码率文件,切换耗费时间较短,从而可以提高切换效率,提升用户的使用体验。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
图1是根据一示例性实施例示出的应用场景的示意图;
图2是根据一示例性实施例示出的码率自适应切换方法的流程图;
图3是根据一示例性实施例示出的码率自适应切换装置的结构框图;
图4为根据一示例性实施例示出的电子设备的结构示意图;
图5为根据一示例性实施例示出的电子设备的另一结构示意图。
具体实施方式
为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
本公开实施例描述的应用场景是为了更加清楚的说明本公开实施例的技术方案,并不构成对于本公开实施例提供的技术方案的限定,本领域普通技术人员可知,随着新应用场景的出现,本公开实施例提供的技术方案对于类似的技术问题,同样适用。
下面对文中出现的一些词语进行解释:
1、本公开实施例中术语“媒体文件”:表征音频信息、视频信息和图片信息对应的各种编码数据在计算机中以文件的形式存储。
2、本公开实施例中术语“关键帧”:关键帧即I帧(Intra-coded picture,帧内编码图像帧),不参考其他图像帧,只利用本帧的信息进行编码。
3、本公开实施例中术语“GOP”:在视频编码序列中,GOP即Group of picture(图像组),指两个I帧之间的距离。
相关技术中,为了能够在动态变化的网络状况下为用户提供好的媒体文件播放,目前大都采用基于HTTP的流媒体传输协议的HLS(HTTP Live Streaming)、smoothstreaming、DASH等的动态码率自适应技术来实现同一媒体文件不同码率的切换。在HLS技术中,服务器可以将媒体输入流分散为多个小片,然后将多个小片保存为多个TS格式的媒体文件,然后客户端可以根据多个分片的码率文件,进行客户端在播放过程中动态选择合适的码率文件进行播放。即相关技术采用分片技术来证客户端在播放过程中可以动态选择合适的码率进行播放。
然而,在实际应用过程中,前述的技术方案仅可以在分片间进行不同码率文件的切换,这样的话,由于是在分片间进行的码率切换,那么需要把当前分片下载完之后,才可以下载另一码率的下一个分片来进行切换,如果分片的时长较长的话,则需要耗费较长的时间才可以完成不同码率文件的切换,即不同码率文件切换效率较低。
鉴于此,本公开实施例提供一种码率自适应切换方法,通过该方法可以帧内编码图像帧为最小划分单元来实现媒体文件码率自适应切换,这样的方式,可以使得切换的速度较快,从而可以实现较高的切换效率。
在介绍完本公开实施例的设计思想之后,下面对本公开实施例中的技术方案适用的应用场景做一些简单介绍,需要说明的是,以下介绍的应用场景仅用于说明本公开实施例而非限定。在具体实施时,可以根据实际需要灵活地应用本公开实施例提供的技术方案。
请参见图1所示的一种应用场景示意图,图1包括包含客户端的电子设备和计算机设备两部分,需要说明的是,图1中仅以三个包含客户端的电子设备(即分别为客户端1、客户端2、客户端3)和三个计算机设备示出,在具体实施过程中,可以是多个包含客户端的电子设备与1个计算机设备之间进行交互,也可以是多个包含客户端的电子设备和多个计算机设备之间进行交互。
在本公开实施例中,计算机设备(例如服务器)可以预先对媒体文件进行处理,从而可以获得除了码率外其编码参数均相同的多个媒体文件,用户可以在客户端进行操作来确定需要播放的媒体文件,然后客户端自主从多个媒体文件确定当前播放的码率的媒体文件,并且检测当前播放的码率的媒体文件的下载速度以及剩余数据的可播放时长,然后再从多个媒体文件中确定出待切换码率的媒体文件,从而确定切换的时间点和位置,在从电子设备中下载待切换码率的媒体文件进行播放。需要说明的是,为了便于描述,在本公开实施例中,将不同码率的媒体文件称作码率文件,例如将第一码率媒体文件称作第一码率文件。
下面结合说明书附图介绍本申请实施例提供的技术方案。
图2是一种码率自适应切换方法的流程图,如图2所示,该方法可以应用于前述的任一电子设备。图2所示的流程图描述如下。
在步骤S21中,确定目标媒体文件集中的第一码率文件,并播放第一码率文件,其中,目标媒体文件集中包括同一媒体文件对应的除码率不同之外,编码参数均相同的多个码率文件。
在本公开实施例中,如前所述,用户可以在客户端进行相应的操作,从而客户端可以确定出用户希望浏览的媒体文件,为了更好的理解本公开的技术方案,后文中以媒体文件为视频文件为例对本公开提出的技术方案进行说明。
在具体的实施过程中,客户端可以从计算机设备获取视频文件的播放信息,其中,播放信息可以包括多个不同码率的同一视频文件的地址(例如视频文件URL地址)、码率(例如1Mbps,标志1秒钟的数据有1Mb)、格式(例如H264/H265/MPEG)、帧率(例如25fps,表示一秒钟有25帧)、分辨率(例如360P/720P/1080P)等编码信息。然后可以根据当前时刻的网络质量,从目标视频文件集中确定可播放的第一码率文件,并以第一码率播放第一码率文件。具体的,还可以是将最低码率的码率文件作为第一码率文件,本公开中不做限制。这样的方式,可以尽量保证开始播放时的视频文件播放的流畅性,提升用户的使用体验。
例如,用户在客户端确认的待播放的目标视频文件为视频文件A,则客户端可以从计算机设备中获取视频文件A对应的视频文件集,其中,视频文件集中包括码率为300kbps的视频文件a1、码率为500kbps的视频文件a2、码率为600kbps的视频文件a3,从而可以将视频文件a1作为第一码率文件。
在步骤S22中,确定满足预设切换条件的待切换码率文件以及与待切换码率文件对应的索引信息,其中,索引信息至少包括多个关键帧时间戳和多个关键帧时间戳在待切换码率文件中的多个位置。
在本公开实施例中,当播放第一码率文件之后,可以检测当前时刻第一码率文件的下载速率以及第一码率文件的剩余缓存数据的可播放时长,然后根据检测到的下载速率、剩余缓存数据的可播放时长以及预设选择策略,来判断是否需要进行码率切换,当确定需要切换后,可以确定待切换码率文件。
在本公开实施例中,可以将检测到的下载速率、剩余缓存数据的可播放时长以及预设选择策略结合来确定待切换码率文件,即不仅采用与网络质量最相关的下载速率作为参考因素,还考虑到在实际应用过程中,可能出现网络抖动的情况,因而还结合了剩余数据的可播放时长来确定待切换码率的文件,这样的话,确定出的待切换码率文件可以较为适合当前的网络环境来播放。
进一步地,在具体的实施过程中,可能切换到高于第一码率的码率对应的视频文件,也可能切换到低于第一码率的码率对应的视频文件。
在具体实施过程中,客户端的播放器是有缓冲区的,当网络足够好时,下载速率会大于播放速率,那么这个缓冲区是有剩余数据,如果网络比较差,下载速率会小于播放速率,那么这个缓冲区是不会有剩余数据。对于客户端的播放器来说,如果下载速率大于当前播放的视频文件的码率,并且缓冲区中有剩余数据,且剩余数据大于阈值,该阈值可以表征为当切换成高码率文件之后,可以播放高码率文件之后可以播放一定时长,则可以尝试切换成高码率的视频文件。反之如果下载速率小于当前播放的文件码率,并且缓冲区中剩余数据小于阈值,则可以尝试切换成低码率的视频文件。也就是说,将当前播放的视频文件切换为高码率的视频文件还是切换成低码率的视频文件,可以是根据下载速率和剩余数据的可播放时长来确定的。下面将对具体的确定过程进行说明。
在具体的实施过程中,可以将前述检测到的下载速率和第一码率进行比较,若第一码率小于下载速率,则从多个码率文件中确定码率大于第一码率的文件形成第一目标文件集,然后确定第一目标文件集中每个码率文件的码率与下载速率对应的第一差值集,并从所述第一差值集中确定出差值最小的码率文件,从而可以确定第一候选码率文件,进而可以在确定第一候选码率文件对应的第一时间值小于剩余缓存数据的可播放时长时,则将第一候选码率文件作为待切换码率文件,其中,第一时间值用于表征以第一候选码率播放同一媒体文件的剩余数据的可播放时长。
例如,下载速率为600kbps,剩余数据的可播放时长为10000ms,第一码率为300kbps,则可以从目标视频文件集中确定出大于第一码率的第一码率文件集,其中,第一码率文件集中包括码率为400kbps的码率文件1、码率为500kbps的码率文件2、码率为600kbps的码率文件3以及码率为700kbps的码率文件4,则可以确定第一差值集中包括码率文件1的码率与下载速率的差值为-200、码率文件2的码率与下载速率的差值为-100、码率文件3的码率与下载速率的差值为100以及码率文件4的码率与下载速率的差值为200,则确定出差值最小的码率文件即选择低于下载速率且最靠近的码率文件,可以将码率文件2选择为第一候选码率文件。然后确定出码率文件2的第一值为5000ms,即第一候选码率文件对应的第一时间值5000ms小于剩余缓存数据的可播放时长10000ms,则将第一候选码率文件作为切换文件。
在具体的实施过程中,若是第一候选码率文件对应的第一时间值大于剩余缓存数据的可播放时长,则不进行切换处理。这样的方式,可以充分考虑到实际情况的使用,以避免出现数据切换到高码率文件而无法实现播放的情况的出现,从而提升用户的使用体验。
具体的,在另一种可能的实施方式中,可以将下载速率和第一码率进行比较,若第一码率大于下载速率,则从多个码率文件中码率小于第一码率的文件形成第二码率文件集,然后确定第二码率文件集中每个码率文件的码率与下载速率对应的第二差值集,并从所述第一差值集中确定出差值最小的码率文件,从而可以确定第二候选码率文件。进而若确定第二候选码率文件对应的第二时间值大于剩余缓存数据的播放时间,则将第二候选码率文件作为待切换码率文件,其中,第二时间值用于表征以第二候选码率播放同一媒体文件的剩余数据的可播放时长。
例如,下载速率为273kbps(用于表征下载2MB的数据用了1分钟即当前下载速率就是2*8*1024/60=273kbps),剩余数据的可播放时长为100ms,第一码率为300kbps,则可以从目标视频文件集中确定出小于第一码率的第二码率文件集,其中,第一码率文件集中包括码率为200kbps的码率文件1、码率为150kbps的码率文件2、码率为100kbps的码率文件3,则可以确定出第二差值集中包括码率文件1的码率与下载速率的差值为73、码率文件2的码率与下载速率的差值为123以及码率文件3的码率与下载速率的差值为173,则确定出差值最小的码率文件,即选择低于下载速率且最靠近的码率文件,可以将码率文件1选择为第一候选码率文件。然后确定出码率文件1的第一值为300ms,即第二候选码率文件对应的第二时间值300ms大于剩余缓存数据的可播放时长100ms,则将第二候选码率文件作为切换文件。
进一步地,在本公开实施例中,当确定出待切换码率文件后,可以对应确定待切换码率文件的索引信息,其中,索引信息至少包括多个关键帧时间戳和多个关键帧时间戳在待切换码率文件中的多个位置,即索引信息中包括所有关键帧时间戳和所有关键帧时间戳在待切换码率文件中的位置,当然,索引信息还可以包括视频帧的大小等信息。
在具体的实施过程中,客户端可以从计算机设备中获取待切换码率文件,然后在获取待切换码率文件后,可以确定待切换码率文件中是否包括索引信息,若是,则可以直接从待切换码率文件中确定索引信息,即待切换码率文件(例如MP4格式的视频文件)中内置有索引信息;若待切换码率文件中未包括索引信息,则可以从计算机设备中获取待切换码率文件对应的索引文件,其中,索引文件用于表征针对待切换码率文件对应封装生成的包含索引信息的文件,然后可以根据索引文件,确定索引信息,即索引信息外置在待切换码率文件中(例如TS格式的文件)。
也就是说,在本公开实施例中,可以针对包含有索引信息的视频文件进行切换处理,也可以对未包含索引信息的视频文件进行处理,其中,计算机设备(例如服务器)可以对视频文件对应的索引信息进行封装处理。
在步骤S23中,可以根据索引信息,确定从第一码率文件切换为待切换码率文件的目标关键帧时间戳,并根据目标关键帧时间戳确定目标关键帧在待切换码率文件中的位置。
在本公开实施例中,可以根据第一码率文件的当前播放时刻,确定待切换的时间点即切换时间,然后根据切换时间从索引信息的多个关键时间戳中确定与之对应的目标关键帧时间戳,然后确定出目标关键帧时间戳确定出对应的目标关键帧在待切换码率文件中的位置。需要说明的是,该切换时间是对应到GOP的起始点,也就是说,切换时间对应的位置是关键帧的位置,例如I帧1或I帧2的位置。
在步骤S24中,在第一码率文件播放到目标关键帧时间戳对应的时刻时,在目标关键帧时间戳对应的目标关键帧在待切换码率文件中的位置处,将第一码率文件切换为待切换码率文件。
在具体实施过程中,在确定出待切换文件的切换位置和切换时间之后,可以确定待切换码率文件的文件地址信息,并从计算机设备处获取待切换码率文件,然后在到达切换时间点时,在目标关键帧在待切换码率文件中的位置处将第一码率文件切换为待切换的码率文件。即从切换位置处开始下载待切换码率文件的数据,同时停止对第一码率文件的下载。然后在完成第一码率文件切换到待切换码率文件之后,可以继续步骤S22即检测待切换码率文件的下载速率和剩余缓存数据的可播放时长,直至该媒体文件播放完成。这样的话,可以实时且自适应的对同一媒体文件进行播放。具体的,在实际切换调整过程中,可以逐级调整到待切换码率,也可以根据实际情况,直接调整到相应的码率级别上,本公开中不做限制。
在本公开实施例中,在对媒体文件进行切换处理时,由于媒体文件对应有包括同一媒体文件对应的除码率不同之外,编码参数均相同的多个码率文件,从而可以从GOP点处进行切换,即可以在任何两个关键帧之间进行切换,这样的话,可以不对媒体文件进行切片处理,从而可以最大限度的保证视频文件播放的流畅性和清晰度。进一步的,本公开中的技术方案不受限于视频文件的编码和封装格式以及视频文件的数据大小(即播放时的时间长短)。
基于同一发明构思,本公开实施例提供了一种码率自适应切换装置,该码率自适应切换装置能够实现前述的码率自适应切换方法对应的功能。该码率自适应切换装置可以是硬件结构、软件模块、或硬件结构加软件模块。该码率自适应切换装置可以由芯片系统实现,芯片系统可以由芯片构成,也可以包含芯片和其他分立器件。请参见图3所示,该码率自适应切换装置包括第一确定单元301、第二确定单元302、第三确定单元303以及切换单元304。其中:
第一确定单元301,被配置为执行确定目标媒体文件集中的第一码率文件,并播放所述第一码率文件,其中,所述目标媒体文件集中包括同一媒体文件对应的除码率不同之外,编码参数均相同的多个码率文件;
第二确定单元302,被配置为执行确定满足预设切换条件的待切换码率文件以及与所述待切换码率文件对应的索引信息,其中,所述索引信息至少包括多个关键帧时间戳和所述多个关键帧时间戳在所述待切换码率文件中的多个位置;
第三确定单元303,被配置为执行根据所述索引信息,确定从所述第一码率文件切换为所述待切换码率文件的目标关键帧时间戳,并根据所述目标关键帧时间戳确定目标关键帧在所述待切换码率文件中的位置;
切换单元304,被配置为执行在所述第一码率文件播放到所述目标关键帧时间戳对应的时刻时,在所述目标关键帧时间戳对应的目标关键帧在所述待切换码率文件中的位置处,将所述第一码率文件切换为所述待切换码率文件。
在一种可能的实施方式中,所述第二确定单元302,被配置为执行:
确定所述待切换码率文件中是否包括所述索引信息;
若是,则直接从所述待切换码率文件中获取所述索引信息。
在一种可能的实施方式中,所述第二确定单元302,被配置为执行:
若所述待切换码率文件中未包括所述索引信息,则获取所述待切换码率文件对应的索引文件,其中,所述索引文件用于表征针对所述待切换码率文件对应封装生成的包含索引信息的文件;
根据所述所述文件,获取所述索引信息。
在一种可能的实施方式中,所述第二确定单元302,被配置为执行:
检测当前时刻所述第一码率文件的下载速率以及所述第一码率文件的剩余缓存数据的可播放时长;
根据所述下载速率、所述剩余缓存数据的可播放时长和预设选择策略,确定所述待切换码率文件。
在一种可能的实施方式中,所述第二确定单元302,被配置为执行:
将所述下载速率和所述第一码率进行比较,若所述第一码率小于所述下载速率,则从所述多个码率文件中确定码率大于所述第一码率的文件形成第一目标文件集;
确定所述第一目标文件集中每个码率文件的码率与所述下载速率对应的第一差值集,并从所述第一差值集中确定出差值最小的码率文件,以确定第一候选码率文件;
若确定所述第一候选码率文件对应的第一时间值小于所述剩余缓存数据的可播放时长,则将所述第一候选码率文件作为待切换码率文件,其中,所述第一时间值用于表征以第一候选码率播放所述同一媒体文件的剩余数据的可播放时长。
在一种可能的实施方式中,所述第二确定单元302,被配置为执行:
将所述下载速率和所述第一码率进行比较,若所述第一码率大于所述下载速率,则从所述多个码率文件中码率小于所述第一码率的文件形成第二目标文件集;
确定所述第二目标文件集中每个码率文件的码率与所述下载速率对应的第二差值集,并从所述第二差值集中确定出差值最小的码率文件,以确定第二候选码率文件;
若确定所述第二候选码率文件对应的第二时间值大于所述剩余缓存数据的播放时间,则将所述第二候选码率文件作为待切换码率文件,其中,所述第二时间值用于表征以第二候选码率播放所述同一媒体文件的剩余数据的可播放时长。
在一种可能的实施方式中,所述第三确定单元303,被配置为执行:
根据所述第一码率文件的当前播放时刻,确定从所述第一码率文件切换为所述待切换码率文件的切换时间;
从所述索引信息中的多个关键帧时间戳中确定出与所述切换时间对应的目标关键帧时间戳;
根据所述目标关键帧时间戳确定出对应的目标关键帧在所述待切换码率文件中的位置。
在一种可能的实施方式中,所述切换单元304,被配置为执行:
确定所述待切换码率文件的文件地址信息,并获取所述待切换码率文件;
在到达所述所述目标关键帧时间戳时,在所述目标关键帧在所述待切换码率文件中的位置处将所述第一码率文件切换为所述待切换的码率文件。
前述的如图2所示码率自适应切换方法的实施例涉及的各步骤的所有相关内容均可以援引到本公开实施例中的码率自适应切换装置所对应的功能模块的功能描述,在此不再赘述。
本公开实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,另外,在本公开各个实施例中的各功能单元可以集成在一个处理器中,也可以是单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
基于同一发明构思,本公开实施例还提供一种电子设备,如图4所示,本公开实施例中的电子设备包括至少一个处理器401,以及与至少一个处理器401连接的存储器402和通信接口403,本公开实施例中不限定处理器401与存储器402之间的具体连接介质,图4中是以处理器401和存储器402之间通过总线400连接为例,总线400在图4中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。总线400可以分为地址总线、数据总线、控制总线等,为便于表示,图4中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
在本公开实施例中,存储器402存储有可被至少一个处理器401执行的指令,至少一个处理器401通过执行存储器402存储的指令,可以执行前述的码率自适应切换方法中所包括的步骤。
其中,处理器401是电子设备的控制中心,可以利用各种接口和线路连接整个故障检测设备的各个部分,通过运行或执行存储在存储器402内的指令以及调用存储在存储器402内的数据,计算设备的各种功能和处理数据,从而对计算设备进行整体监控。可选的,处理器401可包括一个或多个处理单元,处理器401可集成应用处理器和调制解调处理器,其中,处理器401主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器401中。在一些实施例中,处理器401和存储器402可以在同一芯片上实现,在一些实施例中,它们也可以在独立的芯片上分别实现。
处理器401可以是通用处理器,例如中央处理器(CPU)、数字信号处理器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本公开实施例中公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本公开实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
存储器402作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块。存储器402可以包括至少一种类型的存储介质,例如可以包括闪存、硬盘、多媒体卡、卡型存储器、随机访问存储器(Random AccessMemory,RAM)、静态随机访问存储器(Static Random Access Memory,SRAM)、可编程只读存储器(Programmable Read Only Memory,PROM)、只读存储器(Read Only Memory,ROM)、带电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、磁性存储器、磁盘、光盘等等。存储器402是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。本公开实施例中的存储器402还可以是电路或者其它任意能够实现存储功能的装置,用于存储程序指令和/或数据。通信接口403是能够用于进行通信的传输接口,可以通过通信接口403接收数据或者发送数据。
参见图5所示的电子设备的进一步地的结构示意图,该电子设备还包括帮助电子设备内的各个器件之间传输信息的基本输入/输出系统(I/O系统)501、用于存储操作系统502、应用程序503和其他程序模块504的大容量存储设备505。
基本输入/输出系统501包括有用于显示信息的显示器506和用于用户输入信息的诸如鼠标、键盘之类的输入设备504。其中显示器506和输入设备504都通过连接到系统总线400的基本输入/输出系统501连接到处理器401。所述基本输入/输出系统501还可以包括输入输出控制器以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入输出控制器还提供输出到显示屏、打印机或其他类型的输出设备。
所述大容量存储设备505通过连接到系统总线400的大容量存储控制器(未示出)连接到处理器401。所述大容量存储设备505及其相关联的计算机可读介质为该服务器包提供非易失性存储。也就是说,大容量存储设备505可以包括诸如硬盘或者CD-ROM驱动器之类的计算机可读介质(未示出)。
根据本公开的各种实施例,该计算设备包还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即该计算设备可以通过连接在所述系统总线400上的通信接口403连接到网络505,或者说,也可以使用通信接口403来连接到其他类型的网络或远程计算机系统(未示出)。
在示例性实施例中,还提供了一种包括指令的存储介质,例如包括指令的存储器402,上述指令可由装置的处理器401执行以完成上述方法。可选地,存储介质可以是非临时性计算机可读存储介质,例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
在一些可能的实施方式中,本公开提供的码率自适应切换方法的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在电子设备上运行时,所述程序代码用于使该电子设备执行本说明书上述描述的根据本公开各种示例性实施方式的码率自适应切换方法中的步骤。
本领域内的技术人员应明白,本公开的实施例可提供为方法、系统、或计算机程序产品。因此,本公开可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本公开可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本公开是参照根据本公开实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
Claims (16)
1.一种码率自适应切换方法,其特征在于,所述方法包括:
确定目标媒体文件集中的第一码率文件,并播放所述第一码率文件,其中,所述目标媒体文件集中包括同一媒体文件对应的除码率不同之外,编码参数均相同的多个码率文件;
确定满足预设切换条件的待切换码率文件以及与所述待切换码率文件对应的索引信息,其中,所述索引信息至少包括多个关键帧时间戳和所述多个关键帧时间戳在所述待切换码率文件中的多个位置;
根据所述索引信息,确定从所述第一码率文件切换为所述待切换码率文件的目标关键帧时间戳,并根据所述目标关键帧时间戳确定目标关键帧在所述待切换码率文件中的位置;
在所述第一码率文件播放到所述目标关键帧时间戳对应的时刻时,在所述目标关键帧时间戳对应的目标关键帧在所述待切换码率文件中的位置处,将所述第一码率文件切换为所述待切换码率文件;
其中,所述确定满足预设切换条件的待切换码率文件,包括:
检测当前时刻所述第一码率文件的下载速率以及所述第一码率文件的剩余缓存数据的可播放时长;
根据所述下载速率、所述剩余缓存数据的可播放时长和预设选择策略,确定所述待切换码率文件;
其中,所述预设选择策略为根据所述下载速率与所述第一码率文件的第一码率的比对结果,以及所述可播放时长,确定所述待切换码率文件为码率高于所述第一码率的码率文件或码率低于所述第一码率的码率文件。
2.如权利要求1所述的方法,其特征在于,所述确定满足预设切换条件的待切换码率文件以及与所述待切换码率文件对应的索引信息,包括:
确定所述待切换码率文件中是否包括所述索引信息;
若是,则直接从所述待切换码率文件中获取所述索引信息。
3.如权利要求2所述的方法,其特征在于,所述确定满足预设切换条件的待切换码率文件以及与所述待切换码率文件对应的索引信息,包括:
若所述待切换码率文件中未包括所述索引信息,则获取所述待切换码率文件对应的索引文件,其中,所述索引文件用于表征针对所述待切换码率文件对应封装生成的包含索引信息的文件;
根据所述索引文件,获取所述索引信息。
4.如权利要求1所述的方法,其特征在于,所述根据所述下载速率、所述剩余缓存数据的播放时间和预设选择策略,确定待切换码率文件,包括:
将所述下载速率和所述第一码率进行比较,若所述第一码率小于所述下载速率,则从所述多个码率文件中确定码率大于所述第一码率的文件形成第一目标文件集;
确定所述第一目标文件集中每个码率文件的码率与所述下载速率对应的第一差值集,并从所述第一差值集中确定出差值最小的码率文件,以确定第一候选码率文件;
若确定所述第一候选码率文件对应的第一时间值小于所述剩余缓存数据的可播放时长,则将所述第一候选码率文件作为待切换码率文件,其中,所述第一时间值用于表征以第一候选码率播放所述同一媒体文件的剩余数据的可播放时长。
5.如权利要求1所述的方法,其特征在于,所述根据所述下载速率、所述剩余缓存数据的播放时间和预设选择策略,确定待切换码率文件,包括:
将所述下载速率和所述第一码率进行比较,若所述第一码率大于所述下载速率,则从所述多个码率文件中码率小于所述第一码率的文件形成第二目标文件集;
确定所述第二目标文件集中每个码率文件的码率与所述下载速率对应的第二差值集,并从所述第二差值集中确定出差值最小的码率文件,以确定第二候选码率文件;
若确定所述第二候选码率文件对应的第二时间值大于所述剩余缓存数据的播放时间,则将所述第二候选码率文件作为待切换码率文件,其中,所述第二时间值用于表征以第二候选码率播放所述同一媒体文件的剩余数据的可播放时长。
6.如权利要求1-5任一所述的方法,其特征在于,所述根据所述索引信息,确定从所述第一码率文件切换为所述待切换码率文件的目标关键帧时间戳,并根据所述目标关键帧时间戳确定目标关键帧在所述待切换码率文件中的位置,包括:
根据所述第一码率文件的当前播放时刻,确定从所述第一码率文件切换为所述待切换码率文件的切换时间;
从所述索引信息中的多个关键帧时间戳中确定出与所述切换时间对应的目标关键帧时间戳;
根据所述目标关键帧时间戳确定出对应的目标关键帧在所述待切换码率文件中的位置。
7.如权利要求1所述的方法,其特征在于,在达到所述目标关键帧时间戳时,在所述目标关键帧时间戳对应的目标关键帧在所述待切换码率文件中的位置处,将所述第一码率文件切换为所述待切换码率文件,包括:
确定所述待切换码率文件的文件地址信息,并获取所述待切换码率文件;
在到达所述目标关键帧时间戳时,在所述目标关键帧在所述待切换码率文件中的位置处将所述第一码率文件切换为所述待切换码率文件。
8.一种码率自适应切换装置,其特征在于,所述装置包括:
第一确定单元,被配置为执行确定目标媒体文件集中的第一码率文件,并播放所述第一码率文件,其中,所述目标媒体文件集中包括同一媒体文件对应的除码率不同之外,编码参数均相同的多个码率文件;
第二确定单元,被配置为执行确定满足预设切换条件的待切换码率文件以及与所述待切换码率文件对应的索引信息,其中,所述索引信息至少包括多个关键帧时间戳和所述多个关键帧时间戳在所述待切换码率文件中的多个位置;
第三确定单元,被配置为执行根据所述索引信息,确定从所述第一码率文件切换为所述待切换码率文件的目标关键帧时间戳,并根据所述目标关键帧时间戳确定目标关键帧在所述待切换码率文件中的位置;
切换单元,被配置为执行在所述第一码率文件播放到所述目标关键帧时间戳对应的时刻时,在所述目标关键帧时间戳对应的目标关键帧在所述待切换码率文件中的位置处,将所述第一码率文件切换为所述待切换码率文件;
其中,所述第二确定单元,被配置为执行:
检测当前时刻所述第一码率文件的下载速率以及所述第一码率文件的剩余缓存数据的可播放时长;
根据所述下载速率、所述剩余缓存数据的可播放时长和预设选择策略,确定所述待切换码率文件;
其中,所述预设选择策略为根据所述下载速率与所述第一码率文件的第一码率的比对结果,以及所述可播放时长,确定所述待切换码率文件为码率高于所述第一码率的码率文件或码率低于所述第一码率的码率文件。
9.如权利要求8所述的装置,其特征在于,所述第二确定单元,被配置为执行:
确定所述待切换码率文件中是否包括所述索引信息;
若是,则直接从所述待切换码率文件中获取所述索引信息。
10.如权利要求9所述的装置,其特征在于,所述第二确定单元,被配置为执行:
若所述待切换码率文件中未包括所述索引信息,则获取所述待切换码率文件对应的索引文件,其中,所述索引文件用于表征针对所述待切换码率文件对应封装生成的包含索引信息的文件;
根据所述文件,获取所述索引信息。
11.如权利要求8所述的装置,其特征在于,所述第二确定单元,被配置为执行:
将所述下载速率和所述第一码率进行比较,若所述第一码率小于所述下载速率,则从所述多个码率文件中确定码率大于所述第一码率的文件形成第一目标文件集;
确定所述第一目标文件集中每个码率文件的码率与所述下载速率对应的第一差值集,并从所述第一差值集中确定出差值最小的码率文件,以确定第一候选码率文件;
若确定所述第一候选码率文件对应的第一时间值小于所述剩余缓存数据的可播放时长,则将所述第一候选码率文件作为待切换码率文件,其中,所述第一时间值用于表征以第一候选码率播放所述同一媒体文件的剩余数据的可播放时长。
12.如权利要求8所述的装置,其特征在于,所述第二确定单元,被配置为执行:
将所述下载速率和所述第一码率进行比较,若所述第一码率大于所述下载速率,则从所述多个码率文件中码率小于所述第一码率的文件形成第二目标文件集;
确定所述第二目标文件集中每个码率文件的码率与所述下载速率对应的第二差值集,并从所述第二差值集中确定出差值最小的码率文件,以确定第二候选码率文件;
若确定所述第二候选码率文件对应的第二时间值大于所述剩余缓存数据的播放时间,则将所述第二候选码率文件作为待切换码率文件,其中,所述第二时间值用于表征以第二候选码率播放所述同一媒体文件的剩余数据的可播放时长。
13.如权利要求8-12任一所述的装置,其特征在于,所述第三确定单元,被配置为执行:
根据所述第一码率文件的当前播放时刻,确定从所述第一码率文件切换为所述待切换码率文件的切换时间;
从所述索引信息中的多个关键帧时间戳中确定出与所述切换时间对应的目标关键帧时间戳;
根据所述目标关键帧时间戳确定出对应的目标关键帧在所述待切换码率文件中的位置。
14.如权利要求13所述的装置,其特征在于,所述切换单元,被配置为执行:
确定所述待切换码率文件的文件地址信息,并获取所述待切换码率文件;
在到达所述目标关键帧时间戳时,在所述目标关键帧在所述待切换码率文件中的位置处将所述第一码率文件切换为所述待切换的码率文件。
15.一种电子设备,其特征在于,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现根据权利要求1-7中任一项所述的码率自适应切换方法。
16.一种存储介质,其特征在于,当所述存储介质中的指令由数据生成电子设备的处理器执行时,使得数据生成电子设备能够执行根据权利要求1-7中任一项所述的码率自适应切换方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910887584.1A CN110636346B (zh) | 2019-09-19 | 2019-09-19 | 一种码率自适应切换方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910887584.1A CN110636346B (zh) | 2019-09-19 | 2019-09-19 | 一种码率自适应切换方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110636346A CN110636346A (zh) | 2019-12-31 |
CN110636346B true CN110636346B (zh) | 2021-08-03 |
Family
ID=68971679
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910887584.1A Active CN110636346B (zh) | 2019-09-19 | 2019-09-19 | 一种码率自适应切换方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110636346B (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111191078B (zh) * | 2020-01-08 | 2024-05-07 | 深圳市雅阅科技有限公司 | 基于视频信息处理模型的视频信息处理方法及装置 |
CN113141523B (zh) | 2020-01-17 | 2022-07-22 | 北京达佳互联信息技术有限公司 | 资源传输方法、装置、终端及存储介质 |
CN113141541B (zh) * | 2020-01-17 | 2022-06-10 | 北京达佳互联信息技术有限公司 | 码率切换方法、装置、设备及存储介质 |
CN113141524B (zh) * | 2020-01-17 | 2023-09-29 | 北京达佳互联信息技术有限公司 | 资源传输方法、装置、终端及存储介质 |
CN113141514B (zh) * | 2020-01-17 | 2022-07-22 | 北京达佳互联信息技术有限公司 | 媒体流传输方法、系统、装置、设备及存储介质 |
CN113225585B (zh) * | 2020-01-21 | 2024-08-23 | 腾讯科技(深圳)有限公司 | 一种视频清晰度的切换方法、装置、电子设备以及存储介质 |
CN112000615B (zh) * | 2020-08-13 | 2024-03-01 | 苏州艾特律宝智能科技有限公司 | 文件整理方法、系统、计算机设备及存储介质 |
CN112637661B (zh) * | 2020-12-22 | 2022-08-05 | 广州博冠信息科技有限公司 | 视频流的切换方法及装置、计算机存储介质、电子设备 |
CN113905257A (zh) * | 2021-09-29 | 2022-01-07 | 北京字节跳动网络技术有限公司 | 视频码率切换方法、装置、电子设备及存储介质 |
CN114363304B (zh) * | 2021-12-27 | 2024-04-19 | 浪潮通信技术有限公司 | Rtp视频流存储、播放方法及装置 |
CN115052191A (zh) * | 2022-06-10 | 2022-09-13 | 广州博冠信息科技有限公司 | 码流切换处理方法、装置、存储介质与电子设备 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007215225A (ja) * | 2007-04-04 | 2007-08-23 | Sony Corp | 量子化制御装置、量子化制御方法、符号化制御装置及び符号化制御方法 |
WO2009057920A3 (en) * | 2007-10-30 | 2009-06-18 | Samsung Electronics Co Ltd | Method and apparatus for transmitting/receiving control information in broadcast communication system |
CN102957672A (zh) * | 2011-08-25 | 2013-03-06 | 中国电信股份有限公司 | 自适应播放flv媒体流的方法、客户端和系统 |
WO2015188678A1 (zh) * | 2014-06-13 | 2015-12-17 | 珠海全志科技股份有限公司 | 移动设备视频流传输控制方法及系统 |
CN105979404A (zh) * | 2015-12-01 | 2016-09-28 | 乐视致新电子科技(天津)有限公司 | 一种流媒体的处理方法及装置 |
CN106454395A (zh) * | 2016-09-20 | 2017-02-22 | 北京百度网讯科技有限公司 | 在服务器中用于自适应提供多码率流媒体的方法及装置 |
CN107438202A (zh) * | 2016-05-26 | 2017-12-05 | 中兴通讯股份有限公司 | 一种实现码率切换的方法及装置 |
CN109862403A (zh) * | 2019-02-19 | 2019-06-07 | 未来电视有限公司 | 自适应码率切换方法、装置、电子设备及存储介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101242359B (zh) * | 2008-02-27 | 2010-08-18 | 华为技术有限公司 | 动态码率分配方法、分组域流媒体服务器 |
CN109040801B (zh) * | 2018-07-19 | 2019-07-09 | 北京达佳互联信息技术有限公司 | 媒体码率自适应方法、装置、计算机设备及存储介质 |
-
2019
- 2019-09-19 CN CN201910887584.1A patent/CN110636346B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007215225A (ja) * | 2007-04-04 | 2007-08-23 | Sony Corp | 量子化制御装置、量子化制御方法、符号化制御装置及び符号化制御方法 |
WO2009057920A3 (en) * | 2007-10-30 | 2009-06-18 | Samsung Electronics Co Ltd | Method and apparatus for transmitting/receiving control information in broadcast communication system |
CN102957672A (zh) * | 2011-08-25 | 2013-03-06 | 中国电信股份有限公司 | 自适应播放flv媒体流的方法、客户端和系统 |
WO2015188678A1 (zh) * | 2014-06-13 | 2015-12-17 | 珠海全志科技股份有限公司 | 移动设备视频流传输控制方法及系统 |
CN105979404A (zh) * | 2015-12-01 | 2016-09-28 | 乐视致新电子科技(天津)有限公司 | 一种流媒体的处理方法及装置 |
CN107438202A (zh) * | 2016-05-26 | 2017-12-05 | 中兴通讯股份有限公司 | 一种实现码率切换的方法及装置 |
CN106454395A (zh) * | 2016-09-20 | 2017-02-22 | 北京百度网讯科技有限公司 | 在服务器中用于自适应提供多码率流媒体的方法及装置 |
CN109862403A (zh) * | 2019-02-19 | 2019-06-07 | 未来电视有限公司 | 自适应码率切换方法、装置、电子设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
基于流媒体自适应策略的HLS播放器的研究与实现;徐煜烨;《中国优秀硕士学位论文全文数据库(电子期刊)信息科技辑》;20180715(第7期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN110636346A (zh) | 2019-12-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110636346B (zh) | 一种码率自适应切换方法、装置、电子设备及存储介质 | |
KR102280134B1 (ko) | 비디오 재생 방법, 장치 및 시스템 | |
JP6049728B2 (ja) | コード化ビデオデータのネットワークストリーミング | |
CN104519372B (zh) | 一种流媒体播放的切换方法和系统 | |
US8407747B1 (en) | Adaptive trick play streaming | |
CN110324721B (zh) | 一种视频数据处理方法、装置及存储介质 | |
CN110582012B (zh) | 视频切换方法、视频处理方法、装置及存储介质 | |
KR20130009740A (ko) | 에이치티티피 스트리밍에서 적응화를 위한 방법 및 장치 | |
EP3490263B1 (en) | Channel switching method and device | |
US11438645B2 (en) | Media information processing method, related device, and computer storage medium | |
CN108259998B (zh) | 播放器及播放控制方法、装置、电子设备及播放系统 | |
US9607002B2 (en) | File retrieval from multiple storage locations | |
CN110267100A (zh) | Flv视频的码率切换方法、装置、电子设备及存储介质 | |
KR20150131175A (ko) | Http를 통한 동적 적응형 스트리밍에서 미디어 세그먼트들의 손실 존재시의 회복력 | |
US11356739B2 (en) | Video playback method, terminal apparatus, and storage medium | |
US11714664B2 (en) | Content presentation with enhanced closed caption and/or skip back | |
EP4014480A1 (en) | Prediction-based dropped frame handling logic in video playback | |
US9218848B1 (en) | Restructuring video streams to support random access playback | |
US20210400334A1 (en) | Method and apparatus for loop-playing video content | |
CN110460875A (zh) | 一种视频码率的切换方法、装置、电子设备及存储介质 | |
CN109218809B (zh) | 一种流媒体的播放方法和装置 | |
CN115278307A (zh) | 一种视频播放方法、装置、设备和介质 | |
WO2021013558A1 (en) | A media client with adaptive buffer size and the related method | |
CN115942049B (zh) | 一种面向vr视频的视角切换方法、装置、设备及介质 | |
EP4195626A1 (en) | Streaming media content as media stream to a client system |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |