直播控制方法、装置及系统与流程

文档序号:20377049发布日期:2020-04-14 14:09阅读:447来源:国知局
直播控制方法、装置及系统与流程

本发明涉及视频编码技术领域,具体而言,涉及一种直播控制方法、装置及系统。



背景技术:

随着直播行业的发展,各大直播平台争相为广大用户提供基于视频直播的娱乐服务,在视频直播过程中,视频播放质量直接影响主播和观众两端的体验。当主播端开启直播流程时,需要开启本地直播软件打开摄像头,对视频进行编码并将编码后的视频流推流至cdn服务商,而后观众端即可拉流观看,即下载cdn服务商分发的视频流,打开并解码观看。

因而,现有技术中主播端进行视频编码是视频直播的关键环节之一,但是,设置视频编码参数需要一定的计算机专业知识,往往主播并不一定掌握此方面专业知识,主播端不当的视频编码设置会严重影响视频播放的质量。

针对上述的问题,目前尚未提出有效的解决方案。



技术实现要素:

本发明实施例提供了一种直播控制方法、装置及系统,以至少解决现有技术中通过主播端进行视频直播的视频编码设置,存在由于视频编码设置不当导致视频播放质量差的技术问题。

根据本发明实施例的一个方面,提供了一种直播控制方法,包括:接收直播主播客户端发送的开播请求,其中,上述开播请求中携带的信息包括:待使用的视频编码参数和上述直播主播客户端的硬件性能参数;如果确定上述待使用的视频编码参数与上述硬件性能参数相适配,则指示上述直播主播客户端采用上述待使用的视频编码参数执行视频编码操作;如果确定上述待使用的视频编码参数与上述硬件性能参数不适配,则基于上述硬件性能参数获取适配后视频编码参数,并指示上述直播主播客户端采用上述适配后视频编码参数执行视频编码操作。

根据本发明实施例的另一方面,还提供了一种直播控制系统,包括:直播主播客户端,用于发送开播请求至服务器,并根据上述服务器的指示执行视频编码操作,其中,上述开播请求中携带的信息包括:待使用的视频编码参数和上述直播主播客户端的硬件性能参数;上述服务器,与上述直播主播客户端连接,用于如果确定上述待使用的视频编码参数与上述硬件性能参数相适配,则指示上述直播主播客户端采用上述待使用的视频编码参数执行视频编码操作;如果确定上述待使用的视频编码参数与上述硬件性能参数不适配,则基于上述硬件性能参数获取适配后视频编码参数,并指示上述直播主播客户端采用上述适配后视频编码参数执行视频编码操作。

根据本发明实施例的另一方面,还提供了一种直播控制方法,包括:接收直播主播客户端发送的开播请求,其中,上述开播请求中携带的信息包括:待使用的视频编码参数和上述直播主播客户端的硬件性能参数;如果确定上述待使用的视频编码参数与上述硬件性能参数相适配,则指示上述直播主播客户端采用上述待使用的视频编码参数执行视频编码操作;如果确定上述待使用的视频编码参数与上述硬件性能参数不适配,则确定与上述硬件性能参数对应的性能分值,依据上述性能分值和性能要求分值之间的预设对应关系获取适配后视频编码参数,并指示上述直播主播客户端采用上述适配后视频编码参数执行视频编码操作,其中,上述性能要求分值用于反映上述适配后视频编码参数对上述硬件性能参数的性能要求量。

根据本发明实施例的另一方面,还提供了一种直播控制的装置,包括:通讯模块,用于接收直播主播客户端发送的开播请求,其中,上述开播请求中携带的信息包括:待使用的视频编码参数和上述直播主播客户端的硬件性能参数;指示模块,用于如果确定上述待使用的视频编码参数与上述硬件性能参数相适配,则指示上述直播主播客户端采用上述待使用的视频编码参数执行视频编码操作;处理模块,用于如果确定上述待使用的视频编码参数与上述硬件性能参数不适配,则基于上述硬件性能参数获取适配后视频编码参数,并指示上述直播主播客户端采用上述适配后视频编码参数执行视频编码操作。

根据本发明实施例的另一方面,还提供了一种存储介质,上述存储介质包括存储的程序,其中,在上述程序运行时控制上述存储介质所在设备执行任意一项上述的直播控制的方法。

根据本发明实施例的另一方面,还提供了一种处理器,上述处理器用于运行程序,其中,上述程序运行时执行任意一项上述的直播控制的方法。

在本发明实施例中,采用服务器端确定与直播主播客户端的硬件性能参数相适配的视频编码参数的方式,通过接收直播主播客户端发送的开播请求,其中,上述开播请求中携带的信息包括:待使用的视频编码参数和上述直播主播客户端的硬件性能参数;如果确定上述待使用的视频编码参数与上述硬件性能参数相适配,则指示上述直播主播客户端采用上述待使用的视频编码参数执行视频编码操作;如果确定上述待使用的视频编码参数与上述硬件性能参数不适配,则基于上述硬件性能参数获取适配后视频编码参数,并指示上述直播主播客户端采用上述适配后视频编码参数执行视频编码操作。

由此,本申请实施例达到了提高视频直播过程中的视频播放质量的目的,从而实现了保证主播获得良好的直播体验,观众获得良好的观看体验的技术效果,进而解决了现有技术中通过主播端进行视频直播的视频编码设置,存在由于视频编码设置不当导致视频播放质量差的技术问题。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是根据本发明实施例的一种直播控制方法的流程图;

图2是根据本发明实施例的一种可选的直播控制方法的流程图;

图3是根据本发明实施例的一种可选的直播控制方法的流程图;

图4是根据本发明实施例的一种可选的直播控制方法的流程图;

图5是根据本发明实施例的另一种直播控制方法的流程图;

图6是根据本发明实施例的一种直播控制系统的结构示意图;

图7是根据本发明实施例的一种直播控制的装置的结构示意图。

具体实施方式

为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

实施例1

根据本发明实施例,提供了一种直播控制方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

图1是根据本发明实施例的一种直播控制方法的流程图,如图1所示,该方法包括如下步骤:

步骤s102,接收直播主播客户端发送的开播请求,其中,上述开播请求中携带的信息包括:待使用的视频编码参数和上述直播主播客户端的硬件性能参数;

步骤s104,如果确定上述待使用的视频编码参数与上述硬件性能参数相适配,则指示上述直播主播客户端采用上述待使用的视频编码参数执行视频编码操作;

步骤s106,如果确定上述待使用的视频编码参数与上述硬件性能参数不适配,则基于上述硬件性能参数获取适配后视频编码参数,并指示上述直播主播客户端采用上述适配后视频编码参数执行视频编码操作。

在本发明实施例中,采用服务器端确定与直播主播客户端的硬件性能参数相适配的视频编码参数的方式,通过接收直播主播客户端发送的开播请求,其中,上述开播请求中携带的信息包括:待使用的视频编码参数和上述直播主播客户端的硬件性能参数;如果确定上述待使用的视频编码参数与上述硬件性能参数相适配,则指示上述直播主播客户端采用上述待使用的视频编码参数执行视频编码操作;如果确定上述待使用的视频编码参数与上述硬件性能参数不适配,则基于上述硬件性能参数获取适配后视频编码参数,并指示上述直播主播客户端采用上述适配后视频编码参数执行视频编码操作。

由此,本申请实施例达到了提高视频直播过程中的视频播放质量的目的,从而实现了保证主播获得良好的直播体验,观众获得良好的观看体验的技术效果,进而解决了现有技术中通过主播端进行视频直播的视频编码设置,存在由于视频编码设置不当导致视频播放质量差的技术问题。

本申请实施例中的执行主体为服务器,服务器可以与该直播主播客户端连接,可选的,上述开播请求即可以理解为直播主播客户端向服务器端发送的视频直播请求,在接收到直播主播客户端发送的开播请求时,获取该开播请求中携带的以下信息:待使用的视频编码参数和上述直播主播客户端的硬件性能参数(例如,计算机硬件性能参数:cpu性能参数)。

本申请一种可选的实施例中,如果服务器确定上述待使用的视频编码参数与上述硬件性能参数相适配,则指示上述直播主播客户端采用上述待使用的视频编码参数执行视频编码操作。

本申请另一种可选的实施例中,如果服务器确定上述待使用的视频编码参数与上述硬件性能参数不适配,则通过服务器端根据直播主播客户端的计算机硬件性能参数获取适配后视频编码参数,并指示上述直播主播客户端采用上述适配后视频编码参数执行视频编码操作。

在可选的实施例中,待使用的视频编码参数为直播主播客户端根据接收到的输入操作确定的编码参数;或者,待使用的视频编码参数为默认值,默认值可以是预设的一套编码参数,比如,可以是中位数值的参数,默认值也可以是空值。

通过本申请实施例,不再完全依赖主播在开播前,由主播在直播主播客户端设定的视频编码参数进行视频编码,并且可以实现在主播(主播人员、工作人员)无明显感知的情况下,完成视频编码参数的适配,保证主播和用户都能获得良好的直播和观看体验,降低主播对相关计算机专业知识的掌握门槛,更加容易、快捷、稳定地开启新的一场直播体验。

本申请实施例中所提供的直播控制的方案,主要涉及直播主播客户端和服务器端的交互,该交互流程可以但不限于如下所示:

作为一种可选的实施例,在接收直播主播客户端发送的开播请求之前,服务器端预先设定多个硬件性能参数中每一个硬件性能参数所支持的最高视频编码参数,还可以预先存储运维人员/技术人员预先设定的与硬件性能参数适配的特定视频编码参数。

作为一种可选的实施例,在接收直播主播客户端发送的开播请求之前,当主播在直播主播客户端设定待使用的视频编码参数(例如分辨率、帧率等)及其他直播必要参数(例如视频直播标题等)后,点击直播主播客户端的显示界面上的“开始直播”按键,发送开播请求至服务器端,请求开始视频直播流程,其中,该开播请求中携带有待使用的视频编码参数和上述直播主播客户端的硬件性能参数。

可选的,在本申请实施例中,该开播请求中还可以携带有业务参数,例如,用户id、开播权限、直播品类等参数,该服务器端在接收到直播主播客户端发送的开播请求之后,可以先针对开播请求中的业务参数进行校验,以检测该业务参数是否满足预定校验要求。

可选的,检测该业务参数是否满足预定校验要求,包括校验用户id是否正确、直播主播客户端是否具有开播权限、直播品类(例如某种游戏分类)和直播主题是否正确等,一般此流程中不针对视频编码参数进行校验。通常可以基于直播主播客户端上传的业务参数与服务器端的预定参数值或数据库中的配置参数值进行比较,如果比较结果指示该业务参数等于预定参数值(或配置参数值),或者比较结果指示该业务参数处于预期范围内,则确定该业务参数满足上述预定校验要求,则继续检测上述待使用的视频编码参数是否与上述硬件性能参数相适配;否则,确定该业务参数不满足上述预定校验要求,返回开播失败信息(开播失败结果和开播失败原因)至上述直播主播客户端,告知主播当前的开播请求失败以及失败的原因。

作为另一种可选的实施例,在确定该业务参数满足上述预定校验要求之后,服务器端还可以对开播请求中的其他异常参数进行修正性调整,例如,若在特定版本/特定设备由于直播主播客户端设计原因造成的异常参数,则对其进行合理修正,上述异常参数可以是视频编码参数,也可以是业务参数;服务器端还可以针对特定设备/特定版本开启或关闭某种特性,根据直播主播客户端效果对开关类参数(例如,硬编开关、降噪开关、编码算法等,通常预埋在直播主播客户端中需要特定优化的参数)进行优化,以提高用户体验。

由于视频编码参数依赖于主播直播主播客户端开播机器的cpu等硬件性能资源,若直播主播客户端中编码分辨率、帧率等设置的过高,则在视频编码过程中需要等硬件性能资源则增多,具体表现为cpu占用率高,当cpu占用率升高,则电脑操作便表现卡顿,影响用户的正常使用操作。

作为一种可选的实施例,在确定该业务参数满足上述预定校验要求之后,根据硬件性能参数进行视频编码参数的适配,在本申请实施例中,如果确定上述待使用的视频编码参数与上述硬件性能参数相适配,指示上述直播主播客户端采用上述待使用的视频编码参数执行视频编码操作;如果确定上述待使用的视频编码参数与上述硬件性能参数不适配,则基于上述硬件性能参数获取适配后视频编码参数,并指示上述直播主播客户端采用上述适配后视频编码参数执行视频编码操作,并将视频编码得到视频流推送给cdn服务商,开启新一轮直播。

在本申请提供的一种可选的实施例中,还可以通过运维人员/技术人员在服务器端中预先配置特定的视频编码参数,在直播主播客户端与服务器端交互过程中,如果服务器确定上述待使用的视频编码参数与上述硬件性能参数不适配,服务器端根据直播主播客户端的计算机硬件性能参数获取适配后视频编码参数,并指示上述直播主播客户端采用上述适配后视频编码参数执行视频编码操作,以提供更加精细化的调整视频编码参数。

在一种可选的实施例中,在指示上述直播主播客户端采用上述待使用的视频编码参数或者适配后视频编码参数执行视频编码操作之后,直播主播客户端在视频播放过程中,持续向服务器端汇报当前cpu占用率等计算机程序运行监测数据,服务器端接收直播主播客户端发送的运行监测数据,并根据该运行监测数据分析直播主播客户端的运行情况,例如,直播主播客户端是否存在占用资源过多、网络状况是否良好等问题。

若依据该运行监控数据确定cpu运行占用率连续一段时间超过预定阈值,将在服务器端调整适配后视频编码参数,为该直播主播客户端配置新的视频编码参数,并将调整后的视频编码参数和重新播放指令发送至上述直播主播客户端;在直播主播客户端接收到上述调整后的视频编码参数和重新播放指令后,执行静默与服务器端交互,重新执行视频播放流程,进而可以实现在主播和用户无感知的过程中,采用新的视频编码参数重新执行视频播放操作。

在一种可选的实施例中,在接收直播主播客户端发送的开播请求之前,上述方法还包括:

步骤s202,预先获取多个硬件性能参数;

步骤s204,确定与每个硬件性能参数相适配的目标视频编码参数;

步骤s206,存储每个上述硬件性能参数和每个上述目标视频编码参数之间的匹配关系。

可选的,在本申请实施例中,在接收直播主播客户端发送的开播请求之前,可以预先获取多个硬件性能参数,并确定与每个硬件性能参数相适配的目标视频编码参数;将上述每个硬件性能参数,与每个硬件性能参数相适配的目标视频编码参数,以及每个上述硬件性能参数和每个上述目标视频编码参数之间的匹配关系存储至数据库中。

可选的,可以由运维人员/技术人员通过后台进行上述存储操作,也可以通过系统自动调用特定api,自动配置与每个硬件性能参数相适配的目标视频编码参数,并进行上述存储操作。

本申请实施例中针对主播人员上传的视频编码参数,结合预先配置的视频编码参数,利用视频编码参数适配算法,对主播上传的视频编码参数进行适配调整,以达到符合视频直播的预期效果的目的。

在一种可选的实施例中,如图2所示,通过以下方式,确定上述待使用的视频编码参数是否与上述硬件性能参数相适配:

步骤s302,依据上述硬件性能参数和上述匹配关系,确定与上述硬件性能参数匹配的上述目标视频编码参数;

步骤s304,确定上述待使用的视频编码参数与上述目标视频编码参数是否相同;

步骤s306,若确定上述待使用的视频编码参数与上述目标视频编码参数相同,则确定上述待使用的视频编码参数与上述硬件性能参数相适配;否则,确定上述待使用的视频编码参数是否与上述硬件性能参数不相适配。

作为一种可选的实施例,在确定该业务参数满足上述预定校验要求之后,根据硬件性能参数进行视频编码参数的适配,在本申请实施例中,服务器端可以依据上述硬件性能参数和上述匹配关系,确定与上述硬件性能参数匹配的上述目标视频编码参数;确定上述待使用的视频编码参数与上述目标视频编码参数是否相同;若确定上述待使用的视频编码参数与上述目标视频编码参数相同,则确定上述待使用的视频编码参数与上述硬件性能参数相适配;否则,确定上述待使用的视频编码参数是否与上述硬件性能参数不相适配。

在本申请可选的实施例中,如果确定上述待使用的视频编码参数与上述硬件性能参数相适配,指示上述直播主播客户端采用上述待使用的视频编码参数执行视频编码操作;如果确定上述待使用的视频编码参数与上述硬件性能参数不适配,则基于上述硬件性能参数获取适配后视频编码参数,并指示上述直播主播客户端采用上述适配后视频编码参数执行视频编码操作,并将视频编码得到视频流推送给cdn服务商,以实现开启新一轮的视频直播。

在一种可选的实施例中,如图3所示,基于上述硬件性能参数获取适配后视频编码参数,包括:

步骤s402,确定与上述硬件性能参数对应的性能分值;

步骤s404,依据上述性能分值和预设对应关系,确定与上述硬件性能参数相适配的上述适配后视频编码参数;

其中,上述预设对应关系为预先设定的性能分值和性能要求分值之间的对应关系,上述性能要求分值用于反映上述适配后视频编码参数对上述硬件性能参数的性能要求量。

作为一种可选的实施例,本申请实施例中服务器端可以通过将硬件性能参数量化为性能分值,例如,以硬件性能参数为cpu性能参数为例,可以参照cpu的标准型号参数(例如,核心数、主频等)或第三方性能比较排行,对不同的cpu性能参数给出一个相对客观的一个性能分值,并将性能分值且映射至一个预定数值区间中(例如,0-100数值区间)。

并且,服务器端还可以将视频编码参数对硬件性能参数的性能要求量化为性能要求分值,例如,服务器端针对不同视频编码参数的不同选项,对硬件性能参数的不同性能要求,结合实际使用/测试的经验给出一个最低性能要求分值,其中,该性能要求分值必须与性能分值进行挂钩,具体的,该性能要求分值的数值区间可以参考性能分值进行制定,两者的数值约定区间必须一致。例如,可以预先将cpu型号为i78700的分值设定为80,将分辨率为1920*1080的要求分值设定为80。

需要说明的是,服务器端可以预先设定的性能分值和性能要求分值之间的预设对应关系,并将性能分值、性能要求分值,以及性能分值和性能要求分值之间的预设对应关系录入数据库。进而服务器端可以根据硬件性能参数,查询得到与该硬件性能参数对应的性能分值,再依据上述性能分值和预设对应关系,查询得到与上述硬件性能参数相适配的上述适配后视频编码参数。

其中,预先设置性能分值和性能要求分值,目的是将硬件性能参数和视频编码参数这两个不同的且直接衡量的概念,通过转换为具体数值进行数值比较,确定硬件性能参数与视频编码参数是否适配,并且,还可以通过数值比较,基于硬件性能参数获取适配后视频编码参数。

在本申请一种可选的实施例中,在确定获取到视频直播请求中携带的硬件性能参数之后,可以根据该硬件性能参数利用视频编码参数匹配算法,获取适配后视频编码参数。其中,通过对上一步得到的多种类型的硬件性能参数分别进行适配,可以得到多种类型的不同的适配后视频编码参数,例如,分辨率:1920*1080、1280*720、960*540,帧率:30、20、15等。

需要说明的是,在得到多种类型的不同的适配后视频编码参数情况下,优先采用要求分值高的参数进行适配,例如,得到分辨率:1920*1080、1280*720、960*540,则优先采用分辨率:1920*1080,如果视频播放过程中出现问题,再调整至1280*720,以最大程度上在直播主播客户端实现最优的视频播放效果。

作为一种可选的实施例,在基于上述硬件性能参数获取适配后视频编码参数的过程中,首先根据硬件性能参数查询得到性能分值,记为x,再查询视频编码参数的性能要求分值小于等于x的所有配置均为可选配置,即可选的适配后视频编码参数,并将性能要求分值最高的适配后视频编码参数,作为优先推荐的适配后视频编码参数返回至直播主播客户端。

如图4所示,图4中所示意的竖型柱体3为一个预定数值区间,竖型柱体3的左侧为性能分值及对应cpu型号,竖型柱体3的右侧为性能要求分值及对应的视频编码参数,若直播主播客户端的cpu型号及性能分值、视频编码参数的分辨率及性能要求分值如图4中所设定,则可以得知,若直播主播客户端使用inteli9cpu,能够流畅使用各种分辨率;而若直播主播客户端采用inteli3cpu,则只能流畅使用分辨率为960*540的配置,若强行采用更高档的分辨率进行视频直播,可能会出现卡顿等现象。

作为一种可选的实施例,上述视频编码参数适配算法,可以但不限于为以下所示,以上述硬件性能参数为分辨率为例,则可以记主播上传的视频分辨率为xw*xh,服务器适配后视频分辨率为yw*yh,求得两者乘积a=xw*xh,b=yw*yh,其中,若a≤b,则采用的视频分辨率为xw*xh,若a>b,则对主播上传的视频分辨率进行等比例缩放,以最终zw*zh最为视频分辨率。

其中,有zw*zh=c,c=b,因此:zw=(b*xw/xy)的开方;zh=(b*xy/xw)的开方。

作为另一种可选的实施例,以上述硬件性能参数为帧率为例,则可以记主播上传的视频帧率为x,服务器适配后视频帧率为y;以x和y中较小的值,作为最终帧率。

在一种可选的实施例中,上述开播请求中还携带有业务参数;在确定上述待使用的视频编码参数是否与上述硬件性能参数相适配之前,上述方法还包括:

步骤s502,检测上述业务参数是否满足预定校验要求;

步骤s504,若检测到上述业务参数满足上述预定校验要求,则执行确定上述待使用的视频编码参数是否与上述硬件性能参数相适配;

步骤s506,若检测到上述业务参数不满足上述预定校验要求,则返回开播失败信息至上述直播主播客户端。

可选的,在本申请实施例中,该开播请求中携带有业务参数,例如,用户id、开播权限、直播品类等,该服务器端在接收到直播主播客户端发送的开播请求之后,可以先针对开播请求中的业务参数进行校验,以检测该业务参数是否满足预定校验要求。

可选的,检测该业务参数是否满足预定校验要求,包括校验用户id是否正确、直播主播客户端是否具有开播权限、直播品类(例如某种游戏分类)和直播主题是否正确等,一般不针对视频编码参数进行校验。

通常可以基于直播主播客户端上传的业务参数与服务器端的预定参数值或数据库中的配置参数值进行比较,如果比较结果指示该业务参数等于预定参数值(或配置参数值),或者比较结果指示该业务参数处于预期范围内,则确定该业务参数满足上述预定校验要求,则继续检测上述待使用的视频编码参数是否与上述硬件性能参数相适配;否则,确定该业务参数不满足上述预定校验要求,返回开播失败信息(开播失败结果和开播失败原因)至上述直播主播客户端。

在一种可选的实施例中,在指示上述直播主播客户端采用上述适配后视频编码参数执行视频编码操作之后,上述方法还包括:

步骤s602,接收上述直播主播客户端在视频播放过程中发送的运行监测数据;

步骤s604,依据上述运行监测数据确定是否需要对上述适配后视频编码参数进行调整;

步骤s606,在需要对上述适配后视频编码参数进行调整的情况下,调整上述适配后视频编码参数,并将调整后的视频编码参数和重新播放指令发送至上述直播主播客户端。

可选的,上述运行监测数据包括:当前进程cpu占用比例,内存占用等其他必要信息。

在一种可选的实施例中,在指示上述直播主播客户端采用上述待使用的视频编码参数或者适配后视频编码参数执行视频编码操作之后,直播主播客户端在视频播放过程中,持续向服务器端汇报(例如每分钟汇报一次)当前cpu占用率等计算机程序运行监测数据,服务器端接收直播主播客户端发送的运行监测数据,并根据该运行监测数据分析直播主播客户端的运行情况,例如,直播主播客户端是否存在占用资源过多、网络状况是否良好等问题。

若服务器端依据该运行监控数据确定cpu运行占用率连续一段时间超过预定阈值(例如连续3次汇报cpu占用高于80%),将在服务器端调整适配后视频编码参数(例如,将当前视频编码参数临时往下一档调整),为该直播主播客户端配置新的视频编码参数,并将调整后的视频编码参数和重新播放指令发送至上述直播主播客户端;通过本申请实施例,服务器端可以兼容直播主播客户端出现的大部分状况,还可以灵活增减规则,以兼顾新旧版的直播主播客户端。

在直播主播客户端接收到上述调整后的视频编码参数和重新播放指令后,执行静默与服务器端交互,重新执行视频播放流程,进而可以实现在主播和用户无感知的过程中,采用新的视频编码参数重新执行视频播放操作。

作为另一种可选的实施例,还可以采用直播主播客户端本地监控的方式,以判断是否需要进行调整视频编码参数并重新开播,当直播主播客户端发现当前进程运行状况不佳(判断标准可以与服务器端的判断标准一致),对适配后视频编码参数进行调整(例如,将当前视频编码参数临时往下一档调整),自动采用比当前低的视频编码参数,并重新发起视频直播,不需要等待服务器端的调整数据和重新开播指令,不但可以达到与服务器相同的技术效果,还可以更加灵敏发现状况,及时对适配后视频编码参数进行调整。

在本申请实施例中,通过服务器端或者直播主播客户端根据cpu性能对视频编码参数进行适配,选择与主播计算机相适应的视频编码参数进行开播,降低主播计算机出现cpu占用率高、卡顿的频率,同时主播可以不再需要具备相关计算机专业知识,仍可以进行流畅稳定的直播,还可以减少运维人员、开发人员对此问题进行处理投入的人力和时间成本。

实施例2

根据本发明实施例,提供了另一种直播控制方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

图5是根据本发明实施例的另一种直播控制方法的流程图,如图5所示,该方法包括如下步骤:

步骤s702,接收直播主播客户端发送的开播请求,其中,上述开播请求中携带的信息包括:待使用的视频编码参数和上述直播主播客户端的硬件性能参数;

步骤s704,如果确定上述待使用的视频编码参数与上述硬件性能参数相适配,则指示上述直播主播客户端采用上述待使用的视频编码参数执行视频编码操作;

步骤s706,如果确定上述待使用的视频编码参数与上述硬件性能参数不适配,则确定与上述硬件性能参数对应的性能分值,依据上述性能分值和性能要求分值之间的预设对应关系获取适配后视频编码参数,并指示上述直播主播客户端采用上述适配后视频编码参数执行视频编码操作,其中,上述性能要求分值用于反映上述适配后视频编码参数对上述硬件性能参数的性能要求量。

本申请实施例中的执行主体为服务器,服务器可以与该直播主播客户端连接,可选的,上述开播请求即可以理解为直播主播客户端向服务器端发送的视频直播请求,在接收到直播主播客户端发送的开播请求时,获取该开播请求中携带的以下信息:待使用的视频编码参数和上述直播主播客户端的硬件性能参数(例如,计算机硬件性能参数:cpu性能参数)。

本申请一种可选的实施例中,如果服务器确定上述待使用的视频编码参数与上述硬件性能参数相适配,则指示上述直播主播客户端采用上述待使用的视频编码参数执行视频编码操作。

本申请另一种可选的实施例中,如果服务器确定上述待使用的视频编码参数与上述硬件性能参数不适配,则确定与上述硬件性能参数对应的性能分值,依据上述性能分值和性能要求分值之间的预设对应关系获取适配后视频编码参数,并指示上述直播主播客户端采用上述适配后视频编码参数执行视频编码操作。

通过本申请实施例,不再完全依赖主播在开播前,由主播在直播主播客户端设定的视频编码参数进行视频编码,并且可以实现在主播(主播人员、工作人员)无明显感知的情况下,完成视频编码参数的适配,保证主播和用户都能获得良好的直播和观看体验,降低主播对相关计算机专业知识的掌握门槛,更加容易、快捷、稳定地开启新的一场直播体验。

具体的,上述性能要求分值用于反映上述适配后视频编码参数对上述硬件性能参数的性能要求量。

作为一种可选的实施例,本申请实施例中服务器端可以通过将硬件性能参数量化为性能分值,例如,以硬件性能参数为cpu性能参数为例,可以参照cpu的标准型号参数(例如,核心数、主频等)或第三方性能比较排行,对不同的cpu性能参数给出一个相对客观的一个性能分值,并将性能分值且映射至一个预定数值区间中(例如,0-100数值区间)。

并且,服务器端还可以将视频编码参数对硬件性能参数的性能要求量化为性能要求分值,例如,服务器端针对不同视频编码参数的不同选项,对硬件性能参数的不同性能要求,结合实际使用/测试的经验给出一个最低性能要求分值,其中,该性能要求分值必须与性能分值进行挂钩,具体的,该性能要求分值的数值区间可以参考性能分值进行制定,两者的数值约定区间必须一致。例如,可以预先将cpu型号为i78700的分值设定为80,将分辨率为1920*1080的要求分值设定为80。

需要说明的是,服务器端可以预先设定的性能分值和性能要求分值之间的预设对应关系,并将性能分值、性能要求分值,以及性能分值和性能要求分值之间的预设对应关系录入数据库。进而服务器端可以根据硬件性能参数,查询得到与该硬件性能参数对应的性能分值,再依据上述性能分值和预设对应关系,查询得到与上述硬件性能参数相适配的上述适配后视频编码参数。

其中,预先设置性能分值和性能要求分值,目的是将硬件性能参数和视频编码参数这两个不同的且直接衡量的概念,通过转换为具体数值进行数值比较,确定硬件性能参数与视频编码参数是否适配,并且,还可以通过数值比较,基于硬件性能参数获取适配后视频编码参数。

在本申请一种可选的实施例中,在确定获取到视频直播请求中携带的硬件性能参数之后,可以根据该硬件性能参数利用视频编码参数匹配算法,获取适配后视频编码参数。其中,通过对上一步得到的多种类型的硬件性能参数分别进行适配,可以得到多种类型的不同的适配后视频编码参数,例如,分辨率:1920*1080、1280*720、960*540,帧率:30、20、15等。

需要说明的是,在得到多种类型的不同的适配后视频编码参数情况下,优先采用要求分值高的参数进行适配,例如,得到分辨率:1920*1080、1280*720、960*540,则优先采用分辨率:1920*1080,如果视频播放过程中出现问题,再调整至1280*720,以最大程度上在直播主播客户端实现最优的视频播放效果。

作为一种可选的实施例,在基于上述硬件性能参数获取适配后视频编码参数的过程中,首先根据硬件性能参数查询得到性能分值,记为x,再查询视频编码参数的性能要求分值小于等于x的所有配置均为可选配置,即可选的适配后视频编码参数,并将性能要求分值最高的适配后视频编码参数,作为优先推荐的适配后视频编码参数返回至直播主播客户端。

仍如图4中所示,竖型柱体3为一个预定数值区间,竖型柱体3的左侧为性能分值及对应cpu型号,竖型柱体3的右侧为性能要求分值及对应的视频编码参数,若直播主播客户端的cpu型号及性能分值、视频编码参数的分辨率及性能要求分值如图4中所设定,则可以得知,若直播主播客户端使用inteli9cpu,能够流畅使用各种分辨率;而若直播主播客户端采用inteli3cpu,则只能流畅使用分辨率为960*540的配置,若强行采用更高档的分辨率进行视频直播,可能会出现卡顿等现象。

作为一种可选的实施例,上述视频编码参数适配算法,可以但不限于为以下所示,以上述硬件性能参数为分辨率为例,则可以记主播上传的视频分辨率为xw*xh,服务器适配后视频分辨率为yw*yh,求得两者乘积a=xw*xh,b=yw*yh,其中,若a≤b,则采用的视频分辨率为xw*xh,若a>b,则对主播上传的视频分辨率进行等比例缩放,以最终zw*zh最为视频分辨率。

其中,有zw*zh=c,c=b,因此:zw=(b*xw/xy)的开方;zh=(b*xy/xw)的开方。

作为另一种可选的实施例,以上述硬件性能参数为帧率为例,则可以记主播上传的视频帧率为x,服务器适配后视频帧率为y;以x和y中较小的值,作为最终帧率。

本申请实施例中所提供的直播控制的方案,主要涉及直播主播客户端和服务器端的交互,该交互流程可以但不限于如下所示:

作为一种可选的实施例,在接收直播主播客户端发送的开播请求之前,服务器端预先设定多个硬件性能参数中每一个硬件性能参数所支持的最高视频编码参数,还可以预先存储运维人员/技术人员预先设定的与硬件性能参数适配的特定视频编码参数。

作为一种可选的实施例,在接收直播主播客户端发送的开播请求之前,当主播在直播主播客户端设定待使用的视频编码参数(例如分辨率、帧率等)及其他直播必要参数(例如视频直播标题等)后,点击直播主播客户端的显示界面上的“开始直播”按键,发送开播请求至服务器端,请求开始视频直播流程,其中,该开播请求中携带有待使用的视频编码参数和上述直播主播客户端的硬件性能参数。

可选的,在本申请实施例中,该开播请求中还可以携带有业务参数,例如,用户id、开播权限、直播品类等参数,该服务器端在接收到直播主播客户端发送的开播请求之后,可以先针对开播请求中的业务参数进行校验,以检测该业务参数是否满足预定校验要求。

可选的,检测该业务参数是否满足预定校验要求,包括校验用户id是否正确、直播主播客户端是否具有开播权限、直播品类(例如某种游戏分类)和直播主题是否正确等,一般此流程中不针对视频编码参数进行校验。通常可以基于直播主播客户端上传的业务参数与服务器端的预定参数值或数据库中的配置参数值进行比较,如果比较结果指示该业务参数等于预定参数值(或配置参数值),或者比较结果指示该业务参数处于预期范围内,则确定该业务参数满足上述预定校验要求,则继续检测上述待使用的视频编码参数是否与上述硬件性能参数相适配;否则,确定该业务参数不满足上述预定校验要求,返回开播失败信息(开播失败结果和开播失败原因)至上述直播主播客户端,告知主播当前的开播请求失败以及失败的原因。

作为另一种可选的实施例,在确定该业务参数满足上述预定校验要求之后,服务器端还可以对开播请求中的其他异常参数进行修正性调整,例如,若在特定版本/特定设备由于直播主播客户端设计原因造成的异常参数,则对其进行合理修正,上述异常参数可以是视频编码参数,也可以是业务参数;服务器端还可以针对特定设备/特定版本开启或关闭某种特性,根据直播主播客户端效果对开关类参数(例如,硬编开关、降噪开关、编码算法等,通常预埋在直播主播客户端中需要特定优化的参数)进行优化,以提高用户体验。

由于视频编码参数依赖于主播直播主播客户端开播机器的cpu等硬件性能资源,若直播主播客户端中编码分辨率、帧率等设置的过高,则在视频编码过程中需要等硬件性能资源则增多,具体表现为cpu占用率高,当cpu占用率升高,则电脑操作便表现卡顿,影响用户的正常使用操作。

作为一种可选的实施例,在确定该业务参数满足上述预定校验要求之后,根据硬件性能参数进行视频编码参数的适配,在本申请实施例中,如果确定上述待使用的视频编码参数与上述硬件性能参数相适配,指示上述直播主播客户端采用上述待使用的视频编码参数执行视频编码操作;如果确定上述待使用的视频编码参数与上述硬件性能参数不适配,则基于上述硬件性能参数获取适配后视频编码参数,并指示上述直播主播客户端采用上述适配后视频编码参数执行视频编码操作,并将视频编码得到视频流推送给cdn服务商,开启新一轮直播。

在本申请提供的一种可选的实施例中,还可以通过运维人员/技术人员在服务器端中预先配置特定的视频编码参数,在直播主播客户端与服务器端交互过程中,如果服务器确定上述待使用的视频编码参数与上述硬件性能参数不适配,服务器端根据直播主播客户端的计算机硬件性能参数获取适配后视频编码参数,并指示上述直播主播客户端采用上述适配后视频编码参数执行视频编码操作,以提供更加精细化的调整视频编码参数。

在一种可选的实施例中,在指示上述直播主播客户端采用上述待使用的视频编码参数或者适配后视频编码参数执行视频编码操作之后,直播主播客户端在视频播放过程中,持续向服务器端汇报当前cpu占用率等计算机程序运行监测数据,服务器端接收直播主播客户端发送的运行监测数据,并根据该运行监测数据分析直播主播客户端的运行情况,例如,直播主播客户端是否存在占用资源过多、网络状况是否良好等问题。

若依据该运行监控数据确定cpu运行占用率连续一段时间超过预定阈值,将在服务器端调整适配后视频编码参数,为该直播主播客户端配置新的视频编码参数,并将调整后的视频编码参数和重新播放指令发送至上述直播主播客户端;在直播主播客户端接收到上述调整后的视频编码参数和重新播放指令后,执行静默与服务器端交互,重新执行视频播放流程,进而可以实现在主播和用户无感知的过程中,采用新的视频编码参数重新执行视频播放操作。

此外,仍需要说明的是,本实施例的可选或优选实施方式可以参见实施例1中的相关描述,此处不再赘述。

实施例3

根据本发明实施例,还提供了一种用于实施上述直播控制方法的系统实施例,图6是根据本发明实施例的一种直播控制系统的结构示意图,如图6所示,上述直播控制系统,包括:直播主播客户端50和服务器52,其中:

直播主播客户端50,用于发送开播请求至服务器,并根据上述服务器的指示执行视频编码操作,其中,上述开播请求中携带的信息包括:待使用的视频编码参数和上述直播主播客户端的硬件性能参数;上述服务器52,与上述直播主播客户端50连接,用于如果确定上述待使用的视频编码参数与上述硬件性能参数相适配,则指示上述直播主播客户端采用上述待使用的视频编码参数执行视频编码操作;如果确定上述待使用的视频编码参数与上述硬件性能参数不适配,则基于上述硬件性能参数获取适配后视频编码参数,并指示上述直播主播客户端采用上述适配后视频编码参数执行视频编码操作。

在本发明实施例中,采用服务器端确定与直播主播客户端的硬件性能参数相适配的视频编码参数的方式,通过接收直播主播客户端发送的开播请求,其中,上述开播请求中携带的信息包括:待使用的视频编码参数和上述直播主播客户端的硬件性能参数;如果确定上述待使用的视频编码参数与上述硬件性能参数相适配,则指示上述直播主播客户端采用上述待使用的视频编码参数执行视频编码操作;如果确定上述待使用的视频编码参数与上述硬件性能参数不适配,则基于上述硬件性能参数获取适配后视频编码参数,并指示上述直播主播客户端采用上述适配后视频编码参数执行视频编码操作。

由此,本申请实施例达到了提高视频直播过程中的视频播放质量的目的,从而实现了保证主播获得良好的直播体验,观众获得良好的观看体验的技术效果,进而解决了现有技术中通过主播端进行视频直播的视频编码设置,存在由于视频编码设置不当导致视频播放质量差的技术问题。

在一种可选的实施例中,上述服务器还用于预先获取多个硬件性能参数;确定与每个硬件性能参数相适配的目标视频编码参数;存储每个上述硬件性能参数和每个上述目标视频编码参数之间的匹配关系。

在一种可选的实施例中,上述服务器还用于通过以下方式,确定上述待使用的视频编码参数是否与上述硬件性能参数相适配:依据上述硬件性能参数和上述匹配关系,确定与上述硬件性能参数匹配的上述目标视频编码参数;确定上述待使用的视频编码参数与上述目标视频编码参数是否相同;若确定上述待使用的视频编码参数与上述目标视频编码参数相同,则确定上述待使用的视频编码参数与上述硬件性能参数相适配;否则,确定上述待使用的视频编码参数是否与上述硬件性能参数不相适配。

在一种可选的实施例中,上述服务器还用于确定与上述硬件性能参数对应的性能分值;依据上述性能分值和预设对应关系,确定与上述硬件性能参数相适配的上述适配后视频编码参数;其中,上述预设对应关系为预先设定的性能分值和性能要求分值之间的对应关系,上述性能要求分值用于反映上述适配后视频编码参数对上述硬件性能参数的性能要求量。

本申请实施例中所提供的直播控制的方案,主要涉及直播主播客户端和服务器端的交互,该交互流程可以但不限于如下所示:

作为一种可选的实施例,在接收直播主播客户端发送的开播请求之前,服务器端预先设定多个硬件性能参数中每一个硬件性能参数所支持的最高视频编码参数,还可以预先存储运维人员/技术人员预先设定的与硬件性能参数适配的特定视频编码参数。

作为一种可选的实施例,在接收直播主播客户端发送的开播请求之前,当主播在直播主播客户端设定待使用的视频编码参数(例如分辨率、帧率等)及其他直播必要参数(例如视频直播标题等)后,点击直播主播客户端的显示界面上的“开始直播”按键,发送开播请求至服务器端,请求开始视频直播流程,其中,该开播请求中携带有待使用的视频编码参数和上述直播主播客户端的硬件性能参数。

可选的,在本申请实施例中,该开播请求中还可以携带有业务参数,例如,用户id、开播权限、直播品类等参数,该服务器端在接收到直播主播客户端发送的开播请求之后,可以先针对开播请求中的业务参数进行校验,以检测该业务参数是否满足预定校验要求。

可选的,检测该业务参数是否满足预定校验要求,包括校验用户id是否正确、直播主播客户端是否具有开播权限、直播品类(例如某种游戏分类)和直播主题是否正确等,一般此流程中不针对视频编码参数进行校验。通常可以基于直播主播客户端上传的业务参数与服务器端的预定参数值或数据库中的配置参数值进行比较,如果比较结果指示该业务参数等于预定参数值(或配置参数值),或者比较结果指示该业务参数处于预期范围内,则确定该业务参数满足上述预定校验要求,则继续检测上述待使用的视频编码参数是否与上述硬件性能参数相适配;否则,确定该业务参数不满足上述预定校验要求,返回开播失败信息(开播失败结果和开播失败原因)至上述直播主播客户端,告知主播当前的开播请求失败以及失败的原因。

作为另一种可选的实施例,在确定该业务参数满足上述预定校验要求之后,服务器端还可以对开播请求中的其他异常参数进行修正性调整,例如,若在特定版本/特定设备由于直播主播客户端设计原因造成的异常参数,则对其进行合理修正,上述异常参数可以是视频编码参数,也可以是业务参数;服务器端还可以针对特定设备/特定版本开启或关闭某种特性,根据直播主播客户端效果对开关类参数(例如,硬编开关、降噪开关、编码算法等,通常预埋在直播主播客户端中需要特定优化的参数)进行优化,以提高用户体验。

由于视频编码参数依赖于主播直播主播客户端开播机器的cpu等硬件性能资源,若直播主播客户端中编码分辨率、帧率等设置的过高,则在视频编码过程中需要等硬件性能资源则增多,具体表现为cpu占用率高,当cpu占用率升高,则电脑操作便表现卡顿,影响用户的正常使用操作。

作为一种可选的实施例,在确定该业务参数满足上述预定校验要求之后,根据硬件性能参数进行视频编码参数的适配,在本申请实施例中,如果确定上述待使用的视频编码参数与上述硬件性能参数相适配,指示上述直播主播客户端采用上述待使用的视频编码参数执行视频编码操作;如果确定上述待使用的视频编码参数与上述硬件性能参数不适配,则基于上述硬件性能参数获取适配后视频编码参数,并指示上述直播主播客户端采用上述适配后视频编码参数执行视频编码操作,并将视频编码得到视频流推送给cdn服务商,开启新一轮直播。

在本申请提供的一种可选的实施例中,还可以通过运维人员/技术人员在服务器端中预先配置特定的视频编码参数,在直播主播客户端与服务器端交互过程中,如果服务器确定上述待使用的视频编码参数与上述硬件性能参数不适配,服务器端根据直播主播客户端的计算机硬件性能参数获取适配后视频编码参数,并指示上述直播主播客户端采用上述适配后视频编码参数执行视频编码操作,以提供更加精细化的调整视频编码参数。

在一种可选的实施例中,在指示上述直播主播客户端采用上述待使用的视频编码参数或者适配后视频编码参数执行视频编码操作之后,直播主播客户端在视频播放过程中,持续向服务器端汇报当前cpu占用率等计算机程序运行监测数据,服务器端接收直播主播客户端发送的运行监测数据,并根据该运行监测数据分析直播主播客户端的运行情况,例如,直播主播客户端是否存在占用资源过多、网络状况是否良好等问题。

若依据该运行监控数据确定cpu运行占用率连续一段时间超过预定阈值,将在服务器端调整适配后视频编码参数,为该直播主播客户端配置新的视频编码参数,并将调整后的视频编码参数和重新播放指令发送至上述直播主播客户端;在直播主播客户端接收到上述调整后的视频编码参数和重新播放指令后,执行静默与服务器端交互,重新执行视频播放流程,进而可以实现在主播和用户无感知的过程中,采用新的视频编码参数重新执行视频播放操作。

需要说明的是,本申请中的图6中所示直播控制的系统的具体结构仅是示意,在具体应用时,本申请中的直播控制的系统可以比图6所示的直播控制的系统具有多或少的结构。

需要说明的是,上述实施例1中的任意一种可选的或优选的直播控制的方法,均可以在本实施例所提供的直播控制的系统中执行或实现。

此外,仍需要说明的是,本实施例的可选或优选实施方式可以参见实施例1中的相关描述,此处不再赘述。

实施例4

根据本发明实施例,还提供了一种用于实施上述直播控制的方法的装置实施例,图7是根据本发明实施例的一种直播控制的装置的结构示意图,如图7所示,上述直播控制的装置,包括:通讯模块60、指示模块62和处理模块64,其中:

通讯模块60,用于接收直播主播客户端发送的开播请求,其中,上述开播请求中携带的信息包括:待使用的视频编码参数和上述直播主播客户端的硬件性能参数;指示模块62,用于如果确定上述待使用的视频编码参数与上述硬件性能参数相适配,则指示上述直播主播客户端采用上述待使用的视频编码参数执行视频编码操作;处理模块64,用于如果确定上述待使用的视频编码参数与上述硬件性能参数不适配,则基于上述硬件性能参数获取适配后视频编码参数,并指示上述直播主播客户端采用上述适配后视频编码参数执行视频编码操作。

需要说明的是,上述各个模块是可以通过软件或硬件来实现的,例如,对于后者,可以通过以下方式实现:上述各个模块可以位于同一处理器中;或者,上述各个模块以任意组合的方式位于不同的处理器中。

此处需要说明的是,上述通讯模块60、指示模块62和处理模块64对应于实施例1中的步骤s102至步骤s106,上述模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例1所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在计算机终端中。

需要说明的是,本实施例的可选或优选实施方式可以参见实施例1中的相关描述,此处不再赘述。

上述的直播控制的装置还可以包括处理器和存储器,上述通讯模块60、指示模块62和处理模块64等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。

处理器中包含内核,由内核去存储器中调取相应的程序单元,上述内核可以设置一个或以上。存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram),存储器包括至少一个存储芯片。

根据本申请实施例,还提供了一种存储介质实施例。可选地,在本实施例中,上述存储介质包括存储的程序,其中,在上述程序运行时控制上述存储介质所在设备执行上述任意一种直播控制的方法。

可选地,在本实施例中,上述存储介质可以位于计算机网络中计算机终端群中的任意一个计算机终端中,或者位于移动终端群中的任意一个移动终端中,上述存储介质包括存储的程序。

可选地,在程序运行时控制存储介质所在设备执行以下功能:接收直播主播客户端发送的开播请求,其中,上述开播请求中携带的信息包括:待使用的视频编码参数和上述直播主播客户端的硬件性能参数;如果确定上述待使用的视频编码参数与上述硬件性能参数相适配,则指示上述直播主播客户端采用上述待使用的视频编码参数执行视频编码操作;如果确定上述待使用的视频编码参数与上述硬件性能参数不适配,则基于上述硬件性能参数获取适配后视频编码参数,并指示上述直播主播客户端采用上述适配后视频编码参数执行视频编码操作。

根据本申请实施例,还提供了一种处理器实施例。可选地,在本实施例中,上述处理器用于运行程序,其中,上述程序运行时执行上述任意一种直播控制的方法。

本申请实施例提供了一种设备,设备包括处理器、存储器及存储在存储器上并可在处理器上运行的程序,处理器执行程序时实现以下步骤:接收直播主播客户端发送的开播请求,其中,上述开播请求中携带的信息包括:待使用的视频编码参数和上述直播主播客户端的硬件性能参数;如果确定上述待使用的视频编码参数与上述硬件性能参数相适配,则指示上述直播主播客户端采用上述待使用的视频编码参数执行视频编码操作;如果确定上述待使用的视频编码参数与上述硬件性能参数不适配,则基于上述硬件性能参数获取适配后视频编码参数,并指示上述直播主播客户端采用上述适配后视频编码参数执行视频编码操作。

本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序:接收直播主播客户端发送的开播请求,其中,上述开播请求中携带的信息包括:待使用的视频编码参数和上述直播主播客户端的硬件性能参数;如果确定上述待使用的视频编码参数与上述硬件性能参数相适配,则指示上述直播主播客户端采用上述待使用的视频编码参数执行视频编码操作;如果确定上述待使用的视频编码参数与上述硬件性能参数不适配,则基于上述硬件性能参数获取适配后视频编码参数,并指示上述直播主播客户端采用上述适配后视频编码参数执行视频编码操作。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1