发明内容
本公开实施例至少提供一种直播方法、装置、计算机设备及存储介质。
第一方面,本公开实施例提供了一种直播方法,应用于云游戏服务器,包括:
响应多个第一云游戏客户端中每个第一云游戏客户端针对目标云游戏的操作指令,为所述第一云游戏客户端生成响应所述操作指令后的游戏画面数据;
基于所述游戏画面数据确定游戏直播数据,并将多个所述第一云游戏客户端分别对应的游戏直播数据进行混流处理,得到混流后的游戏直播数据;
将所述混流后的游戏直播数据推送到直播服务器,以便第二云游戏客户端从所述直播服务器拉取所述混流后的游戏直播数据。
一种可能的实施方式中,基于所述游戏画面数据确定游戏直播数据之前,所述方法还包括:
向运行所述目标云游戏的第一云游戏客户端推送直播提示信息,并获取所述第一云游戏客户端反馈的直播确认信息。
一种可能的实施方式中,向运行所述目标云游戏的所述第一云游戏客户端推送直播提示信息,包括:
向满足以下条件中的至少一种的第一云游戏客户端推送直播提示信息:
运行的所述目标云游戏处于目标游戏进度阶段;
所述第一云游戏客户端的属性信息满足目标属性条件;
发起针对所述第一云游戏客户端的开播请求的第二云游戏客户端数量超过目标数量阈值。
一种可能的实施方式中,响应多个第一云游戏客户端中每个第一云游戏客户端针对目标云游戏的操作指令之前,还包括:
响应于所述第一云游戏客户端的登录请求,对所述第一云游戏客户端的登录权限进行验证,在验证通过后,向所述第一云游戏客户端反馈多个供选择的云游戏标识信息;
响应于所述第一云游戏客户端针对目标云游戏标识信息的选择操作,为所述第一云游戏客户端提供与所述目标云游戏对应的游戏资源。
一种可能的实施方式中,将所述多个第一云游戏客户端分别对应的游戏直播数据进行混流处理之前,还包括:
响应于所述第一云游戏客户端发送的开启多人直播模式的指示信息,为所述第一云游戏客户端确定所在的分组,所述分组中包括多个第一云游戏客户端;
所述将所述多个第一云游戏客户端分别对应的游戏直播数据进行混流处理,包括:
将属于同一分组的所述多个第一云游戏客户端分别对应的游戏直播数据进行混流处理。
一种可能的实施方式中,响应于所述第一云游戏客户端发送的开启多人直播模式的指示信息,为所述第一云游戏客户端确定所在的分组,包括:
响应于多个第一云游戏客户端在同一时间段内分别发送的加入准备进行游戏直播的第一分组的指示信息,确定所述多个第一云游戏客户端所在的分组为所述第一分组。
一种可能的实施方式中,响应于所述第一云游戏客户端发送的开启多人直播模式的指示信息,为所述第一云游戏客户端确定所在的分组,包括:
响应于任一第一云游戏客户端发送的加入正在进行游戏直播的第二分组的指示信息,确定所述任一第一云游戏客户端所在的分组为所述第二分组。
一种可能的实施方式中,将多个所述第一云游戏客户端分别对应的游戏直播数据进行混流处理,得到混流后的游戏直播数据,包括:
根据所述第二云游戏客户端指示的待混流的多个第一云游戏客户端,将所述多个第一云游戏客户端分别对应的游戏直播数据进行混流处理,得到混流后的游戏直播数据。
一种可能的实施方式中,将所述多个第一云游戏客户端分别对应的游戏直播数据进行混流处理,得到混流后的游戏直播数据,包括:
将所述多个第一云游戏客户端在各自的游戏局中的游戏直播数据进行混流处理,得到混流后的游戏直播数据。
一种可能的实施方式中,响应多个第一云游戏客户端中每个第一云游戏客户端针对目标云游戏的操作指令,为所述第一云游戏客户端生成响应所述操作指令后的游戏画面数据,包括:
针对任一第一云游戏客户端,根据所述任一第一云游戏客户端的操作指令以及与所述任一第一云游戏客户端存在互动关系的其它第一云游戏客户端的操作指令,更新所述任一第一云游戏客户端的游戏画面数据。
一种可能的实施方式中,基于所述游戏画面数据确定游戏直播数据,包括:
基于操作页面数据和所述第一云游戏客户端对应的主播音频数据,生成所述游戏直播数据。
一种可能的实施方式中,将所述多个第一云游戏客户端分别对应的游戏直播数据进行混流处理,得到混流后的游戏直播数据,包括:
基于所述多个第一云游戏客户端分别对应的游戏直播数据中的操作页面数据,生成直播页面数据,其中,所述直播页面数据对应的直播页面中的不同展示区域用于展示不同第一云游戏客户端的游戏画面数据;
基于所述直播页面数据,和所述多个第一云游戏客户端分别对应的主播音频数据,生成所述混流后的游戏直播数据。
一种可能的实施方式中,所述不同展示区域中的目标展示区域用于展示目标第一云游戏客户端的游戏画面数据;所述目标第一云游戏客户端为所述多个第一云游戏客户端中满足目标条件的第一云游戏客户端;其中,所述目标展示区域的面积大于其他展示区域的面积。
一种可能的实施方式中,所述方法还包括:
响应于第二云游戏客户端的目标控制指令,向第一云游戏客户端发送控制权限交接请求;所述目标控制指令用于指示获取第一云游戏客户端的操作页面控制权限;
在接收到所述第一云游戏客户端发送的控制权限交接确认指令后,根据所述第二云游戏客户端发送的操作指令,为所述第一云游戏客户端生成响应所述操作指令后的游戏画面数据。
第二方面,本公开实施例提供了一种直播方法,应用于第一云游戏客户端,包括:
在第一云游戏客户端运行目标云游戏的过程中,接收到云游戏服务器推送的直播提示信息;
响应于所述直播提示信息,确认开启直播并选择多人直播模式后,获取并播放所述云游戏服务器基于多个第一云游戏客户端的游戏直播数据进行混流处理后的游戏直播数据。
第三方面,本公开实施例提供了一种直播方法,应用于第二云游戏客户端,包括:
在第一云游戏客户端运行目标云游戏的过程中,确定选择的待混流的多个第一云游戏客户端;
基于选择的待混流的多个第一云游戏客户端,向云游戏服务器发送多人直播观看请求;
从直播服务器拉取并播放所述云游戏服务器反馈将所述多个第一云游戏客户端分别对应的游戏直播数据进行混流处理后的游戏直播数据。
第四方面,本公开实施例还提供一种直播装置,应用于云游戏服务器,包括:
生成模块,用于响应多个第一云游戏客户端中每个第一云游戏客户端针对目标云游戏的操作指令,为所述第一云游戏客户端生成响应所述操作指令后的游戏画面数据;
混流模块,用于基于所述游戏画面数据确定游戏直播数据,并将多个所述第一云游戏客户端分别对应的游戏直播数据进行混流处理,得到混流后的游戏直播数据;
推送模块,用于将所述混流后的游戏直播数据推送到直播服务器,以便第二云游戏客户端从所述直播服务器拉取所述混流后的游戏直播数据。
一种可能的实施方式中,基于所述游戏画面数据确定游戏直播数据之前,所述混流模块,还用于:
向运行所述目标云游戏的第一云游戏客户端推送直播提示信息,并获取所述第一云游戏客户端反馈的直播确认信息。
一种可能的实施方式中,所述推送模块,在向运行所述目标云游戏的所述第一云游戏客户端推送直播提示信息时,用于:
向满足以下条件中的至少一种的第一云游戏客户端推送直播提示信息:
运行的所述目标云游戏处于目标游戏进度阶段;
所述第一云游戏客户端的属性信息满足目标属性条件;
发起针对所述第一云游戏客户端的开播请求的第二云游戏客户端数量超过目标数量阈值。
一种可能的实施方式中,所述生成模块,在响应多个第一云游戏客户端中每个第一云游戏客户端针对目标云游戏的操作指令之前,还用于:
响应于所述第一云游戏客户端的登录请求,对所述第一云游戏客户端的登录权限进行验证,在验证通过后,向所述第一云游戏客户端反馈多个供选择的云游戏标识信息;
响应于所述第一云游戏客户端针对目标云游戏标识信息的选择操作,为所述第一云游戏客户端提供与所述目标云游戏对应的游戏资源。
一种可能的实施方式中,所述混流模块,在将所述多个第一云游戏客户端分别对应的游戏直播数据进行混流处理之前,还用于:
响应于所述第一云游戏客户端发送的开启多人直播模式的指示信息,为所述第一云游戏客户端确定所在的分组,所述分组中包括多个第一云游戏客户端;
所述混流模块,在将所述多个第一云游戏客户端分别对应的游戏直播数据进行混流处理时,用于:
将属于同一分组的所述多个第一云游戏客户端分别对应的游戏直播数据进行混流处理。
一种可能的实施方式中,所述混流模块,在响应于所述第一云游戏客户端发送的开启多人直播模式的指示信息,为所述第一云游戏客户端确定所在的分组时,用于:
响应于多个第一云游戏客户端在同一时间段内分别发送的加入准备进行游戏直播的第一分组的指示信息,确定所述多个第一云游戏客户端所在的分组为所述第一分组。
一种可能的实施方式中,所述混流模块,在响应于所述第一云游戏客户端发送的开启多人直播模式的指示信息,为所述第一云游戏客户端确定所在的分组时,用于:
响应于任一第一云游戏客户端发送的加入正在进行游戏直播的第二分组的指示信息,确定所述任一第一云游戏客户端所在的分组为所述第二分组。
一种可能的实施方式中,所述混流模块,在将多个所述第一云游戏客户端分别对应的游戏直播数据进行混流处理,得到混流后的游戏直播数据时,用于:
根据所述第二云游戏客户端指示的待混流的多个第一云游戏客户端,将所述多个第一云游戏客户端分别对应的游戏直播数据进行混流处理,得到混流后的游戏直播数据。
一种可能的实施方式中,所述混流模块,在将所述多个第一云游戏客户端分别对应的游戏直播数据进行混流处理,得到混流后的游戏直播数据时,用于:
将所述多个第一云游戏客户端在各自的游戏局中的游戏直播数据进行混流处理,得到混流后的游戏直播数据。
一种可能的实施方式中,所述生成模块,在响应多个第一云游戏客户端中每个第一云游戏客户端针对目标云游戏的操作指令,为所述第一云游戏客户端生成响应所述操作指令后的游戏画面数据时,用于:
针对任一第一云游戏客户端,根据所述任一第一云游戏客户端的操作指令以及与所述任一第一云游戏客户端存在互动关系的其它第一云游戏客户端的操作指令,更新所述任一第一云游戏客户端的游戏画面数据。
一种可能的实施方式中,所述混流模块,在基于所述游戏画面数据确定游戏直播数据时,用于:
基于操作页面数据和所述第一云游戏客户端对应的主播音频数据,生成所述游戏直播数据。
一种可能的实施方式中,所述混流模块,在将所述多个第一云游戏客户端分别对应的游戏直播数据进行混流处理,得到混流后的游戏直播数据时,用于:
基于所述多个第一云游戏客户端分别对应的游戏直播数据中的操作页面数据,生成直播页面数据,其中,所述直播页面数据对应的直播页面中的不同展示区域用于展示不同第一云游戏客户端的游戏画面数据;
基于所述直播页面数据,和所述多个第一云游戏客户端分别对应的主播音频数据,生成所述混流后的游戏直播数据。
一种可能的实施方式中,所述不同展示区域中的目标展示区域用于展示目标第一云游戏客户端的游戏画面数据;所述目标第一云游戏客户端为所述多个第一云游戏客户端中满足目标条件的第一云游戏客户端;其中,所述目标展示区域的面积大于其他展示区域的面积。
一种可能的实施方式中,所述生成模块,还用于:
响应于第二云游戏客户端的目标控制指令,向第一云游戏客户端发送控制权限交接请求;所述目标控制指令用于指示获取第一云游戏客户端的操作页面控制权限;
在接收到所述第一云游戏客户端发送的控制权限交接确认指令后,根据所述第二云游戏客户端发送的操作指令,为所述第一云游戏客户端生成响应所述操作指令后的游戏画面数据。
第五方面,本公开实施例还提供一种直播装置,应用于第一云游戏客户端,包括:
接收模块,用于在第一云游戏客户端运行目标云游戏的过程中,接收到云游戏服务器推送的直播提示信息;
播放模块,用于响应于所述直播提示信息,确认开启直播并选择多人直播模式后,获取并播放所述云游戏服务器基于多个第一云游戏客户端的游戏直播数据进行混流处理后的游戏直播数据。
第六方面,本公开实施例还提供一种直播装置,应用于第二云游戏客户端,包括:
确定模块,用于在第一云游戏客户端运行目标云游戏的过程中,确定选择的待混流的多个第一云游戏客户端;
发送模块,用于基于选择的待混流的多个第一云游戏客户端,向云游戏服务器发送多人直播观看请求;
播放模块,用于从直播服务器拉取并播放所述云游戏服务器将所述多个第一云游戏客户端分别对应的游戏直播数据进行混流处理后的游戏直播数据。
第七方面,本公开实施例还提供一种计算机设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当计算机设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行上述第一方面,或第一方面中任一种可能的实施方式中的步骤,或执行上述第二方面,或执行上述第三方面。
第八方面,本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述第一方面,或第一方面中任一种可能的实施方式中的步骤,或执行上述第二方面,或执行上述第三方面。
本公开实施例提供的直播方法、装置、计算机设备及存储介质,在云游戏服务器,响应多个第一云游戏客户端中每个第一云游戏客户端针对目标云游戏的操作指令,为所述第一云游戏客户端生成响应所述操作指令后的游戏画面数据;基于所述游戏画面数据确定游戏直播数据,并将多个所述第一云游戏客户端分别对应的游戏直播数据进行混流处理,得到混流后的游戏直播数据;将所述混流后的游戏直播数据推送到直播服务器,以便第二云游戏客户端从所述直播服务器拉取所述混流后的游戏直播数据。这样,一方面可以通过云游戏服务器向直播服务器进行直播数据的推流,无需在主播对应的第一云游戏客户端执行,从而降低了主播的直播门槛;另一方面,通过混流处理使得后续第二云游戏客户端在拉取游戏直播数据时,可以同时拉取包含了多个第一云游戏客户端直播画面的游戏直播数据,从而可以实现多视角的直播观看,提高了观众的直播体验。
为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本公开实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
本文中术语“和/或”,仅仅是描述一种关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合,例如,包括A、B、C中的至少一种,可以表示包括从A、B和C构成的集合中选择的任意一个或多个元素。
本公开实施例针对用户使用的操作软件,启用云游戏服务器来进行游戏直播数据的生成及混流,直播过程无需在主播对应的第一云游戏客户端使用专门的直播软件进行截屏推流,而且实现了在观众的多视角观看。
以云游戏直播为例,实现多视角游戏直播的过程包括:多个第一云游戏客户端在玩游戏的过程中,云游戏服务器可以响应每个第一云游戏客户端的操作指令,为第一云游戏客户端更新游戏画面数据,同时结合每个第一云游戏客户端的游戏画面数据以及对应的主播音频数据生成游戏直播数据,并将多个第一云游戏客户端的游戏直播数据混流后推送到直播服务器,供第二云游戏客户端拉流获取游戏直播数据,在无需第一云游戏客户端截屏推流的情况下,实现多视角的游戏直播,提高了游戏直播体验。
为便于对本实施例进行理解,首先对本公开实施例所公开的一种直播方法进行详细介绍,本公开实施例所提供的直播方法涉及云游戏服务器、第一云游戏客户端、直播服务器以及第二云游戏客户端,所述云游戏服务器、第一云游戏客户端、直播服务器以及第二云游戏客户端可以为具有一定计算能力的计算机设备。在一些可能的实现方式中,该直播方法可以通过计算机设备中的处理器调用存储器中存储的计算机可读指令的方式来实现。
为方便理解,以下实施例的描述主要以游戏直播为例进行介绍。
下面首先对本公开实施例的云游戏系统架构做简要说明。如图1所示,为本公开实施例提供的云游戏系统架构示意图,涉及:作为主播端的第一云游戏客户端、云游戏服务器(具体可以是服务器集群)、直播服务器、作为观众端的第二云游戏服务器。其中,各个第一云游戏客户端将针对游戏画面的操作指令和主播音频数据发送至云游戏服务器,云游戏服务器生成响应操作指令后的游戏画面数据,并将多个主播的游戏画面数据与主播音频数据进行混流后,反馈到各个主播的第一云游戏客户端;同时,云游戏服务器将混流后的游戏直播数据推流到直播服务器,各个内容分发网络(Content Delivery Network,CDN)节点从直播服务器拉流获取混流后的游戏直播数据,作为观众端的第二云游戏服务器从各自对应的CDN节点拉流获取混流后的游戏直播数据。
参见图2所示,为本公开实施例提供的直播方法的流程图,所述方法包括步骤S201~S206,其中:
S201:第一云游戏客户端向云游戏服务器发送操作指令。
这里,第一云游戏客户端可以是能够进行游戏直播的主播端,云游戏服务器可以为提供相关应用服务的云端服务器,操作指令可以是主播基于当前的应用操作页面发起的相关操作。在云游戏场景下,云游戏服务器可以是提供游戏服务的云游戏服务器,操作指令可以包括针对云游戏的游戏操作指令,比如前进操作指令、后退操作指令、跳跃操作指令等。
进一步的,第一云游戏客户端在向云游戏服务器发送操作指令时,还可以向云游戏服务器发送主播音频数据,所述主播音频数据可以是主播在进行云游戏直播时,与观众的语音互动数据等。
S202:云游戏服务器响应多个第一云游戏客户端中每个第一云游戏客户端针对目标云游戏的操作指令,为所述第一云游戏客户端生成响应所述操作指令后的游戏画面数据。
在具体实施中,每个第一云游戏客户端的主播在进行游戏操作的过程中,会将相关操作数据以操作指令的形式发送至云游戏服务器,云游戏服务器可以响应相关操作指令,生成与操作指令对应的游戏画面数据,除此之外还可以有游戏音频数据,并将游戏画面数据和游戏音频数据发送至对应的第一云游戏客户端。
示例性的,以所述操作指令为前进操作指令为例,云游戏服务器在接收到任一第一云游戏客户端发送的前进操作指令之后,可以为该第一云游戏客户端计算出响应所述前进操作指令之后更新的游戏画面数据和游戏音频数据,并可以将更新后的所述游戏画面数据和游戏音频数据发送至该第一云游戏客户端进行展示。
S203:云游戏服务器基于所述游戏画面数据确定游戏直播数据,并将多个所述第一云游戏客户端分别对应的游戏直播数据进行混流处理,得到混流后的游戏直播数据。
这里,可以将参与多人互动的多个第一云游戏客户端在各自的游戏局中的游戏直播数据进行混流处理,得到混流后的游戏直播数据。
实际应用中,在生成的游戏直播数据中包括主播音频数据的情况下,在对所述游戏直播数据进行混流时,可以将多个第一云游戏客户端的游戏画面数据,按照预设的展示位置和展示大小渲染至同一画布中;以及,将所述多个第一云游戏客户端的游戏音频数据和主播音频数据,按照预设的混音方式整合至同一音轨中。
S204:云游戏服务器将所述混流后的游戏直播数据推送到直播服务器。
这里,直播服务器为直播中心的服务器,可以接收云游戏服务器推送的混流后的游戏直播数据。
S205:第二云游戏客户端向直播服务器发送游戏直播数据获取请求。
这里,第二云游戏客户端可以是观看游戏直播的观众端;作为主播端的第一云游戏客户端也可以同时作为观众端,也即第二云游戏客户端可以包括第一云游戏客户端。
S206:直播服务器响应游戏直播数据获取请求,向第二云游戏客户端发送所述混流后的游戏直播数据。
这里,直播服务器在向第二云游戏客户端发送所述混流后的游戏直播数据时,可以通过内容分发网络(Content Delivery Network、CDN)进行发送,所述CDN为构建在现有网络基础上的智能虚拟网络,依靠部署在各地的边缘服务器,使其可以通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度。
下面,分别从云游戏服务器、第一云游戏客户端以及第二云游戏客户端,描述本公开实施例的直播方法。
如图3所示,为云游戏服务器在直播流程中的执行逻辑流程图,包括:
S301:响应多个第一云游戏客户端中每个第一云游戏客户端针对目标云游戏的操作指令,为所述第一云游戏客户端生成响应所述操作指令后的游戏画面数据。
实际应用中,由于进行云游戏过程中数据传输量较大,且均需要依赖网络进行数据传输,因此给云游戏的用户数据安全带来了挑战。
一种可能的实施方式中,如图4所示,在响应多个第一云游戏客户端中每个第一云游戏客户端针对目标云游戏的操作指令之前,还可以通过以下步骤确定为所述第一云游戏客户端提供的游戏资源:
S401:响应于所述第一云游戏客户端的登录请求,对所述第一云游戏客户端的登录权限进行验证,在验证通过后,向所述第一云游戏客户端反馈多个供选择的云游戏标识信息。
S402:响应于所述第一云游戏客户端针对目标云游戏标识信息的选择操作,为所述第一云游戏客户端提供与所述目标云游戏对应的游戏资源。
这里,在为第一云游戏客户端提供游戏资源之前,对第一云游戏客户端的登录权限进行验证,并根据第一云游戏客户端的选择操作提供对应的游戏资源,从而提高了云游戏资源的安全性。
一种可能的实施方式中,在为所述第一云游戏客户端生成响应所述操作指令后的游戏画面数据时,可以针对任一第一云游戏客户端,根据所述任一第一云游戏客户端的操作指令以及与所述任一第一云游戏客户端存在互动关系的其它第一云游戏客户端的操作指令,更新所述任一第一云游戏客户端的游戏画面数据。
这里,与所述任一第一云游戏客户端存在互动关系的其它第一云游戏客户端,可以是与所述任一第一云游戏客户端在同一局云游戏内的其他第一云游戏客户端,所述其他第一云游戏客户端可以阻碍/加快所述该第一云游戏客户端的游戏进度,比如在可以是某一局云游戏内,某一第一云游戏客户端对应的主播的队友(加快游戏进度)或对手(阻碍游戏进度)。
这里,需要说明的是,本公开实施例的第一云游戏客户端在一定条件下也可以成为第二云游戏客户端,所述第二云游戏客户端在一定条件下也可以成为第一云游戏客户端,也即,任一客户端可以同时为第一云游戏客户端和第二云游戏客户端,比如用户可以边进行游戏直播,边看其它用户的游戏直播。比如,在主播和观众进行多人共玩的水友赛时,部分观众对应的第二云游戏客户端由于参与到了第一云游戏客户端的直播中,因此其也相应的变为了与第一云游戏客户端存在互动关系的其他第一云游戏客户端,也即直播时的客户端既可以是第一云游戏客户端,也可以是第二云游戏客户端。
一种可能的实施方式中,如图5所示,还可以通过以下步骤为第一云游戏客户端生成游戏画面数据:
S501:响应于第二云游戏客户端的目标控制指令,向第一云游戏客户端发送控制权限交接请求;所述目标控制指令用于指示获取第一云游戏客户端的操作页面控制权限。
这里,所述控制权限交接请求包括请求单独控制所述第一云游戏客户端的操作页面、请求共同控制所述第一云游戏客户端的操作页面、请求部分控制所述第一云游戏客户端的操作页面、请求与所述第一云游戏客户端交换控制权限,分别对应替主播进行操作、与主播共同操作、替主播进行部分操作、与主播交换进行操作。
具体的,不同的控制权限交接请求可以在不同的直播场景下进行发送,比如,在云游戏场景下的默契考验类游戏中,第二云游戏客户端可以通过发送目标控制指令,申请与主播进行共同操作或替主播进行部分操作,所述共同操作可以是主播跟观众共同操控一个游戏角色,所述替主播进行部分操作可以是主播跟观众分别控制鼠标、键盘等游戏指令输入设备,在该默契考验类游戏场景下,可以考验主播跟观众的默契程度,在这一过程中可以拉近观众和主播间的距离,通过互动产生较好的直播节目效果;
又比如,在当前的游戏关卡难度过大时,第二云游戏客户端可以通过发送目标控制指令,申请替主播进行操作,这样可以避免因为主播个人的游戏实力不济,影响了团队游戏的进度或观众的直播观看体验。
S502:在接收到所述第一云游戏客户端发送的控制权限交接确认指令后,根据所述第二云游戏客户端发送的操作指令,为所述第一云游戏客户端生成响应所述操作指令后的游戏画面数据。
这里,所述控制权限交接确认指令可以包括确认交接的控制权限的范围,包括确认交接全部单独控制权限、确认交接共同操作权限、确认交接部分操作权限、确认交换操作权限,分别对应上述替主播进行操作、与主播共同操作、替主播进行部分操作、与主播交换进行操作。
示例性的,以观众替主播进行操作为例,云游戏服务器可以根据观众对应的第二云游戏客户端的操作指令,为主播对应的第一云游戏客户端生对应的游戏画面数据。
S302:基于所述游戏画面数据确定游戏直播数据,并将多个所述第一云游戏客户端分别对应的游戏直播数据进行混流处理,得到混流后的游戏直播数据。
一种可能的实施方式中,在基于所述游戏画面数据确定游戏直播数据之前,还可以向运行所述目标云游戏的第一云游戏客户端推送直播提示信息,并获取所述第一云游戏客户端反馈的直播确认信息。
其中,在向运行所述目标云游戏的第一云游戏客户端推送直播提示信息时,可以向满足以下条件中至少一种的第一云游戏客户端推送所述直播提示信息:
条件1、运行的所述目标云游戏处于目标游戏进度阶段。
这里,所述目标游戏进度阶段可以是所述目标云游戏中难度较高的阶段,比如所述目标云游戏的游戏进度,到达挑战某一关卡的BOSS的阶段。
条件2、所述第一云游戏客户端的属性信息满足目标属性条件。
这里,所述第一云游戏客户端的属性信息,可以是所述第一云游戏客户端对应的主播的属性信息,所述主播的属性信息可以是主播粉丝数、主播所属工会、主播历史直播时长、主播礼物值、主播热度等。
示例性的,所述目标属性条件可以是主播粉丝数大于1000,当所述第一云游戏客户端对应的主播粉丝数大于1000时,即可向第一云游戏客户端推送所述直播提示信息。
条件3、发起针对所述第一云游戏客户端的开播请求的第二云游戏客户端数量超过目标数量阈值。
这里,所述第一云游戏客户端可以设置所述目标数量阈值。
具体的,主播在开播前,可以通过发起投票的方式来了解观众是否想要看该主播直播所述目标云游戏,在想要观看该主播直播所述目标云游戏的观众的投票数量(也即开播请求)超过目标数量阈值时,即可向正在运行所述目标云游戏的第一云游戏客户端推送所述直播提示信息,以提示该主播进行开播。
进一步的,在向所述第一云游戏客户端推送所述直播提示信息时,可以使用弹窗在该主播对应的第一云游戏客户端上展示直播提示信息,所述弹窗中还可以展示开播按钮,当主播触发该开播按钮,即可确认其对应的客户端基于所述直播提示信息反馈了直播确认信息,此时可以将该客户端作为所述第一云游戏客户端并开启直播。这样,可以使得主播在直播前即可确认自己的直播可以有一定的观众,避免直播观看人数较少的尴尬;另一方面,主播也可以在看到对应的直播提示信息后,通过上述开播按钮实现一键开播,从而简化了开播流程,提升了主播的开播体验。
此外,还可以在当前第一云游戏客户端页面的预设位置处设置交互展示区域,所述交互展示区域可用于展示观众发送的直播弹幕、留言、直播礼物等。
示例性的,在当前第一云游戏客户端满足目标开播条件时,所述第一云游戏客户端的展示页面可以如图6a所示,图6a中,在屏幕界面上展示有直播提示信息“有100人想看你直播”和开播按钮;进一步的,当反馈了直播确认信息后,所述第一云游戏客户端的展示页面可以如图6b所示,图6b中,除了直播内容外,主播端页面还包含了交互展示区域。
实际应用中,越来越多的主播选择通过与观众或者其他主播连麦互动等方式,提高自己的直播效果。
一种可能的实施方式中,在将所述多个第一云游戏客户端分别对应的游戏直播数据进行混流处理之前,还可以响应于所述第一云游戏客户端发送的开启多人直播模式的指示信息,为所述第一云游戏客户端确定所在的分组,所述分组中包括多个第一云游戏客户端。
其中,在响应于所述第一云游戏客户端发送的开启多人直播模式的指示信息,为所述第一云游戏客户端确定所在的分组时,可以通过以下方法中的任一种:
方法一、响应于多个第一云游戏客户端在同一时间段内分别发送的加入准备进行游戏直播的第一分组的指示信息,确定所述多个第一云游戏客户端所在的分组为所述第一分组。
示例性的,主播A、主播B、主播C以及主播D,均在1分钟内分别发送了准备进行游戏直播的第一分组的指示信息,以指示上述4名主播想要进入到第一分组中,则可以将所述主播A、主播B、主播C以及主播D分别对应的第一云游戏客户端编入到所述第一分组中。
方法二、响应于任一第一云游戏客户端发送的加入正在进行游戏直播的第二分组的指示信息,确定所述任一第一云游戏客户端所在的分组为所述第二分组。
这里,由于游戏直播中随时可能有人退出游戏,因此在检测到当前局云游戏的人数低于预设的人数上限时,可以开放权限给其他第一云游戏客户端,以使所述其他第一云游戏客户端可以发送,加入正在进行游戏直播的第二分组的指示信息,所述云游戏服务器可以在响应该指示信息后,将与该指示信息对应的第一云游戏客户端编入到所述第二分组中。
进一步的,在为所述第一云游戏客户端确定所在的分组之后,还可以将属于同一分组的所述多个第一云游戏客户端分别对应的游戏直播数据进行混流处理。
一种可能的实施方式中,在将多个所述第一云游戏客户端分别对应的游戏直播数据进行混流处理,得到混流后的游戏直播数据时,还可以根据所述第二云游戏客户端指示的待混流的多个第一云游戏客户端,将所述多个第一云游戏客户端分别对应的游戏直播数据进行混流处理,得到混流后的游戏直播数据。
具体的,在对所述多个第一云游戏客户端分别对应的游戏直播数据进行混流处理时,除了可以按照上述方法进行分组,并对同组第一云游戏客户端的游戏直播数据进行混流处理,还可以根据所述第二云游戏客户端的指示进行混流处理。
示例性的,当观众A想要同时观看在目标云游戏中主播A和主播B时,可以通过观众A对应的第二云游戏客户端,指示进行混流处理的第一云游戏客户端为主播A和主播B分别对应的第一云游戏客户端,从而使得混流处理之后的游戏直播数据更符合观众A的个性化需求,提高了用户在观看直播时的观看体验。
一种可能的实施方式中,在将所述多个第一云游戏客户端分别对应的游戏直播数据进行混流处理,得到混流后的游戏直播数据时,可以将所述多个第一云游戏客户端在各自的游戏局中的游戏直播数据进行混流处理,得到混流后的游戏直播数据;或者,也可以将多个第一云游戏客户端在同一游戏局中的游戏直播数据进行混流处理,得到混流后的游戏直播数据。
这样,通过上述多种混流方法,可以使得最终展示在第二云游戏客户端的直播画面更能符合不同观众的观看需求。
一种可能的实施方式中,如图7所示,可以通过以下步骤对游戏直播数据进行混流处理:
S701:基于所述多个第一云游戏客户端分别对应的游戏直播数据中的操作页面数据,生成直播页面数据,其中,所述直播页面数据对应的直播页面中的不同展示区域用于展示不同第一云游戏客户端的游戏画面数据。
示例性的,所述直播页面的示意图可以如图8所示,图8中,直播页面数据对应的直播页面中的不同展示区域展示了不同第一云游戏客户端的视频数据。
其中,所述不同展示区域中的目标展示区域用于展示目标第一云游戏客户端的游戏画面数据;所述目标第一云游戏客户端为所述多个第一云游戏客户端中满足目标条件的第一云游戏客户端,包括:比如可以是第二云游戏客户端选择的最感兴趣的第一云游戏客户端,还可以是当前游戏进度最佳的第一云游戏客户端等;其中,所述目标展示区域的面积大于其他展示区域的面积。
S702:基于所述直播页面数据,和所述多个第一云游戏客户端分别对应的主播音频数据,生成所述混流后的游戏直播数据。
这里,可以为每一个第一云游戏客户端设置主播标识,比如可以设置一个主播图标,所述主播图标中包含当前第一云游戏客户端的昵称、身份标识编号、头像等,用于用户在观看直播时区分当前直播页面中的多个第一云游戏客户端。
进一步的,还可以在每一个第一云游戏客户端设置一个音频数据控制开关,比如可以在每个主播图标的周围或者内部设置一个音量控制按钮,用户通过触发所述音量控制按钮,即可控制对应的主播音频数据的静音、增大音量、减小音量等。
S303:将所述混流后的游戏直播数据推送到直播服务器,以便第二云游戏客户端从所述直播服务器拉取所述混流后的游戏直播数据。
这里,在将混流处理后的游戏直播数据推送到直播服务器之后,第二云游戏客户端可以只拉取一路数据流,就可以实现对多个第一云游戏客户端的游戏直播数据的获取,提高了数据传输的效率。
一种可能的实施方式中,本公开实施例可以在第二云游戏客户端实现视角切换功能;如图9所示,所述云游戏服务器还可以通过如下步骤执行视角切换:
S901:响应第二云游戏客户端的视角切换指令,根据所述视角切换指令所指示的切换后的多个主播标识,获取所述切换后的多个主播标识对应的第一云游戏客户端的游戏直播数据。
这里,所述视角切换指令可以是在响应用户对目标主播标识的选中操作之后生成的。
S902:将获取的切换后的多个第一云游戏客户端分别对应的游戏直播数据进行混流处理,得到切换视角后的混流后的游戏直播数据,并推送到直播服务器,以便第二云游戏客户端从所述直播服务器拉取切换视角后的所述混流后的游戏直播数据。
这里,在响应第二云游戏客户端的视角切换指令后,可以获取用户选择的切换后的第一云游戏客户端的游戏直播数据,具体实施中,用户可以选择对当前混流直播的多个第一云游戏客户端进行部分或全部切换,比如之前混流的是第一云游戏客户端1、第一云游戏客户端2和第一云游戏客户端3,用户可以选择将第一云游戏客户端2替换为第一云游戏客户端4,得到的重新混流的游戏直播数据中包含第一云游戏客户端1、第一云游戏客户端3和第一云游戏客户端4的游戏直播数据。
这样,通过云游戏服务器对游戏直播数据进行混流处理,可以实现在云游戏直播场景下的多主播互动和第二云游戏客户端的多主播观看,从而能够使得游戏开发方在开发游戏时可以不需要开发多人直播模式,节约代码开发量。
如图10所示,为第一云游戏客户端在直播流程中的执行逻辑流程图,包括:
S1001:在第一云游戏客户端运行目标云游戏的过程中,接收到云游戏服务器推送的直播提示信息。
S1002:响应于所述直播提示信息,确认开启直播并选择多人直播模式后,获取并播放所述云游戏服务器基于多个第一云游戏客户端的游戏直播数据进行混流处理后的游戏直播数据。
这里,所述直播提示信息的展示页面可以如图6a所示,相关描述内容在此不再赘述。
这样,使得开播时第一云游戏客户端的终端设备的推流操作和游戏指令处理操作都无需在本地执行,从而降低了主播的直播门槛。
如图11所示,为第二云游戏客户端在直播流程中的执行逻辑流程图,包括:
S1101:在第一云游戏客户端运行目标云游戏的过程中,确定选择的待混流的多个第一云游戏客户端。
S1102:基于选择的待混流的多个第一云游戏客户端,向云游戏服务器发送多人直播观看请求。
S1103:获取并播放所述云游戏服务器反馈的、将所述多个第一云游戏客户端分别对应的游戏直播数据进行混流处理后的游戏直播数据。
这里,所述第二云游戏客户端的直播页面可以如图8所示,相关描述内容在此不再赘述。
这样,通过观众对所述第一云游戏客户端的选择,使得混流处理之后的游戏直播数据更符合观众的个性化需求,提高了用户在观看直播时的观看体验。
本公开实施例提供的直播方法,在云游戏服务器端,响应多个第一云游戏客户端中每个第一云游戏客户端针对目标云游戏的操作指令,为所述第一云游戏客户端生成响应所述操作指令后的游戏画面数据;基于所述游戏画面数据确定游戏直播数据,并将多个所述第一云游戏客户端分别对应的游戏直播数据进行混流处理,得到混流后的游戏直播数据;将所述混流后的游戏直播数据推送到直播服务器,以便第二云游戏客户端从所述直播服务器拉取所述混流后的游戏直播数据。这样,使得开播时主播的终端设备的推流操作无需在主播对应的第一云游戏客户端执行,从而降低了主播的直播门槛;另一方面,通过混流处理使得后续第二云游戏客户端在拉取游戏直播数据时,可以同时拉取包含了多个第一云游戏客户端直播画面的游戏直播数据,从而可以实现多视角的直播观看,提高了观众的直播体验。
本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
基于同一发明构思,本公开实施例中还提供了与直播方法对应的直播装置,由于本公开实施例中的装置解决问题的原理与本公开实施例上述直播方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
参照图12所示,为本公开实施例提供的直播装置1200的示意图,所述直播装置可以部署在云游戏服务器,包括:生成模块1201、混流模块1202、推送模块1203;其中,
生成模块1201,用于响应多个第一云游戏客户端中每个第一云游戏客户端针对目标云游戏的操作指令,为所述第一云游戏客户端生成响应所述操作指令后的游戏画面数据;
混流模块1202,用于基于所述游戏画面数据确定游戏直播数据,并将多个所述第一云游戏客户端分别对应的游戏直播数据进行混流处理,得到混流后的游戏直播数据;
推送模块1203,用于将所述混流后的游戏直播数据推送到直播服务器,以便第二云游戏客户端从所述直播服务器拉取所述混流后的游戏直播数据。
一种可能的实施方式中,基于所述游戏画面数据确定游戏直播数据之前,所述混流模块1202,还用于:
向运行所述目标云游戏的第一云游戏客户端推送直播提示信息,并获取所述第一云游戏客户端反馈的直播确认信息。
一种可能的实施方式中,所述推送模块1203,在向运行所述目标云游戏的所述第一云游戏客户端推送直播提示信息时,用于:
向满足以下条件中的至少一种的第一云游戏客户端推送直播提示信息:
运行的所述目标云游戏处于目标游戏进度阶段;
所述第一云游戏客户端的属性信息满足目标属性条件;
发起针对所述第一云游戏客户端的开播请求的第二云游戏客户端数量超过目标数量阈值。
一种可能的实施方式中,所述生成模块1201,在响应多个第一云游戏客户端中每个第一云游戏客户端针对目标云游戏的操作指令之前,还用于:
响应于所述第一云游戏客户端的登录请求,对所述第一云游戏客户端的登录权限进行验证,在验证通过后,向所述第一云游戏客户端反馈多个供选择的云游戏标识信息;
响应于所述第一云游戏客户端针对目标云游戏标识信息的选择操作,为所述第一云游戏客户端提供与所述目标云游戏对应的游戏资源。
一种可能的实施方式中,所述混流模块1202,在将所述多个第一云游戏客户端分别对应的游戏直播数据进行混流处理之前,还用于:
响应于所述第一云游戏客户端发送的开启多人直播模式的指示信息,为所述第一云游戏客户端确定所在的分组,所述分组中包括多个第一云游戏客户端;
所述混流模块1202,在将所述多个第一云游戏客户端分别对应的游戏直播数据进行混流处理时,用于:
将属于同一分组的所述多个第一云游戏客户端分别对应的游戏直播数据进行混流处理。
一种可能的实施方式中,所述混流模块1202,在响应于所述第一云游戏客户端发送的开启多人直播模式的指示信息,为所述第一云游戏客户端确定所在的分组时,用于:
响应于多个第一云游戏客户端在同一时间段内分别发送的加入准备进行游戏直播的第一分组的指示信息,确定所述多个第一云游戏客户端所在的分组为所述第一分组。
一种可能的实施方式中,所述混流模块1202,在响应于所述第一云游戏客户端发送的开启多人直播模式的指示信息,为所述第一云游戏客户端确定所在的分组时,用于:
响应于任一第一云游戏客户端发送的加入正在进行游戏直播的第二分组的指示信息,确定所述任一第一云游戏客户端所在的分组为所述第二分组。
一种可能的实施方式中,所述混流模块1202,在将多个所述第一云游戏客户端分别对应的游戏直播数据进行混流处理,得到混流后的游戏直播数据时,用于:
根据所述第二云游戏客户端指示的待混流的多个第一云游戏客户端,将所述多个第一云游戏客户端分别对应的游戏直播数据进行混流处理,得到混流后的游戏直播数据。
一种可能的实施方式中,所述混流模块1202,在将所述多个第一云游戏客户端分别对应的游戏直播数据进行混流处理,得到混流后的游戏直播数据时,用于:
将所述多个第一云游戏客户端在各自的游戏局中的游戏直播数据进行混流处理,得到混流后的游戏直播数据。
一种可能的实施方式中,所述生成模块1201,在响应多个第一云游戏客户端中每个第一云游戏客户端针对目标云游戏的操作指令,为所述第一云游戏客户端生成响应所述操作指令后的游戏画面数据时,用于:
针对任一第一云游戏客户端,根据所述任一第一云游戏客户端的操作指令以及与所述任一第一云游戏客户端存在互动关系的其它第一云游戏客户端的操作指令,更新所述任一第一云游戏客户端的游戏画面数据。
一种可能的实施方式中,所述混流模块1202,在基于所述游戏画面数据确定游戏直播数据时,用于:
基于操作页面数据和所述第一云游戏客户端对应的主播音频数据,生成所述游戏直播数据。
一种可能的实施方式中,所述混流模块1202,在将所述多个第一云游戏客户端分别对应的游戏直播数据进行混流处理,得到混流后的游戏直播数据时,用于:
基于所述多个第一云游戏客户端分别对应的游戏直播数据中的操作页面数据,生成直播页面数据,其中,所述直播页面数据对应的直播页面中的不同展示区域用于展示不同第一云游戏客户端的游戏画面数据;
基于所述直播页面数据,和所述多个第一云游戏客户端分别对应的主播音频数据,生成所述混流后的游戏直播数据。
一种可能的实施方式中,所述不同展示区域中的目标展示区域用于展示目标第一云游戏客户端的游戏画面数据;所述目标第一云游戏客户端为所述多个第一云游戏客户端中满足目标条件的第一云游戏客户端;其中,所述目标展示区域的面积大于其他展示区域的面积。
一种可能的实施方式中,所述生成模块1201,还用于:
响应于第二云游戏客户端的目标控制指令,向第一云游戏客户端发送控制权限交接请求;所述目标控制指令用于指示获取第一云游戏客户端的操作页面控制权限;
在接收到所述第一云游戏客户端发送的控制权限交接确认指令后,根据所述第二云游戏客户端发送的操作指令,为所述第一云游戏客户端生成响应所述操作指令后的游戏画面数据。
参照图13所示,为本公开实施例提供的直播装置1300的示意图,所述直播装置可以部署在第一云游戏客户端,包括:接收模块1301、播放模块1302;其中,
接收模块1301,用于在第一云游戏客户端运行目标云游戏的过程中,接收到云游戏服务器推送的直播提示信息;
播放模块1302,用于响应于所述直播提示信息,确认开启直播并选择多人直播模式后,获取并播放所述云游戏服务器基于多个第一云游戏客户端的游戏直播数据进行混流处理后的游戏直播数据。
参照图14所示,为本公开实施例提供的直播装置1400的示意图,所述直播装置可以部署在第二云游戏客户端,包括:确定模块1401、发送模块1402、播放模块1403;其中,
确定模块1401,用于在第一云游戏客户端运行目标云游戏的过程中,确定选择的待混流的多个第一云游戏客户端;
发送模块1402,用于基于选择的待混流的多个第一云游戏客户端,向云游戏服务器发送多人直播观看请求;
播放模块1403,用于获取并播放所述云游戏服务器反馈的、将所述多个第一云游戏客户端分别对应的游戏直播数据进行混流处理后的游戏直播数据。
关于装置中的各模块的处理流程、以及各模块之间的交互流程的描述可以参照上述方法实施例中的相关说明,这里不再详述。
本公开实施例提供的直播装置,在云游戏服务器端,根据多个主播端分别传输的操作指令,为每个所述主播端生成响应所述操作指令后的直播数据;将所述多个主播端分别对应的直播数据进行混流处理,得到混流后的直播数据;将所述混流后的直播数据推送到直播服务器,以便观众端从所述直播服务器拉取所述混流后的直播数据。这样,使得开播时主播端的终端设备的推流操作无需在主播端执行,从而降低了主播的直播门槛;另一方面,通过混流处理使得后续观众端在拉取直播数据时,可以同时拉取包含了多个主播端直播画面的直播数据,从而可以实现多视角的直播观看,提高了观众的直播体验。
基于同一技术构思,本公开实施例还提供了一种计算机设备。参照图15所示,为本公开实施例提供的计算机设备1500的结构示意图,包括处理器1501、存储器1502、和总线1503。其中,存储器1502用于存储执行指令,包括内存15021和外部存储器15022;这里的内存15021也称内存储器,用于暂时存放处理器1501中的运算数据,以及与硬盘等外部存储器15022交换的数据,处理器1501通过内存15021与外部存储器15022进行数据交换,当计算机设备1500运行时,处理器1501与存储器1502之间通过总线1503通信,使得处理器1501在执行以下指令:
响应多个第一云游戏客户端中每个第一云游戏客户端针对目标云游戏的操作指令,为所述第一云游戏客户端生成响应所述操作指令后的游戏画面数据;
基于所述游戏画面数据确定游戏直播数据,并将多个所述第一云游戏客户端分别对应的游戏直播数据进行混流处理,得到混流后的游戏直播数据;
将所述混流后的游戏直播数据推送到直播服务器,以便第二云游戏客户端从所述直播服务器拉取所述混流后的游戏直播数据。
一种可能的实施方式中,所述处理器1501的指令中,基于所述游戏画面数据确定游戏直播数据之前,还包括:
向运行所述目标云游戏的第一云游戏客户端推送直播提示信息,并获取所述第一云游戏客户端反馈的直播确认信息。
一种可能的实施方式中,所述处理器1501的指令中,向运行所述目标云游戏的所述第一云游戏客户端推送直播提示信息,包括:
向满足以下条件中的至少一种的第一云游戏客户端推送直播提示信息:
运行的所述目标云游戏处于目标游戏进度阶段;
所述第一云游戏客户端的属性信息满足目标属性条件;
发起针对所述第一云游戏客户端的开播请求的第二云游戏客户端数量超过目标数量阈值。
一种可能的实施方式中,所述处理器1501的指令中,响应多个第一云游戏客户端中每个第一云游戏客户端针对目标云游戏的操作指令之前,还包括:
响应于所述第一云游戏客户端的登录请求,对所述第一云游戏客户端的登录权限进行验证,在验证通过后,向所述第一云游戏客户端反馈多个供选择的云游戏标识信息;
响应于所述第一云游戏客户端针对目标云游戏标识信息的选择操作,为所述第一云游戏客户端提供与所述目标云游戏对应的游戏资源。
一种可能的实施方式中,所述处理器1501的指令中,将所述多个第一云游戏客户端分别对应的游戏直播数据进行混流处理之前,还包括:
响应于所述第一云游戏客户端发送的开启多人直播模式的指示信息,为所述第一云游戏客户端确定所在的分组,所述分组中包括多个第一云游戏客户端;
所述将所述多个第一云游戏客户端分别对应的游戏直播数据进行混流处理,包括:
将属于同一分组的所述多个第一云游戏客户端分别对应的游戏直播数据进行混流处理。
一种可能的实施方式中,所述处理器1501的指令中,响应于所述第一云游戏客户端发送的开启多人直播模式的指示信息,为所述第一云游戏客户端确定所在的分组,包括:
响应于多个第一云游戏客户端在同一时间段内分别发送的加入准备进行游戏直播的第一分组的指示信息,确定所述多个第一云游戏客户端所在的分组为所述第一分组。
一种可能的实施方式中,所述处理器1501的指令中,响应于所述第一云游戏客户端发送的开启多人直播模式的指示信息,为所述第一云游戏客户端确定所在的分组,包括:
响应于任一第一云游戏客户端发送的加入正在进行游戏直播的第二分组的指示信息,确定所述任一第一云游戏客户端所在的分组为所述第二分组。
一种可能的实施方式中,所述处理器1501的指令中,将多个所述第一云游戏客户端分别对应的游戏直播数据进行混流处理,得到混流后的游戏直播数据,包括:
根据所述第二云游戏客户端指示的待混流的多个第一云游戏客户端,将所述多个第一云游戏客户端分别对应的游戏直播数据进行混流处理,得到混流后的游戏直播数据。
一种可能的实施方式中,所述处理器1501的指令中,将所述多个第一云游戏客户端分别对应的游戏直播数据进行混流处理,得到混流后的游戏直播数据,包括:
将所述多个第一云游戏客户端在各自的游戏局中的游戏直播数据进行混流处理,得到混流后的游戏直播数据。
一种可能的实施方式中,所述处理器1501的指令中,响应多个第一云游戏客户端中每个第一云游戏客户端针对目标云游戏的操作指令,为所述第一云游戏客户端生成响应所述操作指令后的游戏画面数据,包括:
针对任一第一云游戏客户端,根据所述任一第一云游戏客户端的操作指令以及与所述任一第一云游戏客户端存在互动关系的其它第一云游戏客户端的操作指令,更新所述任一第一云游戏客户端的游戏画面数据。
一种可能的实施方式中,所述处理器1501的指令中,基于所述游戏画面数据确定游戏直播数据,包括:
基于操作页面数据和所述第一云游戏客户端对应的主播音频数据,生成所述游戏直播数据。
一种可能的实施方式中,所述处理器1501的指令中,将所述多个第一云游戏客户端分别对应的游戏直播数据进行混流处理,得到混流后的游戏直播数据,包括:
基于所述多个第一云游戏客户端分别对应的游戏直播数据中的操作页面数据,生成直播页面数据,其中,所述直播页面数据对应的直播页面中的不同展示区域用于展示不同第一云游戏客户端的游戏画面数据;
基于所述直播页面数据,和所述多个第一云游戏客户端分别对应的主播音频数据,生成所述混流后的游戏直播数据。
一种可能的实施方式中,所述处理器1501的指令中,所述不同展示区域中的目标展示区域用于展示目标第一云游戏客户端的游戏画面数据;所述目标第一云游戏客户端为所述多个第一云游戏客户端中满足目标条件的第一云游戏客户端;其中,所述目标展示区域的面积大于其他展示区域的面积。
一种可能的实施方式中,所述处理器1501的指令中,还包括:
响应于第二云游戏客户端的目标控制指令,向第一云游戏客户端发送控制权限交接请求;所述目标控制指令用于指示获取第一云游戏客户端的操作页面控制权限;
在接收到所述第一云游戏客户端发送的控制权限交接确认指令后,根据所述第二云游戏客户端发送的操作指令,为所述第一云游戏客户端生成响应所述操作指令后的游戏画面数据。
或者,使得处理器1501执行以下指令:
在第一云游戏客户端运行目标云游戏的过程中,接收到云游戏服务器推送的直播提示信息;
响应于所述直播提示信息,确认开启直播并选择多人直播模式后,获取并播放所述云游戏服务器基于多个第一云游戏客户端的游戏直播数据进行混流处理后的游戏直播数据。
或者,使得处理器1501执行以下指令:
在第一云游戏客户端运行目标云游戏的过程中,确定选择的待混流的多个第一云游戏客户端;
基于选择的待混流的多个第一云游戏客户端,向云游戏服务器发送多人直播观看请求;
获取并播放所述云游戏服务器反馈的、将所述多个第一云游戏客户端分别对应的游戏直播数据进行混流处理后的游戏直播数据。
本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法实施例中所述的直播方法的步骤。其中,该存储介质可以是易失性或非易失的计算机可读取存储介质。
本公开实施例还提供一种计算机程序产品,该计算机程序产品承载有程序代码,所述程序代码包括的指令可用于执行上述方法实施例中所述的直播方法的步骤,具体可参见上述方法实施例,在此不再赘述。
其中,上述计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(Software Development Kit,SDK)等等。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本公开所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施例,仅为本公开的具体实施方式,用以说明本公开的技术方案,而非对其限制,本公开的保护范围并不局限于此,尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本公开实施例技术方案的精神和范围,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应所述以权利要求的保护范围为准。