CN112153404B - 码率调整方法、检测方法、装置、设备及存储介质 - Google Patents

码率调整方法、检测方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN112153404B
CN112153404B CN202011009874.5A CN202011009874A CN112153404B CN 112153404 B CN112153404 B CN 112153404B CN 202011009874 A CN202011009874 A CN 202011009874A CN 112153404 B CN112153404 B CN 112153404B
Authority
CN
China
Prior art keywords
code rate
state information
preset
video
terminal
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
Application number
CN202011009874.5A
Other languages
English (en)
Other versions
CN112153404A (zh
Inventor
钟书城
周超
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Dajia Internet Information Technology Co Ltd
Original Assignee
Beijing Dajia Internet Information Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Dajia Internet Information Technology Co Ltd filed Critical Beijing Dajia Internet Information Technology Co Ltd
Priority to CN202011009874.5A priority Critical patent/CN112153404B/zh
Publication of CN112153404A publication Critical patent/CN112153404A/zh
Application granted granted Critical
Publication of CN112153404B publication Critical patent/CN112153404B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/2187Live feed
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234363Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by altering the spatial resolution, e.g. for clients with a lower screen resolution
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management 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/266Channel 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/2662Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network 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/63Control 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/647Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
    • H04N21/64723Monitoring of network processes or resources, e.g. monitoring of network load
    • H04N21/64738Monitoring network characteristics, e.g. bandwidth, congestion level

Abstract

本公开是关于一种码率调整方法、检测方法、装置、设备及存储介质,属于直播技术领域。方法包括:获取主播终端对直播视频进行编码时采用的第一直播码率以及对第一主播视频进行编码时采用的第二直播码率,根据状态信息以及第一直播码率与第二直播码率之间的大小关系,对第一直播码率或第二直播码率进行调整,状态信息用于指示是否允许进行码率调整。基于当前状态信息的指示,确定是否需要对第一直播码率或第二直播码率进行调整,以使当前对直播码率的调整能够符合当前的直播情况,并且对码率的调整能够防止直播卡顿,提高了直播的流畅度,进而提高了直播效果。

Description

码率调整方法、检测方法、装置、设备及存储介质
技术领域
本公开涉及直播技术领域,尤其涉及一种码率调整方法、检测方法、装置、设备及存储介质。
背景技术
随着互联网技术的发展和直播技术的日益提升,连麦功能已成为直播领域的一种常用功能,连麦是指至少两个用户能够在直播过程中进行实时交流,且连麦过程中的用户能够互相观看对方用户的视频。
在连麦过程中,主播终端能够采集本端的第一主播视频,获取连麦终端采集的第二主播视频,将第一主播视频和第二主播视频组成直播视频后发送给服务器,以便服务器将该直播视频发布在主播终端的直播间中,并且主播终端还能够将第一主播视频发送给连麦终端,供连麦终端发布在自己的直播间中。而主播终端发送直播视频,以及主播终端发送第一主播视频同时进行时均会占用网络链路,由于网络链路的带宽有限,可能会造成卡顿,导致直播效果差。
发明内容
本公开提供了一种码率调整方法、检测方法、装置、设备及存储介质,对码率的调整能够防止出现直播卡顿,提高了直播的流畅度,进而提高了直播效果。
根据本公开实施例的第一方面,提供一种码率调整方法,所述方法包括:
获取第一直播码率,所述第一直播码率为主播终端对直播视频进行编码时采用的码率,所述直播视频中包括所述主播终端采集的第一主播视频和所述主播终端的连麦终端采集的第二主播视频;
获取第二直播码率,所述第二直播码率为所述主播终端对所述第一主播视频进行编码时采用的码率;
根据状态信息以及所述第一直播码率与所述第二直播码率之间的大小关系,对所述第一直播码率或所述第二直播码率进行调整,所述状态信息用于指示是否允许进行码率调整。
在一种可能实现方式中,所述方法还包括:
若所述状态信息为第一状态信息,且所述第二直播码率不大于第一预设码率,则将所述第一状态信息切换为第二状态信息;
若所述状态信息为第二状态信息,且所述第二直播码率大于第一预设码率,则将所述第二状态信息切换为所述第一状态信息;
其中,所述第一状态信息用于指示禁止进行码率调整,所述第二状态信息用于指示允许进行码率调整。
在另一种可能实现方式中,所述若所述状态信息为第一状态信息,且所述第二直播码率不大于第一预设码率,则将所述第一状态信息切换为第二状态信息,包括:
若所述状态信息为所述第一状态信息,且所述第二直播码率不大于所述第一预设码率的持续时长大于第一预设时长,则将所述第一状态信息切换为所述第二状态信息。
在另一种可能实现方式中,所述若所述状态信息为第二状态信息,且所述第二直播码率大于第一预设码率,则将所述第二状态信息切换为所述第一状态信息,包括:
若所述状态信息为所述第二状态信息,且所述第二直播码率大于所述第一预设码率的持续时长大于第二预设时长,则将所述第二状态信息切换为所述第一状态信息。
在另一种可能实现方式中,所述方法还包括:
若所述状态信息为第二状态信息,且所述第二直播码率小于所述第一预设码率的持续时长大于第三预设时长,则将所述第二状态信息切换为第三状态信息;或者,
若所述状态信息为所述第三状态信息且所述第二直播码率大于所述第一预设码率,或者所述状态信息为所述第三状态信息的持续时长超过第四预设时长,则将所述第三状态信息切换为所述第一状态信息;
其中,所述第三状态信息用于表示禁止进行码率调整。
在另一种可能实现方式中,所述根据状态信息以及所述第一直播码率与所述第二直播码率之间的大小关系,对所述第一直播码率或所述第二直播码率进行调整,包括:
当所述状态信息切换为第二状态信息时,根据所述第一直播码率与所述第二直播码率之间的大小关系,对所述第一直播码率或所述第二直播码率进行调整;
其中,所述第二状态信息用于指示允许进行码率调整。
在另一种可能实现方式中,所述当所述状态信息切换为第二状态信息时,根据所述第一直播码率与所述第二直播码率之间的大小关系,对所述第一直播码率或所述第二直播码率进行调整,包括:
当所述状态信息切换为第二状态信息时,在所述第二直播码率不大于第一预设码率的情况下,则每隔第五预设时长,按照第二预设码率降低一次所述第一直播码率,以使所述第二直播码率升高,直至所述第二直播码率大于所述第一预设码率。
在另一种可能实现方式中,所述当所述状态信息切换为第二状态信息时,在所述第二直播码率不大于第一预设码率的情况下,则每隔第五预设时长,按照第二预设码率降低一次所述第一直播码率,以使所述第二直播码率升高,直至所述第二直播码率大于所述第一预设码率之后,所述当所述状态信息切换为第二状态信息时,根据所述第一直播码率与所述第二直播码率之间的大小关系,对所述第一直播码率或所述第二直播码率进行调整,还包括:
当所述状态信息切换为第二状态信息时,在所述第二直播码率大于所述第一预设码率的情况下,则每隔第六预设时长,按照第三预设码率升高一次所述第一直播码率,以使所述第二直播码率降低,直至所述第一直播码率不小于第四预设码率。
在另一种可能实现方式中,所述方法还包括:
获取最大连麦码率和最小连麦码率;
根据所述最小连麦码率和所述最大连麦码率与所述最小连麦码率之间的差值,确定所述第一预设码率,所述第一预设码率大于所述最小连麦码率且所述第一预设码率小于所述最大连麦码率。
在另一种可能实现方式中,所述根据所述最小连麦码率和所述最大连麦码率与所述最小连麦码率之间的差值,确定所述第一预设码率,包括:
获取所述差值与预设权重的乘积,作为第一数值;
获取所述第一数值与所述最小连麦码率的和,作为所述第一预设码率。
在另一种可能实现方式中,所述获取第一直播码率之前,所述方法还包括:
采集多个推流延时时长,所述推流延时时长用于指示所述主播终端发送所述直播视频与接收所述直播视频的响应消息之间的延时时长;
采集多个连麦延时时长,所述连麦延时时长用于指示所述主播终端发送所述第一主播视频与接收所述第一主播视频的响应消息之间的延时时长;
根据所述多个推流延时时长和所述多个连麦延时时长,确定推流延时时长与连麦延时时长之间的关联度;
若所述关联度大于预设关联度,确定所述主播终端采用相同的网络链路发送所述直播视频和所述第一主播视频。
根据本公开实施例的第二方面,提供一种检测方法,所述方法包括:
采集多个推流延时时长,所述推流延时时长用于指示所述主播终端发送直播视频与接收所述直播视频的响应消息之间的延时时长,所述直播视频包括所述主播终端采集的第一主播视频和与所述主播终端的连麦终端采集的第二主播视频;
采集多个连麦延时时长,所述连麦延时时长用于指示所述主播终端发送所述第一主播视频与接收所述第一主播视频的响应消息之间的延时时长;
根据所述多个推流延时时长和所述多个连麦延时时长,确定推流延时时长与连麦延时时长之间的关联度;
若所述关联度大于预设关联度,确定所述主播终端采用相同的网络链路发送所述直播视频和所述第一主播视频。
在一种可能实现方式中,所述采集多个推流延时时长,包括:
每隔第一预设时长,从数据库中采集推流延时时长,所述数据库用于存储已确定的推流延时时长。
在另一种可能实现方式中,所述方法还包括:
获取向服务器发送所述直播视频的第一时间点;
获取接收所述直播视频的响应信息的第二时间点;
将所述第一时间点和所述第二时间点之间的时间差,确定为推流延时时长,将所述推流延时时长存储于所述数据库中。
在另一种可能实现方式中,所述采集多个连麦延时时长,包括:
每隔第二预设时长,从数据库中采集连麦延时时长,所述数据库用于存储已确定的推流延时时长。
在另一种可能实现方式中,所述方法还包括:
获取向服务器发送所述第一主播视频的第三时间点;
获取接收所述第一主播视频的响应信息的第四时间点;
将所述第三时间点和所述第四时间点之间的时间差,确定为连麦延时时长,将所述连麦延时时长存储于所述数据库中。
在另一种可能实现方式中,所述根据所述多个推流延时时长和所述多个连麦延时时长,确定推流延时时长和连麦延时时长之间的关联度,包括:
获取所述多个推流延时时长的推流延时总时长和所述多个连麦延时时长的连麦延时总时长;
根据所述推流延时总时长和所述连麦延时总时长确定时间差,所述时间差为所述主播终端接收所述直播视频的响应消息与所述主播终端接收所述第一主播视频的响应消息之间的延时时长的时间差;
基于所述时间差、所述多个推流延时时长、所述多个连麦延时时长确定所述关联度。
在另一种可能实现方式中,所述根据所述多个推流延时时长和所述多个连麦延时时长,确定推流延时时长与连麦延时时长之间的关联度,包括:
每隔第三预设时长,根据所述第三预设时长内采集的多个推流延时时长和所述多个连麦延时时长,确定一个关联度;
所述若所述关联度大于预设关联度,确定所述主播终端采用相同的网络链路发送所述直播视频和所述第一主播视频,包括:
若确定多个关联度且所述多个关联度中的每个关联度大于所述预设关联度,确定所述主播终端采用相同的网络链路发送所述直播视频和所述第一主播视频。
在另一种可能实现方式中,所述采集多个推流延时时长之前,所述方法还包括:
确定所述主播终端对所述第一主播视频进行编码时采用的码率小于第一预设码率。
根据本公开实施例的第三方面,提供一种码率调整装置,所述装置包括:
获取单元,被配置为执行获取第一直播码率,所述第一直播码率为主播终端对直播视频进行编码时采用的码率,所述直播视频中包括所述主播终端采集的第一主播视频和所述主播终端的连麦终端采集的第二主播视频;
所述获取单元,被配置为执行获取第二直播码率,所述第二直播码率为所述主播终端对所述第一主播视频进行编码时采用的码率;
调整单元,被配置为执行根据状态信息以及所述第一直播码率与所述第二直播码率之间的大小关系,对所述第一直播码率或所述第二直播码率进行调整,所述状态信息用于指示是否允许进行码率调整。
在一种可能实现方式中,所述装置还包括:
切换单元,被配置为执行若所述状态信息为第一状态信息,且所述第二直播码率不大于第一预设码率,则将所述第一状态信息切换为第二状态信息;
所述切换单元,被配置为执行若所述状态信息为第二状态信息,且所述第二直播码率大于第一预设码率,则将所述第二状态信息切换为所述第一状态信息;
其中,所述第一状态信息用于指示禁止进行码率调整,所述第二状态信息用于指示允许进行码率调整。
在另一种可能实现方式中,所述切换单元,被配置为执行若所述状态信息为所述第一状态信息,且所述第二直播码率不大于所述第一预设码率的持续时长大于第一预设时长,则将所述第一状态信息切换为所述第二状态信息。
在另一种可能实现方式中,所述切换单元,被配置为执行若所述状态信息为所述第二状态信息,且所述第二直播码率大于所述第一预设码率的持续时长大于第二预设时长,则将所述第二状态信息切换为所述第一状态信息。
在另一种可能实现方式中,所述装置还包括:
切换单元,被配置为执行若所述状态信息为第二状态信息,且所述第二直播码率小于所述第一预设码率的持续时长大于第三预设时长,则将所述第二状态信息切换为第三状态信息;或者,
所述切换单元,被配置为执行若所述状态信息为所述第三状态信息且所述第二直播码率大于所述第一预设码率,或者所述状态信息为所述第三状态信息的持续时长超过第四预设时长,则将所述第三状态信息切换为所述第一状态信息;
其中,所述第三状态信息用于表示禁止进行码率调整。
在另一种可能实现方式中,所述调整单元,被配置为执行当所述状态信息切换为第二状态信息时,根据所述第一直播码率与所述第二直播码率之间的大小关系,对所述第一直播码率或所述第二直播码率进行调整;
其中,所述第二状态信息用于指示允许进行码率调整。
在另一种可能实现方式中,所述调整单元,被配置为执行当所述状态信息切换为第二状态信息时,在所述第二直播码率不大于第一预设码率的情况下,则每隔第五预设时长,按照第二预设码率降低一次所述第一直播码率,以使所述第二直播码率升高,直至所述第二直播码率大于所述第一预设码率。
在另一种可能实现方式中,所述调整单元,被配置为执行当所述状态信息切换为第二状态信息时,在所述第二直播码率大于所述第一预设码率的情况下,则每隔第六预设时长,按照第三预设码率升高一次所述第一直播码率,以使所述第二直播码率降低,直至所述第一直播码率不小于第四预设码率。
在另一种可能实现方式中,所述装置还包括:
所述获取单元,被配置为执行获取最大连麦码率和最小连麦码率;
第一确定单元,被配置为执行根据所述最小连麦码率和所述最大连麦码率与所述最小连麦码率之间的差值,确定所述第一预设码率,所述第一预设码率大于所述最小连麦码率且所述第一预设码率小于所述最大连麦码率。
在另一种可能实现方式中,所述第一确定单元,被配置为执行:
获取所述差值与预设权重的乘积,作为第一数值;
获取所述第一数值与所述最小连麦码率的和,作为所述第一预设码率。
在另一种可能实现方式中,所述装置还包括:
采集单元,被配置为执行采集多个推流延时时长,所述推流延时时长用于指示所述主播终端发送所述直播视频与接收所述直播视频的响应消息之间的延时时长;
所述采集单元,被配置为执行采集多个连麦延时时长,所述连麦延时时长用于指示所述主播终端发送所述第一主播视频与接收所述第一主播视频的响应消息之间的延时时长;
第二确定单元,被配置为执行根据所述多个推流延时时长和所述多个连麦延时时长,确定推流延时时长与连麦延时时长之间的关联度;
第三确定单元,被配置为执行若所述关联度大于预设关联度,确定所述主播终端采用相同的网络链路发送所述直播视频和所述第一主播视频。
根据本公开实施例的第四方面,提供一种检测装置,所述装置包括:
采集单元,被配置为执行采集多个推流延时时长,所述推流延时时长用于指示所述主播终端发送直播视频与接收所述直播视频的响应消息之间的延时时长,所述直播视频包括所述主播终端采集的第一主播视频和与所述主播终端的连麦终端采集的第二主播视频;
所述采集单元,被配置为执行采集多个连麦延时时长,所述连麦延时时长用于指示所述主播终端发送所述第一主播视频与接收所述第一主播视频的响应消息之间的延时时长;
第一确定单元,被配置为执行根据所述多个推流延时时长和所述多个连麦延时时长,确定推流延时时长与连麦延时时长之间的关联度;
第二确定单元,被配置为执行若所述关联度大于预设关联度,确定所述主播终端采用相同的网络链路发送所述直播视频和所述第一主播视频。
在一种可能实现方式中,所述采集单元,被配置为执行每隔第一预设时长,从数据库中采集推流延时时长,所述数据库用于存储已确定的推流延时时长。
在另一种可能实现方式中,所述装置还包括:
获取单元,被配置为执行获取向服务器发送所述直播视频的第一时间点;
所述获取单元,被配置为执行获取接收所述直播视频的响应信息的第二时间点;
第三确定单元,被配置为执行将所述第一时间点和所述第二时间点之间的时间差,确定为推流延时时长,将所述推流延时时长存储于所述数据库中。
在另一种可能实现方式中,所述采集单元,被配置为执行每隔第二预设时长,从数据库中采集连麦延时时长,所述数据库用于存储已确定的推流延时时长。
在另一种可能实现方式中,所述装置还包括:
获取单元,被配置为执行获取向服务器发送所述第一主播视频的第三时间点;
所述获取单元,被配置为执行获取接收所述第一主播视频的响应信息的第四时间点;
第三确定单元,被配置为执行将所述第三时间点和所述第四时间点之间的时间差,确定为连麦延时时长,将所述连麦延时时长存储于所述数据库中。
在另一种可能实现方式中,所述第一确定单元,被配置为执行:
获取所述多个推流延时时长的推流延时总时长和所述多个连麦延时时长的连麦延时总时长;
根据所述推流延时总时长和所述连麦延时总时长确定时间差,所述时间差为所述主播终端接收所述直播视频的响应消息与所述主播终端接收所述第一主播视频的响应消息之间的延时时长的时间差;
基于所述时间差、所述多个推流延时时长、所述多个连麦延时时长确定所述关联度。
在另一种可能实现方式中,所述第一确定单元,被配置为执行每隔第三预设时长,根据所述第三预设时长内采集的多个推流延时时长和所述多个连麦延时时长,确定一个关联度;
所述第二确定单元,被配置为执行若确定多个关联度且所述多个关联度中的每个关联度大于所述预设关联度,确定所述主播终端采用相同的网络链路发送所述直播视频和所述第一主播视频。
在另一种可能实现方式中,所述装置还包括:
第四确定单元,被配置为执行确定所述主播终端对所述第一主播视频进行编码时采用的码率小于第一预设码率。
根据本公开实施例的第五方面,提供一种终端,所述终端包括:
一个或多个处理器;
用于存储所述一个或多个处理器可执行命令的易失性或非易失性存储器;
其中,所述一个或多个处理器被配置为执行如第一方面所述的码率调整方法或第二方面所述的检测方法。
根据本公开实施例提供的第六方面,提供一种非临时性计算机可读存储介质,当所述存储介质中的指令由终端的处理器执行时,使得终端能够执行如第一方面所述的码率调整方法或第二方面所述的检测方法。
根据本公开实施例的第七方面,提供一种计算机程序产品,当所述计算机程序产品中的指令由终端的处理器执行时,使得终端能够执行如第一方面所述的码率调整方法或第二方面所述的检测方法。
本公开的实施例提供的技术方案可以包括以下有益效果:
本公开实施例提供的方案中,主播终端能够在与连麦终端进行直播连麦的过程中,同时发送直播视频和第一主播视频,并且主播终端对直播视频进行编码采用的第一直播码率和对第一主播视频进行编码采用的第二直播码率会互相影响,在此情况下,基于当前状态信息的指示,确定是否需要对第一直播码率或第二直播码率进行调整,以使当前对直播码率的调整能够符合当前的直播情况,并且对码率的调整能够防止直播卡顿,提高了直播的流畅度,进而提高了直播效果。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
图1是根据一示例性实施例示出的一种实施环境的结构示意图。
图2是根据一示例性实施例示出的一种码率调整方法的流程图。
图3是根据一示例性实施例示出的一种检测方法的流程图。
图4是根据一示例性实施例示出的一种码率调整方法的流程图。
图5是根据一示例性实施例示出的一种状态切换的示意图。
图6是根据一示例性实施例示出的一种检测方法的流程图。
图7是根据一示例性实施例示出的一种码率调整方法的流程图。
图8是根据一示例性实施例示出的一种码率调整装置的结构示意图。
图9是根据一示例性实施例示出的另一种码率调整装置的结构示意图。
图10是根据一示例性实施例示出的一种检测装置的结构示意图。
图11是根据一示例性实施例示出的另一种检测装置的结构示意图。
图12是根据一示例性实施例示出的一种终端的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
首先,先对本申请所涉及的名词进行解释:
第一直播码率:主播终端能够开启直播,并且主播终端能够将直播视频发送给直播源服务器,由直播源服务器将接收的直播视频转发给位于该主播终端的直播间内的观众终端。另外,主播终端若与其他连麦终端处于连麦状态,则主播终端发送的直播视频中包括主播终端采集的第一主播视频和连麦终端的第二主播视频,并且主播终端对直播视频进行编码时采用的码率为第一直播码率。
第二直播码率:主播终端与其他连麦终端进行连麦,并且在连麦过程中该主播终端能够将第一主播视频发送给连麦服务器,由连麦服务器将接收的直播连麦视频转发给与该主播终端进行连麦的连麦终端。主播终端对第一主播视频进行编码时采用的码率为第二直播码率。
在一种可能实现方式中,该连麦服务器为SFU(Selective Forwarding Unit,选择性转发单元)服务器。
图1是根据一示例性实施例示出的一种实施环境的结构示意图,如图1所示,
终端A和终端B还能够进行直播连麦,终端A向连麦服务器发送第一主播视频,连麦服务器将接收的第一主播视频转发给终端B,并且终端B也能够向该连麦服务器发送第二主播视频,连麦服务器将接收的第二主播视频转发给终端A,通过上述连麦服务器的转发功能,实现终端A与终端B进行直播连麦。
并且,终端A能够将直播视频发送给直播源服务器,该主播视频中能够包括终端A采集的第一主播视频和终端B的第二主播视频。
本申请实施例提供的方法,应用在直播连麦场景中,主播终端能够发送直播视频和第一主播视频,若对直播视频进行编码采用的第一直播码率和对第一主播视频进行编码采用的第二直播码率相互影响,则采用本申请实施例提供的方法,对第一直播码率和第二直播码率进行调整。
图2是根据一示例性实施例示出的一种码率调整方法的流程图,参见图2,该方法包括:
在步骤201中,获取第一直播码率。
其中,第一直播码率为主播终端对直播视频进行编码时采用的码率,直播视频中包括主播终端采集的第一主播视频和主播终端的连麦终端采集的第二主播视频。
在步骤202中,获取第二直播码率。
其中,第二直播码率为主播终端对第一主播视频进行编码时采用的码率。
在步骤203中,根据状态信息以及第一直播码率与第二直播码率之间的大小关系,对第一直播码率或第二直播码率进行调整,状态信息用于指示是否允许进行码率调整。
本申请实施例提供的方案中,主播终端能够在与连麦终端进行直播连麦的过程中,同时发送直播视频和第一主播视频,并且主播终端对直播视频进行编码采用的第一直播码率和对第一主播视频进行编码采用的第二直播码率会互相影响,在此情况下,基于当前状态信息的指示,确定是否需要对第一直播码率或第二直播码率进行调整,以使当前对直播码率的调整能够符合当前的直播情况,并且对码率的调整能够防止直播卡顿,提高了直播的流畅度,进而提高了直播效果。
在一种可能实现方式中,方法还包括:
若状态信息为第一状态信息,且第二直播码率不大于第一预设码率,则将第一状态信息切换为第二状态信息;
若状态信息为第二状态信息,且第二直播码率大于第一预设码率,则将第二状态信息切换为第一状态信息;
其中,第一状态信息用于指示禁止进行码率调整,第二状态信息用于指示允许进行码率调整。
在另一种可能实现方式中,若状态信息为第一状态信息,且第二直播码率不大于第一预设码率,则将第一状态信息切换为第二状态信息,包括:
若状态信息为第一状态信息,且第二直播码率不大于第一预设码率的持续时长大于第一预设时长,则将第一状态信息切换为第二状态信息。
在另一种可能实现方式中,若状态信息为第二状态信息,且第二直播码率大于第一预设码率,则将第二状态信息切换为第一状态信息,包括:
若状态信息为第二状态信息,且第二直播码率大于第一预设码率的持续时长大于第二预设时长,则将第二状态信息切换为第一状态信息。
在另一种可能实现方式中,方法还包括:
若状态信息为第二状态信息,且第二直播码率小于第一预设码率的持续时长大于第三预设时长,则将第二状态信息切换为第三状态信息;或者,
若状态信息为第三状态信息且第二直播码率大于第一预设码率,或者状态信息为第三状态信息的持续时长超过第四预设时长,则将第三状态信息切换为第一状态信息;
其中,第三状态信息用于表示禁止进行码率调整。
在另一种可能实现方式中,根据状态信息以及第一直播码率与第二直播码率之间的大小关系,对第一直播码率或第二直播码率进行调整,包括:
当状态信息切换为第二状态信息时,根据第一直播码率与第二直播码率之间的大小关系,对第一直播码率或第二直播码率进行调整;
其中,第二状态信息用于指示允许进行码率调整。
在另一种可能实现方式中,当状态信息切换为第二状态信息时,根据第一直播码率与第二直播码率之间的大小关系,对第一直播码率或第二直播码率进行调整,包括:
当状态信息切换为第二状态信息时,在第二直播码率不大于第一预设码率的情况下,则每隔第五预设时长,按照第二预设码率降低一次第一直播码率,以使第二直播码率升高,直至第二直播码率大于第一预设码率。
在另一种可能实现方式中,当状态信息切换为第二状态信息时,在第二直播码率不大于第一预设码率的情况下,则每隔第五预设时长,按照第二预设码率降低一次第一直播码率,以使第二直播码率升高,直至第二直播码率大于第一预设码率之后,当状态信息切换为第二状态信息时,根据第一直播码率与第二直播码率之间的大小关系,对第一直播码率或第二直播码率进行调整,还包括:
当状态信息切换为第二状态信息时,在第二直播码率大于第一预设码率的情况下,则每隔第六预设时长,按照第三预设码率升高一次第一直播码率,以使第二直播码率降低,直至第一直播码率不小于第四预设码率。
在另一种可能实现方式中,方法还包括:
获取最大连麦码率和最小连麦码率;
根据最小连麦码率和最大连麦码率与最小连麦码率之间的差值,确定第一预设码率,第一预设码率大于最小连麦码率且第一预设码率小于最大连麦码率。
在另一种可能实现方式中,根据最小连麦码率和最大连麦码率与最小连麦码率之间的差值,确定第一预设码率,包括:
获取差值与预设权重的乘积,作为第一数值;
获取第一数值与最小连麦码率的和,作为第一预设码率。
在另一种可能实现方式中,获取第一直播码率之前,方法还包括:
采集多个推流延时时长,推流延时时长用于指示主播终端发送直播视频与接收直播视频的响应消息之间的延时时长;
采集多个连麦延时时长,连麦延时时长用于指示主播终端发送第一主播视频与接收第一主播视频的响应消息之间的延时时长;
根据多个推流延时时长和多个连麦延时时长,确定推流延时时长与连麦延时时长之间的关联度;
若关联度大于预设关联度,确定主播终端采用相同的网络链路发送直播视频和第一主播视频。
图3是根据一示例性实施例示出的一种检测方法的流程图,参见图3,该方法包括:
在步骤301中,采集多个推流延时时长。
其中,推流延时时长用于指示主播终端发送直播视频与接收直播视频的响应消息之间的延时时长,直播视频包括主播终端采集的第一主播视频和与主播终端的连麦终端采集的第二主播视频。
在步骤302中,采集多个连麦延时时长。
其中,连麦延时时长用于指示主播终端发送第一主播视频与接收第一主播视频的响应消息之间的延时时长。
在步骤303中,根据多个推流延时时长和多个连麦延时时长,确定推流延时时长与连麦延时时长之间的关联度。
在步骤304中,若关联度大于预设关联度,确定主播终端采用相同的网络链路发送直播视频和第一主播视频。
本申请实施例提供了一种检测是否采用相同的网络链路发送直播视频和第一主播视频的方案,主播终端与连麦终端进行直播连麦过程中,主播终端发送直播视频的过程具有推流延时时长,发送第一主播视频的过程具有连麦延时时长,发送直播视频的推流延时时长和发送第一主播视频的连麦延时时长的关联度高,说明主播终端采用相同的网络链路发送直播视频和第一主播视频的可能性大,则根据多个推流延时时长和多个连麦延时时长确定关联度,根据该关联度能够主播终端确定是否采用相同的网络链路发送直播视频和第一主播视频,提高了检测过程的准确性。
在一种可能实现方式中,采集多个推流延时时长,包括:
每隔第一预设时长,从数据库中采集推流延时时长,数据库用于存储已确定的推流延时时长。
在另一种可能实现方式中,方法还包括:
获取向服务器发送直播视频的第一时间点;
获取接收直播视频的响应信息的第二时间点;
将第一时间点和第二时间点之间的时间差,确定为推流延时时长,将推流延时时长存储于数据库中。
在另一种可能实现方式中,采集多个连麦延时时长,包括:
每隔第二预设时长,从数据库中采集连麦延时时长,数据库用于存储已确定的推流延时时长。
在另一种可能实现方式中,方法还包括:
获取向服务器发送第一主播视频的第三时间点;
获取接收第一主播视频的响应信息的第四时间点;
将第三时间点和第四时间点之间的时间差,确定为连麦延时时长,将连麦延时时长存储于数据库中。
在另一种可能实现方式中,根据多个推流延时时长和多个连麦延时时长,确定推流延时时长和连麦延时时长之间的关联度,包括:
获取多个推流延时时长的推流延时总时长和多个连麦延时时长的连麦延时总时长;
根据推流延时总时长和连麦延时总时长确定时间差,时间差为主播终端接收直播视频的响应消息与主播终端接收第一主播视频的响应消息之间的延时时长的时间差;
基于时间差、多个推流延时时长、多个连麦延时时长确定关联度。
在另一种可能实现方式中,根据多个推流延时时长和多个连麦延时时长,确定推流延时时长与连麦延时时长之间的关联度,包括:
每隔第三预设时长,根据第三预设时长内采集的多个推流延时时长和多个连麦延时时长,确定一个关联度;
若关联度大于预设关联度,确定主播终端采用相同的网络链路发送直播视频和第一主播视频,包括:
若确定多个关联度且多个关联度中的每个关联度大于预设关联度,确定主播终端采用相同的网络链路发送直播视频和第一主播视频。
在另一种可能实现方式中,采集多个推流延时时长之前,方法还包括:
确定主播终端对第一主播视频进行编码时采用的码率小于第一预设码率。
图4是根据一示例性实施例示出的一种码率调整方法的流程图,参见图4,该方法应用于终端中,该终端为手机、个人计算机、平板电脑或者其他设备。该方法包括:
步骤401、获取第一直播码率。
步骤402、获取第二直播码率。
在本申请实施例中,终端能够进行直播,并且在直播过程中,终端需要采用第一直播码率对直播视频进行编码,发送编码后的直播视频。并且,终端还能够与其他连麦终端进行互动,并且在直播连麦过程中,终端需要采用第二直播码率对第一主播视频进行编码,以发送编码后的第一主播视频。
其中,第一直播码率为终端对直播视频进行编码时采用的码率。第二直播码率为终端对第一主播视频进行编码时采用的码率。该直播视频中包括终端采集的第一主播视频和与该终端的连麦终端采集的第二主播视频。另外,本申请实施例中的终端为主播终端。
终端在同时对直播视频和第一主播视频进行编码时,采用的第一直播码率和第二直播码率会互相影响,导致终端发送直播视频和第一主播视频受到影响,进而导致直播卡顿,因此在本申请实施例中,终端获取第一直播码率和第二直播码率,进而根据第一直播码率和第二直播码率之间的大小关系,能够对该第一直播码率或第二直播码率进行调整。
在一种可能实现方式中,终端在进行直播对战的时候,会同时发送直播视频和第一主播视频进行直播。
终端在进行直播时,需要通过目标应用开启直播,进而能够通过该目标应用发送直播视频和第一主播视频,以实现直播推流和直播连麦。
在一种可能实现方式中,该目标应用可以为视频应用、音频应用或者其他类型的应用。并且该目标应用具有多种功能,例如直播功能、连麦功能、分享功能或者其他功能。
并且,终端能够基于用户标识登录该目标应用,用户能够使用该目标应用中的任一种功能。该用户标识为用户的手机号、用户昵称、用户账号或者其他标识。
例如,若该目标应用为视频应用,则用户能够基于直播功能,通过终端采集第一主播视频,将第一主播视频发送给其他终端,进而实现直播。
或者,终端能够基于连麦功能,邀请其他终端进行连麦,则终端能够将采集的第一主播视频发送给正在连麦的其他终端,进而实现连麦。
步骤403、确定状态信息。
其中,状态信息用于指示是否允许进行码率调整。则终端获取状态信息后,能够基于该状态信息确定允许对码率进行调整还是禁止对码率进行调整。
在本申请实施例中,终端能够根据状态信息对第一直播码率或第二直播码率进行调整,因此终端需要确定状态信息,并且在该状态信息允许进行码率调整的情况下,对第一直播码率或第二直播码率进行调整。
另外,该状态信息包括多种类型的状态信息,并且不同类型的状态信息所指示的内容也不同。在一种可能实现方式中,该状态信息包括第一状态信息、第二状态信息和第三状态信息,其中第一状态信息和第三状态信息均用于指示禁止进行码率调整,第二状态信息用于指示允许进行码率调整。
在一种可能实现方式中,第一状态信息由NORMAL(正常态)表示,第二状态信息由LIMIT_LIVE(限制直播态)表示,第三状态信息由COOL_DOWN(冷却态)表示。
终端的状态信息不同时,所执行的状态信息过程也不同,下面通过步骤4031-4034进行说明:
步骤4031、若状态信息为第一状态信息,且第二直播码率不大于第一预设码率,则将第一状态信息切换为第二状态信息。
步骤4032、若状态信息为第二状态信息,且第二直播码率大于第一预设码率,则将第二状态信息切换为第一状态信息。
其中,该第一状态信息为终端默认的状态信息,若终端的状态信息为第一状态信息,确定终端发送直播视频和第一主播视频互不影响,无需对第一直播码率和第二直播码率进行调整,而若终端检测到第二直播码率不大于第一预设码率时,说明发送第一主播视频所采用的第二直播码率较低,此时需要对该第二直播码率进行调整,则此时将第一状态信息切换为第二状态信息,终端的状态信息为第二状态信息时,能够对第二直播码率进行调整。
若终端的状态信息为第二状态信息,且调整后的第二直播码率大于第一预设码率,则此时终端能够将第二状态信息切换为第一状态信息,采用调整后的第一直播码率和第二直播码率进行直播。
另外,在对第二直播码率与第一预设码率进行比较前,还需要通过步骤413-423获取第一预设码率:
步骤413、获取最大连麦码率和最小连麦码率。
步骤423、根据最小连麦码率和最大连麦码率与最小连麦码率之间的差值,确定第一预设码率。
其中,该最大连麦码率为终端发送第一主播视频时所能采用的最大码率,该最小连麦码率为终端发送第一主播视频时所能采用的最小码率。
终端获取最大连麦码率和最小连麦码率后,能够确定最大连麦码率与最小连麦码率之间的差值,进而根据获取的差值和最小连麦码率,确定第一预设码率。
并且,获取的第一预设码率大于最小连麦码率且该第一预设码率小于最大连麦码率。
在一种可能实现方式中,步骤423还包括步骤4231:
步骤4231、获取差值与预设权重的乘积,作为第一数值,获取第一数值与最小连麦码率的和,作为第一预设码率。
其中,该预设权重由终端设置、或者由操作人员设置,或者采用其他方式设置。例如,该预设权重为0.3、0.4、0.5或者其他数值。
例如,确定最大连麦码率为70比特每秒,最小连麦码率为50比特每秒,则最大连麦码率与最小连麦码率之间的差值为20比特每秒,且预设权重为0.4,则差值与预设权重的乘积为8比特每秒,确定的第一预设码率为58比特每秒。
需要说明的是,本申请实施例仅是以根据最大连麦码率和最小连麦码率为例进行说明。在另一实施例中,还能够直接将最小连麦码率确定为第一预设码率。
在一种可能实现方式中,若终端的状态信息为第一状态信息时,还能够基于时长来确定是否要切换状态信息,则步骤4031还包括步骤40311:
步骤40311、若状态信息为第一状态信息,且第二直播码率不大于第一预设码率的持续时长大于第一预设时长,则将第一状态信息切换为第二状态信息。
其中,该第一预设时长由终端设置、或者由操作人员设置,或者采用其他方式设置。例如该第一预设时长为10秒、20秒或者其他数值。
若终端的状态信息为第一状态信息时,在确定第二直播码率不大于第一预设码率的持续时长大于第一预设时长时,则说明终端采用的第二直播码率较低,需要对第二直播码率进行调整,因此将第一状态信息切换为第二状态信息,终端在处于第二状态信息对应的第二状态时能够对码率进行调整,因此对第一直播码率和第二直播码率进行调整。
在另一种可能实现方式中,若终端的状态信息为第二状态信息,还能够基于时长来确定是否要切换状态信息,则步骤4032还包括步骤40321:
步骤40321、若状态信息为第二状态信息,且第二直播码率大于第一预设码率的持续时长大于第二预设时长,则将第二状态信息切换为第一状态信息。
其中,该第二预设时长由终端设置、或者由操作人员设置,或者采用其他方式设置。例如该第二预设时长为10秒、15秒或者其他数值。
若终端的状态信息为第二状态信息,确定第二直播码率大于第一预设码率的持续时长大于第二预设时长,则说明终端调整后的第二直播码率已经趋于稳定,在发送第一主播视频的过程中采用第二直播码率,因此终端将第二状态信息切换为第一状态信息,停止对第二直播码率的调整。
步骤4033、若状态信息为第二状态信息,且第二直播码率小于第一预设码率的持续时长大于第三预设时长,则将第二状态信息切换为第三状态信息。
其中,该第三预设时长由终端设置、或者由操作人员设置,或者采用其他方式设置。例如该第三预设时长为40秒、45秒或者其他数值。
若终端的状态信息为第二状态信息时,能够对第一直播码率或第二直播码率进行调整,并且确定第二直播码率小于第一预设码率的持续时长大于第三预设时长,则说明终端对第二直播码率进行调整较长时间仍未大于第一预设码率,则终端将第二状态信息切换为第三状态信息。
步骤4034、若状态信息为第三状态信息且第二直播码率大于第一预设码率,或者状态信息为第三状态信息的持续时长超过第四预设时长,则将第三状态信息切换为第一状态信息。
其中,第三状态信息用于表示禁止进行码率调整。该第四预设时长由终端设置、或者由操作人员设置,或者采用其他方式设置。
若终端的状态信息为第三状态信息,并且确定第二直播码率大于第一预设码率或者状态信息为第三状态信息的持续时长超过第四预设时长,则此时终端无需再保持第三状态,将第三状态信息切换为第一状态信息。
需要说明的第一点是,本申请实施例仅是以终端由一个状态信息切换为另一个状态信息为例进行说明。在另一实施例中,若终端未满足状态信息的切换条件时,则保持终端的状态信息不变。
需要说明的第二点是,本申请实施例仅是以终端由一个状态信息切换为另一个状态信息为例进行说明。在另一实施例中,终端中设置有状态机,该状态机能够进行状态切换,且该状态机中能够存储状态信息,终端从该状态机中获取状态信息,进而基于状态信息确定是否对码率进行调整。
综上所述,例如,如图5所示,以第一状态信息对应状态1,第二状态信息对应状态2,第三状态信息对应状态3为例,对步骤4031-4034对应的状态机的状态转换流程进行说明。
步骤404、当状态信息切换为第二状态信息时,根据第一直播码率与第二直播码率之间的大小关系,对第一直播码率或第二直播码率进行调整。
若终端的状态信息为第二状态信息,终端需要对第一直播码率或第二直播码率进行调整,以使调整后的第一直播码率或第二直播码率满足直播时需要采用的码率。
该第二状态信息用于指示允许对码率进行调整。因此,若终端将状态信息切换为第二状态信息时,且第二直播码率不大于第一预设码率,则终端需要降低第一直播码率,从而将第二直播码率升高。
终端的状态信息为第一状态信息时,若第二直播码率不大于第一预设码率,则终端需要将第一状态信息切换为第二状态信息,则切换为第二状态信息后,终端已确定是在第二直播码率不大于第一预设码率的情况下进入的第二状态信息,则需要降低第一直播码率,将第二直播码率升高。
在一种可能实现方式中,当状态信息切换为第二状态信息时,在第二直播码率不大于第一预设码率的情况下,则每隔第五预设时长,按照第二预设码率降低一次第一直播码率,以使第二直播码率升高,直至第二直播码率大于第一预设码率。
其中,第五预设时长由终端设置,或者由操作人员设置,或者采用其他方式设置。例如该第五预设时长为1秒、2秒或者其他数值。该第二预设码率由终端设置,或者由操作人员设置,或者采用其他方式设置。例如该第二预设码率为2比特每秒、3比特每秒或者其他数值。
例如,终端每隔2秒,按照第二预设码率降低一次第一直播码率,以使第二直播码率升高,直至第二直播码率大于第一预设码率。
需要说明的是,本申请实施例仅是以每隔第五预设时长按照第二预设码率降低第一直播码率为例进行说明。在另一实施例中,还能够每隔第五预设时长,在上一次第一直播码率的基础上降低该第一直播码率的预设比值的码率,以使第二直播码率升高,直至第二直播码率大于第一预设码率。
其中,该预设比值由终端设置、或者由操作人员设置,或者采用其他方式设置。
例如,当前第一直播码率为60比特每秒,预设比值为0.1,则第一次在60比特每秒的基础上降低6比特每秒,降低后的第一直播码率为54比特每秒,2秒后,在54比特每秒的基础上,降低5.4比特每秒,直至第二直播码率大于第一预设码率。
在另一种可能实现方式中,若终端将第二直播码率调整为大于第一预设码率,则此时第一直播码率过低,还能够对第一直播码率进行调整,以使第一直播码率能升高。当状态信息切换为第二状态信息时,在第二直播码率大于第一预设码率的情况下,则每隔第六预设时长,按照第三预设码率升高一次第一直播码率,以使第二直播码率降低,直至第一直播码率不小于第四预设码率。
其中,第六预设时长由终端设置,或者由操作人员设置,或者采用其他方式设置。例如该第五预设时长为1秒、2秒或者其他数值。该第三预设码率由终端设置,或者由操作人员设置,或者采用其他方式设置。例如该第二预设码率为2比特每秒、3比特每秒或者其他数值。该第四预设码率由终端设置,或者由操作人员设置,或者采用其他方式设置。例如该第二预设码率为50比特每秒、60比特每秒或者其他数值。
若终端将状态信息切换为第二状态信息时,且第二直播码率大于第一预设码率,则终端需要提高第一直播码率,从而将第二直播码率升高。
例如,终端每隔2秒,按照第二预设码率提高一次第一直播码率,以使第二直播码率降低,直至第二直播码率不小于第四预设码率。
在本申请实施例中,步骤401-401中的过程为联合控流算法,能够对第一直播码率或第二直播码率进行调整。
需要说明的是,本申请实施例仅是以状态信息切换为第二状态信息时,对第一直播码率或第二直播码率进行调整为例进行说明。在另一实施例中,还能够根据状态信息以及第一直播码率与第二直播码率之间的大小关系,对第一直播码率或第二直播码率进行调整。
本申请实施例提供的方案中,主播终端能够在与连麦终端进行直播连麦的过程中,同时发送直播视频和第一主播视频,并且主播终端对直播视频进行编码采用的第一直播码率和对第一主播视频进行编码采用的第二直播码率会互相影响,在此情况下,基于当前状态信息的指示,确定是否需要对第一直播码率或第二直播码率进行调整,以使当前对直播码率的调整能够符合当前的直播情况,并且对码率的调整能够防止直播卡顿,提高了直播的流畅度,进而提高了直播效果。
并且,在调整过程中若第二直播码率较小,则终端能够将第一直播码率降低以提高第二直播码率,以防止在直播连麦过程中出现卡顿的情况,提高了发送第一主播视频的流畅度,进而提高了直播效果。
并且,终端中的状态机包括多种状态,在满足不同条件时能够切换为不同的状态,终端能够获取该状态机的状态信息,进而基于该状态信息对第一直播码率或第二直播码率进行调整,由于状态机能够实时根据当前的信息进行状态切换,进而能够保证终端基于切换的状态对第一直播码率或第二直播码率及时进行调整,不仅提高了状态切换的效率,而且提高了对第一直播码率或第二直播码率进行调整的准确性,提高了直播流畅度,进而提高了直播效果。
图6是根据一示例性实施例示出的一种检测方法的流程图,参见图6,该方法应用于终端中,该方法还包括:
步骤601、采集多个推流延时时长。
在本申请实施例中,通过获取的推流延时时长和连麦延时时长,能够确定是否采用相同的网络链路发送直播视频和第一主播视频,则先获取多个推流延时时长和多个连麦延时时长。
其中,该推流延时时长用于指示主播终端发送直播视频与接收该直播视频的响应消息之间的延时时长。该直播视频中包括终端采集的第一主播视频和该终端的连麦终端采集的第二主播视频。
在一种可能实现方式中,每隔第一预设时长,从数据库中采集推流延时时长。
其中,该第一预设时长由终端设置、或者由操作人员设置,或者采用其他方式设置。例如,该第一预设时长为20毫秒、40毫秒或者其他数值。
终端通过每隔第一预设时长能够从数据库采集推流延时时长,得到多个推流延时时长。
在本申请实施例中,终端能够通过下述过程获取推流延时时长:
获取向服务器发送直播视频的第一时间点,获取接收直播视频的响应信息的第二时间点,将第一时间点和第二时间点之间的时间差,确定为推流延时时长,将推流延时时长存储于数据库中。
其中,终端获取直播视频,将该直播视频发送给服务器,此时终端能够记录发送该直播视频的第一时间点,若服务器接收到该直播视频,则能够向终端发送该直播视频的响应消息,终端接收到该响应消息时,记录第二时间点,则终端能够根据该第一时间点和第二时间点之间的时间差,确定为推流延时时长,并将该推流延时时长存储于数据库中。
例如,第一时间点为15:23:12,第二时间点为15:23:14,则说明确定的直播延时时长为20毫秒。
另外,终端在数据库中存储推流延时时长时,能够采用下述方式进行存储:终端每隔预设时长发送一次直播视频,则终端每隔该预设时长就能够确定一次推流延时时长,按照时间顺序将确定推流延时时长存储于数据库中。
需要说明的是,本申请实施例仅是执行步骤601为例进行说明,在另一实施例中,该方法包括:
步骤6011、若确定终端对第一主播视频进行编码时采用的码率小于第一预设码率,则开始执行步骤601。
在本申请实施例中,若对第一主播视频进行编码时采用的码率小于第一预设码率,则表示终端可能采用相同的网络链路发送直播视频和第一主播视频,发送直播视频和第一主播视频时进行竞争,导致发送第一主播视频所采用的码率下降,因此开始执行后续过程,以确定是否采用相同的网络链路发送直播视频和第一主播视频。
其中,该第一预设码率由终端设置、或者由操作人员设置,或者采用其他方式设置。
步骤602、采集多个连麦延时时长。
其中,连麦延时时长用于指示主播终端发送第一主播视频与接收第一主播视频的响应消息之间的延时时长。
在一种可能实现方式中,每隔第二预设时长,从数据库中采集连麦延时时长,数据库用于存储已确定的连麦延时时长。
其中,该第二预设时长由终端设置、或者由操作人员设置,或者采用其他方式设置。例如,该第二预设时长为20毫秒、40毫秒或者其他数值。
终端通过每隔第二预设时长能够从数据库中采集连麦延时时长,得到多个连麦延时时长。
在本申请实施例中,终端能够通过下述过程获取连麦延时时长:
获取向服务器发送第一主播视频的第三时间点,获取接收该第一主播视频的响应信息的第四时间点,将第三时间点和第四时间点之间的时间差,确定为连麦延时时长,将连麦延时时长存储于数据库中。
终端获取第一主播视频,将该第一主播视频发送给服务器,此时终端能够记录发送该第一主播视频的第三时间点,若服务器接收到该第一主播视频,则能够想终端发送该第一主播视频的响应消息,终端接收到该响应消息时,记录第四时间点,则终端能够根据该第三时间点和第四时间点的时间差,确定为连麦延时时长,并将该连麦延时时长存储于数据库中。
例如,第三时间点为12:56:25,第四时间点为12:56:35,则说明确定的直播延时时长为100毫秒。
其中,终端发送第一主播视频时,也会每隔预设时长发送一次第一主播视频,则终端每隔该预设时长就能够确定一次连麦延时时长,按照时间顺序将连麦延时时长存储与数据库中。
步骤603、获取多个推流延时时长的推流延时总时长和多个连麦延时时长的连麦延时总时长。
例如,该多个推流延时时长分别为24毫秒、22毫秒、21毫秒,23毫秒,则获取的推流延时总时长为100毫秒。
例如,该多个连麦延时时长分别为250毫秒、248毫秒、250毫秒、252毫秒,则获取的连麦延时总时长为1000毫秒。
步骤604、根据推流延时总时长和连麦延时总时长确定时间差。
其中,时间差为直播推流流程与直播连麦流程之间的延时时长的时间差。
在一种可能实现方式中,获取推流延时总时长和连麦延时总时长之间的差值,再获取该差值与获取的连麦延时时长的数量的比值,作为时间差。
例如,在步骤603中的对推流延时总时长和连麦延时总时长的举例的基础上,获取的推流延时总时长和连麦延时总时长之间的差值为900毫秒,则确定的时间差为225毫秒。
步骤605、基于时间差、多个推流延时时长、多个连麦延时时长确定关联度。
其中,该时间差为终端接收直播视频的响应消息与终端接收第一主播视频的响应消息之间的延时时长的时间差,则按照该时间差能够将多个推流延时时长中的每个推流延时时长的获取时间点进行平移,以使平移后的每个推流延时时长与对应的连麦延时时长不存在时间差,再基于平移后的多个推流延时时长和多个连麦延时时长确定关联度。
该关联度用于表示发送直播视频的过程和发送第一主播视频的过程的关联程度,若该关联度越高,表示发送直播视频的过程和发送第一主播视频的过程的关联程度越高,采用相同的网络链路发送直播视频和发送第一主播视频的可能性越高。
例如,若终端确定的连麦延时时长为50毫秒,而推流延时时长为200毫秒,当该终端采用的网络链路在t时刻达到带宽上限,则终端在t+50时刻观测到连麦延时时长上涨,在t+200时刻观测到推流延时时长上涨,若需要确定关联度,将推流延时时长的时间点向前平移150毫秒,以使推流延时时长和连麦延时时长不存在时间差,进而保证获取的关联度的准确性。
在一种可能实现方式中,采用斯皮尔曼相关系数确定该关联度,或者采用其他方式确定该关联度。
需要说明的是,本申请实施例仅是以步骤603-605为例进行说明。在另一实施例中,还可以不执行步骤603-605,直接根据多个推流延时时长和多个连麦延时时长,确定推流延时时长与连麦延时时长之间的关联度。
步骤606、若关联度大于预设关联度,确定终端采用相同的网络链路发送直播视频和第一主播视频。
其中,该预设关联度由终端设置、或者由操作人员设置,或者采用其他方式设置。例如,该预设关联度为0.85、0.9或者其他数值。
若获取的推流延时时长与连麦延时时长的关联度大于预设关联度,则说明发送直播视频和发送第一主播视频互相影响,采用相同的网络链路发送直播视频和第一主播视频。
例如,若预设关联度为0.9,通过上述步骤获取的关联度为0.93,且0.93大于0.9,说明采用相同的网络链路发送直播视频和第一主播视频。
在一种可能实现方式中,每隔第三预设时长,根据第三预设时长内采集的多个推流延时时长和多个连麦延时时长,确定一个关联度,若确定多个关联度且多个关联度中的每个关联度大于预设关联度,确定采用相同的网络链路发送直播视频和第一主播视频。
其中,该第三预设时长由终端设置、或者由操作人员设置,或者采用其他方式设置。例如,该第三预设时长为1000毫秒、1500毫秒或者其他数值。
另外,在本申请实施例中,终端能够每隔第一预设时长采集一个推流延时时长,每隔第二预设时长采集一个连麦延时时长,则根据该第三预设时长,能够确定该第三预设时长中包括的第一预设时长的个数和第二预设时长的个数,进而根据该第三预设时长内的推流延时时长和连麦延时时长确定关联度,若间隔多个第三预设时长,则能够确定多个连续的关联度,若多个匹配度中的每个关联度大于预设匹配度,则确定采用相同的网络链路发送直播视频和第一主播视频。
在一种可能实现方式中,终端采用的第一预设时长和第二预设时长相同,在按照第一预设时长采集推流延时时长时,还会再按照第二预设时长采集连麦延时时长。
在本申请实施例中,步骤601-606为共享瓶颈检测算法,能够确定是否采用相同的网络链路发送直播视频和第一主播视频。
本申请实施例提供了一种检测是否采用相同的网络链路发送直播视频和第一主播视频的方案,主播终端与连麦终端进行直播连麦过程中,主播终端发送直播视频的过程具有推流延时时长,发送第一主播视频的过程具有连麦延时时长,发送直播视频的推流延时时长和发送第一主播视频的连麦延时时长的关联度高,说明主播终端采用相同的网络链路发送直播视频和第一主播视频的可能性大,则根据多个推流延时时长和多个连麦延时时长确定关联度,根据该关联度能够主播终端确定是否采用相同的网络链路发送直播视频和第一主播视频,提高了检测过程的准确性。
并且,在获取关联度时,能够每个第三预设时长获取一个关联度,经过多个第三预设时长后,能够获取到多个关联度,若多个关联度中的每个关联度大于预设关联度,确定采用相同的网络链路发送直播视频和第一主播视频,提高了检测过程的数据量,进一步提高了检测过程的准确性。
在图4对基于状态信息、第一直播码率和第二直播码率之间的大小关系对第一直播码率或第二直播码率进行调整的过程进行了说明,图6实施例对确定采用相同的网络链路发送直播视频和第一主播视频进行了说明。而图4和图6中的过程能够结合,若终端确定采用相同的网络链路发送直播视频和第一主播视频时,再对第一直播码率和第二直播码率进行调整。图7是根据一示例性实施例示出的一种码率调整方法的流程图,参见图7,该方法应用于终端中,该方法包括:
步骤701、采集多个推流延时时长。
其中,推流延时时长用于指示主播终端发送直播视频与接收直播视频的响应消息之间的延时时长。该直播视频包括主播终端采集的第一主播视频和与主播终端的连麦终端采集的第二主播视频。
步骤702、采集多个连麦延时时长。
其中,连麦延时时长用于指示主播终端发送第一主播视频与接收第一主播视频的响应消息之间的延时时长。
步骤703、根据多个推流延时时长和多个连麦延时时长,确定推流延时时长与连麦延时时长之间的关联度。
步骤704、若关联度大于预设关联度,确定采用相同的网络链路发送直播视频和第一主播视频。
步骤705、获取第一直播码率。
其中,第一直播码率为主播终端对直播视频进行编码时采用的码率。
步骤706、获取第二直播码率。
其中,第二直播码率为主播终端对第一主播视频进行编码时采用的码率。
步骤707、根据状态信息以及第一直播码率与第二直播码率之间的大小关系,对第一直播码率或第二直播码率进行调整。
其中,步骤701-704中的过程与上述步骤601-606类似,在此不再赘述。步骤705-707中的过程与上述步骤401-404类似,在此不再赘述。
图8是根据一示例性实施例示出的一种码率调整装置的结构示意图。参见图8,该装置包括:
获取单元801,被配置为执行获取第一直播码率,第一直播码率为主播终端对直播视频进行编码时采用的码率,直播视频中包括主播终端采集的第一主播视频和主播终端的连麦终端采集的第二主播视频;
获取单元801,被配置为执行获取第二直播码率,第二直播码率为主播终端对第一主播视频进行编码时采用的码率;
调整单元802,被配置为执行根据状态信息以及第一直播码率与第二直播码率之间的大小关系,对第一直播码率或第二直播码率进行调整,状态信息用于指示是否允许进行码率调整。
本申请实施例提供的方案中,主播终端能够在与连麦终端进行直播连麦的过程中,同时发送直播视频和第一主播视频,并且主播终端对直播视频进行编码采用的第一直播码率和对第一主播视频进行编码采用的第二直播码率会互相影响,在此情况下,基于当前状态信息的指示,确定是否需要对第一直播码率或第二直播码率进行调整,以使当前对直播码率的调整能够符合当前的直播情况,并且对码率的调整能够防止直播卡顿,提高了直播的流畅度,进而提高了直播效果。
在一种可能实现方式中,参见图9,装置还包括:
切换单元803,被配置为执行若状态信息为第一状态信息,且第二直播码率不大于第一预设码率,则将第一状态信息切换为第二状态信息;
切换单元803,被配置为执行若状态信息为第二状态信息,且第二直播码率大于第一预设码率,则将第二状态信息切换为第一状态信息;
其中,第一状态信息用于指示禁止进行码率调整,第二状态信息用于指示允许进行码率调整。
在另一种可能实现方式中,切换单元803,被配置为执行若状态信息为第一状态信息,且第二直播码率不大于第一预设码率的持续时长大于第一预设时长,则将第一状态信息切换为第二状态信息。
在另一种可能实现方式中,切换单元803,被配置为执行若状态信息为第二状态信息,且第二直播码率大于第一预设码率的持续时长大于第二预设时长,则将第二状态信息切换为第一状态信息。
在另一种可能实现方式中,装置还包括:
切换单元803,被配置为执行若状态信息为第二状态信息,且第二直播码率小于第一预设码率的持续时长大于第三预设时长,则将第二状态信息切换为第三状态信息;或者,
切换单元803,被配置为执行若状态信息为第三状态信息且第二直播码率大于第一预设码率,或者状态信息为第三状态信息的持续时长超过第四预设时长,则将第三状态信息切换为第一状态信息;
其中,第三状态信息用于表示禁止进行码率调整。
在另一种可能实现方式中,调整单元802,被配置为执行当状态信息切换为第二状态信息时,根据第一直播码率与第二直播码率之间的大小关系,对第一直播码率或第二直播码率进行调整;
其中,第二状态信息用于指示允许进行码率调整。
在另一种可能实现方式中,调整单元802,被配置为执行当状态信息切换为第二状态信息时,在第二直播码率不大于第一预设码率的情况下,则每隔第五预设时长,按照第二预设码率降低一次第一直播码率,以使第二直播码率升高,直至第二直播码率大于第一预设码率。
在另一种可能实现方式中,调整单元802,被配置为执行当状态信息切换为第二状态信息时,在第二直播码率大于第一预设码率的情况下,则每隔第六预设时长,按照第三预设码率升高一次第一直播码率,以使第二直播码率降低,直至第一直播码率不小于第四预设码率。
在另一种可能实现方式中,参见图9,装置还包括:
获取单元801,被配置为执行获取最大连麦码率和最小连麦码率;
第一确定单元804,被配置为执行根据最小连麦码率和最大连麦码率与最小连麦码率之间的差值,确定第一预设码率,第一预设码率大于最小连麦码率且第一预设码率小于最大连麦码率。
在另一种可能实现方式中,第一确定单元804,被配置为执行:
获取差值与预设权重的乘积,作为第一数值;
获取第一数值与最小连麦码率的和,作为第一预设码率。
在另一种可能实现方式中,参见图9,装置还包括:
采集单元805,被配置为执行采集多个推流延时时长,推流延时时长用于指示主播终端发送直播视频与接收直播视频的响应消息之间的延时时长;
采集单元805,被配置为执行采集多个连麦延时时长,连麦延时时长用于指示主播终端发送第一主播视频与接收第一主播视频的响应消息之间的延时时长;
第二确定单元806,被配置为执行根据多个推流延时时长和多个连麦延时时长,确定推流延时时长与连麦延时时长之间的关联度;
第三确定单元807,被配置为执行若关联度大于预设关联度,确定主播终端采用相同的网络链路发送直播视频和第一主播视频。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图10是根据一示例性实施例示出的一种检测装置的结构示意图。参见图10,该装置包括:
采集单元1001,被配置为执行采集多个推流延时时长,推流延时时长用于指示主播终端发送直播视频与接收直播视频的响应消息之间的延时时长,直播视频包括主播终端采集的第一主播视频和与主播终端的连麦终端采集的第二主播视频;
采集单元1001,被配置为执行采集多个连麦延时时长,连麦延时时长用于指示主播终端发送第一主播视频与接收第一主播视频的响应消息之间的延时时长;
第一确定单元1002,被配置为执行根据多个推流延时时长和多个连麦延时时长,确定推流延时时长与连麦延时时长之间的关联度;
第二确定单元1003,被配置为执行若关联度大于预设关联度,确定主播终端采用相同的网络链路发送直播视频和第一主播视频。
本申请实施例提供了一种检测是否采用相同的网络链路发送直播视频和第一主播视频的方案,主播终端与连麦终端进行直播连麦过程中,主播终端发送直播视频的过程具有推流延时时长,发送第一主播视频的过程具有连麦延时时长,发送直播视频的推流延时时长和发送第一主播视频的连麦延时时长的关联度高,说明主播终端采用相同的网络链路发送直播视频和第一主播视频的可能性大,则根据多个推流延时时长和多个连麦延时时长确定关联度,根据该关联度能够主播终端确定是否采用相同的网络链路发送直播视频和第一主播视频,提高了检测过程的准确性。
在一种可能实现方式中,采集单元1001,被配置为执行每隔第一预设时长,从数据库中采集推流延时时长,数据库用于存储已确定的推流延时时长。
在另一种可能实现方式中,参见图11,装置还包括:
获取单元1004,被配置为执行获取向服务器发送直播视频的第一时间点;
获取单元1004,被配置为执行获取接收直播视频的响应信息的第二时间点;
第三确定单元1005,被配置为执行将第一时间点和第二时间点之间的时间差,确定为推流延时时长,将推流延时时长存储于数据库中。
在另一种可能实现方式中,采集单元1001,被配置为执行每隔第二预设时长,从数据库中采集连麦延时时长,数据库用于存储已确定的推流延时时长。
在另一种可能实现方式中,参见图11,装置还包括:
获取单元1004,被配置为执行获取向服务器发送第一主播视频的第三时间点;
获取单元1004,被配置为执行获取接收第一主播视频的响应信息的第四时间点;
第三确定单元1005,被配置为执行将第三时间点和第四时间点之间的时间差,确定为连麦延时时长,将连麦延时时长存储于数据库中。
在另一种可能实现方式中,第一确定单元1002,被配置为执行:
获取多个推流延时时长的推流延时总时长和多个连麦延时时长的连麦延时总时长;
根据推流延时总时长和连麦延时总时长确定时间差,时间差为主播终端接收直播视频的响应消息与主播终端接收第一主播视频的响应消息之间的延时时长的时间差;
基于时间差、多个推流延时时长、多个连麦延时时长确定关联度。
在另一种可能实现方式中,第一确定单元1002,被配置为执行每隔第三预设时长,根据第三预设时长内采集的多个推流延时时长和多个连麦延时时长,确定一个关联度;
第二确定单元1003,被配置为执行若确定多个关联度且多个关联度中的每个关联度大于预设关联度,确定主播终端采用相同的网络链路发送直播视频和第一主播视频。
在另一种可能实现方式中,参见图11,装置还包括:
第四确定单元1006,被配置为执行确定主播终端对第一主播视频进行编码时采用的码率小于第一预设码率。
图12是根据一示例性实施例示出的一种终端的框图。该终端1200可以是便携式移动终端,比如:智能手机、平板电脑、MP3播放器(Moving Picture Experts Group AudioLayer III,动态影像专家压缩标准音频层面3)、MP4(Moving Picture Experts GroupAudio Layer IV,动态影像专家压缩标准音频层面4)播放器、笔记本电脑或台式电脑。终端1200还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。
通常,终端1200包括有:一个或多个处理器1201和一个或多个存储器1202。
处理器1201可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器1201可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器1201也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器1201可以集成有GPU(Graphics Processing Unit,数据推荐器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器1201还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器1202可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器1202还可包括易失性存储器或非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器1202中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器1201所具有以实现本申请中方法实施例提供的码率调整方法。
在一些实施例中,终端1200还可选包括有:外围设备接口1203和至少一个外围设备。处理器1201、存储器1202和外围设备接口1203之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口1203相连。具体地,外围设备包括:射频电路1204、显示屏1205、摄像头组件1206、音频电路1207、定位组件1208和电源1209中的至少一种。
外围设备接口1203可被用于将I/O(Input/Output,输入/输出)相关的至少一个外围设备连接到处理器1201和存储器1202。在一些实施例中,处理器1201、存储器1202和外围设备接口1203被集成在同一芯片或电路板上;在一些其他实施例中,处理器1201、存储器1202和外围设备接口1203中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
射频电路1204用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路1204通过电磁信号与通信网络以及其他通信设备进行通信。射频电路1204将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。在一些实施例中,射频电路1204包括:天线系统、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路1204可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:城域网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或WiFi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路1204还可以包括NFC(Near Field Communication,近距离无线通信)有关的电路,本申请对此不加以限定。
显示屏1205用于显示UI(User Interface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏1205是触摸显示屏时,显示屏1205还具有采集在显示屏1205的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器1201进行处理。此时,显示屏1205还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏1205可以为一个,设置终端1200的前面板;在另一些实施例中,显示屏1205可以为至少两个,分别设置在终端1200的不同表面或呈折叠设计;在另一些实施例中,显示屏1205可以是柔性显示屏,设置在终端1200的弯曲表面上或折叠面上。甚至,显示屏1205还可以设置成非矩形的不规则图形,也即异形屏。显示屏1205可以采用LCD(Liquid Crystal Display,液晶显示屏)、OLED(Organic Light-Emitting Diode,有机发光二极管)等材质制备。
摄像头组件1206用于采集图像或视频。在一些实施例中,摄像头组件1206包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及VR(Virtual Reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件1206还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
音频电路1207可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器1201进行处理,或者输入至射频电路1204以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端1200的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器1201或射频电路1204的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路1207还可以包括耳机插孔。
定位组件1208用于定位终端1200的当前地理位置,以实现导航或LBS(LocationBased Service,基于位置的服务)。定位组件1208可以是基于美国的GPS(GlobalPositioning System,全球定位系统)、中国的北斗系统、俄罗斯的格雷纳斯系统或欧盟的伽利略系统的定位组件。
电源1209用于为终端1200中的各个组件进行供电。电源1209可以是交流电、直流电、一次性电池或可充电电池。当电源1209包括可充电电池时,该可充电电池可以支持有线充电或无线充电。该可充电电池还可以用于支持快充技术。
在一些实施例中,终端1200还包括有一个或多个传感器1210。该一个或多个传感器1210包括但不限于:加速度传感器1211、陀螺仪传感器1212、压力传感器1213、指纹传感器1214、光学传感器1215以及接近传感器1216。
加速度传感器1211可以检测以终端1200建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器1211可以用于检测重力加速度在三个坐标轴上的分量。处理器1201可以根据加速度传感器1211采集的重力加速度信号,控制显示屏1205以横向视图或纵向视图进行用户界面的显示。加速度传感器1211还可以用于游戏或者用户的运动数据的采集。
陀螺仪传感器1212可以检测终端1200的机体方向及转动角度,陀螺仪传感器1212可以与加速度传感器1211协同采集用户对终端1200的3D动作。处理器1201根据陀螺仪传感器1212采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变UI)、拍摄时的图像稳定、游戏控制以及惯性导航。
压力传感器1213可以设置在终端1200的侧边框和/或显示屏1205的下层。当压力传感器1213设置在终端1200的侧边框时,可以检测用户对终端1200的握持信号,由处理器1201根据压力传感器1213采集的握持信号进行左右手识别或快捷操作。当压力传感器1213设置在显示屏1205的下层时,由处理器1201根据用户对显示屏1205的压力操作,实现对UI界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
指纹传感器1214用于采集用户的指纹,由处理器1201根据指纹传感器1214采集到的指纹识别用户的身份,或者,由指纹传感器1214根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器1201授权该用户具有相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器1214可以被设置终端1200的正面、背面或侧面。当终端1200上设置有物理按键或厂商Logo时,指纹传感器1214可以与物理按键或厂商标志集成在一起。
光学传感器1215用于采集环境光强度。在一个实施例中,处理器1201可以根据光学传感器1215采集的环境光强度,控制显示屏1205的显示亮度。具体地,当环境光强度较高时,调高显示屏1205的显示亮度;当环境光强度较低时,调低显示屏1205的显示亮度。在另一个实施例中,处理器1201还可以根据光学传感器1215采集的环境光强度,动态调整摄像头组件1206的拍摄参数。
接近传感器1216,也称距离传感器,通常设置在终端1200的前面板。接近传感器1216用于采集用户与终端1200的正面之间的距离。在一个实施例中,当接近传感器1216检测到用户与终端1200的正面之间的距离逐渐变小时,由处理器1201控制显示屏1205从亮屏状态切换为息屏状态;当接近传感器1216检测到用户与终端1200的正面之间的距离逐渐变大时,由处理器1201控制显示屏1205从息屏状态切换为亮屏状态。
本领域技术人员可以理解,图12中示出的结构并不构成对终端1200的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
在示例性实施例中,还提供了一种非临时性计算机可读存储介质,当存储介质中的指令由终端的处理器执行时,使得终端能够执行上述码率调整方法中终端所执行的步骤,或者执行上述检测方法中终端所执行的步骤。
在示例性实施例中,还提供了一种计算机程序产品,当计算机程序产品中的指令由终端的处理器执行时,使得终端能够执行上述码率调整方法中终端所执行的步骤,或者执行上述检测方法中终端所执行的步骤。
本领域技术人员在考虑说明书及实践这里的公开后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

Claims (38)

1.一种码率调整方法,其特征在于,所述方法包括:
获取第一直播码率,所述第一直播码率为主播终端对直播视频进行编码时采用的码率,所述直播视频中包括所述主播终端采集的第一主播视频和所述主播终端的连麦终端采集的第二主播视频;
获取第二直播码率,所述第二直播码率为所述主播终端对所述第一主播视频进行编码时采用的码率;
根据状态信息以及所述第一直播码率与所述第二直播码率之间的大小关系,对所述第一直播码率或所述第二直播码率进行调整,使得调整后的所述第二直播码率大于第一预设码率,调整后的所述第一直播码率不小于第四预设码率,所述状态信息用于指示是否允许进行码率调整。
2.根据权利要求1所述的码率调整方法,其特征在于,所述方法还包括:
若所述状态信息为第一状态信息,且所述第二直播码率不大于所述第一预设码率,则将所述第一状态信息切换为第二状态信息;
若所述状态信息为所述第二状态信息,且所述第二直播码率大于所述第一预设码率,则将所述第二状态信息切换为所述第一状态信息;
其中,所述第一状态信息用于指示禁止进行码率调整,所述第二状态信息用于指示允许进行码率调整。
3.根据权利要求2所述的码率调整方法,其特征在于,所述若所述状态信息为第一状态信息,且所述第二直播码率不大于所述第一预设码率,则将所述第一状态信息切换为第二状态信息,包括:
若所述状态信息为所述第一状态信息,且所述第二直播码率不大于所述第一预设码率的持续时长大于第一预设时长,则将所述第一状态信息切换为所述第二状态信息。
4.根据权利要求2所述的码率调整方法,其特征在于,所述若所述状态信息为所述第二状态信息,且所述第二直播码率大于所述第一预设码率,则将所述第二状态信息切换为所述第一状态信息,包括:
若所述状态信息为所述第二状态信息,且所述第二直播码率大于所述第一预设码率的持续时长大于第二预设时长,则将所述第二状态信息切换为所述第一状态信息。
5.根据权利要求2所述的码率调整方法,其特征在于,所述方法还包括:
若所述状态信息为所述第二状态信息,且所述第二直播码率小于所述第一预设码率的持续时长大于第三预设时长,则将所述第二状态信息切换为第三状态信息;或者,
若所述状态信息为所述第三状态信息且所述第二直播码率大于所述第一预设码率,或者所述状态信息为所述第三状态信息的持续时长超过第四预设时长,则将所述第三状态信息切换为所述第一状态信息;
其中,所述第三状态信息用于表示禁止进行码率调整。
6.根据权利要求1所述的码率调整方法,其特征在于,所述根据状态信息以及所述第一直播码率与所述第二直播码率之间的大小关系,对所述第一直播码率或所述第二直播码率进行调整,包括:
当所述状态信息切换为第二状态信息时,根据所述第一直播码率与所述第二直播码率之间的大小关系,对所述第一直播码率或所述第二直播码率进行调整;
其中,所述第二状态信息用于指示允许进行码率调整。
7.根据权利要求6所述的码率调整方法,其特征在于,所述当所述状态信息切换为第二状态信息时,根据所述第一直播码率与所述第二直播码率之间的大小关系,对所述第一直播码率或所述第二直播码率进行调整,包括:
当所述状态信息切换为所述第二状态信息时,在所述第二直播码率不大于所述第一预设码率的情况下,则每隔第五预设时长,按照第二预设码率降低一次所述第一直播码率,以使所述第二直播码率升高,直至所述第二直播码率大于所述第一预设码率。
8.根据权利要求7所述的码率调整方法,其特征在于,所述当所述状态信息切换为所述第二状态信息时,在所述第二直播码率不大于所述第一预设码率的情况下,则每隔第五预设时长,按照第二预设码率降低一次所述第一直播码率,以使所述第二直播码率升高,直至所述第二直播码率大于所述第一预设码率之后,所述当所述状态信息切换为第二状态信息时,根据所述第一直播码率与所述第二直播码率之间的大小关系,对所述第一直播码率或所述第二直播码率进行调整,还包括:
当所述状态信息切换为所述第二状态信息时,在所述第二直播码率大于所述第一预设码率的情况下,则每隔第六预设时长,按照第三预设码率升高一次所述第一直播码率,以使所述第二直播码率降低,直至所述第一直播码率不小于所述第四预设码率。
9.根据权利要求2-8任一项所述的码率调整方法,其特征在于,所述方法还包括:
获取最大连麦码率和最小连麦码率;
根据所述最小连麦码率和所述最大连麦码率与所述最小连麦码率之间的差值,确定所述第一预设码率,所述第一预设码率大于所述最小连麦码率且所述第一预设码率小于所述最大连麦码率。
10.根据权利要求9所述的码率调整方法,其特征在于,所述根据所述最小连麦码率和所述最大连麦码率与所述最小连麦码率之间的差值,确定所述第一预设码率,包括:
获取所述差值与预设权重的乘积,作为第一数值;
获取所述第一数值与所述最小连麦码率的和,作为所述第一预设码率。
11.根据权利要求1所述的码率调整方法,其特征在于,所述获取第一直播码率之前,所述方法还包括:
采集多个推流延时时长,所述推流延时时长用于指示所述主播终端发送所述直播视频与接收所述直播视频的响应消息之间的延时时长;
采集多个连麦延时时长,所述连麦延时时长用于指示所述主播终端发送所述第一主播视频与接收所述第一主播视频的响应消息之间的延时时长;
根据所述多个推流延时时长和所述多个连麦延时时长,确定推流延时时长与连麦延时时长之间的关联度;
若所述关联度大于预设关联度,确定所述主播终端采用相同的网络链路发送所述直播视频和所述第一主播视频。
12.根据权利要求11所述的码率调整方法,其特征在于,所述采集多个推流延时时长,包括:
每隔第一预设时长,从数据库中采集所述推流延时时长,所述数据库用于存储已确定的推流延时时长。
13.根据权利要求12所述的码率调整方法,其特征在于,所述方法还包括:
获取向服务器发送所述直播视频的第一时间点;
获取接收所述直播视频的响应信息的第二时间点;
将所述第一时间点和所述第二时间点之间的时间差,确定为所述推流延时时长,将所述推流延时时长存储于所述数据库中。
14.根据权利要求11所述的码率调整方法,其特征在于,所述采集多个连麦延时时长,包括:
每隔第二预设时长,从数据库中采集所述连麦延时时长,所述数据库用于存储已确定的连麦延时时长。
15.根据权利要求14所述的码率调整方法,其特征在于,所述方法还包括:
获取向服务器发送所述第一主播视频的第三时间点;
获取接收所述第一主播视频的响应信息的第四时间点;
将所述第三时间点和所述第四时间点之间的时间差,确定为所述连麦延时时长,将所述连麦延时时长存储于所述数据库中。
16.根据权利要求11所述的码率调整方法,其特征在于,所述根据所述多个推流延时时长和所述多个连麦延时时长,确定推流延时时长与连麦延时时长之间的关联度,包括:
获取所述多个推流延时时长的推流延时总时长和所述多个连麦延时时长的连麦延时总时长;
根据所述推流延时总时长和所述连麦延时总时长确定时间差,所述时间差为所述主播终端接收所述直播视频的响应消息与所述主播终端接收所述第一主播视频的响应消息之间的延时时长的时间差;
基于所述时间差、所述多个推流延时时长、所述多个连麦延时时长确定所述关联度。
17.根据权利要求11所述的码率调整方法,其特征在于,所述根据所述多个推流延时时长和所述多个连麦延时时长,确定推流延时时长与连麦延时时长之间的关联度,包括:
每隔第三预设时长,根据所述第三预设时长内采集的多个推流延时时长和所述多个连麦延时时长,确定一个关联度;
所述若所述关联度大于预设关联度,确定所述主播终端采用相同的网络链路发送所述直播视频和所述第一主播视频,包括:
若确定多个关联度且所述多个关联度中的每个关联度大于所述预设关联度,确定所述主播终端采用相同的网络链路发送所述直播视频和所述第一主播视频。
18.根据权利要求11所述的码率调整方法,其特征在于,所述采集多个推流延时时长之前,所述方法还包括:
确定所述主播终端对所述第一主播视频进行编码时采用的码率小于所述第一预设码率。
19.一种码率调整装置,其特征在于,所述装置包括:
获取单元,被配置为执行获取第一直播码率,所述第一直播码率为主播终端对直播视频进行编码时采用的码率,所述直播视频中包括所述主播终端采集的第一主播视频和所述主播终端的连麦终端采集的第二主播视频;
所述获取单元,被配置为执行获取第二直播码率,所述第二直播码率为所述主播终端对所述第一主播视频进行编码时采用的码率;
调整单元,被配置为执行根据状态信息以及所述第一直播码率与所述第二直播码率之间的大小关系,对所述第一直播码率或所述第二直播码率进行调整,使得调整后的所述第二直播码率大于第一预设码率,调整后的所述第一直播码率不小于第四预设码率,所述状态信息用于指示是否允许进行码率调整。
20.根据权利要求19所述的码率调整装置,其特征在于,所述装置还包括:
切换单元,被配置为执行若所述状态信息为第一状态信息,且所述第二直播码率不大于所述第一预设码率,则将所述第一状态信息切换为第二状态信息;
所述切换单元,被配置为执行若所述状态信息为所述第二状态信息,且所述第二直播码率大于所述第一预设码率,则将所述第二状态信息切换为所述第一状态信息;
其中,所述第一状态信息用于指示禁止进行码率调整,所述第二状态信息用于指示允许进行码率调整。
21.根据权利要求20所述的码率调整装置,其特征在于,所述切换单元,被配置为执行若所述状态信息为所述第一状态信息,且所述第二直播码率不大于所述第一预设码率的持续时长大于第一预设时长,则将所述第一状态信息切换为所述第二状态信息。
22.根据权利要求20所述的码率调整装置,其特征在于,所述切换单元,被配置为执行若所述状态信息为所述第二状态信息,且所述第二直播码率大于所述第一预设码率的持续时长大于第二预设时长,则将所述第二状态信息切换为所述第一状态信息。
23.根据权利要求20所述的码率调整装置,其特征在于,所述装置还包括:
所述切换单元,被配置为执行若所述状态信息为所述第二状态信息,且所述第二直播码率小于所述第一预设码率的持续时长大于第三预设时长,则将所述第二状态信息切换为第三状态信息;或者,
所述切换单元,被配置为执行若所述状态信息为所述第三状态信息且所述第二直播码率大于所述第一预设码率,或者所述状态信息为所述第三状态信息的持续时长超过第四预设时长,则将所述第三状态信息切换为所述第一状态信息;
其中,所述第三状态信息用于表示禁止进行码率调整。
24.根据权利要求19所述的码率调整装置,其特征在于,所述调整单元,被配置为执行当所述状态信息切换为第二状态信息时,根据所述第一直播码率与所述第二直播码率之间的大小关系,对所述第一直播码率或所述第二直播码率进行调整;
其中,所述第二状态信息用于指示允许进行码率调整。
25.根据权利要求24所述的码率调整装置,其特征在于,所述调整单元,被配置为执行当所述状态信息切换为所述第二状态信息时,在所述第二直播码率不大于所述第一预设码率的情况下,则每隔第五预设时长,按照第二预设码率降低一次所述第一直播码率,以使所述第二直播码率升高,直至所述第二直播码率大于所述第一预设码率。
26.根据权利要求25所述的码率调整装置,其特征在于,所述调整单元,被配置为执行当所述状态信息切换为所述第二状态信息时,在所述第二直播码率大于所述第一预设码率的情况下,则每隔第六预设时长,按照第三预设码率升高一次所述第一直播码率,以使所述第二直播码率降低,直至所述第一直播码率不小于所述第四预设码率。
27.根据权利要求20-26任一项所述的码率调整装置,其特征在于,所述装置还包括:
所述获取单元,被配置为执行获取最大连麦码率和最小连麦码率;
第一确定单元,被配置为执行根据所述最小连麦码率和所述最大连麦码率与所述最小连麦码率之间的差值,确定所述第一预设码率,所述第一预设码率大于所述最小连麦码率且所述第一预设码率小于所述最大连麦码率。
28.根据权利要求27所述的码率调整装置,其特征在于,所述第一确定单元,被配置为执行:
获取所述差值与预设权重的乘积,作为第一数值;
获取所述第一数值与所述最小连麦码率的和,作为所述第一预设码率。
29.根据权利要求19所述的码率调整装置,其特征在于,所述装置还包括:
采集单元,被配置为执行采集多个推流延时时长,所述推流延时时长用于指示所述主播终端发送所述直播视频与接收所述直播视频的响应消息之间的延时时长;
所述采集单元,被配置为执行采集多个连麦延时时长,所述连麦延时时长用于指示所述主播终端发送所述第一主播视频与接收所述第一主播视频的响应消息之间的延时时长;
第二确定单元,被配置为执行根据所述多个推流延时时长和所述多个连麦延时时长,确定推流延时时长与连麦延时时长之间的关联度;
第三确定单元,被配置为执行若所述关联度大于预设关联度,确定所述主播终端采用相同的网络链路发送所述直播视频和所述第一主播视频。
30.根据权利要求29所述的码率调整装置,其特征在于,所述采集单元,被配置为执行每隔第一预设时长,从数据库中采集所述推流延时时长,所述数据库用于存储已确定的推流延时时长。
31.根据权利要求30所述的码率调整装置,其特征在于,所述装置还包括:
所述获取单元,被配置为执行获取向服务器发送所述直播视频的第一时间点;
所述获取单元,被配置为执行获取接收所述直播视频的响应信息的第二时间点;
所述第三确定单元,被配置为执行将所述第一时间点和所述第二时间点之间的时间差,确定为所述推流延时时长,将所述推流延时时长存储于所述数据库中。
32.根据权利要求29所述的码率调整装置,其特征在于,所述采集单元,被配置为执行每隔第二预设时长,从数据库中采集所述连麦延时时长,所述数据库用于存储已确定的连麦延时时长。
33.根据权利要求32所述的码率调整装置,其特征在于,所述装置还包括:
所述获取单元,被配置为执行获取向服务器发送所述第一主播视频的第三时间点;
所述获取单元,被配置为执行获取接收所述第一主播视频的响应信息的第四时间点;
所述第三确定单元,被配置为执行将所述第三时间点和所述第四时间点之间的时间差,确定为所述连麦延时时长,将所述连麦延时时长存储于所述数据库中。
34.根据权利要求29所述的码率调整装置,其特征在于,所述装置还包括第一确定单元,被配置为执行:
获取所述多个推流延时时长的推流延时总时长和所述多个连麦延时时长的连麦延时总时长;
根据所述推流延时总时长和所述连麦延时总时长确定时间差,所述时间差为所述主播终端接收所述直播视频的响应消息与所述主播终端接收所述第一主播视频的响应消息之间的延时时长的时间差;
基于所述时间差、所述多个推流延时时长、所述多个连麦延时时长确定所述关联度。
35.根据权利要求29所述的码率调整装置,其特征在于,所述装置还包括第一确定单元,被配置为执行每隔第三预设时长,根据所述第三预设时长内采集的多个推流延时时长和所述多个连麦延时时长,确定一个关联度;
所述第二确定单元,被配置为执行若确定多个关联度且所述多个关联度中的每个关联度大于所述预设关联度,确定所述主播终端采用相同的网络链路发送所述直播视频和所述第一主播视频。
36.根据权利要求29所述的码率调整装置,其特征在于,所述装置还包括:
第四确定单元,被配置为执行确定所述主播终端对所述第一主播视频进行编码时采用的码率小于所述第一预设码率。
37.一种终端,其特征在于,所述终端包括:
一个或多个处理器;
用于存储所述一个或多个处理器可执行命令的易失性或非易失性存储器;
其中,所述一个或多个处理器被配置为执行如权利要求1-18任一项所述的码率调整方法。
38.一种非临时性计算机可读存储介质,其特征在于,当所述存储介质中的指令由终端的处理器执行时,使得所述终端能够执行如权利要求1-18任一项所述的码率调整方法。
CN202011009874.5A 2020-09-23 2020-09-23 码率调整方法、检测方法、装置、设备及存储介质 Active CN112153404B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011009874.5A CN112153404B (zh) 2020-09-23 2020-09-23 码率调整方法、检测方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011009874.5A CN112153404B (zh) 2020-09-23 2020-09-23 码率调整方法、检测方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN112153404A CN112153404A (zh) 2020-12-29
CN112153404B true CN112153404B (zh) 2022-09-09

Family

ID=73896192

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011009874.5A Active CN112153404B (zh) 2020-09-23 2020-09-23 码率调整方法、检测方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN112153404B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114885181B (zh) * 2021-02-05 2023-07-07 北京金山云网络技术有限公司 一种直播资源的延时播放方法和装置

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100376089C (zh) * 2005-06-03 2008-03-19 上海原动力通信科技有限公司 时隙码分多址系统多小区联合检测方法
CN101193332B (zh) * 2006-11-20 2011-01-26 大唐移动通信设备有限公司 一种同频网络中发送广播业务数据的方法、系统及基站
CN103533386A (zh) * 2013-10-21 2014-01-22 腾讯科技(深圳)有限公司 一种直播控制方法,及主播设备
CN104602197B (zh) * 2013-10-30 2018-11-02 电信科学技术研究院 一种进行通信的方法、系统和设备
CN105743760B (zh) * 2014-12-12 2019-06-11 华为技术有限公司 一种流量切换方法和装置
CN106713945B (zh) * 2016-12-06 2020-05-12 广州华多网络科技有限公司 客户端连麦直播处理方法和装置、直播服务器及直播系统
CN108200470A (zh) * 2017-12-20 2018-06-22 中国联合网络通信集团有限公司 一种视频码率调整方法及设备
CN108900919A (zh) * 2018-06-29 2018-11-27 乐蜜有限公司 一种直播中的连麦方法、装置、服务器及终端
CN108966022A (zh) * 2018-06-29 2018-12-07 广州市千钧网络科技有限公司 一种直播方法、装置及终端
CN109495762B (zh) * 2018-10-09 2021-05-11 广州虎牙信息科技有限公司 数据流处理方法、装置及存储介质、终端设备
CN111385590A (zh) * 2018-12-28 2020-07-07 广州市百果园信息技术有限公司 直播数据处理方法、装置及终端
CN110662114B (zh) * 2019-09-30 2021-11-23 广州方硅信息技术有限公司 视频处理方法、装置、电子设备及存储介质
CN111586433B (zh) * 2020-06-05 2021-09-21 广州繁星互娱信息科技有限公司 码率调整方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN112153404A (zh) 2020-12-29

Similar Documents

Publication Publication Date Title
CN110881136B (zh) 视频帧率控制方法、装置、计算机设备及存储介质
CN108966008B (zh) 直播视频回放方法及装置
CN111083507B (zh) 连麦方法及系统、第一主播端、观众端及计算机存储介质
CN110769271B (zh) 调节多路码流的码率的方法和装置
CN110764730A (zh) 播放音频数据的方法和装置
CN109874043B (zh) 视频流发送方法、播放方法及装置
CN110121084B (zh) 切换端口的方法、装置和系统
CN109120933B (zh) 动态调整码率的方法、装置、设备及存储介质
CN110996117B (zh) 视频转码方法、装置、电子设备和存储介质
CN111586431B (zh) 进行直播处理的方法、装置、设备及存储介质
CN109951398B (zh) 数据发送方法、装置及计算机设备
CN110149491B (zh) 视频编码方法、视频解码方法、终端及存储介质
CN109089137B (zh) 卡顿检测方法及装置
CN107888975B (zh) 视频播放方法、装置及存储介质
CN112153404B (zh) 码率调整方法、检测方法、装置、设备及存储介质
CN110113669B (zh) 获取视频数据的方法、装置、电子设备及存储介质
CN110912830A (zh) 传输数据的方法和装置
CN113141541B (zh) 码率切换方法、装置、设备及存储介质
CN110543403A (zh) 一种功耗评估的方法及装置
CN111698262B (zh) 带宽确定方法、装置、终端及存储介质
CN111586433B (zh) 码率调整方法、装置、设备及存储介质
CN111478914B (zh) 时间戳处理方法、装置、终端及存储介质
CN112770149B (zh) 视频处理方法、装置、终端及存储介质
CN110913213B (zh) 视频质量评测处理的方法、装置及系统
CN115525366A (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
GR01 Patent grant
GR01 Patent grant