CN115022667A - 一种直播播放控制方法及相关设备 - Google Patents
一种直播播放控制方法及相关设备 Download PDFInfo
- Publication number
- CN115022667A CN115022667A CN202210748682.9A CN202210748682A CN115022667A CN 115022667 A CN115022667 A CN 115022667A CN 202210748682 A CN202210748682 A CN 202210748682A CN 115022667 A CN115022667 A CN 115022667A
- Authority
- CN
- China
- Prior art keywords
- audio
- video
- playing
- amount
- data
- 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 60
- 238000004590 computer program Methods 0.000 claims description 22
- 238000003860 storage Methods 0.000 claims description 12
- 238000009432 framing Methods 0.000 claims description 7
- 238000013459 approach Methods 0.000 claims description 6
- 230000005540 biological transmission Effects 0.000 claims description 6
- 230000000977 initiatory effect Effects 0.000 claims description 6
- 230000003139 buffering effect Effects 0.000 claims 3
- 238000010586 diagram Methods 0.000 description 11
- 230000008569 process Effects 0.000 description 8
- 238000012545 processing Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 5
- 230000008901 benefit Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000009825 accumulation Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000004080 punching Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction 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/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/21—Server components or server architectures
- H04N21/218—Source of audio or video content, e.g. local disk arrays
- H04N21/2187—Live feed
-
- 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/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/63—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
- H04N21/637—Control signals issued by the client directed to the server or network components
- H04N21/6373—Control signals issued by the client directed to the server or network components for rate control, e.g. request to the server to modify its transmission rate
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
技术领域
本说明书涉及直播领域,更具体地说,本发明涉及一种直播播放控制方法及相关设备。
背景技术
在互联网直播领域,卡顿率是评价直播质量的非常关键的指标,其直接关系到用户观看播放的流畅度。引起卡顿的主要原因是网络抖动,为了有效降低卡顿,提升播放质量,常用的方法是在用户播放端增加固定的视频缓冲区,来降低网络抖动带来的影响,为用户提供更流畅的直播体验。
采用固定视频缓冲区的方案在一定程度上能够缓解网络抖动引起的卡顿,但当前用户的网络质量千差万别,有的用户的网络质量很好,有的则很差,采用固定视频缓冲区在网络质量较差、抖动厉害时,可能并不能有效缓解用户观看卡顿的问题。
上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。
发明内容
在发明内容部分中引入了一系列简化形式的概念,这将在具体实施方式部分中进一步详细说明。本发明的发明内容部分并不意味着要试图限定出所要求保护的技术方案的关键特征和必要技术特征,更不意味着试图确定所要求保护的技术方案的保护范围。
为了解决在观看直播过程中发生卡顿的问题,第一方面,本发明提出一种直播播放控制方法,用于客户端,上述方法包括:
获取客户端的音视频缓冲区的当前数据缓存量,其中,上述音视频缓冲区基于音视频播放配置信息生成;
基于上述音视频缓冲区的当前数据缓存量调整与上述音视频缓冲区关联的音视频文件在上述客户端中的播放速度,以使上述当前数据缓存量趋于目标数据缓存量。
可选的,上述获取客户端的音视频缓冲区的当前数据缓存量的步骤之前,上述直播播放控制方法还包括:
向第一服务器发起请求以使上述第一服务器返馈音视频播放配置信息;
基于上述音视频播放配置信息创建客户端的音视频缓冲区;
接收第二服务器服务端推荐的目标P2P用户,向上述第二服务器发起P2P连接请求,与上述目标P2P用户建立P2P连接;
向CDN服务器拉取CDN音视频数据;
接收上述目标P2P用户分享的P2P音视频数据;
将上述CDN音视频数据和上述P2P音视频数据进行组帧,将组帧后的音视频流存入上述客户端的音视频缓冲区供播放器播放。
可选的,上述将上述CDN音视频数据和上述P2P音视频数据进行组帧,将组帧后的音视频流存入上述客户端的音视频缓冲区供播放器播放的步骤之后,上述直播播放控制还包括:
确定上述P2P音视频数据的接收速率;
相应地,上述基于上述音视频缓冲区的当前数据缓存量调整与上述音视频缓冲区关联的音视频文件在上述客户端中的播放速度,以使上述当前数据缓存量趋于目标数据缓存量的步骤,包括:
根据上述P2P音视频数据的接收速率和上述当前数据缓存量来调整上述组帧后的音视频流在上述客户端中的当前播放速度,以使上述当前数据缓存量趋于目标数据缓存量。
可选的,上述根据上述P2P音视频数据的接收速率和上述当前数据缓存量来调整上述组帧后的音视频流在上述客户端中的当前播放速度,以使上述当前数据缓存量趋于目标数据缓存量的步骤,具体包括:
在上述P2P音视频数据的接收速率大于上述组帧后的音视频流在上述客户端中的当前播放速度,且上述音视频缓冲区的当前数据缓存量大于上述缓冲区数据缓存量上限的情况下,将上述当前播放速度调整至预设快放模式。
可选的,上述根据上述P2P音视频数据的接收速率和上述当前数据缓存量来调整上述组帧后的音视频流在上述客户端中的当前播放速度,以使上述当前数据缓存量趋于目标数据缓存量的步骤,具体包括:
在上述P2P音视频数据的接收速率小于预设P2P传输速度的情况下,向上述CDN服务器请求数据补片以获取音视频补片数据,将上述音视频补片数据存入上述音视频缓冲区;
检测上述音视频缓冲区的当前数据缓存量,若上述音视频缓冲区的当前数据缓存量小于上述缓冲区数据缓存量下限的情况下,则将上述音视频文件的播放速度调整至预设慢放模式。
可选的,上述音视频播放配置信息包括缓冲区数据缓存量上限、预设快放比例系数和上述目标数据缓存量;
相应地,上述基于上述音视频缓冲区的当前数据缓存量调整与上述音视频缓冲区关联的音视频文件在上述客户端中的播放速度,包括:
在上述音视频缓冲区的当前数据缓存量大于上述缓冲区数据缓存量上限的情况下,将上述音视频文件的播放速度调整至上述预设快放比例系数对应的预设快放模式;在上述当前数据缓存量到达上述目标数据缓存量的情况下,退出上述预设快放模式。
可端的,上述方法还包括:
获取上述预设快放模式的快放持续时长;
在上述快放持续时长大于预设快放时长的情况下,获取P2P音视频数据的接收速率;
根据上述P2P音视频数据的接收速率和上述当前数据缓存量确定第二快放比例系数,其中,上述第二快放比例系数大于上述预设快放比例系数;
将上述音视频文件的播放速度调整至第二快放比例系数对应的第二加速快放模式。
可选的,上述音视频播放配置信息包括缓冲区数据缓存量下限、预设慢放比例系数和上述目标数据缓存量;
上述基于上述音视频缓冲区的当前数据缓存量调整与上述音视频缓冲区关联的音视频文件在上述客户端中的播放速度,包括:
在上述音视频缓冲区的当前数据缓存量小于上述缓冲区数据缓存量下限的情况下,将上述音视频文件的播放速度调整至上述预设慢放比例系数对应的预设慢放模式;
在上述当前数据缓存量到达上述目标数据缓存量的情况下,退出上述预设慢放模式。
可选的,上述方法还包括:
获取上述预设慢放模式的慢放持续时长;
在上述慢放持续时长大于预设慢放时长的情况下,获取P2P音视频数据接收速率;
根据上述P2P音视频数据接收速率和上述音视频缓冲区当前容量确定第二慢放比例系数,其中,上述第二慢放比例系数小于上述预设慢放比例系数;
将上述音视频文件的播放速度调整至第二慢放比例系数对应的第二减速慢放模式。
第二方面,一种电子设备,包括:存储器、处理器以及存储在上述存储器中并可在上述处理器上运行的计算机程序,上述处理器用于执行存储器中存储的计算机程序时实现如上述的第一方面任一项的直播播放控制方法的步骤。
第三方面,本发明还提出一种计算机可读存储介质,其上存储有计算机程序,上述计算机程序被处理器执行时实现第一方面上述任一项的直播播放控制方法。
综上,本申请提出的直播播放控制方法包括:获取上述客户端的音视频缓冲区的当前数据缓存量;基于上述音视频缓冲区的当前数据缓存量调整与上述音视频缓冲区关联的音视频文件在上述客户端中的播放速度,以使上述当前数据缓存量趋于目标数据缓存量。本申请实施例提供的方法,通过实时获取音视频缓冲区的当前数据缓存量,对音视频的播放速度做出相应的调整,可以做到根据客户端的网络质量自适应控制当前音视频缓存量的大小和客户端播放器的播放速度,降低网络波动对于客户端播放流畅度的影响,有效提升用户的观看体验。
本发明的直播播放控制方法,本发明的其它优点、目标和特征将部分通过下面的说明体现,部分还将通过对本发明的研究和实践而为本领域的技术人员所理解。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本说明书的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1为本申请实施例提供的一种直播播放控制方法流程示意图;
图2为本申请实施例提供的一种直播播放控制装置结构示意图;
图3为本申请实施例提供的一种直播播放控制电子设备结构示意图。
具体实施方式
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。
观看直播的用户在进入主播的直播间时,客户端的SDK(Software DevelopmentKit,软件开发工具包)会向服务器发出http请求,从而在直播间对应的服务器中获取音频播放配置信息,并根据音频播放配置信息构建一个固定大小的音视频缓冲区,将拉取的主播的音视频数据首先存入该音视频缓冲区,客户端的播放器从该音视频缓冲区读取音视频数据并执行固定速度播放,从而用户可以看到主播的直播画面。但是由于客户端在拉取音视频数据的时候,可能会由于网络波动的问题,导致缓存区里的数据缓存量波动,当数据缓存量超出缓存区的最大容量时,很有可能造成直播的音视频数据溢出,用户可能会错过某些精彩的画面,而当数据缓存量非常低时,很有可能造成直播卡顿造成黑屏现象,极大地降低了用户的观看体验。
为了解决网络波动问题对于观看直播体验的影响,请参阅图1,为本申请实施例提供的一种直播播放控制方法流程示意图,具体可以包括:步骤S110和步骤S120。
在一些示例中,在步骤S110前还可以包括步骤S101至步骤S107,以构建P2P(Peer-to-peer computing,对等计算)客户端,具体的:
S101、向第一服务器发起请求以使上述第一服务器返馈音视频播放配置信息;
S102、基于上述音视频播放配置信息创建客户端的音视频缓冲区;
S103、接收第二服务器服务端推荐的目标P2P用户,向上述第二服务器发起P2P连接请求,与上述目标P2P用户建立P2P连接;
S104、向CDN服务器拉取CDN音视频数据;
S105、接收上述目标P2P用户分享的P2P音视频数据;
S106、将上述CDN音视频数据和上述P2P音视频数据进行组帧,将组帧后的音视频流存入上述客户端的音视频缓冲区供播放器播放。
示例性的,所述客户端向第一服务器发起请求,第一服务器在接收到请求后将音视频播放配置信息反馈给客户端,客户端基于音视频播放配置信息创建音视频缓冲区,客户端请求进入P2P,接收第二服务器推荐的P2P用户,并尝试打洞,发起P2P连接请求,建立P2P连接,并开始接收P2P对端节点分享的音视频数据,客户端还可以拉取CDN服务器发出的CDN音视频数据,并将CDN音视频数据和上述P2P音视频数据进行组帧,将组帧后的音视频流存入上述客户端的音视频缓冲区供播放器播放。可理解的是,第一服务器可用于为客户端提供音视频播放配置信息,第二服务器可用于构建客户端之间的P2P连接,负责P2P客户端用户分组打洞;需要说明的是,第一服务器和第二服务器可以是同一个服务器,也可以是不同的服务器。
具体的,音视频播放配置信息可以是在第一服务器中获取的,在用户进入目标主播的客户端时,客户端SDK发起http请求,从P2P配置服务器获得相关的音视频缓冲区配置信息。控制参数的详细数据结构定义如下:
各个控制参数的详细含义如下:
play_slow_scale:预设慢放比例,用于控制播放器的预设慢放速度,小于100时有效,其中,100对应为正常播放速度;
play_fast_scale:预设快放比例,用于控制播放器的预设快放速度,大于100时有效,其中,100对应为正常播放速度;
min_play_buffer_ms:缓冲区数据缓存量下限;
best_play_buffer_ms:缓冲区数据理想缓存量;
max_play_buffer_ms:缓冲区数据缓存量上限。
S110、获取上述客户端的音视频缓冲区的当前数据缓存量,其中,上述音视频缓冲区基于音视频播放配置信息生成;
示例性的,实时获取用户客户端音频缓冲区内的当前数据缓存量,当前数据缓存量是指用户的客户端的视频缓冲区内拉取的观看的主播对应的音视频文件的大小。获取当前数据缓存量的操作可以由SDK启动定时任务,通过实时获取的方式获得。
S120、基于上述音视频缓冲区的当前数据缓存量调整与上述音视频缓冲区关联的音视频文件在上述客户端中的播放速度,以使上述当前数据缓存量趋于目标数据缓存量。
示例性的,用户的客户端根据步骤S110获取的当前数据缓存量调整音视频缓冲区内的音视频文件在客户端的播放器中的播放速度,以调整音视频缓冲区内的数据缓存量趋向于目标数据缓存量,其中,上述目标数据缓存量基于所述音视频播放配置信息生成。例如:音视频缓冲区的最大缓存量为10秒(此处10秒是指播放器播放10秒对应的数据的大小),目标数据缓存量为5秒,在当前数据缓存量大于9秒的情况下,认为音频数据的缓存量可能有超出音视频缓冲区的风险,此时调整播放速度为快放模式,迅速“消耗”音视频缓冲区内超出理想缓存量的音视频数据,从而避免后续接收的音视频数据溢出音视频缓冲区,从而造成音视频数据丢失。在当前数据缓存量小于2秒的情况下,认为音视频缓存量不足维持后续的正常播放速度,此时,为了避免造成音视频缓存量不足造成黑屏或卡顿现象的发生,将播放模式调整为慢放模式,以使后续的音视频数据存入音视频缓冲区后,使当前数据缓存恢复至目标数据缓存量,从而使播放器恢复至正常观看模式。
综上,本申请实施例提供的方法,通过实时获取音视频缓冲区的当前数据缓存量,对音视频的播放速度做出相应的调整,可以做到根据客户端的网络质量自适应控制当前音视频缓存量的大小和客户端播放器的播放速度,降低网络波动对于客户端播放流畅度的影响,有效提升用户的观看体验。
在一些示例中,音视频数据是基于P2P连接获取的情况下,步骤S107后还包括步骤S108:
S108、确定上述P2P音视频数据的接收速率;
步骤S120具体可以包括步骤S1201:
S1201、根据上述P2P音视频数据的接收速率和上述当前数据缓存量来调整上述组帧后的音视频流在上述客户端中的当前播放速度,以使上述当前数据缓存量趋于目标数据缓存量。
示例性的,当P2P音视频数据的接收速率较高,且当前数据缓存量较大的情况下,在一段时间后,当前数据缓存量很容易超出数据缓存量的上限,造成大量音视频数据堆积,容易发生丢帧现象。当P2P音视频数据的接收速率较低,且当前数据缓存量较小的情况下,在一段时间后,当前数据缓存量很容易低于数据缓存量的下限,不能满足连续播放的需求出现卡顿现象。根据接收速率和当前数据缓存量控制播放速度,可以根据P2P对端用户的分享速率和视频缓冲区的数据缓存量来实时控制播放器的播放速度,确保播放器播放的既不过快也不过慢,确保播放质量,使得用户观看体验更好。
在一些示例中,在P2P音视频数据接收速率较大且当前数据缓存量较大的情况下,步骤S1201具体可以包括步骤S1201-A:
S1201-A,在上述P2P音视频数据的接收速率大于上述组帧后的音视频流在上述客户端中的当前播放速度,且上述音视频缓冲区的当前数据缓存量大于上述缓冲区数据缓存量上限的情况下,将上述当前播放速度调整至预设快放模式。
示例性的,当P2P的音视频接收速率大于客户端的播放速度,且当前数据缓存量大于缓冲区数据缓存量上限的情况下,数据缓冲区的当前数据缓存量会持续上升,极容易造成数据溢出的现象,从而造成音视频跳帧,影响观众的观看体验,此时将当前播放速度调整至预设快放模式提升播放器的播放速度,从而避免音视频跳帧,提升观看体验。
在一些示例中,在P2P音视频数据接收速率较小且当前数据缓存量较小的情况下,步骤S1201具体可以包括步骤S1201-B1至S1201-B2:
S1201-B1,在上述P2P音视频数据的接收速率小于预设P2P传输速度的情况下,向上述CDN服务器请求数据补片以获取音视频补片数据,将上述音视频补片数据存入上述音视频缓冲区;
S1201-B2,检测上述音视频缓冲区的当前数据缓存量,若上述音视频缓冲区的当前数据缓存量小于上述缓冲区数据缓存量下限的情况下,则将上述音视频文件的播放速度调整至预设慢放模式。
示例性的,通过检测P2P节点分享音视频数据的传输速度,如果传输速度小于预设P2P数据传输速度,证明P2P节点分享数据质量较差,为了避免播放卡顿SDK会从CDN进行数据补片,通过P2P传输和CDN传输的音视频数据一起满足播放器的播放需求。在当前数据缓存量小于缓冲区数据缓存量下限的情况下将播放速度调整至预设慢放模式,将视频慢放,避免发生卡顿,从而提升观看体验。
在一些示例中,上述音视频播放配置信息包括缓冲区数据缓存量上限、预设快放比例系数和上述目标数据缓存量;
相应地,步骤S120具体可以包括步骤S12021和步骤S12022:
S12021、在上述音视频缓冲区的当前数据缓存量大于上述缓冲区数据缓存量上限的情况下,将上述音视频文件的播放速度调整至上述预设快放比例系数对应的预设快放模式;
S12022、在上述当前数据缓存量到达上述目标数据缓存量的情况下,退出上述预设快放模式。
示例性的,客户端可以在服务器获取音视频播放配置信息,播放配置信息包括数据缓存量上限,数据缓存量上限用于判断当前数据缓存量是否过高;播放配置信息还包括预设快放比例系数(如1.25倍),用于在当前数据缓存量超出数据缓存量上限的情况下,控制播放器的快放播放速度;目标数据缓存量为正常播放速度下的目标数据缓存量。具体的,在音视频数据缓存区的当前数据缓存量大于缓冲区数据缓存量上限的情况下,客户端的播放器的播放速度调整到预设快放比例系数(如1.25倍)对应的预设快放模式,直至当前数据缓存量恢复至目标数据缓存量时,恢复至正常速度播放模式。
具体的,在直播过程中,为了保证用户观看直播的实时性,当前数据缓存量不宜设置过大,如果设置过大,当队列数据出现积压时,会导致用户观看延时增加,用户体验变差。而当P2P节点分享数据的质量很好时,可能会导致接收到的音视频的速率大于用户播放速率,此时为了避免缓冲队列数据积压过多,通过设置缓冲区数据缓存量上限max_play_buffer_ms,在当前数据缓存量高于冲区数据缓存量上限max_play_buffer_ms时,则需通知播放器进行快放,尽快将队列中的消费掉,以免缓存中的音视频数据堆积,导致缓存队列数据溢出丢帧会播放延时增加,具体逻辑如下:
随着播放器进入预设快放模式,音视频数据缓冲区的音视频数据会被逐渐消耗掉,待数据降至缓冲区数据目标数据缓存量best_play_buffer_ms时,则通知播放器恢复正常播放,具体逻辑如下:
综上,本申请实施例提供的方法,在客户端的当前数据缓存量超出缓冲区数据上限的情况下,通过调整播放器的播放速度至预设快放比例系数至预设快放模式,可以快速“消耗”缓冲区内的音视频数据,使当前音视频数据量趋向于目标数据缓存量,从而可以保证音视频在播放时不会因数据溢出而丢失。
在一些示例中,上述方法还包括步骤S1301至步骤S1601:
S1301,获取上述预设快放模式的快放持续时长;
S1401,在上述快放持续时长大于预设快放时长的情况下,获取P2P音视频数据的接收速率;
S1501,根据上述P2P音视频数据的接收速率和上述当前数据缓存量确定第二快放比例系数,其中,上述第二快放比例系数大于上述预设快放比例系数;
S1601,将上述音视频文件的播放速度调整至第二快放比例系数对应的第二加速快放模式。
示例性的,在播放器进行预设快放模式时,获取预设快放模式的快放持续时长,如果快放持续时长大于预设快放时长的情况下,如:预设快放时长为5秒,而快放持续时长超过5秒时,认为此时的预设快放模式的速度不足以使当前数缓存量快速趋向于目标数据缓存量,为了使播放器快速达到正常播放的模式,此时获取音视频数据的接收速度,并根据数据接收速率确定第二快放比例系数,第二快放比例系数(如1.5)要大于预设快放比例系数(如1.25),从而使播放器以更为快速的第二加速快放模式播放直播视频,从而使缓冲区的当前数据缓存量快速回落到目标数据缓存量。需要说明的是,可以提前制定好音视频接收速率与快放比例系数的对应关系,即音视频接收速率越大快放比例系数越大。
综上,本申请实施例提供的方法,在客户端段预设快放模式的快放持续时长于预设快放时长的情况下,根据音视频数据接收速率确定第二快放比例系数,可以使缓冲区的当前数据缓存量快速回落到目标数据缓存量,使播放器恢复到正常播放模式。
在一些示例中,上述音视频播放配置信息包括缓冲区数据缓存量下限、预设慢放比例系数和上述目标数据缓存量;
相应地,步骤S120具体可以包括步骤S12031和步骤S12032:
S12031、在上述音视频缓冲区的当前数据缓存量小于上述缓冲区数据缓存量下限的情况下,将上述音视频文件的播放速度调整至上述预设慢放比例系数对应的预设慢放模式;
S12032在上述当前数据缓存量到达上述目标数据缓存量的情况下,退出上述预设慢放模式。
示例性的,在客户端可以在服务器获取音视频播放配置信息,播放配置信息包括数据缓存量下限,数据缓存量下限用于判断当前数据缓存量是否过低;播放配置信息还包括预设慢放比例系数(如0.75倍),用于在当前数据缓存量低于数据缓存量下限的情况下,控制播放器的快放播放速度;目标数据缓存量为正常播放速度下的目标数据缓存量。具体的,在音视频数据缓存区的当前数据缓存量小于缓冲区数据缓存量下限的情况下,客户端的播放器的播放速度调整到预设慢放比例系数(如0.75倍)对应的预设快放模式,直至当前数据缓存量恢复至目标数据缓存量时,恢复至正常速度播放模式。
具体的,如果P2P节点分享数据质量较差时,为了避免播放卡顿SDK会从CDN进行数据补片,但这个过程会增加音视频数据获取的时间,导致缓冲队列中的数据被过多的被消费,如果音视频缓冲区中当前数据缓存量小于缓冲区数据缓存量下限min_play_buffer_ms,同时预设慢放比例play_slow_scale有效,即小于正常播放对应的数值(如100),则进一步检测当前播放器的播放状态,如果当前播放器未进行慢放则play_slowing为false,则通知播放器进行慢放,具体逻辑如下:
随着播放器进行慢放,缓冲队列中缓存的音视频数据会逐渐积累,待数据积累恢复至目标数据缓存量best_play_buffer_ms,则通知播放器恢复正常播放,具体逻辑如下:
综上,本申请实施例提供的方法,在客户端的当前数据缓存量低于缓冲区数据下限的情况下,通过调整播放器的播放速度至预设慢放比例系数至预设慢放模式,可以慢速“消耗”缓冲区内的音视频数据,等待当前音视频数据量趋向于目标数据缓存量,从而可以保证音视频在播放时缓存数据不足造成卡顿的现象发生。
在一些示例中,上述方法还包括步骤S1302至步骤S1602:
S1302、获取上述预设慢放模式的慢放持续时长;
S1402、在上述慢放持续时长大于预设慢放时长的情况下,获取P2P音视频数据接收速率;
S1502、根据上述P2P音视频数据接收速率和上述音视频缓冲区当前容量确定第二慢放比例系数,其中,上述第二慢放比例系数小于上述预设慢放比例系数;
S1602、将上述音视频文件的播放速度调整至第二慢放比例系数对应的第二减速慢放模式。
示例性的,在播放器进行预设慢放模式时,获取预设慢放模式的慢放持续时长,如果慢放持续时长大于预设慢放时长的情况下,如:预设慢放时长为5秒,而慢放持续时长超过5秒时,认为此时的预设慢放模式的速度不足以使当前数缓存量快速趋向于目标数据缓存量,为了使播放器快速达到正常播放的模式,此时获取音视频数据的接收速度,并根据数据接收速率确定第二慢放比例系数,第二慢放比例系数(如0.5)要小于预设快放比例系数(如0.75),从而使播放器以更为快速的第二减速慢放模式播放直播视频,从而使缓冲区的当前数据缓存量快速上升到目标数据缓存量。需要说明的是,可以提前制定好音视频接收速率与慢放比例系数的对应关系,即音视频接收速率越小慢放比例系数越小。
综上,本申请实施例提供的方法,在客户端段预设快放模式的慢放持续时长于预设快放时长的情况下,根据音视频数据接收速率确定第二慢放比例系数,可以使缓冲区的当前数据缓存量快速上升到目标数据缓存量,使播放器恢复到正常播放模式。
请参阅图2,本申请实施例中直播播放控制装置的一个实施例,可以包括:
获取单元21,用于获取上述客户端的音视频缓冲区的当前数据缓存量;
控制单元22,用于基于上述音视频缓冲区的当前数据缓存量调整与上述音视频缓冲区关联的音视频文件在上述客户端中的播放速度,以使上述当前数据缓存量趋于目标数据缓存量。
如图3所示,本申请实施例还提供一种电子设备300,包括存储器310、处理器320及存储存储器320上并可在处理器上运行的计算机程序311,处理器320执行计算机程序311时实现上述直播播放控制的任一方法的步骤。
由于本实施例所介绍的电子设备为实施本申请实施例中一种直播播放控制装置所采用的设备,故而基于本申请实施例中所介绍的方法,本领域所属技术人员能够了解本实施例的电子设备的具体实施方式以及其各种变化形式,所以在此对于该电子设备如何实现本申请实施例中的方法不再详细介绍,只要本领域所属技术人员实施本申请实施例中的方法所采用的设备,都属于本申请所欲保护的范围。
在具体实施过程中,该计算机程序311被处理器执行时可以实现图1对应的实施例中任一实施方式。
需要说明的是,在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详细描述的部分,可以参见其它实施例的相关描述。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式计算机或者其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
本申请实施例还提供了一种计算机程序产品,该计算机程序产品包括计算机软件指令,当计算机软件指令在处理设备上运行时,使得处理设备执行如图1对应实施例中的直播播放控制的流程。
计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本申请实施例的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘(solid state disk,SSD))等。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (11)
1.一种直播播放控制方法,其特征在于,用于客户端,包括:
获取客户端的音视频缓冲区的当前数据缓存量,其中,所述音视频缓冲区基于音视频播放配置信息生成;
基于所述音视频缓冲区的当前数据缓存量调整与所述音视频缓冲区关联的音视频文件在所述客户端中的播放速度,以使所述当前数据缓存量趋于目标数据缓存量。
2.如权利要求1所述的方法,其特征在于,所述获取客户端的音视频缓冲区的当前数据缓存量的步骤之前,所述直播播放控制方法还包括:
向第一服务器发起请求以使所述第一服务器返馈音视频播放配置信息;
基于所述音视频播放配置信息创建客户端的音视频缓冲区;
接收第二服务器服务端推荐的目标P2P用户,向所述第二服务器发起P2P连接请求,与所述目标P2P用户建立P2P连接;
向CDN服务器拉取CDN音视频数据;
接收所述目标P2P用户分享的P2P音视频数据;
将所述CDN音视频数据和所述P2P音视频数据进行组帧,将组帧后的音视频流存入所述客户端的音视频缓冲区供播放器播放。
3.如权利要求2所述的方法,其特征在于,所述将所述CDN音视频数据和所述P2P音视频数据进行组帧,将组帧后的音视频流存入所述客户端的音视频缓冲区供播放器播放的步骤之后,所述直播播放控制还包括:
确定所述P2P音视频数据的接收速率;
相应地,所述基于所述音视频缓冲区的当前数据缓存量调整与所述音视频缓冲区关联的音视频文件在所述客户端中的播放速度,以使所述当前数据缓存量趋于目标数据缓存量的步骤,包括:
根据所述P2P音视频数据的接收速率和所述当前数据缓存量来调整所述组帧后的音视频流在所述客户端中的当前播放速度,以使所述当前数据缓存量趋于目标数据缓存量。
4.如权利要求3所述的方法,其特征在于,所述根据所述P2P音视频数据的接收速率和所述当前数据缓存量来调整所述组帧后的音视频流在所述客户端中的当前播放速度,以使所述当前数据缓存量趋于目标数据缓存量的步骤,具体包括:
在所述P2P音视频数据的接收速率大于所述组帧后的音视频流在所述客户端中的当前播放速度,且所述音视频缓冲区的当前数据缓存量大于所述缓冲区数据缓存量上限的情况下,将所述当前播放速度调整至预设快放模式。
5.如权利要求3所述的方法,其特征在于,所述根据所述P2P音视频数据的接收速率和所述当前数据缓存量来调整所述组帧后的音视频流在所述客户端中的当前播放速度,以使所述当前数据缓存量趋于目标数据缓存量的步骤,具体包括:
在所述P2P音视频数据的接收速率小于预设P2P传输速度的情况下,向所述CDN服务器请求数据补片以获取音视频补片数据,将所述音视频补片数据存入所述音视频缓冲区;
检测所述音视频缓冲区的当前数据缓存量,若所述音视频缓冲区的当前数据缓存量小于所述缓冲区数据缓存量下限的情况下,则将所述音视频文件的播放速度调整至预设慢放模式。
6.如权利要求1所述的方法,其特征在于,所述音视频播放配置信息包括缓冲区数据缓存量上限、预设快放比例系数和所述目标数据缓存量;
相应地,所述基于所述音视频缓冲区的当前数据缓存量调整与所述音视频缓冲区关联的音视频文件在所述客户端中的播放速度,包括:
在所述音视频缓冲区的当前数据缓存量大于所述缓冲区数据缓存量上限的情况下,将所述音视频文件的播放速度调整至所述预设快放比例系数对应的预设快放模式;在所述当前数据缓存量到达所述目标数据缓存量的情况下,退出所述预设快放模式。
7.如权利要求6所述的方法,其特征在于,还包括:
获取所述预设快放模式的快放持续时长;
在所述快放持续时长大于预设快放时长的情况下,获取P2P音视频数据的接收速率;
根据所述P2P音视频数据的接收速率和所述当前数据缓存量确定第二快放比例系数,其中,所述第二快放比例系数大于所述预设快放比例系数;
将所述音视频文件的播放速度调整至第二快放比例系数对应的第二加速快放模式。
8.如权利要求6所述的方法,其特征在于,所述音视频播放配置信息包括缓冲区数据缓存量下限、预设慢放比例系数和所述目标数据缓存量;
所述基于所述音视频缓冲区的当前数据缓存量调整与所述音视频缓冲区关联的音视频文件在所述客户端中的播放速度,包括:
在所述音视频缓冲区的当前数据缓存量小于所述缓冲区数据缓存量下限的情况下,将所述音视频文件的播放速度调整至所述预设慢放比例系数对应的预设慢放模式;
在所述当前数据缓存量到达所述目标数据缓存量的情况下,退出所述预设慢放模式。
9.如权利要求8所述的方法,其特征在于,还包括:
获取所述预设慢放模式的慢放持续时长;
在所述慢放持续时长大于预设慢放时长的情况下,获取P2P音视频数据接收速率;
根据所述P2P音视频数据接收速率和所述音视频缓冲区当前容量确定第二慢放比例系数,其中,所述第二慢放比例系数小于所述预设慢放比例系数;
将所述音视频文件的播放速度调整至第二慢放比例系数对应的第二减速慢放模式。
10.一种电子设备,包括:存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器用于执行存储器中存储的计算机程序时实现如权利要求1-9中任一项所述的直播播放控制方法的步骤。
11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现如权利要求1-9中任一项所述的直播播放控制方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210748682.9A CN115022667A (zh) | 2022-06-28 | 2022-06-28 | 一种直播播放控制方法及相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210748682.9A CN115022667A (zh) | 2022-06-28 | 2022-06-28 | 一种直播播放控制方法及相关设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115022667A true CN115022667A (zh) | 2022-09-06 |
Family
ID=83079696
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210748682.9A Pending CN115022667A (zh) | 2022-06-28 | 2022-06-28 | 一种直播播放控制方法及相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115022667A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116233472A (zh) * | 2023-05-08 | 2023-06-06 | 湖南马栏山视频先进技术研究院有限公司 | 一种音频视频同步的方法和云端处理系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105100876A (zh) * | 2015-08-28 | 2015-11-25 | 北京奇艺世纪科技有限公司 | 一种流媒体的播放方法及装置 |
CN105657523A (zh) * | 2016-01-28 | 2016-06-08 | 腾讯科技(深圳)有限公司 | 视频预加载的方法和装置 |
CN107529097A (zh) * | 2016-06-20 | 2017-12-29 | 北京信威通信技术股份有限公司 | 一种自适应调整视频缓冲大小的方法及装置 |
US20200145701A1 (en) * | 2016-12-30 | 2020-05-07 | Tivo Solutions Inc. | Advanced trick-play modes for streaming video |
CN111556324A (zh) * | 2020-04-04 | 2020-08-18 | 网宿科技股份有限公司 | 一种视频直播的方法、装置、设备及系统 |
CN112954376A (zh) * | 2021-02-04 | 2021-06-11 | 海信电子科技(武汉)有限公司 | 一种视频播放方法及显示设备 |
-
2022
- 2022-06-28 CN CN202210748682.9A patent/CN115022667A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105100876A (zh) * | 2015-08-28 | 2015-11-25 | 北京奇艺世纪科技有限公司 | 一种流媒体的播放方法及装置 |
CN105657523A (zh) * | 2016-01-28 | 2016-06-08 | 腾讯科技(深圳)有限公司 | 视频预加载的方法和装置 |
CN107529097A (zh) * | 2016-06-20 | 2017-12-29 | 北京信威通信技术股份有限公司 | 一种自适应调整视频缓冲大小的方法及装置 |
US20200145701A1 (en) * | 2016-12-30 | 2020-05-07 | Tivo Solutions Inc. | Advanced trick-play modes for streaming video |
CN111556324A (zh) * | 2020-04-04 | 2020-08-18 | 网宿科技股份有限公司 | 一种视频直播的方法、装置、设备及系统 |
CN112954376A (zh) * | 2021-02-04 | 2021-06-11 | 海信电子科技(武汉)有限公司 | 一种视频播放方法及显示设备 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116233472A (zh) * | 2023-05-08 | 2023-06-06 | 湖南马栏山视频先进技术研究院有限公司 | 一种音频视频同步的方法和云端处理系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10986414B1 (en) | Resource management for video playback and chat | |
US9503491B2 (en) | Playback stall avoidance in adaptive media streaming | |
US20200099732A1 (en) | Catching up to the live playhead in live streaming | |
US20200021868A1 (en) | Playback synchronization among adaptive bitrate streaming clients | |
KR102472155B1 (ko) | 피어 투 피어(Peer to peer, P2P) 네트워크에서 스트리밍 콘텐츠를 방송하는 방법 | |
EP3852376A1 (en) | Method and device for adjusting timestamp of live broadcast video | |
EP3448041A1 (en) | Video player client, system, and method for live broadcast video synchronization | |
CN108881931B (zh) | 一种数据缓冲方法及网络设备 | |
JP2015531564A (ja) | メディアタイトルを視聴するグループにおける再生同期化 | |
EP2466911A1 (en) | Method and device for fast pushing unicast stream in fast channel change | |
US20180367827A1 (en) | Player client terminal, system, and method for implementing live video synchronization | |
US9866602B2 (en) | Adaptive bit rates during broadcast transmission in distributed content delivery networks | |
US10091265B2 (en) | Catching up to the live playhead in live streaming | |
US10116763B2 (en) | Method for operating a cache arranged along a transmission path between client terminals and at least one server, and corresponding cache | |
EP3466081A1 (en) | Catching up to the live playhead in live streaming | |
WO2017166496A1 (zh) | 一种下载视频文件和提供视频文件的方法及装置 | |
CN115022667A (zh) | 一种直播播放控制方法及相关设备 | |
TWI723394B (zh) | 修正視訊串流流量的方法、機上盒及電腦可讀儲存介質 | |
CN113271496A (zh) | 一种网络直播中视频平滑播放方法、系统和可读存储介质 | |
WO2021013558A1 (en) | A media client with adaptive buffer size and the related method | |
US10158923B2 (en) | Method of broadcasting contents by streaming in a peer-to-peer network | |
US20230199267A1 (en) | Method and apparatus for processing adaptive multi-view streaming | |
CN113676777B (zh) | 数据处理方法及装置 | |
EP4080892A1 (en) | Method for playing on a player of a client device a content streamed in a network | |
KR20230046801A (ko) | 디스플레이 장치 및 그 동작 방법 |
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 |