直播视频播放方法、装置、设备及介质与流程

文档序号:23552294发布日期:2021-01-05 21:11阅读:141来源:国知局
直播视频播放方法、装置、设备及介质与流程

本申请涉及计算机技术领域,尤其涉及人工智能技术领域,提供一种直播视频播放方法、装置、设备及介质。



背景技术:

随着视频技术的不断发展,用户可以通过基于视频的舞蹈游戏与亲友之间进行远程互动,以增强其与亲友之间的感情。

目前,基于视频的舞蹈游戏的方案是:各个设备分别采集用户对应的舞蹈视频,服务器获得各用户对应的舞蹈视频,对各个用户的舞蹈视频进行打分,最后获得各个用户的舞蹈视频所对应的分数,后续用户可以将自己的舞蹈视频发送给其他用户。但目前的这种方案中,各个用户在跳舞过程并不能查看到其他用户,即互动程度较低。



技术实现要素:

本申请实施例提供一种直播视频播放方法、装置、设备及介质,用于提高视频互动程度。

一方面,提供一种直播视频播放方法,包括:

当当前用户账号加入直播虚拟房间时,获取当前用户账号对应的直播图像;

从所述直播图像中获取所述当前账号对应的人像直播图像;

获取所述直播虚拟房间中其他用户账号的人像直播图像;

将所述当前账号的人像直播图像,以及所述其他用户账号的人像直播图像排列显示在所述直播虚拟房间的背景图像中。

本申请实施例中提供一种直播视频播放装置,包括:

第一获取模块,用于当当前用户账号加入直播虚拟房间时,获取当前用户账号对应的直播图像;

第二获取模块,用于从所述直播图像中获取所述当前账号对应的人像直播图像;

第三获取模块,用于获取所述直播虚拟房间中其他用户账号的人像直播图像;

显示模块,用于将所述当前账号的人像直播图像,以及所述其他用户账号的人像直播图像排列显示在所述直播虚拟房间的背景图像中。

在一种可能的实施例中,所述显示模块还用于:

响应创建房间操作,显示直播邀请界面;其中,所述直播邀请界面上显示有直播虚拟房间标识和邀请控件;响应触发所述邀请控件的操作,显示联系人列表;响应在所述联系人列表上选择参与联系人的确认操作,显示向各个参与联系人发送直播邀请,并显示根据直播邀请加入直播虚拟房间的参与联系人信息。

在一种可能的实施例中,所述装置还包括确定模块,其中:

所述显示模块,还用于响应针对直播虚拟房间的参数设置操作,显示配置参数选择界面;其中,所述配置参数选择界面包括用于选择各个配置参数的参数选择控件,所述配置参数包括背景音乐、队列排列模式中的一个或两个;

所述确定模块,用于响应针对所述参数选择控件的触发操作,确定选择的配置参数;

所述显示模块,还用于在将所述当前账号的人像直播图像,以及所述其他用户账号的人像直播图像排列显示在所述直播虚拟房间的背景图像中时,根据选择的配置参数控制所述直播虚拟房间中各用户账号的人像直播图像的显示。

在一种可能的实施例中,所述配置参数选择界面或者所述直播虚拟房间中还设置有示例视频播放选择控件,所述显示模块还用于:

响应针对所述示例视频播放选择控件的触发操作,在所述直播虚拟房间中展示示例窗口,并在所述示例窗口中播放示例视频。

在一种可能的实施例中,当所述选择的动配置参数包括队列排列模式时,其中:

所述显示模块,还用于响应针对队列排列模式的操作,显示队列排列模式包括的各个展示位;

所述确定模块,还用于根据各用户账号选择的展示位,确定各用户账号在直播虚拟房间中对应的展示位;

所述显示模块,具体用于根据所述直播虚拟房间中各用户账号对应的展示位,将各用户账号的人像直播图像展示在对应展示位上。

在一种可能的实施例中,所述确定模块具体用于:

接收服务器发送的加入所述直播虚拟房间的其他用户账号对应的展示位,并响应展示位选择操作,获得当前用户账号对应的展示位;或,

根据各用户账号加入所述直播虚拟房间的次序,确定各用户账号在所述直播虚拟房间中对应的展示位。

在一种可能的实施例中,所述第三获取模块,具体用于:

将人像直播图像组成的人物视频进行视频编码,获得视频数据;

将所述视频数据发送至服务器;以及接收所述服务器发送的视频数据包,从接收的视频数据包中获得所述直播虚拟房间中各用户账号的人像直播图像。

在一种可能的实施例中,所述装置还包括提示模块,所述提示模块具体用于:若检测直播图像中不存在人像直播图像,则发出提示信息。

在一种可能的实施例中,所述视频数据还包括每个人物视频帧的时间信息;所述显示模块具体用于:

根据所述直播虚拟房间中各用户账号在直播虚拟房间中对应的展示位,根据视频数据包中人像直播图像的时间信息,同步各用户账号对应的人像直播图像,并将各用户账号对应的人像直播图像覆盖在直播虚拟房间的背景图像上。

在一种可能的实施例中,所述显示模块还用于:响应针对直播视频播放的结束操作,或者所述直播视频播放的时长达到预设时长,在所述直播虚拟房间上显示各用户账号在直播视频播放过程中的评分结果。

在一种可能的实施例中,每个用户账号在直播视频播放过程中的评分结果通过如下任一方式获得:

从服务器接收每个用户账号的评分结果;或,

根据每个用户账号在每个时刻的人像直播图像,与选择的示例视频中在对应时刻的目标人物视频帧之间的匹配程度,确定每个用户账号在每个时刻的评分;

根据每个用户账号在每个时刻的评分,获得每个用户账号在视频直播播放过程中的评分结果。

本申请实施例提供一种计算机设备,包括:

至少一个处理器,以及

与所述至少一个处理器通信连接的存储器;

其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述至少一个处理器通过执行所述存储器存储的指令实现如一方面中任一项所述的方法。

本申请实施例提供一种存储介质,所述存储介质存储有计算机指令,当所述计算机指令在计算机上运行时,使得计算机执行如一方面中任一项所述的方法。

由于本申请实施例采用上述技术方案,至少具有如下技术效果:

本申请实施例中,在直播过程中,客户端会展示从每个账号对应的直播图像中分离出的人像直播图像,这样使得参与直播的用户能够查看到直播虚拟房间内所有账号对应的人像直播图像,提升了互动的实时性和互动程度。且,由于只需客户端之间传输和显示的并不是完整的直播图像,而是直播图像中的人像直播图像,从而降低了直播过程中的数据传输量,有利于提升直播的效率。且,在直播时,由于不会显示出参与直播的用户所处环境的背景,只会显示用户所对应的人像直播图像,提升了直播过程中的整体显示效果。

附图说明

图1为本申请实施例提供的直播视频播放方法的应用场景示意图;

图2为本申请实施例提供的图1中各设备之间的交互过程图;

图3为本申请实施例提供的客户端的主界面的示例图;

图4为本申请实施例提供的确定目标联系人的过程示例图;

图5为本申请实施例提供的直播被邀请界面示例图;

图6为本申请实施例提供的确定加入直播虚拟房间的过程示例图;

图7为本申请实施例提供的更新后直播邀请界面的示例图;

图8为本申请实施例提供的配置参数选择界面的示例图;

图9为本申请实施例提供的确定展示位的过程示例图;

图10为本申请实施例提供的生成视频数据的流程图;

图11为本申请实施例提供的获得视频数据的过程示例图;

图12为本申请实施例提供的显示直播视频的流程图一;

图13为本申请实施例提供的显示直播视频流程图二;

图14为本申请实施例提供的显示直播视频的过程示例图;

图15为本申请实施例提供的确定评分结果的流程图;

图16为本申请实施例提供的展示的评分结果的示例图;

图17为本申请实施例提供的一种直播视频播放方法的流程图;

图18为本申请实施例提供的直播视频播放装置的结构示意图;

图19为本申请实施例提供的计算机设备的结构示意图。

具体实施方式

为了更好的理解本申请实施例提供的技术方案,下面将结合说明书附图以及具体的实施方式进行详细的说明。

为了便于本领域技术人员更好地理解本申请的技术方案,下面对本申请涉及的名词进行介绍。

人工智能(artificialintelligence,ai):是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。

人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。

计算机视觉技术(computervision,cv):计算机视觉是一门研究如何使机器“看”的科学,更进一步的说,就是指用摄影机和电脑代替人眼对目标进行识别、跟踪和测量等机器视觉,并进一步做图形处理,使电脑处理成为更适合人眼观察或传送给仪器检测的图像。作为一个科学学科,计算机视觉研究相关的理论和技术,试图建立能够从图像或者多维数据中获取信息的人工智能系统。计算机视觉技术通常包括图像处理、图像识别、图像语义理解、图像检索、ocr、视频处理、视频语义理解、视频内容/行为识别、三维物体重建、3d技术、虚拟现实、增强现实、同步定位与地图构建等技术,还包括常见的人脸识别、指纹识别等生物特征识别技术。在本申请实施例中涉及到图像识别等相关技术,将在下文中进行介绍。

开源计算机视觉平台(opensourcecomputervisionlibrary,opencv):是一个跨平台的计算机视觉库。opencv是由英特尔公司发起并参与开发,以bsd许可证授权发行,可以在商业和研究领域中免费使用。opencv可用于开发实时的图像处理、计算机视觉以及模式识别程序。本申请实施例涉及的从直播视频中分离出人物视频的方式即可以通过opencv实现,具体将在下文中进行介绍。

应用:泛指能够用于实现某些功能的程序,本申请实施例中的应用泛指能够实现本申请实施例中的互动控制功能的应用。客户端是指应用在各个终端中的载体,可以是网页版的客户端、或可以是预装在终端中的客户端,或可以是嵌入在第三方应用中的客户端。

直播虚拟房间:是指创建的虚拟房间,每个直播虚拟房间对应有房间标识。各个用户账号可以加入该直播虚拟房间,在直播虚拟房间中的任一用户账号对应的用户可以看到该直播虚拟房间中各用户的人像直播图像。某个用户账号加入直播虚拟房间后,登录该用户账号的客户端也就视为加入该直播虚拟房间。

背景音乐:是指直播过程中播放的音乐,为了便于区分,将已经确定在直播中播放的音乐又可以称为目标背景音乐。目标背景音乐可以是默认的,或者根据用户的操作确定的。

示例视频:是指直播过程中播放的示例视频,为了便于区分,将已经确定在直播过程中播放的示例视频又可以称为目标示例视频。目标示例视频可以是默认的,或者根据用户的操作确定的。

队列排列模式:是指在直播虚拟房间中各个展示位的相对位置,具体包括了展示位的个数,以及每个展示位相对于其他展示位的位置。

人像直播图像:是指从直播图像中获取的人物全身图像,即人像直播图像不仅仅包括人脸部分和身体等部分。

下面对本申请实施例的设计思想进行介绍。

在相关技术中是各个设备分别采集用户的舞蹈视频,将舞蹈视频发送至服务器,在跳舞结束之后,任一用户可以通过服务器将用户的舞蹈视频分享给各个用户,实现舞蹈视频的共享,但这样的方式无法在跳舞过程中无法实时地分享跳舞视频,导致各用户之间的互动程度较低。

鉴于此,本申请实施例提供一种直播视频播放方法,每个客户端均能在直播虚拟房间的背景图像中展示加入直播虚拟房间的各用户账号的人像直播图像,也就是说,该方案能够实现各用户的人物直播图像的实时共享,提升直播视频播放的实时性,以及提高各个用户之间的互动程度。且,在直播虚拟房间中展示的是人像直播图像,也就是说,任一客户端显示的是加入直播虚拟房间中各个用户的人物直播图像,而并非是该客户端直接采集的直播图像,由于直播图像的传输量必然是大于直播图像中的人像直播图像的传输量,因此,显示各个用户的人像直播图像能够减少在直播视频播放过程中的数据传输量,且展示的是各用户账号对应的人像直播图像,而避免了显示直播图像中不必要的其它背景元素,提升了直播视频的整体显示效果。

基于上述设计思想,下面对本申请实施例的直播视频播放方法的应用场景进行介绍。

请参照图1所示的一种直播视频播放方法的场景示意图,该场景中包括多个终端和与每个终端通过通信网络可相互通信的服务器。每个终端对应一个用户,每个终端中设置有客户端,每个客户端对应登录有对应的账号。每个终端可以配置有摄像头,该摄像头可以是终端中的一部分,或者与终端相互独立设置,例如第一终端110-1配置有第一摄像头112-1,第二终端110-2配置有第二摄像头112-2,第三终端110-3配置有第三摄像头112-3。终端和服务器的数量可以是任意的,本申请不做具体限制。客户端的具体形式可以参照前文论述的内容,此处不再赘述。

为了便于描述,第一终端110-1、第二终端110-2和第三终端110-3对应的用户分别为当前用户a、第二用户b和第三用户c,第一终端110-1。第二终端110-2和第三终端110-3对应的客户端分别为第一客户端111-1、第二客户端111-2和第三客户端111-3。第一客户端111-1、第二客户端111-2和第三客户端111-3中登录的账号分别称为当前账号、第二账号和第三账号。

终端例如可以是手机、个人计算机、便携式平板电脑、智能电视、智能电视的电视盒子或游戏设备等。图1中的第一终端110-1、第二终端110-2和第三终端110-3的类型可以是相同的,也可以是不同的。请继续参照图1,第一终端110-1例如为智能电视,第二终端110-2例如为个人计算机,第三终端110-3例如为手机。服务器120可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发、以及大数据和人工智能平台等基础云计算服务的云服务器。

在直播视频播放之前,当前客户端根据当前用户的操作,创建直播虚拟房间,其他用户可以通过客户端加入该直播虚拟房间。创建以及加入直播虚拟房间的过程将在下文中进行介绍。

在直播视频播放开始时,各个客户端对应的摄像头可以采集其对应的直播图像,客户端实时抓取直直播图像中的人像直播图像,将各个时刻的人像直播图像组成人物视频,进而封装成视频数据,将视频数据发送至服务器120。如此一来,服务器120获得直播虚拟房间中所有账号对应的视频数据。其中,生成视频数据的内容将在下文中进行介绍。

在第一种可能的情况下:服务器120接收直播虚拟房间中所有账号对应的视频数据,将这些视频数据封装成视频数据包,再将视频数据包下发给直播虚拟房间中各用户账号对应的客户端。在客户端接收视频数据包之后,根据直播虚拟房间中的所有客户端对应的视频数据进行渲染并播放直播视频。其中,根据视频数据进行播放直播视频的相关内容将在下文中进行介绍。

在第二种可能的情况下:服务器120在接收直播虚拟房间中各用户账号的所有客户端中每个客户端发送的视频数据后,基于这些视频数据进行渲染合成,获得直播视频,再将直播视频的相关数据下发至各个客户端,每个客户端接收并播放直播视频即可。

进一步地,在直播结束后,服务器120可以根据各个客户端在直播视频播放过程中的视频数据,生成各个客户端所对应的评分结果,将各个客户端所对应的评分结果下发至每个客户端,使得每个客户端显示本次直播的评分结果。

下面结合图1论述的应用场景,对本申请实施例涉及的客户端的实现架构进行示例介绍:

客户端可以基于是数据模型-视图-界面模型(model-view-viewmodel,mvvm)模式构建的,客户端可以被划分为展示层、业务逻辑层和数据层。

展示层:用于显示各类界面,例如显示直播视频、或者显示目标队列排列模式等。

业务逻辑层:用于执行各类信息处理,例如可以用于响应用户的各类操作,执行相应的事件,例如记录用户加入直播虚拟房间的时间,或者对用户在直播视频播放过程进行评分。

数据层:用于传输各类数据,例如可以获取直播图像,传输从直播图像中获得的人物直播图像等。其中,客户端实现各种功能的具体内容将在下文中进行具体介绍。

基于图1论述的在第一种可能的情况下,下面结合图2所示的图1中各设备之间的交互过程,对本申请实施例中直播视频播放方法进行介绍:

s201,第一客户端111-1响应创建房间操作,生成房间创建请求。

当当前用户想进行直播时,可以开启第一客户端111-1,第一客户端111-1响应开启操作显示主界面。主界面可以包括创建房间控件。主界面除了创建房间控件外,还可以包括其他操作控件,此处不做限定。

当当前用户针对创建房间控件进行触发操作时,针对创建房间控件进行触发操作例如可以是针对创建房间控件进行的手动点击操作,或者可以是通过移动遥控器对创建房间进行的点击操作。第一客户端111-1响应该触发操作,生成房间创建请求,房间创建请求用于请求创建直播虚拟房间。房间创建请求可以携带有登录第一客户端111-1账号所对应的账号标识。

在一种可能的实施例中,当前用户在创建房间操作时,可以选择加入直播虚拟房间的预设数量,第一客户端111-1响应该预设数量的输入操作,确定加入直播虚拟房间的预设数量。进一步地,可以将加入直播虚拟房间的预设数量携带在房间创建请求中。

例如,请参照图3,为第一客户端111-1的主界面的示例图,第一客户端111-1响应当前用户针对图3所示的创建房间控件300的点击操作,生成房间创建请求。

s202,第一客户端111-1将房间创建请求发送给服务器120。

s203,服务器120生成直播虚拟房间信息。

服务器120接收房间创建请求后,确定第一客户端111-1需要创建直播虚拟房间,因此可以为第一客户端111-1生成直播虚拟房间信息。直播虚拟房间信息包括唯一的视直播虚拟房间标识,该直播虚拟房间标识用于指示该本次视频直播。

s204,服务器120将直播虚拟房间信息发送给第一客户端111-1。

s205,第一客户端111-1显示直播邀请界面。

第一客户端111-1在接收直播虚拟房间信息后,根据直播虚拟房间标识生成直播邀请界面,该直播邀请界面用于指示邀请其他用户加入直播虚拟房间。该直播邀请界面还可以显示有直播虚拟房间标识,以便于当前用户获知直播虚拟房间标识。另外,该直播邀请界面包括邀请控件。该直播邀请界面还可以包括已默认加入直播虚拟房间的当前用户对应的账号标识,还可以包括取消创建房间控件。

例如,当前用户点击如图3所示的创建房间控件300之后,显示如图4中(1)所示的直播邀请界面,该直播邀请界面包括邀请控件410、当前用户的账号标识420、取消创建房间控件430和直播虚拟房间标识440。

s206,第一客户端111-1响应针对邀请控件的触发操作,在直播邀请界面显示联系人列表。

在显示直播邀请界面后,当前用户可以对直播邀请界面中的邀请控件进行触发操作,该触发操作可以是手动点击操作或通过移动遥控器焦点进行的点击操作。第一客户端111-1响应针对邀请控件进行的触发操作,显示联系人列表。该联系人列表包括至少一个联系人,每个联系人与当前用户相关,例如为当前用户的好友等。应当说明的是,每个联系人与账号相对应,在当前用户选择联系人之后,客户端可以根据当前用户选择的联系人获得该联系人对应的账号。

其中,联系人列表可以是该第一客户端111-1中与当前用户关联的联系人列表,或者可以是该第一客户端111-1从其他应用获取的联系人列表,例如通过接口从即时通讯应用获取的联系人列表。

在另外一种情况下,第一客户端111-1可以响应当前用户针对取消创建房间控件的触发操作,取消创建直播虚拟房间。

s207,第一客户端111-1响应针对联系人列表的联系人选择操作,生成邀请请求。

第一客户端111-1可以响应当前用户针对联系人列表中一个或多个联系人的联系人选择操作,确定当前用户需要邀请的目标联系人,并生成邀请请求。该邀请请求用于邀请加入直播虚拟房间。该邀请请求携带有该需要邀请的目标联系人所对应的账号标识,该邀请请求用于邀请目标联系人加入直播虚拟房间。

s208,第一客户端111-1通过服务器120将邀请请求发送给各个客户端。

在当前用户选择联系人之后,例如当前用户选择了第二用户和第三用户,那么第一客户端111-1确定将邀请请求发送给第二用户对应的账号,以及第三用户对应的账号,该邀请请求中可以携带有第二用户对应的账号标识,以及第三用户对应的账号标识。服务器120接收邀请请求后,根据邀请请求中携带的账号标识,从而将邀请请求发送至第二用户对应的第二客户端111-2和第三用户对应的第三客户端111-3。

或者,第一客户端111-1响应针对邀请控件进行的触发操作,生成邀请请求。该邀请请求携带有直播虚拟房间标识,该邀请请求用于邀请用户加入直播虚拟房间。在生成邀请请求之后,第一客户端111-1显示联系人列表,当前用户可以进一步选择将该邀请请求发送至一个或多个联系人,第一客户端111-1响应该当前用户的联系人选择操作,确定当前用户想要邀请的目标联系人,第一客户端111-1可以将该邀请请求发送至目标联系人对应的客户端。

作为一种实施例,s206~s208为可选的部分。例如,在第一客户端111-1生成邀请请求之后,当前用户可以无需选择对应的联系人,服务器120可以将邀请请求广播至各个其他客户端,或者选择性地发送给当前已登录在线且空闲的客户端。空闲是指该客户端当前未加入其他直播虚拟房间。

例如,请继续参照图4,当当前用户点击图4中(1)所示的邀请控件410,第一客户端111-1显示如图4中(2)所示的联系人列表450,该界面还包括滚动条460,第一客户端111-1响应当前用户针对该滚动条460进行的下拉操作,以显示更多的联系人。当前用户可以选择该联系人列表450中的一个或多个联系人,第一客户端111-1根据该当前用户的联系人选择操作,确定当前用户想要邀请的目标联系人。

s209,各个客户端显示直播被邀请界面。

例如服务器120将邀请请求发送至第二客户端111-2和第三客户端111-3之后,第二客户端111-2和第三客户端111-3根据邀请请求,分别显示直播被邀请界面。该直播被邀请界面用于提示用户是否接收直播邀请。该直播被邀请界面包括直播虚拟房间标识、用于确认加入直播虚拟房间的确认控件、以及确认不加入直播虚拟房间的取消控件。

例如,请参照图5,表示第二客户端111-2显示的直播被邀请界面,该直播被邀请界面包括提示信息510、确认控件510和否认控件520。提示信息中携带有直播虚拟房间标识。

s210,第二客户端111-2响应接受邀请操作,生成加入房间信息。

例如第二用户可以在直播被邀请界面进行接受邀请操作,具体例如第二用户点击直播被邀请界面中的确认控件,第二客户端111-2根据该接受邀请操作,生成加入房间信息,该加入房间信息用于表示第二用户确认加入直播虚拟房间。

例如第二用户较忙,或者不想加入直播虚拟房间,第二用户可以在直播被邀请界面进行拒绝邀请操作,具体例如第二用户点击直播被邀请界面中的否认控件,相当于进行了拒绝邀请操作,第二客户端111-2根据该拒绝邀请操作,确定第二用户不参与本次直播。

例如,请继续参照图5,当用户点击图5中的确认控件510后,相当于进行了接收邀请操作,第二客户端111-2根据该接受邀请操作,生成加入房间信息。

作为一种实施例,上述s207~s210均为可选的步骤。

在另一种可能的实施例中,当前用户在获得直播虚拟房间信息之后,可以直接将直播虚拟房间标识通过任意方式告知给其他用户,其他用户可以直接在对应的客户端中进行直播虚拟房间标识输入操作,其他用户的客户端响应该直播虚拟房间标识输入操作,生成加入房间信息。

例如,请参照图6中(1),第二客户端111-2响应第二用户针对加入房间控件610的点击操作,显示如图6中(2)所示的直播虚拟房间标识输入框620,第二客户端111-2响应第二用户在直播虚拟房间标识输入框620中输入的直播虚拟房间标识,生成加入房间信息。

s211,第二客户端111-2可以将加入房间信息通过服务器120发送给第一客户端111-1。

s212,第三客户端111-3响应接受邀请操作,生成加入房间信息。

同理,第三客户端111-3可以响应第三用户进行的接受邀请操作,生成加入房间信息。接收邀请操作、加入房间信息的内容可以参照前文论述的内容,此处不再赘述。

s213,第三客户端111-3可以将加入房间信息通过服务器120发送给第一客户端111-1。

为了便于描述,将确认参与直播的联系人称为参与联系人,参与联系人包括创建直播虚拟房间的当前用户,以及确认加入直播虚拟房间的其他联系人。

s214,第一客户端111-1根据加入房间信息,更新直播邀请界面。

第一客户端111-1可以通过服务器120获得其他客户端的加入直播信息,并根据这些加入直播信息,更新直播邀请界面。

例如,第一客户端111-1接收到第二客户端111-2和第三客户端111-3发送的加入房间信息之后,更新直播邀请界面。具体例如在直播邀请界面中显示已确认加入该直播虚拟房间的第二用户对应的账号标识,以及第三用户的对应的账号标识。账号标识例如账号或者用户对应的头像等。

例如,请继续参照图4中(1),当前用户邀请第二用户和第三用户之后,第一客户端111-1确定第二用户和第三用户已确认加入该直播虚拟房间,第一客户端111-1将图4中(1)所示的直播邀请界面更新为如图7所示的直播邀请界面,更新后的直播邀请界面中新增显示有第二用户和第三用户的账号标识b和账号标识c。另外,该直播邀请界面还可以包括停止邀请控件710,该停止邀请控件710用于指示停止继续邀请用户加入直播虚拟房间。

s215,第一客户端111-1生成房间创建成功信息。

第一客户端111-1可以在确定满足预设条件时,生成房间创建成功信息。预设条件例如在当前用户进行的直播虚拟房间的邀请停止操作,或者在已加入直播虚拟房间的账号数量已经达到预设数量、或者接收服务器120下发的邀请停止指示。例如服务器120接收到其他用户的客户端发送的邀请停止信息,则可以向所有的客户端下发的邀请停止指示。其中,预设数量例如可以是参与直播虚拟房间能够容纳的最多账号数量,或者为当前用户在创建直播虚拟房间时设置的。

在确定满足预设条件之后,第一客户端111-1生成房间创建成功信息。该房间创建成功信息用于表示本次房间创建成功,以及包括确认已加入直播虚拟房间的各个用户所对应的账号标识。或者,服务器120可以在确定满足预设条件之后,生成房间创建成功信息,预设条件可以参照前文论述的内容,此处不再赘述。

应当说明的是,图2中是以第一客户端创建直播虚拟房间,以及生成房间创建成功信息为例进行说明,实际上任意客户端都可以按照上述任一方式创建直播虚拟房间,以及生成房间创建成功信息等。

在一种可能的实施例中,在生成房间创建成功信息之后,或者在当前用户创建直播虚拟房间后,直播虚拟房间中各用户之间可以进行互动,例如每个客户端可以将当前采集的直播图像通过服务器120共享给直播虚拟房间中的其他客户端,从而实现前期的互动过程。

s216,第一客户端111-1通过服务器120将房间创建成功信息发送给参与直播虚拟房间的其他客户端。

例如,第一客户端111-1可以将房间创建成功信息通过服务器120发送给第二客户端111-2和第三客户端111-3。

s217,各个客户端分别显示配置参数选择界面。

在各个客户端接收房间创建成功信息之后,可以分别显示配置参数选择界面,该配置参数选择界面或直播虚拟房间设置有参数设置控件。或者,在直播邀请界面或主界面设置有参数设置控件,任一客户端响应用户针对参数设置控件的触发操作,相当于进行了参数设置操作,显示配置参数选择界面。

其中,配置参数选择界面包括用于选择各种配置参数的参数选择控件。参数选择控件包括背景音乐选择控件、示例视频选择控件和队列排列模式选择控件中的一种或多种。参数选择控件还可以包括示例视频播放选择控件。

具体的,背景音乐选择控件用于选择播放直播视频过程中播放的背景音乐;示例视频选择控件用于选择播放直播视频过程中的示例视频;队列排列模式选择控件用于选择播放直播视频过程中各个人像直播图像的相对展示位的排布;示例视频播放选择控件用于选择在播放直播视频过程中是否展示示例窗口。示例窗口中可以展示示例视频。

例如,继续参照图7,当当前用户点击图7中所示的停止邀请控件710之后,第一客户端111-1根据该操作,生成房间创建成功信息,并通过服务器120将房间创建成功信息下发至其他各个客户端,每个客户端均可以显示如图8所示的配置参数选择界面的示例图。该配置参数选择界面包括背景音乐选择控件810、示例视频选择控件820、队列排列模式830和示例视频播放选择控件840。

s218,第三客户端111-3针对参数选择控件的触发操作,获得目标配置参数。

参数选择控件具体包括的控件不同,获得的目标配置参数也不同,下面以第三客户端111-3获得目标配置参数为例,对获得目标配置参数的方式进行示例。

第三客户端111-3可以执行如下的至少一种,以获得对应的目标配置参数:

a1:第三客户端111-3响应第三用户针对背景音乐选择控件的触发操作,显示可选择的多个背景音乐。第三客户端111-3可以响应针对第三用户针对多个背景音乐中任一背景音乐的背景音乐选择操作,获得目标背景音乐,并在播放直播视频过程中播放该目标背景音乐。

在一种可能的实施例中,目标背景音乐可以关联有对应的背景图像,目标背景音乐关联的背景图像可以是一张图像,或者是背景视频。客户端确定目标背景音乐之后,可以从服务器120获取该目标背景音乐关联的背景图像。或者,某些目标背景音乐不存在关联的背景图像,那么客户端可以按照默认的背景图像作为播放直播视频过程中的背景图像。

在一种可能的实施例中,目标背景音乐可以关联有其对应的目标示例视频,在客户端确定目标背景音乐之后,用户无需选择目标示例视频,客户端将目标背景音乐关联的示例视频确定为目标示例视频。

a2:第三客户端111-3可以响应第三用户针对示例视频选择控件的触发操作,显示可选择的多个示例视频,第三客户端111-3可以响应针对第三用户针对多个示例视频中任一示例视频的示例视频选择操作,获得目标示例视频。

在一种可能的实施例中,目标示例视频可以关联有对应的目标背景音乐,在客户端确定目标示例视频之后,用户可以无需选择目标背景音乐,客户端将目标示例视频关联的背景音乐确定为目标背景音乐。

在一种可能的实施例中,目标示例视频可以关联有对应的背景图像,目标示例视频关联的背景图像可以是一张图像,或者是背景视频。客户端确定目标示例视频之后,可以从服务器120获取该目标示例视频关联的背景图像。或者,某些目标示例视频不存在关联的背景图像,那么后续可以按照默认的背景作为播放直播视频过程中的背景图像。

由于不同的目标示例视频对用户而言模仿难度是不同的,比如某些示例视频涉及的动作难度大,在客户端确定目标示例视频之后,可以显示与目标示例视频关联的至少一个难度模式,响应用户针对任一难度模式的模式选择操作,确定播放直播视频过程中的目标难度模式。

a3:第三客户端111-3响应第三用户针对队列排列模式的触发操作,显示可选择的多个队列排列模式,第三客户端111-3响应针对第三用户针对多个队列排列模式中任一队列排列模式的选择操作,获得目标队列排列模式。

在一种可能的实施例中,客户端可以根据当前已确定加入直播虚拟房间的账号数量,选择与账号数量关联的目标队列排列模式。客户端例如可以是选择展示位数量与账号数量相同的队列排列模式,或者可以是选择展示位数量大于账号数量的队列排列模式。由于每个账号可能采集的人物不止一个,因此可以选择大于账号数量的队列排列模式,以保证每个人物直播图像能够存在与其对应的展示位。

一种可能的实施例中:

上述a1~a3可以是加入直播虚拟房间的任一客户端确定目标配置参数之后,其他客户端则无需进行重复选择。其他客户端可以针对该客户端已经确定的上述a1~a3中任一的目标配置参数进行更改,更改的方式与上述a1~a3的过程类似,此处不再赘述。

在另一种可能的实施例中:

每个账号对应的用户均可以分别选择直播视频播放过程中的目标示例视频或目标背景音乐中的一种或两种,每个客户端分别响应对应的选择操作,确定该客户端在播放直播视频过程中的配置参数,即每个客户端均可以执行上述a1和a2的过程。

a4:第三客户端111-3响应第三用户针对播放示例视频选择控件的触发操作,显示可选择的播放示例窗口或不播放示例窗口,第三客户端111-3响应针对第三用户选择播放示例窗口的操作,确定在显示人像直播图像时显示该示例窗口,并在示例窗口中播放目标示例视频。

当然,第三用户也可以针对第三用户选择不播放示例窗口的操作,确定在显示显示人像直播图像不播放该示例窗口。

同理,直播虚拟房间中各用户账号对应的每个客户端均可以执行a4中的过程。

应当说明的是,s217~s218为可选的步骤。例如加入直播虚拟房间的任一用户均不选择配置参数,那么每个客户端在播放直播视频中可以按照默认的配置参数进行显示。

例如,请继续参照图8,当第三用户点击队列排列模式选择控件830之后,第三客户端显示如图9中(1)所示的多个队列排列模式910,响应第三用户针对三个位置的队列排列模式的选择操作,确定将图9中(1)包括三个位置的排列队形确定为目标队列排列模式,并在图9所示的界面还包括预览图920,该预览图显示了该目标队列排列模式。另外,图9中还包括和下一步控件930和返回控件940。第三客户端111-3可以响应针对下一步控件930的操作,显示下一个可供选择的配置参数。或者,第三客户端111-3可以响应返回控件940,显示之前显示的界面。

上述s218是以第三客户端执行为例进行说明,实际上s218可以是由任一客户端执行。

s219,第三客户端111-3将目标配置参数通过服务器120发送给加入直播虚拟房间的其他客户端。

例如,第三客户端111-3通过服务器120可以将目标配置参数发送给第一客户端111-1和第二客户端111-2,以便于其他客户端可以获得已确定的目标配置参数。

或者,在另一种可能的实施例中,s219为可选的步骤,例如各个客户端只需记录对应用户选择的目标配置参数即可,无需通知其他客户端。

进一步地,在任一客户端确定选择的目标队列排列模式之后,可以显示目标队列排列模式。各个用户可以通过各自的客户端选择自己在目标队列排列模式中的展示位,客户端根据用户的展示位选择操作,确定用户对应的目标展示位。例如用户可以通过移动遥控器的焦点移动至目标队列排列模式中的目标展示位,或者用户直接点击某个展示位,客户端根据用户的展示位选择操作,确定该用户对应的目标展示位。在选择展示位的过程中,客户端可以根据该用户的展示位选择操作,向服务器120实时同步该用户选择的目标展示位,服务器120再将该用户选择的目标展示位同步给其它客户端,以避免其他用户重复选择对应的目标展示位。

在另一种可能的实施例中,用户可以无需选择位置,客户端根据各个账号对应加入直播虚拟房间的次序,确定各用户账号在目标队列排列模式中对应的展示位。

在另一种可能的实施例中,服务器120可以记录各个账号加入直播虚拟房间的次序,确定各个用户账号对应目标队列排列模式中的展示位。

在确定各个账号对应的目标展示位之后,各个客户端均可以获得目标排列队形中各个展示位对应的账号,即相当于各个客户端获得了各个用户账号对应的人像直播图像的展示位。

例如,请继续参照图9中的(1),第三客户端111-3选择目标排列队形之后,可以响应针对图9中(1)中的下一步控件进行的操作,或者响应于选择的目标队列排列模式的点击操作,显示如图9中(2)所示的位置选择界面,第三用户可以选择图9中(2)所示的1、2和3三个展示位中的任一展示位,第三客户端111-3响应该第三用户的展示位选择操作,获得目标展示位。

s220,第一客户端111-1响应开始直播视频播放操作,生成开始指令。

当前用户可以进行开始直播视频播放操作,或者在选择完所有的配置参数后,或者当前用户响应在直播邀请界面上的邀请停止操作,或者响应加入直播虚拟房间的联系人数量达到预设数量时,直播邀请界面上的显示的直播视频播放开始,或者响应针对直播邀请的加入操作时,可以生成开始指令。

当然,图2中是以第一客户端111-1生成开始指令为例,实际上其他任一客户端均可以执行s220的步骤。

或者,服务器120可以确定已选择完所有互动配置参数后,生成开始指令,并将开始指令下发给各个客户端。

s221,第一客户端111-1通过服务器120将开始指令发送给加入直播虚拟房间的其他客户端。

这里的其他客户端可以理解为直播虚拟房间中除了当前账号对应的第一客户端111-1之外的其他用户账号所对应的客户端。

s222,各个客户端分别生成视频数据。

视频数据是指对客户端对应用户账号采集的人像直播图像进行视频编码获得的。直播虚拟房间中的每个客户端均会生成对应的视频数据,每个客户端生成视频数据的方式相同。下面以第一客户端111-1为例,对各个客户端生成视频数据的过程进行介绍:

下面结合图10所示的流程图,对第一客户端111-1获得视频数据的过程进行介绍:

s1001,第一客户端111-1通过第一摄像头112-1采集直播图像。

例如,第一摄像头112-1采集直播图像。第一客户端111-1通过摄像头(camera)接口获取直播图像。

由于当前用户可能没有对准摄像头,导致直播图像中不存在人像直播图像,因此当第一客户端111-1确定直播图像中不存在人像直播图像时,可以发出提示信息。该提示信息用于提示当前用户调整与客户端之间的相对位置,以便当前用户在查看到提示信息之后,可以调整自己的位置,从而使得第一摄像头112-1能够采集到包含人像直播图像的直播图像。

s1002,第一客户端111-1获取直播图像中的人像直播图像。

第一客户端111-1获得直播图像,可以对直播图像进行处理,以获得直播图像中的人像直播图像。

具体的,摄像头接口可以将直播图像发送给第一客户端111-1中的图像抓取模块,通过图像抓取模块实时抓取各个直播图像对应的人像直播图像。图像抓取模块可以按照第一预设帧率抓取人像直播图像,例如30帧/秒,也就表示图像抓取模块需要在1秒内从直播图像中抓取出30张人像直播图像。

例如,第一客户端111-1可以opencv进行人像直播图像的抓取,从而剔除直播图像中除了人像直播图像之外的背景。或者例如图像抓取模块可以检测出直播图像中的人像区域,实时地采集并获得人像区域中的人像直播图像。

s1003,第一客户端111-1对人像直播图像进行视频编码,获得视频数据。

在获得各个时刻的人像直播图像之后,第一客户端111-1将各个时刻的人像直播图像组成人物视频,并对人物视频进行视频编码,获得视频数据。第一客户端111-1在组成人物视频的第二预设帧率可以是任意的,本申请不做具体限制。第二预设帧率可以小于或等于第一预设帧率,例如第一客户端111-1在当前1秒内抓取了30帧,第一客户端111-1可以间隔取10帧组成人物视频。

作为一种实施例,第一客户端111-1可以从抓取的人像直播图像中筛选出满足特定条件的人像直播图像,将这些满足特定条件的人像直播图像组成人物视频。特定条件例如可以是筛选人像直播图像的清晰度高于阈值的人像。

在一种可能的实施例中,第一客户端111-1采集的直播图像中可能包括多个人像,那么第一客户端111-1可以同时抓取该直播图像中的多个人像中每个人像直播图像,分别获得多个人像中每个人像对应的人物视频,并对多个人物视频进行视频编码,获得视频数据。或者,第一客户端111-1可以分别对多个人像中每个人像的人像直播图像进行视频编码,分别获得每个人像对应的视频数据。

进一步地,在获得人物视频的同时,还可以获得人物视频中各个人像直播图像的时间信息,该时间信息可以是在采集人像直播图像时获得的,或者在组成人物视频时获得的。例如,第一人像直播图像的时间信息为人物视频中第0秒至第1秒。

例如,请参照图11,为一种从直播图像中分离出人像直播图像的示例图。第一客户端111-1获取在t1时刻的如图11中(1)所示的直播图像一,从该直播图像中分离出人像直播图像具体为图11中a所示的人像直播图像。第一客户端111-1获取t2时刻的如图11中(2)所示的直播图像二,从该直播图像中分离出人像直播图像具体为图11中b所示的人像直播图像。第一客户端111-1按照采集时间的先后顺序可以对a所示的人像直播图像和b所示的人像直播图像进行视频编码,以获得视频数据。

其中图10是以第一客户端111-1生成视频数据为例进行介绍,其他各个客户端均可以采用图10所示的方法,生成视频数据,此处不再赘述。

s223,各个客户端将视频数据发送给服务器120。

各个客户端在获得各自的视频数据之后,可以将获得的视频数据均发送给服务器120,从而服务器120获得直播虚拟房间中的所有客户端发送的视频数据。

s224,服务器120生成视频数据包。

服务器120可以将加入直播虚拟房间中的所有客户端的视频数据进行打包,以获得视频数据包。打包可以理解为将直播虚拟房间的所有客户端的视频数据处理成一个文件包,具体例如服务器120可以根据这些视频数据,构建实时传输协议(realtimetransportprotocol,rtp)/实时传输控制协议(real-timecontrolprotocol,rtcp)视频数据包,以获得视频数据包。

在一种可能的实施例中,由于各个客户端有自身对应用户的视频数据,因此服务器120在生成视频数据包时,可以为每个客户端生成不同的视频数据包,每个客户端对应的数据包包括该直播虚拟房间中除了该客户端之外的其他客户端的视频数据。

例如,服务器120可以根据第二客户端111-2的视频数据,以及第三客户端111-3的视频数据,生成第一客户端111-1对应的视频数据包,服务器120只需向第一客户端111-1发送该数据包即可,从而相对可以减少数据传输量。

s225,服务器120将视频数据包发送给各个客户端。

服务器120在获得视频数据包之后,将该视频数据包发送给各个客户端。

作为一种实施例,服务器120与多个客户端之间可以采用web实时通信技术(webreal-timecommunication,webrtc)进行实时通信,以将视频数据包实时地发送给各个客户端,减少服务器120与各个客户端之间的传输时延。

s226,各个客户端根据视频数据包,播放直播视频。

各个客户端生成并显示直播视频的方式是相同的,下面以第一客户端111-1为例,结合图12所示的生成直播视频的流程图,对生成直播视频的方式进行示例说明:

s1201,第一客户端111-1对视频数据包进行解码。

第一客户端111-1在接收视频数据包之后,对视频数据包进行解码,从而获得每个客户端的人像直播图像。

s1202,第一客户端111-1将解码后的各个人像直播图像渲染到直播虚拟房间中。

第一客户端111-1可以按照各个人像直播图像对应的展示位,将各个人物视频中每个时刻对应的人像直播图像分别渲染至直播虚拟房间中对应的展示位上,从而生成直播视频。

进一步地,由于目标背景音乐或示例视频可能关联有对应的背景图像,因此,在生成直播视频时,第一客户端111-1可以按照各个人物视频关联的展示位,将各个人物视频中每个时刻对应的人像直播图像分别覆盖在直播虚拟房间对应的背景图像上,从而生成每个时刻的直播视频帧,进而获得直播视频。

为了更清楚地说明本申请实施例中生成直播视频的过程,下面结合图13所示的流程图进行介绍:

s1301,第一客户端111-1按照各个人物视频对应的展示位,放置人像直播图像。

s1302,第一客户端111-1确定服务器是否关联有背景图像。

第一客户端111-1可以从服务器获取背景图像,如果目标背景音乐或示例视频没有关联有背景图像,则表示服务器不存在关联的背景图像,第一客户端111-1执行s1303,使用默认背景图像,该默认背景图像可以是当前用户设置的,或者第一客户端111-1默认设置的。如果目标背景音乐或示例视频关联有背景图像,则表示服务器存在关联的背景图像,则执行s1304,即从服务器获得背景图像。

s1305,第一客户端111-1将人像直播图像覆盖在背景图像上。

在获得背景图像之后,如果背景图像为一张图像,那么只需将各个时刻对应的人像直播图像分别覆盖在该背景图像;如果背景图像为背景视频,那么可以将每个时刻对应的人像直播图像覆盖在对应时刻的背景图像中,对应时刻的背景图像即对应背景视频中对应时刻的背景视频帧,以获得直播视频帧。

继续以图11所示的获得当前用户的人像直播图像为例,t1时刻对应的背景图像如图14所示中的a所示,当前用户a、第二用户b和第三用户c在t1时刻的人像直播图像分别如图14中b所示,按照各个用户的人像直播图像关联的展示位,第一客户端111-1可以将t1各个时刻的人像直播图像覆盖在a所示的背景图像中,从而获得如图14中c所示的直播视频帧。

在一种可能的实施例中,直播虚拟房间上还包括播放示例视频选择控件,在直播视频播放过程中,任一用户可以针对播放示例视频选择控件进行触发操作,客户端根据该针对播放示例视频选择控件进行触发操作,确定是否在直播虚拟房间中显示示例窗口。

例如任一用户可以针对播放示例视频选择控件进行触发操作,客户端根据该针对播放示例视频选择控件进行的选择播放示例视频,则客户端确定在直播过程中播放示例视频,或者客户端根据该针对播放示例视频选择控件进行的选择不播放示例视频,则客户端确定在直播视频播放过程中不播放示例视频。

进一步地,为了保证示例视频与直播视频播放同步,客户端根据直播视频的播放时长,按照该播放时长同步播放示例视频。

s227,服务器120生成评分结果。

服务器120在确定直播视频播放过程达到预设时长,该预设时长例如为目标背景音乐的总时长或示例视频的总时长,服务器120确定直播视频播放结束。或者根据任一用户针对直播视频播放的结束操作,该用户对应的客户端确定直播视频播放结束,生成直播视频播放结束指令,将直播视频播放结束指令发送给服务器120或者其他客户端。

服务器120可以根据每个用户在各个时刻的人像直播图像,确定每个用户在播放直播视频中的评分结果,并将多个用户中每个用户的评分结果发送至多个用户中每个用户的客户端,以使各个客户端显示多个用户中每个用户的评分结果。

其中,涉及到服务器120如何确定每个用户的评分结果,下面进行示例说明:

人物视频为该用户对应的舞蹈视频时,对人物视频进行评分的实质上是确定人物视频帧中人物动作与标准动作的契合程度,契合程度越高,那么表示该用户的舞蹈动作越标准,对应评分越高。因此,在本申请实施例中服务器120可根据每个用户在每个时刻的人像直播图像,与示例视频中在对应时刻的目标人物视频帧之间的匹配程度,确定每个用户每个时刻的评分。具体例如服务器120可以将匹配程度直接作为每个时刻的评分,或者将匹配程度乘以固定值,获得每个时刻的评分。

其中,服务器120可以是在直播视频播放过程中实时确定每个人像直播图像的评分,或者服务器120可以是在直播视频播放结束后,计算每个人像直播图像对应的评分。

在获得每个用户在直播视频播放过程中各时刻的评分之后,根据每个用户在直播过程中各时刻的评分,获得每个用户在直播视频播放过程中的评分结果,例如可以对该用户在各个时刻的评分进行求和,获得评分结果,或者对该用户在各个时刻的评分进行加权求和,获得评分结果。

作为一种实施例,由于各个用户对应选择的难度模式可能是相同的,也可能是不同的,因此,在本申请实施例中,服务器120可以在确定各个用户对应的评分结果时,还需要考虑该用户选择的目标难度模式,根据该用户选择的目标难度模式,以及用户的评分结果,确定该用户最终的评分结果。例如服务器120可以预存有难度模式和对应的权重系数,在获得目标难度模式之后,可以将目标难度模式对应的权重系数乘以该用户的评分结果,获得该用户的评分结果。

为了更清楚地说明确定评分结果的方式,下面结合图15所示的流程图对本申请实施例涉及的确定评分结果的方式进行示例介绍:

s1501,直播视频播放开始。

s1502,服务器120获取人像直播图像。

s1503,服务器120检测人像直播图像中核心关键点。

服务器120获得视频数据之后,可以获得用户在各个时刻对应的人像直播图像,利用人工智能检测定位出人像直播图像中的核心关键点,核心关键点是指用于定位人体动作的关键点,例如具体为22个人体关键点。

s1504,服务器120确定人像直播图像中核心关键点与示例视频对应时刻的目标人物视频帧的匹配程度。

在获得核心关键点之后,可以将核心关键点与对应时刻的目标人物视频帧中的核心关键点进行对比,以获得该人物视频帧的评分。具体例如确定人物视频帧中各个核心关键点与目标人物视频帧中的核心关键点之间的欧式距离,以该欧式距离作为二者的匹配程度。

s1505,服务器120累加评分。

对该用户在各个时刻的人像直播图像的评分进行累加。

s1506,服务器120确定播放直播视频是否结束。

如果服务器120确定直播视频播放结束,则执行s1507,即获得该用户的评分结果。如果服务器120确定直播视频播放未结束,则重复s1502~s1507的步骤,直到直播视频结束。

在一种可能的实施例中,评分结果包括每个用户在直播视频播放过程中的评分,或每个用户的评分排名中的一种或两种。

在一种可能的实施例中,每个用户选择的展示位不同,则该用户在对应时刻所需要做出的动作可能是不同的,因此,在本申请实施例中,在评分时,可以根据该人像直播图像,以及与对应时刻和对应展示位上的示例视频对应的目标人物视频帧进行对比,以获得对应人像直播图像的评分。

s228,服务器120将评分结果发送至各个客户端。

服务器120在获得每个用户的评分结果之后,可以将每个用户的评分结果发送给各个客户端。

s229,各个客户端显示评分结果。

各个客户端接收服务器120发送的评分结果,并显示各用户的评分结果。或者,客户端响应用户进行的评分显示操作,显示各用户的评分结果。

在一种可能的实施例中,评分结果可以直接展示在直播虚拟房间中,或者各个用户的评分结果可以以子界面的形式展示在直播虚拟房间中。

请参照图16,为第一客户端111-1展示的评分结果1500,该评分结果1500包括了加入直播虚拟房间中的各个用户的排名,各个用户的评分结果,具体如图15所展示的“no.1a98分;no.2b97分;no.3b96分”。

在另一种可能的实施例中,s227~s228为可选的步骤,例如可以是各个客户端分别确定其对应的用户的评分结果,客户端确定评分结果的方式可以参照服务器120确定评分结果的方式,此处不再赘述。客户端在获得评分结果之后,可以将各个客户端的评分结果共享至其它客户端。

基于图1论述的在第二种可能的情况下,下面对本申请实施例的直播视频播放方法进行介绍。

与图2论述的交互过程不同的是,在第二种可能的情况下,是直接由服务器120渲染获得直播视频的相关数据。

服务器120在获得直播虚拟房间中的各个客户端的视频数据后,服务器120获得视频数据以及视频数据的生成过程均可以参照图2论述的内容,此处不再赘述。服务器120可以将各个人物视频中每个时刻对应的人像直播图像分别渲染在对应的展示位上,从而生成直播视频的相关数据。服务器120将直播视频的相关数据发送给各个客户端,使得各个客户端接收并直接显示直播视频。

为了更清楚地说明本申请实施例涉及的直播视频播放方法,下面结合图17所示的直播视频播放方法进行介绍:

s1701,第一客户端111-1响应直播虚拟房间标识输入操作,确认加入直播虚拟房间。

图17中是以第一客户端111-1对应的当前用户为加入直播虚拟房间为例进行说明。

s1702,第一客户端111-1响应背景音乐选择操作,获得目标背景音乐。

s1703,第一客户端111-1确认是否按照默认顺序确定展示位。

如果确认不按照默认顺序确定队列排列模式中展示位,则执行s1704,响应展示位选择操作,获得目标展示位,如果确认按照默认顺序确定队列排列模式中的展示位,则执行s1705,则按照当前用户加入直播虚拟房间的次序,确定目标展示位。

s1706,根据播放目标示例视频的选择操作,确认是否播放目标示例视频。

如果用户选择确认播放目标示例视频,则执行s1707,即播放目标示例视频。如果用户选择不播放目标示例视频,则执行s1708,即不播放目标示例视频。

s1709,响应难度模式选择操作,确定目标难度模式。

s1710,开始直播视频播放,显示直播视频。

s1711,直播视频结束,显示评分结果。

评分结果的获取方式可以参照前文论述的内容,此处不再赘述。

基于同一发明构思,本申请实施例提供一种直播视频播放装置,请参照图18,该播视频播放装置包括:

第一获取模块1801,用于当当前用户账号加入直播虚拟房间时,获取当前用户账号对应的直播图像;

第二获取模块1802,用于从直播图像中获取当前账号对应的人像直播图像;

第三获取模块1803,用于获取直播虚拟房间中其他用户账号的人像直播图像;

显示模块1804,用于将当前账号的人像直播图像,以及其他用户账号的人像直播图像排列显示在直播虚拟房间的背景图像中。

在一种可能的实施例中,显示模块1804还用于:

响应创建房间操作,显示直播邀请界面;其中,直播邀请界面上显示有直播虚拟房间标识和邀请控件;响应触发邀请控件的操作,显示联系人列表;响应在联系人列表上选择参与联系人的确认操作,显示向各个参与联系人发送直播邀请,并显示根据直播邀请加入直播虚拟房间的参与联系人信息。

在一种可能的实施例中,装置还包括确定模块1805,其中:

显示模块1804,还用于响应针对直播虚拟房间的参数设置操作,显示配置参数选择界面;其中,配置参数选择界面包括用于选择各个配置参数的参数选择控件,配置参数包括背景音乐、队列排列模式中的一个或两个;

确定模块1805,用于响应针对参数选择控件的触发操作,确定选择的配置参数;

显示模块1804,还用于在将当前账号的人像直播图像,以及其他用户账号的人像直播图像排列显示在直播虚拟房间的背景图像中时,根据选择的配置参数控制直播虚拟房间中各用户账号的人像直播图像的显示。

在一种可能的实施例中,配置参数选择界面或者直播虚拟房间中还设置有示例视频播放选择控件,显示模块1804还用于:

响应针对示例视频播放选择控件的触发操作,在直播虚拟房间中展示示例窗口,并在示例窗口中播放示例视频。

在一种可能的实施例中,当选择的动配置参数包括队列排列模式时,其中:

显示模块1804,还用于响应针对队列排列模式的操作,显示队列排列模式包括的各个展示位;

确定模块1805,还用于根据各用户账号选择的展示位,确定各用户账号在直播虚拟房间中对应的展示位;

显示模块1804,具体用于根据直播虚拟房间中各用户账号对应的展示位,将各用户账号的人像直播图像展示在对应展示位上。

在一种可能的实施例中,确定模块1805具体用于:

接收服务器发送的加入直播虚拟房间的其他用户账号对应的展示位,并响应展示位选择操作,获得当前用户账号对应的展示位;或,

根据各用户账号加入直播虚拟房间的次序,确定各用户账号在直播虚拟房间中对应的展示位。

在一种可能的实施例中,所述第三获取模块1803具体用于:

将人像直播图像组成的人物视频进行视频编码,获得视频数据;

将视频数据发送至服务器;以及接收服务器发送的视频数据包,从接收的视频数据包中获得直播虚拟房间中各用户账号的人像直播图像。

在一种可能的实施例中,装置还包括提示模块1806,提示模块1806具体用于:若检测直播图像中不存在人像直播图像,则发出提示信息。

在一种可能的实施例中,视频数据还包括每个人物视频帧的时间信息;显示模块1804具体用于:

根据直播虚拟房间中各用户账号在直播虚拟房间中对应的展示位,根据视频数据包中人像直播图像的时间信息,同步各用户账号对应的人像直播图像,并将各用户账号对应的人像直播图像覆盖在直播虚拟房间的背景图像上。在一种可能的实施例中,显示模块还用于:响应针对直播视频播放的结束操作,或者直播视频播放的时长达到预设时长,在直播虚拟房间上显示各用户账号在直播视频播放过程中的评分结果。

在一种可能的实施例中,每个用户账号在直播视频播放过程中的评分结果通过如下任一方式获得:

从服务器接收每个用户账号的评分结果;或,

根据每个用户账号在每个时刻的人像直播图像,与选择的示例视频中在对应时刻的目标人物视频帧之间的匹配程度,确定每个用户账号在每个时刻的评分;

根据每个用户账号在每个时刻的评分,获得每个用户账号在视频直播播放过程中的评分结果。

基于同一发明构思,本申请实施例提供一种计算机设备1900,请参照图19,该计算机设备包括处理器1901和存储器1902。

处理器1901可以是一个中央处理单元(centralprocessingunit,cpu),或者为数字处理单元等等。本申请实施例中不限定上述存储器1902和处理器1901之间的具体连接介质。本申请实施例在图19中以存储器1902和处理器1901之间通过总线1903连接,总线1903在图19中以粗线表示,其他部件之间的连接方式,仅是进行示意性说明,并不引以为限。总线1903可以分为地址总线、数据总线、控制总线等。为便于表示,图19中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

存储器1902可以是易失性存储器(volatilememory),例如随机存取存储器(random-accessmemory,ram);存储器1902也可以是非易失性存储器(non-volatilememory),例如只读存储器,快闪存储器(flashmemory),硬盘(harddiskdrive,hdd)或固态硬盘(solid-statedrive,ssd)、或者存储器1902是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器1902可以是上述存储器的组合。

处理器1901,用于调用存储器1902中存储的计算机程序时执行如前文任一论述的直播视频播放方法,还可以用于实现前文论述的终端或服务器或图18所示的装置的功能。

基于同一发明构思,本申请实施例提供一种存储介质,所述存储介质存储有计算机指令,当所述计算机指令在计算机上运行时,使得计算机执行前文论述的任一的直播视频播放方法。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

基于同一发明构思,本申请实施例提供一种计算机程序产品,该计算机程序产品包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述的任一的直播视频播放方法。

本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

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

显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

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