CN114286128A - 直播视频参数调整方法、系统、装置、设备及存储介质 - Google Patents
直播视频参数调整方法、系统、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN114286128A CN114286128A CN202111627161.XA CN202111627161A CN114286128A CN 114286128 A CN114286128 A CN 114286128A CN 202111627161 A CN202111627161 A CN 202111627161A CN 114286128 A CN114286128 A CN 114286128A
- Authority
- CN
- China
- Prior art keywords
- coding
- information
- equipment
- video
- anchor
- 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
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本申请涉及一种直播视频参数调整方法、系统、装置、设备及存储介质,属于网络直播技术领域。在根据主播端设备的设备信息确定主播端具备预设的编码能力之后,根据服务器端下发的与设备信息对应的编码档位信息和主播端获取的带宽信息进一步确定视频编码参数,实现直播视频流数据编码参数的自适应调整,在保证直播顺畅的情况下提高直播的清晰度,提高用户观看体验。
Description
技术领域
本申请涉及网络直播技术领域,特别是涉及一种直播视频参数调整方法、系统、装置、设备及存储介质。
背景技术
随着互联网技术的发展和移动终端的普及,用户对直播间的观看体验有了更高的要求,在观看直播间时,用户往往追求更高的清晰度,然而,直播间的清晰度越高,其对用户连接网络的要求越高,盲目追求高清的直播视频容易造成用户观看卡顿,影响观看体验。
发明内容
基于此,本申请的目的在于,提供一种直播视频参数调整方法、系统、装置、设备及存储介质,提出一种直播视频参数调整方法,可以在保障直播观看流畅的情况下提升直播清晰度的自适应调整,提高用户体验。
根据本申请实施例的第一方面,提供一种直播视频参数调整方法,所述直播视频参数调整方法包括:
主播端获取设备的设备信息并发送至服务器端;
服务器端响应于开播指令,根据所述设备信息确定所述主播端是否满足预设的编码条件,在所述主播端满足所述预设的编码条件时,获取与所述设备信息对应的编码档位信息;其中,所述编码档位信息包括若干编码档位,每一个编码档位具有对应的视频编码参数及带宽范围;
主播端获取设备的带宽信息,根据所述带宽信息及所述编码档位信息确定主播端设备的视频编码参数,根据所述视频编码参数对获取的直播视频流数据进行编码。
根据本申请实施例的第二方面,提供一种直播视频参数调整系统,包括服务器端和主播端;
所述主播端获取设备的设备信息并发送至服务器端;
所述服务器端响应于开播指令,根据所述设备信息确定所述主播端是否满足预设的编码条件,在所述主播端满足所述预设的编码条件时,获取与所述设备信息对应的编码档位信息;其中,所述编码档位信息包括若干编码档位,每一个编码档位具有对应的视频编码参数及带宽范围;
所述主播端获取设备的带宽信息,根据所述带宽信息及所述编码档位信息确定主播端设备的视频编码参数,根据所述视频编码参数对获取的直播视频流数据进行编码。
根据本申请实施例的第三方面,提供一种直播视频参数调整装置,所述装置包括:
开播信息获取模块,用于获取设备的设备信息并发送至服务器端;
编码条件确定模块,用于响应于开播指令,根据所述设备信息确定所述主播端是否满足预设的编码条件,在所述主播端满足所述预设的编码条件时,获取与所述设备信息对应的编码档位信息;其中,所述编码档位信息包括若干编码档位,每一个编码档位具有对应的视频编码参数及带宽范围;
编码模块,用于获取设备的带宽信息,根据所述带宽信息及所述编码档位信息确定主播端设备的视频编码参数,根据所述视频编码参数对获取的直播视频流数据进行编码。
根据本申请实施例的第四方面,提供一种电子设备,包括:处理器和存储器;其中,所述存储器存储有计算机程序,所述计算机程序适于由所述处理器加载并执行任意一项所述的直播视频参数调整方法。
根据本申请实施例的第五方面,提供一种计算机可读存储介质,其上储存有计算机程序,该计算机程序被处理器执行时实现任意一项所述的直播视频参数调整方法。
本申请中,在根据主播端设备的设备信息确定主播端具备预设的编码能力之后,根据服务器端下发的与设备信息对应的编码档位信息和主播端获取的带宽信息进一步确定视频编码参数,实现直播视频流数据编码参数的自适应调整,在保证直播顺畅的情况下提高直播的清晰度,提高用户观看体验。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
为了更好地理解和实施,下面结合附图详细说明本申请。
附图说明
图1为本申请一个实施例提供的一种直播视频参数调整方法的应用环境的示意图;
图2为本申请一个实施例提供的一种直播视频参数调整方法的流程图;
图3为本申请一个实施例提供的一种直播视频参数调整装置的结构示意图;
图4为本申请一个实施例提供的一种电子设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施例方式作进一步地详细描述。
应当明确,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请的描述中,需要理解的是,术语“第一”、“第二”、“第三”等仅用于区别类似的对象,而不必用于描述特定的顺序或先后次序,也不能理解为指示或暗示相对重要性。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本申请中的具体含义。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。在此所使用的词语“如果”/“若”可以被解释成为“在……时”或“当……时”或“响应于确定”。此外,在本申请的描述中,除非另有说明,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
请参阅图1,图1为本申请一个实施例提供的一种直播视频参数调整方法的应用场景示意图,该应用场景包括本申请实施例提供的主播端20、服务器端10和观众端30。主播端20与观众端30通过服务器端10进行交互。
其中,所述主播端20是指发送网络直播视频的一端,通常来说是网络直播中主播所采用的观众端。
所述观众端30是指接收和观看网络直播视频的一端,通常来说是网络直播中观看视频的观众所采用的观众端。
所述主播端20和所述观众端30所指向的硬件,本质上是指计算机设备,具体地,如图1所示,其可以是智能手机、智能交互平板和个人计算机等类型的计算机设备。所述主播端20和所述观众端30均可以通过公知的网络接入方式接入互联网,与服务器端10建立数据通信链路。
所述服务器端10作为一个业务服务器,其可以负责进一步连接起相关音频数据服务器、视频流服务器以及其他提供相关支持的服务器等,以此构成逻辑上相关联的服务机群,来为相关的终端设备,例如图1中所示的主播端20和观众端30提供服务。
其中,主播端20获取设备的设备信息并发送至服务器端;
服务器端10响应于开播指令,根据所述设备信息确定所述主播端20是否满足预设的编码条件,在所述主播端20满足所述预设的编码条件时,获取与所述设备信息对应的编码档位信息;其中,所述编码档位信息包括若干编码档位,每一个编码档位具有对应的视频编码参数及带宽范围;
主播端20获取设备的带宽信息,根据所述带宽信息及所述编码档位信息确定主播端设备的视频编码参数,根据所述视频编码参数对获取的直播视频流数据进行编码。
实施例:
下面将结合附图,对本申请实施例提供的一种直播视频参数调整方法进行详细介绍。
请参阅图2,本申请实施例提供一种直播视频参数调整方法,包括如下步骤:
S101:主播端获取设备的设备信息并发送至服务器端;
开播指令为主播发出的用于开启直播间的指令,主播端在接收到开播指令后,获取设备的设备信息;
设备的设备信息可用于确定主播端所在终端设备是否具备对应的编码性能,其中,设备信息可以包括终端设备的屏幕分辨率、内存、CPU型号和系统版本等信息。
S102:服务器端响应于开播指令,根据所述设备信息确定所述主播端是否满足预设的编码条件,在所述主播端满足所述预设的编码条件时,获取与所述设备信息对应的编码档位信息;
开播指令为主播发出的用于开启直播间的指令,服务器端在接收到开播指令后,读取接收的主播端设备的设备信息,确定主播端是否满足预设的编码条件;
编码条件可以用于确定主播端所在终端设备是否具备目标清晰度开播能力,其中,目标清晰度可以是指高于现有技术中的标准清晰度的高清晰度,例如,可以为1080P、蓝光、4K等。根据设备的设备信息是否能满足编码条件来确定是否可以对直播视频流进行编码。
编码条件可以根据用户希望得到的直播视频的目标清晰度进行具体设置,具体地,编码条件可以用于确定主播端所在终端设备是否具备对应的编码能力。例如,当用户希望得到蓝光画质的直播视频,则根据蓝光画质的编码要求来设置编码条件,从而验证主播端所在终端设备是否具备蓝光编码能力。
每一种清晰度均设有对应的视频编码类型,验证主播端所在终端设备是否具备某种视频编码类型的编码能力可以通过创建对应视频编码类型的编码器来确定;当主播端所在终端设备可以成功创建该编码器时,确定主播端所在终端设备具备该视频编码类型的编码能力,即确定主播端满足编码条件;当主播端所在终端设备创建该编码器失败,即视为主播端所在终端设备不具备该视频编码参数的编码能力,也即确定主播端不满足编码条件。
例如,当用户希望得到蓝光画质的直播视频,可以通过在主播端所在终端设备创建H.265编码器来确定主播端所在终端设备是否具备H.265的编码能力,当编码器创建失败时,则表示主播端所在终端设备不具备H.265的编码能力;当编码器创建成功,则表示主播端所在终端设备具备H.265的编码能力。
H.265(High Efficiency Video Coding,High Efficiency Video Coding)是一种新的视频编码标准,利用H.265编码算法可以有效提高压缩效率,并且,可以在低于1.5Mbps的传输带宽下实现1080p全高清视频传输,在本申请实施例中,利用H.265编码对获取的直播视频流数据进行编码,可以有效提高直播视频的传输速度,提高用户的观看体验。
在确定主播端所在终端设备是否具备目标清晰度开播能力时,主播端所在终端设备不仅需要具备一定的编码能力,还需要具备一定的开播能力,否则,即使主播端所在终端设备具备了编码能力,不具备目标清晰度的开播能力,仍然难以实现按照目标清晰度开播的目的。因此,所述编码条件还用于确定主播端所在终端设备是否目标清晰度的开播能力。
在本申请实施例中,确定主播端所在终端设备是否具备目标清晰度的开播能力可以根据主播端所在终端设备的芯片型号信息及系统版本信息进行确定。具体地,服务端根据所述芯片型号信息及系统版本信息确定是否满足预设的开播条件,当所述芯片型号信息及系统版本信息满足预设的开播条件,认为主播端所在终端设备具备目标清晰度的开播能力;当所述芯片型号信息及系统版本信息不满足预设的开播条件,认为主播端所在终端设备不具备目标清晰度的开播能力。
开播条件用于确定主播端所在终端设备是否具备目标清晰度开播能力,可以根据主播端所在终端设备的芯片型号信息及系统版本信息,查找数据库中预先保存的视频清晰度开播能力表确定。其中,视频清晰度采集能力表存储有若干具备不同清晰度开播能力的设备的设备信息。
在一个实施例中,当主播端所在终端设备的操作系统为Android系统,且芯片型号为骁龙865以上或者更高等级的芯片,同时系统版本大于预设的系统版本阀值(例如Android 10),或者,当主播端所在终端设备的操作系统为IOS系统,且芯片型号为A14或者更高,同时系统版本大于预设的系统版本阀值(例如IOS 11),视为主播端所在终端设备具备蓝光开播能力。
当用户希望得到蓝光画质的直播视频,除了在主播端所在终端设备创建H.265编码器来确定主播端所在终端设备是否具备H.265的编码能力,还需要判断主播端所在终端设备的操作系统为Android系统,且芯片型号为骁龙865以上或者更高等级的芯片,同时系统版本大于预设的系统版本阀值(例如Android 10),或者,当主播端所在终端设备的操作系统为IOS系统,且芯片型号为A14或者更高,同时系统版本大于预设的系统版本阀值(例如IOS 11),确定主播端所在终端设备是否具备蓝光开播能力,只有当主播端所在终端设备同时具备H.265的编码能力和蓝光开播能力,判断主播端满足所述预设的编码条件。
所述编码档位信息可以为用户预先保存在服务器端的若干个编码档位,所述编码档位信息包括若干编码档位,每一个编码档位具有对应的视频编码参数及带宽范围;
每一个编码档位可以对应一个视频编码参数及一个带宽范围,其中,编码档位、视频编码参数及带宽范围之间的对应关系可以根据用户的直播运营经验进行设置。
具体地,编码档位信息可以根据主播端满足的编码条件确定,在主播端满足所述预设的编码条件的步骤之后,还包括:
获取与所述编码条件对应的视频编码参数;
根据与所述编码条件对应的视频编码参数,获取对应的编码档位及带宽信息,生成编码档位信息。
其中,编码档位信息包括编码条件对应的视频编码参数所在编码档位和其他编码档位,其他编码档位可以根据用户需求进行设置,例如可以设置为小于编码条件对应的视频编码参数的其他编码档位,当其他编码档位为小于编码条件对应的视频编码参数的其他编码档位时,编码条件对应的视频编码参数即为所述编码档位信息中的编码档位对应的视频编码参数中的最大值。
在一个实施例中,服务器端保存有预设的白名单列表,该白名单列表对应一个预设的清晰度,该清晰度可以根据用户的实际需求进行设置。例如,可以设置为蓝光。
该名单列表保存有若干个设备的设备信息,该白名单列表指示满足编码条件的若干个终端设备;具体地,确定所述主播端是否满足预设的编码条件的步骤包括:
服务器端根据所述设备信息,查找预设的白名单列表,若所述白名单列表包含所述设备信息,确定所述主播端满足所述预设的编码条件。
当白名单列表中包含有所述设备信息,即认为该主播端所在终端设备具备的编码能力,满足该编码条件。此时,服务器端向主播端发送用于获取主播端与所述服务器端的带宽信息的带宽获取指令。
在一个优选的实施例中,服务器端保存有多个白名单列表,其中,每一个白名单列表分别对应一个清晰度;白名单列表保存有与清晰度对应的设备的设备信息。具体地,确定所述主播端是否满足预设的编码条件的步骤包括:
获取主播端输入的目标清晰度信息,查找与所述目标清晰度信息对应的白名单列表,若所述白名单列表包含所述设备信息,确定所述主播端满足所述预设的编码条件。
白名单列表用于确定主播端设备是否具备目标视频编码类型的编码能力和具备目标清晰度的开播能力,当名单列表包含有主播端设备时,即主播端具备目标视频编码类型的编码能力和具备目标清晰度的开播能力。
白名单列表可以为第一名单列表与第二名单列表的交集,也即,白名单列表中包含的设备同时存在于第一名单列表与第二名单列表内。
其中,所述第一名单列表指示主播端设备具备目标视频编码类型的编码能力;所述第二名单列表指示主播端设备具备目标清晰度的开播能力;其中,所述目标视频编码类型与所述目标清晰度对应。
当主播端所在终端设备不被包含在服务器端保存的多个白名单列表中时,确定主播端不满足预设的编码条件时,此时,可以根据主播端所在终端设备的编码能力和对应的开播能力确定其能满足的最大视频编码参数,根据所述视频编码参数对获取的直播视频流数据进行编码。
具体地,服务器端在查询白名单列表确定当前主播端是否满足所述预设的编码条件之后,可以通过返回预设标识的方式得到查询结果,该预设标识与查询结果具有预设的映射关系,通过返回预设标识的方式,降低数据传输量,提高查询效率;其中,预设标识可以根据用户需求进行设置,例如,预设标识可以是“0”和“1”,当主播端满足所述预设的编码条件,返回标识“1”,当主播端不满足所述预设的编码条件,返回标识“0”。
服务器端的白名单列表可以由用户预先存储,由用户按照预设的时间间隔进行手动更新,或者,也可以根据用户预先设置的触发条件进行动态更新。
其中,触发条件可以根据用户的实际应用需求进行设置。例如,可以设置触发条件为用户启动直播软件,当用户启动直播软件时主播端获取主播端所在终端设备具备的编码能力和开播能力进行校验,当主播端所在终端设备具备目标清晰度的编码能力和开播能力时,将设备的设备信息发送至服务器端,使得服务器端可以及时更新白名单列表。具体地,所述直播视频参数调整方法还包括以下步骤:
主播端响应于编码器启动指令,创建与目标视频编码类型对应的编码器;
若主播端成功创建所述编码器,将所述设备信息发送至所述服务器端;其中,所述设备信息包括芯片型号信息及系统版本信息;
所述服务端将所述设备信息添加至所述第一名单列表;
所述服务端根据所述芯片型号信息及系统版本信息确定是否满足预设的开播条件,将满足所述预设的开播条件的设备的设备信息添加至所述第二名单列表;
根据所述第一名单列表和所述第二名单列表,更新所述白名单列表。
S103:主播端获取设备的带宽信息,根据所述带宽信息及所述编码档位信息确定主播端设备的视频编码参数,根据所述视频编码参数对获取的直播视频流数据进行编码。
带宽信息用于确定主播端设备的网络传输情况,主播端可以通过获取与服务器端的往返时延等通信延时数据,根据谷歌bbr带宽探测算法或其他可用于探测主播端设备的带宽信息的带宽探测算法计算得到。
具体地,带宽信息可以包括可用带宽及通信往返时间等信息,带宽是指在一个固定的时间内(例如1秒)能通过的最大位数据,带宽用于衡量数据的网络传输效率,其中,带宽越大,数据的网络传输效率越高。
可用带宽用于确定当前时刻主播端与服务器端的网络传输效率,可用带宽越大,当前时刻主播端与服务器端的网络传输效率越高,可用带宽大时,直播间显示画面显示流畅,当可用带宽较小时,直播间显示画面容易出现卡顿等情况,影响用户的观看体验。
视频编码参数用于对获取的直播视频流数据进行编码,视频编码参数可以包括编码的宽度、高度和编码帧率等。
对获取的直播视频流数据进行编码,可以通过根据视频编码参数创建编码器,或者,根据视频编码参数对已有编码器进行重新配置,使用创建或者经过重新配置的编码器对获取的直播视频流数据进行编码。
直播视频流数据为主播端设备采集直播画面和音频信息后形成的直播视频流数据。
编码后的直播视频流数据可以上传至服务器端,由服务器端可以将编码后的直播视频流数据分发至直播间的观众端进行解码,使得解码后的直播画面和音频可以在观众端播放。
在本申请实施例中,为了保证直播间显示画面流畅显示,对于越高清晰度的直播视频,其数据传输所需的带宽需要更大,也即,视频编码参数越大,要求的带宽越高,因此,根据主播端与服务器端的带宽信息动态确定主播端设备的视频编码参数,在保证直播间显示画面流畅显示同时提高直播视频的清晰度,提高用户的观看体验。
具体地,所述若干编码档位根据视频编码参数由高至低进行排序,所述第一视频编码参数与所述第一编码档位对应,所述第一视频编码参数为所述若干编码档位对应的视频编码参数中的最大值;
根据所述带宽信息及所述编码档位信息确定主播端设备的视频编码参数的步骤包括:
根据所述编码档位信息,获取与所述第一编码档位对应的第一带宽范围;
若所述带宽信息在所述第一带宽范围内,根据所述第一视频编码参数对获取的直播视频流数据进行编码。
当带宽信息对应带宽在该某个视频编码参数对应的带宽范围内时,根据该视频编码参数对获取的直播视频流数据进行编码;其中,每一个带宽范围可以包括一个用户预先设置的最小带宽阈值,最小带宽阈值用于为满足第一视频编码参数所需的最小带宽,所述带宽范围根据所述最小带宽阈值确定;当带宽信息对应带宽大于或等于最小带宽阈值,即认为所述带宽信息在所述第一带宽范围内,确定当前网络情况可以满足按照所述视频编码参数对获取的直播视频流数据进行编码,不会影响正常直播。
其中,视频编码参数及其对应的带宽范围可以从预设的数据库中获取,具体地,预设的数据库中保存有若干个视频编码参数,其中,每一个视频编码参数对应一个目标清晰度和一个带宽范围。
当带宽信息对应的带宽小于所述第一带宽范围对应的最小带宽阈值,即认为所述带宽信息不在所述第一带宽范围内,确定当前网络情况无法满足按照所述视频编码参数对获取的直播视频流数据进行编码,此时,需要停止按照所述视频编码参数对获取的直播视频流数据进行编码或者调整视频编码参数,避免直播卡顿影响用户体验。
优选地,当所述带宽信息不在所述第一带宽范围内,可以根据此时的所述带宽信息中的可用带宽来动态调整视频编码参数,在保证直播顺畅的情况下以可实现的最高清晰度进行开播,提高用户观看体验。
具体地,在获取与所述第一编码档位对应的第一带宽范围的步骤之后,还包括:
若所述带宽信息不在所述第一带宽范围内,按照所述若干编码档位的排列顺序,依次切换下一编码档位,获取所述带宽信息对应的带宽范围及其对应的第二编码档位;
获取第二编码档位对应的第二视频编码参数;
根据所述第二视频编码参数对获取的直播视频流数据进行编码;
带宽信息对应的带宽范围指的是带宽信息所在的带宽范围,当每一个带宽范围具有对应的最小带宽阈值时,带宽信息对应的带宽范围可以通过将所述带宽信息与每一个带宽范围的最小带宽阈值进行比较,当带宽信息对应的带宽大于某个带宽范围的最小带宽阈值时,该带宽范围即为带宽信息对应的带宽范围,此时,获取该带宽范围对应的编码档位,该编码档位即为所述第二编码档位。
需要说明的是,第二编码档位为数据库中所有满足条件的编码档位中视频编码参数最大的编码档位,也即第二视频编码参数是可以满足当前网络情况下的最大视频编码参数,根据第二视频编码参数对获取的直播视频流数据进行编码,可以在保证直播顺畅的情况下以可实现的最高清晰度进行开播,提高用户观看体验。
本申请实施例所述直播视频参数调整方法不仅可以应用在开播前对直播视频流数据进行编码,还可以适用于直播过程中对直播视频流数据的动态编码,因此,所述直播视频参数调整方法还包括以下步骤:
主播端按照预设的时间间隔,获取带宽信息,根据所述带宽信息及所述编码档位信息确定主播端设备的视频编码参数,根据所述视频编码参数对获取的直播视频流数据进行编码。
其中,动态调整的时间间隔可以根据用户的实际需求进行设置。
在直播过程中,针对网络较差的情况,可以通过降低视频编码参数,降低直播视频的清晰度以保障观众的观看体验;一旦检测到网络情况较好可以满足高清晰度流畅观看时,及时调高视频编码参数,提高直播视频的清晰度,提高用户的观看体验。
另外,本申请实施例还可以应用于直播连麦过程中,实现连麦混流视频清晰度的自适应调整,具体地,所述直播视频参数调整方法还包括以下步骤:
响应于连麦指令,服务器端获取第一主播端的第一直播视频流数据和第一视频编码参数及第二主播端的第二直播视频流数据和第二视频编码参数;其中,所述第一视频编码参数根据所述第一主播端的设备信息和所述第一主播端的带宽信息确定;所述第二视频编码信息根据所述第二主播端的设备信息和所述第二主播端的带宽信息确定;
服务器端获取所述第一视频编码参数和所述第二视频编码参数中的最小视频编码参数,根据所述最小视频编码参数对所述第一直播视频流数据和所述第二直播视频流数据进行编码和混流,获取混流后的直播视频流数据;
将所述混流后的直播视频流数据返回至所述第一主播端和所述第二主播端。
连麦指令用于实现第一主播端和第二主播端之间的连麦,其中,连麦指令可以是由第一主播端发出,也可以是由第二主播端发出,在此不进行具体限定。
混流是指将第一直播视频流数据和所述第二直播视频流数据进行混合,得到包括第一直播视频画面和第二直播视频画面的直播视频,主播端在接收到混流后的直播视频流数据之后,可以在其直播间同时显示第一直播视频画面和第二直播视频画面。
本实施例中,根据两个主播端的视频编码参数中的最小视频编码参数对第一直播视频流数据和第二直播视频流数据进行编码和混流,实现连麦混流视频清晰度的自适应调整。
需要说明的是,本申请中的第一主播端和第二主播端仅为一个示例性说明,本申请上述步骤还可以应用于两个以上的已连麦的主播端,实现连麦主播端之间的混流视频清晰度的自适应调整。
本申请实施例中,在根据主播端设备的设备信息确定主播端具备预设的编码能力之后,根据服务器端下发的与设备信息对应的编码档位信息和主播端获取的带宽信息进一步确定视频编码参数,实现直播视频流数据编码参数的自适应调整,在保证直播顺畅的情况下主播端可以以最高清晰度进行开播,提高用户观看体验。
本实施例还提供一种直播视频参数调整系统,如图1所示,包括服务器端10和主播端20,对于本实施例中未披露的细节,请参照本申请的方法实施例。
所述主播端20获取设备的设备信息并发送至服务器端10;
所述服务器端10响应于开播指令,根据所述设备信息确定所述主播端20是否满足预设的编码条件,在所述主播端20满足所述预设的编码条件时,获取与所述设备信息对应的编码档位信息;其中,所述编码档位信息包括若干编码档位,每一个编码档位具有对应的视频编码参数及带宽范围;
所述主播端20获取设备的带宽信息,根据所述带宽信息及所述编码档位信息确定主播端设备的视频编码参数,根据所述视频编码参数对获取的直播视频流数据进行编码。
本实施例还提供了一种直播视频参数调整装置,可以用于执行本申请实施例的直播视频参数调整方法。对于本实施例中未披露的细节,请参照本申请的方法实施例。
请参阅图3,图3是本申请实施例公开的一种直播视频参数调整装置的结构示意图。所述的直播视频参数调整装置包括:
开播信息获取模块401,用于获取设备的设备信息并发送至服务器端;
编码条件确定模块402,用于响应于开播指令,根据所述设备信息确定所述主播端是否满足预设的编码条件,在所述主播端满足所述预设的编码条件时,获取与所述设备信息对应的编码档位信息;其中,所述编码档位信息包括若干编码档位,每一个编码档位具有对应的视频编码参数及带宽范围;
编码模块403,用于获取设备的带宽信息,根据所述带宽信息及所述编码档位信息确定主播端设备的视频编码参数,根据所述视频编码参数对获取的直播视频流数据进行编码。
本实施例提供一种电子设备,可以用于执行本申请实施例的直播视频参数调整方法的全部或部分步骤。对于本实施例中未披露的细节,请参照本申请的方法实施例。
请参阅图4,图4为本申请实施例提供的电子设备的结构示意图。所述电子设备500可以但不限于是各种服务器、个人计算机、笔记本电脑、智能手机、平板电脑等设备的一个或多个的组合。
在本申请较佳实施例中,所述电子设备500包括存储器501、至少一个处理器502、至少一条通信总线503及收发器504。
本领域技术人员应该了解,图4示出的电子设备的结构并不构成本申请实施例的限定,既可以是总线型结构,也可以是星形结构,所述电子设备500还可以包括比图示更多或更少的其他硬件或者软件,或者不同的部件布置。
在一些实施例中,所述电子设备500是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路、可编程门阵列、数字处理器及嵌入式设备等。所述电子设备500还可包括客户设备,所述客户设备包括但不限于任何一种可与客户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互的电子产品,例如,个人计算机、平板电脑、智能手机、数码相机等。
需要说明的是,所述电子设备500仅为举例,其他现有的或今后可能出现的电子产品如可适应于本申请,也应包含在本申请的保护范围以内,并以引用方式包含于此。
在一些实施例中,所述存储器501中存储有计算机程序,所述计算机程序被所述至少一个处理器502执行时实现如所述实施例一的直播视频参数调整方法中的全部或者部分步骤。所述存储器501包括只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable Read-Only Memory,PROM)、可擦除可编程只读存储器(ErasableProgrammable Read-Only Memory,EPROM)、一次可编程只读存储器(One-timeProgrammable Read-Only Memory,OTPROM)、电子擦除式可复写只读存储器(Electrically-Erasable Programmable Read-Only Memory,EEPROM)、只读光盘(CompactDisc Read-Only Memory,CD-ROM)或其他光盘存储器、磁盘存储器、磁带存储器、或者能够用于携带或存储数据的计算机可读的任何其他介质。
在一些实施例中,所述至少一个处理器502是所述电子设备500的控制核心(Control Unit),利用各种接口和线路连接整个电子设备500的各个部件,通过运行或执行存储在所述存储器501内的程序或者模块,以及调用存储在所述存储器501内的数据,以执行电子设备500的各种功能和处理数据。例如,所述至少一个处理器502执行所述存储器中存储的计算机程序时实现本申请实施例中所述的直播视频参数调整方法的全部或者部分步骤;或者实现直播视频参数调整装置的全部或者部分功能。所述至少一个处理器502可以由集成电路组成,例如可以由单个封装的集成电路所组成,也可以是由多个相同功能或不同功能封装的集成电路所组成,包括一个或者多个中央处理器(CentralProcessing unit,CPU)、微处理器、数字处理芯片、图形处理器及各种控制芯片的组合等。
在一些实施例中,所述至少一条通信总线503被设置为实现所述存储器501以及所述至少一个处理器502等之间的连接通信。
所述电子设备500还可以包括多种传感器、蓝牙模块、Wi-Fi模块等,在此不再赘述。
本实施例提供一种计算机可读存储介质,其上储存有计算机程序,所述指令适于由处理器加载并执行本申请实施例一的直播视频参数调整方法,具体执行过程可以参见实施例一的具体说明,在此不进行赘述。
对于设备实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的设备实施例仅仅是示意性的,其中所述作为分离部件说明的组件可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (13)
1.一种直播视频参数调整方法,其特征在于,所述方法包括:
主播端获取设备的设备信息并发送至服务器端;
服务器端响应于开播指令,根据所述设备信息确定所述主播端是否满足预设的编码条件,在所述主播端满足所述预设的编码条件时,获取与所述设备信息对应的编码档位信息;其中,所述编码档位信息包括若干编码档位,每一个编码档位具有对应的视频编码参数及带宽范围;
主播端获取设备的带宽信息,根据所述带宽信息及所述编码档位信息确定主播端设备的视频编码参数,根据所述视频编码参数对获取的直播视频流数据进行编码。
2.根据权利要求1所述的直播视频参数调整方法,其特征在于,确定所述主播端是否满足预设的编码条件的步骤包括:
服务器端根据所述设备信息,查找预设的白名单列表,若所述白名单列表包含所述设备信息,确定所述主播端满足所述预设的编码条件;
其中,所述白名单列表保存有若干个设备的设备信息。
3.根据权利要求1所述的直播视频参数调整方法,其特征在于,确定所述主播端是否满足预设的编码条件的步骤包括:
获取主播端输入的目标清晰度信息,查找与所述目标清晰度信息对应的白名单列表,若所述白名单列表包含所述设备信息,确定所述主播端满足所述预设的编码条件;
其中,所述白名单列表保存有与所述目标清晰度对应的设备的设备信息。
4.根据权利要求1-3任一项所述的直播视频参数调整方法,其特征在于,所述白名单列表为第一名单列表与第二名单列表的交集;
所述第一名单列表指示主播端设备具备目标视频编码类型的编码能力;
所述第二名单列表指示主播端设备具备目标清晰度的开播能力;其中,所述目标视频编码类型与所述目标清晰度对应。
5.根据权利要求4所述的直播视频参数调整方法,其特征在于,还包括以下步骤:
主播端响应于编码器启动指令,创建与目标视频编码类型对应的编码器;
若主播端成功创建所述编码器,将所述设备信息发送至所述服务器端;其中,所述设备信息包括芯片型号信息及系统版本信息;
所述服务端将所述设备信息添加至所述第一名单列表;
所述服务端根据所述芯片型号信息及系统版本信息确定是否满足预设的开播条件,将满足所述预设的开播条件的设备的设备信息添加至所述第二名单列表;
根据所述第一名单列表和所述第二名单列表,更新所述白名单列表。
6.根据权利要求1所述的直播视频参数调整方法,其特征在于,所述若干编码档位根据视频编码参数由高至低进行排序,所述第一视频编码参数与所述第一编码档位对应,所述第一视频编码参数为所述若干编码档位对应的视频编码参数中的最大值;
根据所述带宽信息及所述编码档位信息确定主播端设备的视频编码参数的步骤包括:
根据所述编码档位信息,获取与所述第一编码档位对应的第一带宽范围;
若所述带宽信息在所述第一带宽范围内,根据所述第一视频编码参数对获取的直播视频流数据进行编码。
7.根据权利要求6所述的直播视频参数调整方法,其特征在于,在获取与所述第一编码档位对应的第一带宽范围的步骤之后,还包括:
若所述带宽信息不在所述第一带宽范围内,按照所述若干编码档位的排列顺序,依次切换下一编码档位,获取所述带宽信息对应的带宽范围及其对应的第二编码档位;
获取第二编码档位对应的第二视频编码参数;
根据所述第二视频编码参数对获取的直播视频流数据进行编码。
8.根据权利要求1所述的直播视频参数调整方法,其特征在于,还包括以下步骤:
主播端按照预设的时间间隔,获取带宽信息,根据所述带宽信息及所述编码档位信息确定主播端设备的视频编码参数,根据所述视频编码参数对获取的直播视频流数据进行编码。
9.根据权利要求1所述的直播视频参数调整方法,其特征在于,还包括以下步骤:
响应于连麦指令,服务器端获取第一主播端的第一直播视频流数据和第一视频编码参数及第二主播端的第二直播视频流数据和第二视频编码参数;其中,所述第一视频编码参数根据所述第一主播端的设备信息和所述第一主播端的带宽信息确定;所述第二视频编码参数根据所述第二主播端的设备信息和所述第二主播端的带宽信息确定;
服务器端获取所述第一视频编码参数和所述第二视频编码参数中的最小视频编码参数,根据所述最小视频编码参数对所述第一直播视频流数据和所述第二直播视频流数据进行编码和混流,获取混流后的直播视频流数据;
将所述混流后的直播视频流数据返回至所述第一主播端和所述第二主播端。
10.一种直播视频参数调整系统,包括服务器端和主播端,其特征在于:
所述主播端获取设备的设备信息并发送至服务器端;
所述服务器端响应于开播指令,根据所述设备信息确定所述主播端是否满足预设的编码条件,在所述主播端满足所述预设的编码条件时,将所述设备信息添加至所述第二名单列表;
获取与所述设备信息对应的编码档位信息;其中,所述编码档位信息包括若干编码档位,每一个编码档位具有对应的视频编码参数及带宽范围;
所述主播端获取设备的带宽信息,根据所述带宽信息及所述编码档位信息确定主播端设备的视频编码参数,根据所述视频编码参数对获取的直播视频流数据进行编码。
11.一种直播视频参数调整装置,其特征在于,所述装置包括:
开播信息获取模块,用于获取设备的设备信息并发送至服务器端;
编码条件确定模块,用于响应于开播指令,根据所述设备信息确定所述主播端是否满足预设的编码条件,在所述主播端满足所述预设的编码条件时,获取与所述设备信息对应的编码档位信息;其中,所述编码档位信息包括若干编码档位,每一个编码档位具有对应的视频编码参数及带宽范围;
编码模块,用于获取设备的带宽信息,根据所述带宽信息及所述编码档位信息确定主播端设备的视频编码参数,根据所述视频编码参数对获取的直播视频流数据进行编码。
12.一种电子设备,其特征在于,包括:处理器和存储器;其中,所述存储器存储有计算机程序,所述计算机程序适于由所述处理器加载并执行如权利要求1至9中任意一项所述的直播视频参数调整方法。
13.一种计算机可读存储介质,其上储存有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1至9中任意一项所述的直播视频参数调整方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111627161.XA CN114286128A (zh) | 2021-12-28 | 2021-12-28 | 直播视频参数调整方法、系统、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111627161.XA CN114286128A (zh) | 2021-12-28 | 2021-12-28 | 直播视频参数调整方法、系统、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114286128A true CN114286128A (zh) | 2022-04-05 |
Family
ID=80877040
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111627161.XA Pending CN114286128A (zh) | 2021-12-28 | 2021-12-28 | 直播视频参数调整方法、系统、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114286128A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115314723A (zh) * | 2022-06-17 | 2022-11-08 | 百果园技术(新加坡)有限公司 | 一种初始档位视频流传输方法、装置、设备及存储介质 |
CN115379261A (zh) * | 2022-08-10 | 2022-11-22 | 微梦创科网络科技(中国)有限公司 | 视频的发送方法、装置、电子设备及存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106060550A (zh) * | 2016-06-21 | 2016-10-26 | 网易(杭州)网络有限公司 | 视频编码参数的处理、视频数据的编码方法及装置 |
CN106303569A (zh) * | 2016-08-18 | 2017-01-04 | 北京奇虎科技有限公司 | 一种直播视频流的传输方法、主播端设备 |
CN107948683A (zh) * | 2017-11-28 | 2018-04-20 | 北京潘达互娱科技有限公司 | 网络直播多媒体流兼容方法、网络主播端和客户端 |
CN108024126A (zh) * | 2017-11-28 | 2018-05-11 | 北京潘达互娱科技有限公司 | 网络直播视频调整方法、装置、电子设备和存储介质 |
CN111010587A (zh) * | 2019-12-24 | 2020-04-14 | 网易(杭州)网络有限公司 | 直播控制方法、装置及系统 |
CN111586431A (zh) * | 2020-06-05 | 2020-08-25 | 广州酷狗计算机科技有限公司 | 进行直播处理的方法、装置、设备及存储介质 |
CN113068075A (zh) * | 2021-03-23 | 2021-07-02 | 北京有竹居网络技术有限公司 | 一种直播推流方法、装置、计算机设备及存储介质 |
-
2021
- 2021-12-28 CN CN202111627161.XA patent/CN114286128A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106060550A (zh) * | 2016-06-21 | 2016-10-26 | 网易(杭州)网络有限公司 | 视频编码参数的处理、视频数据的编码方法及装置 |
CN106303569A (zh) * | 2016-08-18 | 2017-01-04 | 北京奇虎科技有限公司 | 一种直播视频流的传输方法、主播端设备 |
CN107948683A (zh) * | 2017-11-28 | 2018-04-20 | 北京潘达互娱科技有限公司 | 网络直播多媒体流兼容方法、网络主播端和客户端 |
CN108024126A (zh) * | 2017-11-28 | 2018-05-11 | 北京潘达互娱科技有限公司 | 网络直播视频调整方法、装置、电子设备和存储介质 |
CN111010587A (zh) * | 2019-12-24 | 2020-04-14 | 网易(杭州)网络有限公司 | 直播控制方法、装置及系统 |
CN111586431A (zh) * | 2020-06-05 | 2020-08-25 | 广州酷狗计算机科技有限公司 | 进行直播处理的方法、装置、设备及存储介质 |
CN113068075A (zh) * | 2021-03-23 | 2021-07-02 | 北京有竹居网络技术有限公司 | 一种直播推流方法、装置、计算机设备及存储介质 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115314723A (zh) * | 2022-06-17 | 2022-11-08 | 百果园技术(新加坡)有限公司 | 一种初始档位视频流传输方法、装置、设备及存储介质 |
CN115314723B (zh) * | 2022-06-17 | 2023-12-12 | 百果园技术(新加坡)有限公司 | 一种初始档位视频流传输方法、装置、设备及存储介质 |
CN115379261A (zh) * | 2022-08-10 | 2022-11-22 | 微梦创科网络科技(中国)有限公司 | 视频的发送方法、装置、电子设备及存储介质 |
CN115379261B (zh) * | 2022-08-10 | 2024-03-12 | 微梦创科网络科技(中国)有限公司 | 视频的发送方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114501062B (zh) | 视频渲染协同方法、装置、设备及存储介质 | |
US11589102B2 (en) | Screen projection method and system | |
US9473548B1 (en) | Latency reduction in streamed content consumption | |
WO2020248909A1 (zh) | 视频解码方法、装置、计算机设备及存储介质 | |
CN111901674A (zh) | 一种视频播放控制及装置 | |
CN114286128A (zh) | 直播视频参数调整方法、系统、装置、设备及存储介质 | |
US8892633B2 (en) | Apparatus and method for transmitting and receiving a user interface in a communication system | |
US11438645B2 (en) | Media information processing method, related device, and computer storage medium | |
CN108419098B (zh) | 电视机的控制方法以及电视机 | |
CN104349177A (zh) | 一种在桌面云下转向播放多媒体文件的方法、虚拟机及系统 | |
CN108833809A (zh) | 一种视频混流控制方法、装置、系统、设备及介质 | |
CN113727129B (zh) | 直播互动方法、装置、系统、设备及存储介质 | |
US11381654B2 (en) | Streaming content based on skip histories | |
CN111107387B (zh) | 视频转码方法、装置及计算机存储介质 | |
CN107105317B (zh) | 一种视频播放方法及装置 | |
KR20180133272A (ko) | 디지털 디바이스를 이용하여 원격지 pc와 연결하는 방법 | |
RU2662648C1 (ru) | Способ и устройство для обработки данных | |
CN116781973B (zh) | 视频编解码方法、装置、存储介质和电子设备 | |
CN113727136B (zh) | 直播推送方法、系统、装置、设备及存储介质 | |
CN110213621B (zh) | 带宽分配方法及装置 | |
CN114513668A (zh) | 直播视频硬件编码器控制方法、装置、计算机设备及存储介质 | |
CN110366035B (zh) | 帧率控制方法、装置、计算机设备和计算机可读存储介质 | |
CN113747181A (zh) | 基于远程桌面的网络直播方法、直播系统及电子设备 | |
CN113824978B (zh) | 直播间的发言方法、装置、设备及存储介质 | |
CN116016972B (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 |