视频显示方法、装置、系统以及电子设备与流程

文档序号:19939343发布日期:2020-02-14 22:58阅读:165来源:国知局
视频显示方法、装置、系统以及电子设备与流程

本申请涉及互联网技术领域,更具体地,涉及一种视频显示方法、装置、系统以及电子设备。



背景技术:

随着互联网技术的快速发展,多媒体直播以其形式新颖、内容丰富受到人们的广泛关注,并随着观看直播的用户逐渐增多,直播平台的功能也在不断发展。目前网络直播还包括连麦直播的形式,实现了主播与主播之间的互动,极大的丰富了直播的表现形式。但是,在连麦直播时,各主播客户端需向服务器上传图像,主播客户端上传的往往是裁剪后的图像,使得包含文本内容的信息在合成后不能按合适的大小显示,从而导致直播效果较差。



技术实现要素:

鉴于上述问题,本申请提出了一种视频显示方法、装置、系统以及电子设备以及存储介质,可以改善直播效果。

第一方面,本申请实施例提供了一种视频显示方法,应用于服务器,所述方法包括:获取第一主播客户端的第一视频流和第二主播客户端的第二视频流,以及所述第一主播客户端的直播信息流,所述第一主播客户端和所述第二主播客户端之间已建立连麦;将所述第一视频流、所述第二视频流和所述直播信息流进行合成,获得目标视频流,其中,所述目标视频流中,所述直播信息流在第一方向上的图像长度大于所述第一视频流在第一方向上的图像长度,其中,所述第一方向为所述目标视频流的分辨率所对应的横向和纵向中的至少一种;向观众客户端发送所述目标视频流,指示所述观众客户端显示所述目标视频流。

第二方面,本申请实施例提供了一种视频显示方法,应用于服务器,所述方法包括:接收第一客户端的对象生成指令,所述对象生成指令包括第一虚拟对象的标识和数量;在所述对象生成指令满足预设触发条件时,生成第二虚拟对象的显示请求;将所述显示请求发送至第二客户端,以指示所述第二客户端根据如上述第一方面所述的方法在直播界面显示所述第二虚拟对象。

第三方面,本申请实施例提供了一种视频显示方法,应用于第一主播客户端,所述方法包括:获取与所述第一主播客户端建立连麦的第二主播客户端的第二视频流;获取所述第一主播客户端的第一视频流和直播信息流;将所述第一视频流、所述第二视频流和所述直播信息流进行合成,获得目标视频流,其中,所述目标视频流中,所述直播信息流在第一方向上的图像长度大于所述第一视频流在第一方向上的图像长度;显示所述目标视频流。

第四方面,本申请实施例提供了一种视频显示装置,应用于服务器,所述装置包括:数据获取模块,用于获取第一主播客户端的第一视频流和第二主播客户端的第二视频流,以及所述第一主播客户端的直播信息流,所述第一主播客户端和所述第二主播客户端之间已建立连麦;图像合成模块,用于将所述第一视频流、所述第二视频流和所述直播信息流进行合成,获得目标视频流,其中,所述目标视频流中,所述直播信息流在第一方向上的图像长度大于所述第一视频流在第一方向上的图像长度,其中,所述第一方向为所述目标视频流的分辨率所对应的横向和纵向中的至少一种;视频显示模块,用于向观众客户端发送所述目标视频流,指示所述观众客户端显示所述目标视频流。

第五方面,本申请实施例提供了一种视频显示装置,应用于第一主播客户端,所述装置包括:第一获取模块,用于获取与所述第一主播客户端建立连麦的第二主播客户端的第二视频流;第二获取模块,用于获取所述第一主播客户端的第一视频流和直播信息流;第一合成模块,用于将所述第一视频流、所述第二视频流和所述直播信息流进行合成,获得目标视频流,其中,所述目标视频流中,所述直播信息流在第一方向上的图像长度大于所述第一视频流在第一方向上的图像长度;第一显示模块,用于显示所述目标视频流。

第六方面,本申请实施例提供了一种视频显示系统,所述系统包括:服务器、第一主播客户端,第二主播客户端以及观众客户端;所述服务器,用于获取所述第一主播客户端的第一视频流和所述第二主播客户端的第二视频流,以及所述第一主播客户端的直播信息流,所述第一主播客户端和所述第二主播客户端之间已建立连麦;将所述第一视频流、所述第二视频流和所述直播信息流进行合成,获得目标视频流,其中,所述目标视频流中,所述直播信息流在第一方向上的图像长度大于所述第一视频流在第一方向上的图像长度,其中,所述第一方向为所述目标视频流的分辨率所对应的横向和纵向中的至少一种;向观众客户端发送所述目标视频流;所述服务器,还用于将所述第二视频流发送至所述第一主播客户端,将所述第一视频流和所述直播信息流发送至所述第二主播客户端;所述第一主播客户端,用于获取与所述第一主播客户端建立连麦的所述第二主播客户端的第二视频流;获取所述第一主播客户端的第一视频流和直播信息流;将所述第一视频流、所述第二视频流和所述直播信息流进行合成,获得所述目标视频流;显示所述目标视频流;所述第二主播客户端,用于获取与所述第一主播客户端的第一视频流和直播信息流;获取所述第二主播客户端的第二视频流;将所述第一视频流、所述第二视频流和所述直播信息流进行合成,获得所述目标视频流;显示所述目标视频流;所述观众客户端,用于接收所述目标视频流;显示所述目标视频流。

第七方面,本申请实施例提供了一种电子设备,其包括:存储器;一个或多个处理器,与存储器耦接;一个或多个程序,其中,一个或多个应用程序被存储在存储器中并被配置为由一个或多个处理器执行,一个或多个程序配置用于执行如上述第一方面所述的方法。

第八方面,本申请实施例提供了一种服务器,其包括:存储器;一个或多个处理器,与存储器耦接;一个或多个程序,其中,一个或多个应用程序被存储在存储器中并被配置为由一个或多个处理器执行,一个或多个程序配置用于执行如上述第二方面所述的方法。

第九方面,本申请实施例提供了一种计算机可读取存储介质,所述计算机可读取存储介质中存储有程序代码,所述程序代码可被处理器调用执行如上述第一方面所述的方法。

第十方面,本申请实施例提供了一种计算机可读取存储介质,所述计算机可读取存储介质中存储有程序代码,所述程序代码可被处理器调用执行如上述第二方面所述的方法。

本申请实施例提供的视频显示方法、装置、系统以及电子设备,通过获取各连麦主播客户端的数据流,包括第一视频流、第二视频流和直播信息流,并对三路数据流进行合成,获得一路目标视频流,使得目标视频流中包括至少两个显示区域,分别显示第一视频流对应的图像和第二视频流对应的图像。由此,通过合成,可将第一视频流、第二视频流和直播信息流这三路数据流合成为一路数据流,即目标视频流。并且,由于直播信息流在第一方向上的图像长度大于第一视频流在第一方向上的图像长度,因此合成获得的目标视频流上,直播信息流可跨越第一图像和第二图像的拼接边界,横跨第一视频流、第二视频流的显示区域,使得直播信息流可在最终待显示的目标视频流上占据更大的显示面积,使得直播信息流包含的信息清晰可见,从而可改善连麦直播时,对于直播信息流占据的显示面积较小,导致看不清楚的问题,提高连麦直播的效果,从而提升用户观看直播的体验,有利于提高用户在直播间的留存率。

本申请的这些方面或其他方面在以下实施例的描述中会更加简明易懂。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1示出了一种适用于本申请实施例的应用环境示意图;

图2示出了本申请一个实施例提供的视频显示方法的流程示意图;

图3示出了本申请另一个实施例提供的视频显示方法的流程示意图;

图4示出了本申请另一个实施例提供的一种视频合成示意图;

图5示出了本申请又一个实施例提供的视频显示方法的流程示意图;

图6示出了本申请又一个实施例提供的一种视频合成示意图;

图7示出了本申请再一个实施例提供的视频显示方法的流程示意图;

图8示出了本申请还一个实施例提供的视频显示方法的流程示意图;

图9示出了本申请再另一个实施例提供的视频显示方法的流程示意图;

图10示出了本申请再又一个实施例提供的视频显示方法的时序图;

图11示出了本申请一个实施例提供的视频显示装置的模块框图;

图12示出了本申请另一个实施例提供的视频显示装置的模块框图;

图13示出了本申请一个实施例提供的视频显示系统的示意性框图;

图14示出了本申请一个实施例用于执行根据本申请实施例的视频显示方法的电子设备的结构框图;

图15示出了本申请另一个实施例用于执行根据本申请实施例的视频显示方法的电子设备的结构框图;

图16示出了本申请实施例的用于保存或者携带实现根据本申请一个实施例的视频显示方法的程序代码的存储单元。

图17示出了本申请实施例的用于保存或者携带实现根据本申请另一个实施例的视频显示方法的程序代码的存储单元。

具体实施方式

为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。应当理解,此处描述的具体实施例仅用于解释本申请,并不用于限定本申请。

为了更好理解本申请实施例提供的一种视频显示方法、装置、系统、电子设备和存储介质,下面先对适用于本申请实施例的应用环境进行描述。

请参阅图1,图1为适用于本申请实施例的应用场景示意图。本申请实施例提供的视频显示方法可以应用于如图1所示的视频显示系统10中。如图1所示,视频显示系统10包括终端设备100和服务器200。其中,终端设备100包括第一终端设备110、第二终端设备120以及第三终端设备130。

其中,终端设备100包括但不限于笔记本电脑、台式电脑、平板电脑、智能手机、可穿戴电子设备等。其中,服务器200可以是单独的服务器,也可以是服务器集群,可以是本地服务器,也可以是云端服务器,在此不作限定。终端设备100和服务器200位于无线网络或有线网络中,终端设备100和服务器200可以进行数据交互。

在一些实施方式中,服务器200可以与多个终端设备100通信连接,终端设备100之间可以相互通过互联网进行通信连接,也可以将服务器200作为传输中介,并通过互联网来实现相互间的数据交互。

终端设备100可运行有客户端,如直播平台的客户端。在直播平台中,根据用户当前角色的不同,客户端可包括主播客户端和观众客户端,主播客户端对应的用户为主播,观众客户端对应的用户为观众。其中,主播客户端可用于通过直播的形式向平台的其他用户输出直播内容,观众客户端可观看主播客户端输出的直播内容。

需要说明的是,用户可在主播和观众两个角色之间切换,例如,用户在直播间在直播时,可作为主播,在其他用户的直播间观看直播时,可作为观众。

在一些实施方式中,第一终端设备110可运行有第一主播客户端,第二终端设备120可运行有第二主播客户端,第三终端设备130可运行有观众客户端。其中,第一主播客户端110对应的用户可记为第一主播,即第一主播可基于第一主播客户端录制直播内容并输出,使得观众客户端可看到第一主播输出的直播内容;第二主播客户端120对应的用户可记为第二主播,即第二主播可基于第二主播客户端录制直播内容并输出,使得观众客户端可看到第二主播输出的直播内容。

服务器200中可以建立连麦直播间,该连麦直播间用于第一主播客户端以及第二主播客户端之间进行连麦直播。由此,观众客户端可在连麦直播间,同时观看第一主播和第二主播之间连麦直播的直播内容。

在一些实施例中,每个客户端、每类用户可以不止一个,从而在多个主播客户端时,可实现多个主播基于多个主播客户端的直播,多个观众可分别基于各自的观众客户端观看直播内容。

目前,多个主播之间在连麦直播时,往往是连麦的主播客户端,各自独立上传裁剪过后的图像给服务器,而一些文本内容例如弹幕、歌词等信息一般由主播客户端通过截屏的方式采集得到。(为便于描述,以下以歌词为例进行说明)这样获得的包含歌词图像宽度一般会超过两个主播客户端所上传的裁剪过后的图像宽度,导致无法将歌词图像叠加在裁剪后的图像上。此时会通过缩放或其他操作将包含歌词图像合成到单个主播客户端裁剪后的图像上。由此,服务器将两个主播客户端上传的图像进行合成后,得到的合成后的图像。合成后的图像至少包括两个显示区域,分别用于显示第一主播客户端裁剪后的图像以及第二主播客户端裁剪后的图像。而在合成后的图像中,包含文本内容的图像被缩放显示于其中一个显示区域,因此显示字体较小,使得用户难以看清楚,即目前在多个主播连麦直播时显示效果不佳。

因此为解决上述缺陷,本申请实施例提供了一种视频显示方法、装置、系统、电子设备和存储介质。下面将通过具体实施例进行详细说明。

请参阅图2,本申请一个实施例提供了一种视频显示方法,可应用于上述服务器,具体地,于本实施例中,该方法可以包括以下步骤:

步骤s110:获取第一主播客户端的第一视频流和第二主播客户端的第二视频流,以及第一主播客户端的直播信息流。

其中,第一主播客户端和第二主播客户端之间已建立连麦。第一主播客户端和第二主播客户端连麦表示在第一主播的直播间中能同时看到第一主播和第二主播的视频直播画面,同样的,在第二主播的直播间中能同时看到第二主播和第一主播的视频直播画面。

在一种实施方式中,第一主播客户端可以向第二主播客户端发送连麦请求,若第二主播客户端确认或同意该连麦请求,服务器可建立第一主播客户端和第二主播客户端之间的连麦直播,以用于使得观众客户端可观看第一主播和第二主播的连麦直播内容。在另一种实施方式中,还可以有第二主播客户端向第一主播客户端发起连麦请求,并经由第一主播客户端确认或同意连麦请求后,建立连麦。本实施例对如何建立连麦不作任何限定。

在一些实施方式中,第一主播客户端和第二主播客户端之间建立连麦时,服务器可第一主播客户端对第二主播客户端的数据流的订阅,第二主播客户端对第一主播客户端的数据流的订阅。可选地,服务器可构建第二主播客户端的数据流传输至第一主播客户端的路径,第一主播的数据流传输至第二主播客户端的路径,由此,在两个主播客户端建立连麦的状态下,服务器实现了两个主播客户端之间的数据流的相互订阅,使得连麦双方的主播客户端可获取对方主播客户端的数据流。

本申请中,数据流可用于指代各客户端或服务器传输的数据,可包括第一视频流、第二视频流、直播信息流等。

于本实施例中,第一主播客户端用于表征服务器所获取的直播信息流的发送方客户端。例如,在主播a和主播b建立连麦时,若服务器获取到的直播信息流是主播a发送的,则当前第一主播客户端为主播a的客户端,第二主播客户端为主播b的客户端;若在下一时刻,服务器获取到的直播信息流是主播b发送的,则该时刻的第一主播客户端为主播b的客户端,第二主播客户端为主播a的客户端。

其中,第一主播客户端的第一视频流包括第一主播的视频直播画面,第二主播客户端的第二视频流可包括第二主播的视频直播画面。直播信息流可包括第一主播的直播间显示的信息流,也可以包括运行第一主播客户端的终端设备上显示的信息流。若直播信息流为第一主播的直播间显示的信息流,可将不包括信息流的视频直播画面作为第一视频流,将信息流作为直播信息流,分别发送给服务器,使得服务器可获取第一主播客户端发送的两路数据流,分别为第一视频流和直播信息流。

步骤s120:将第一视频流、第二视频流和直播信息流进行合成,获得目标视频流。

其中,目标视频流中,直播信息流在第一方向上的图像长度大于第一视频流在第一方向上的图像长度,其中,第一方向为目标视频流的分辨率所对应的横向和纵向中的至少一种。分辨率一般用水平像素×垂直像素的形式表征,也可用图像的宽×高表征,其中,水平、宽对应分辨率的横向,垂直、高可对应分辨率的纵向,由此,第一方向可对应横向或纵向,水平或垂直,宽度方向或高度方向。

在一些实施例中,将第一视频流、第二视频流和直播信息流进行合成,获得目标视频流,使得目标视频流中包括至少两个显示区域,分别显示第一视频流对应的图像和第二视频流对应的图像。由此,通过合成,可将第一视频流、第二视频流和直播信息流这三路数据流合成为一路数据流,即目标视频流。并且,由于直播信息流在第一方向上的图像长度大于第一视频流在第一方向上的图像长度,因此合成获得的目标视频流上,直播信息流可跨越第一视频流和第二视频流的合成边界,横跨第一视频流、第二视频流的显示区域,使得直播信息流包含的信息清晰可见,从而可改善连麦直播时,对于直播信息流占据的显示面积较小,导致看不清楚的问题,提高连麦直播的效果,从而提升用户观看直播的体验。

其中,合成可包括一种或多种图像处理操作,图像处理操作可包括缩放、拼接、裁剪、叠加等,在此不作限定。可以理解的是,本实施例通过一种或多种图像处理操作,可将第一视频流、第二视频和直播信息流这三种数据流合成为一路目标视频流,改善连麦直播的显示效果。在一种实施方式中,可以将第一视频流和第二视频流中至少一个视频流的图像进行缩放,并将缩放后的图像与另一个视频流的图像进行叠加,使得在目标视频流的图像上,显示有至少一个主播的缩放图像。

在另一种实施方式中,可以将第一视频流和第二视频流的图像先进行拼接,生成拼接后的图像,然后将直播信息流的图像叠加至拼接后的图像上,由此得到叠加后的图像,并得到由叠加后的图像组成的目标视频流。使得目标视频流可包括第一视频流、第二视频流和直播信息流。其中,具体实施方式可见后述实施例,在此不作赘述。

步骤s130:向观众客户端发送目标视频流,指示观众客户端显示目标视频流。

服务器可向观众客户端发送目标视频流,指示观众客户端显示目标视频流,使得观众客户端接收目标视频流,并在观众客户端显示,使得用户可基于观众客户端查看第一主播和第二主播的连麦直播。并且,在观众客户端显示的目标视频流中,直播信息流可在第一方向上占据更大的长度,大于第一视频流在第一方向上的长度,从而提高直播信息流在连麦直播的显示效果。

本申请实施例提供的视频显示方法,通过获取各连麦主播客户端的数据流,包括第一视频流、第二视频流和直播信息流,并对三路数据流进行合成,获得一路目标视频流,使得目标视频流中包括至少两个显示区域,分别显示第一视频流对应的图像和第二视频流对应的图像。由此,通过合成,可将第一视频流、第二视频流和直播信息流这三路数据流合成为一路数据流,即目标视频流。并且,由于直播信息流在第一方向上的图像长度大于第一视频流在第一方向上的图像长度,因此合成获得的目标视频流上,直播信息流可跨越第一图像和第二图像的拼接边界,横跨第一视频流、第二视频流的显示区域,使得直播信息流可在最终待显示的目标视频流上占据更大的显示面积,使得直播信息流包含的信息清晰可见,从而可改善连麦直播时,对于直播信息流占据的显示面积较小,导致看不清楚的问题,提高连麦直播的效果,从而提升用户观看直播的体验,有利于提高用户在直播间的留存率。

请参阅图3,本申请另一实施例提供了一种视频显示方法,可应用于上述服务器,于本实施例中,该方法可以包括以下步骤:

步骤s210:获取第一主播客户端的第一视频流和第二主播客户端的第二视频流,以及第一主播客户端的直播信息流。

其中,第一视频流包括多帧第一图像,第二视频流包括多帧第二图像,直播信息流包括多帧信息图像。在一些实施方式中,直播信息流可以是按与每一帧第一图像相同的时间戳一一采集得到的,也就是说每个第一图像均对应有一个时间戳相同的信息图像。

其中,直播信息流可包括歌词信息流和弹幕信息流中的至少一种。其中,歌词信息流可包括显示有歌词文本内容的歌词图像。弹幕信息流可包括显示有弹幕文本内容的弹幕图像。

在一些实施方式中,直播信息流可以是主播客户端通过截屏的方式采集得到的。在另一些实施方式中,直播信息流也可以是主播客户端自行生成得到的,例如当直播信息流包括弹幕信息流时,弹幕信息流可以是基于服务器获取的用户输入的弹幕数据及弹幕数据的时间戳,生成该时间戳对应的弹幕图像,弹幕图像中可包括相同时间戳下的一个或多个弹幕。

在一种实施方式中,歌词信息流可以是主播客户端通过截屏的方式从音乐播放器中采集得到的多帧歌词图像,歌词图像的显示内容包括歌词。歌词信息流的图像尺寸可以与第一视频流的图像尺寸相同,也可以小于第一视频流的图像尺寸。在一个示例中,歌词信息流与第一视频流在第一方向上的长度可以相同,而歌词信息流在第二方向上的长度小于第一视频流在第二方向上的长度。例如,在通过音乐播放器播放音乐时,一般会在显示屏底部显示两行歌词,此时含歌词的图像的横向分辨率可以和显示屏横向分辨率一致,而纵向分辨率可以小于显示屏纵向分辨率,例如,纵向分辨率可以是显示屏纵向分辨率的1/5,本实施例在此不做限定。具体地,若显示屏分辨率为1920×1080,采集得到的含歌词的图像的分辨率可以为1920×216。

在另一种实施方式中,弹幕信息流也可以是主播客户端通过截屏的方式,从直播间的显示界面中采集得到,图像内容包括弹幕。弹幕信息流的图像尺寸可以与第一视频流的图像尺寸相同,也可以小于第一视频流的图像尺寸。在一个示例中,弹幕信息流与第一视频流在第一方向上的长度可以相同,而歌词信息流在第二方向上的长度小于第一视频流在第二方向上的长度。例如,第一主播在基于第一主播客户端进行直播时,其直播间可以显示有多条弹幕,此时含弹幕的图像的横向分辨率可以和显示屏横向分辨率一致,而纵向分辨率可以小于或等于显示屏纵向分辨率,例如纵向分辨率可以是显示屏纵向分辨率的1/4、3/4,或可以为显示屏纵向分辨率,用户可根据实际需要设定弹幕的显示位置和数量,本实施例在此不做限定。

在一种实施方式中,直播信息流可以是歌词信息流。例如,在用户连麦唱歌,如主播之间连麦唱歌时,服务器可获取第一主播客户端的第一视频流和歌词信息流,并获取第二主播客户端的第二视频流,以通过后续操作,将三路流进行合成,使得歌词可显示在合成后的目标图像中,并显示于用户客户端。其中,用户客户端可包括第一主播客户端、第二主播客户端以及观众客户端。

在另一种实施方式中,直播信息流可以是弹幕信息流。例如,在用户连麦时,服务器可获取第一主播客户端的第一视频流和弹幕信息流,并获取第二主播客户端的第二视频流,以通过后续操作,将三路流进行合成,使得弹幕可显示在合成后的目标图像中,并显示于用户客户端。

在一些可能的实施例中,当直播信息流为弹幕信息流时,服务器还可获取第二主播客户端的直播信息流,记为第二直播信息流,并记第一主播客户端发送的直播信息流为第一直播信息流。在一些示例中,第一主播的弹幕信息流为第一主播的直播间的观众发送的弹幕信息流、第二主播的弹幕信息流为第二主播的直播间的观众发送的弹幕信息流。服务器可将四路流进行合成,即将第一、第二视频流、第一、第二直播信息流进行合成,使得两个主播的弹幕均可显示在合成后的目标图像中,并显示于用户客户端,使得用户可同时观看到两个主播,还可在连麦直播间中同时看到两个主播的弹幕,大大提高连麦直播的效果,增强互动性。

步骤s220:将第一视频流的多帧第一图像与第二视频流的多帧第二图像一一进行拼接处理,生成多帧待合成图像。

其中,第一视频流、第二视频流为还未与对方主播的视频流进行合成的数据流。具体地,第一视频流可包括多帧第一图像,第一图像为第一主播的直播间的视频直播画面,第二视频流可包括多帧第二图像,第二图像为第二主播的直播间的视频直播画面。

在一些实施例中,两个主播客户端在将视频流发送至服务器之前,可以先作图像裁剪。例如,第一主播客户端对原始尺寸的第一图像进行裁剪后获得第一图像,并将裁剪后得到的前述第一图像组成的视频流发送至服务器,使得服务器可获取经第一主播客户端裁剪后的第一视频流。同时,第二主播客户端也可对原始尺寸的第二图像进行裁剪后获得第二图像,并将裁剪后的得到前述第二图像组成的视频流发送至服务器,使得服务器可获取经第二主播客户端裁剪后的第二视频流。

在一种实施方式中,服务器获取经第一、第二主播客户端各自裁剪后的图像,即可获取第一视频流的多帧第一图像与第二视频流的多帧第二图像,并将第一图像和第二图像一一进行拼接处理,生成待合成图像,生成的每帧待合成图像至少包括两个显示区域,分别显示第一图像和第二图像。

在一些实施例中,可以将第一图像和第二图像沿任意方向进行拼接处理,具体地,将第一图像和第二图像沿任意方向排列,并将第一图像和第二图像进行拼接处理,生成一帧待合成图像。

作为一种实施方式,可以将第一图像和第二图像在第一方向上排列,并将第一图像和第二图像进行拼接处理,生成待合成图像。具体地,步骤s220的具体实施方式可包括:将每帧第一图像和第二图像沿第一方向进行拼接处理,生成一帧待合成图像,其中,第一图像、第二图像在第一方向上的长度之和等于目标尺寸在第一方向上的长度。由此,使得服务器可获取第一、第二主播客户端发送的裁剪后的图像,将第一视频流的多帧第一图像与第二视频流的多帧第二图像一一进行拼接处理,生成待合成图像,所生成的待合成图像在第一方向上的长度与目标尺寸在第一方向上的长度相同。

在一个示例中,当第一方向对应目标视频流的分辨率的横向时,第一图像、第二图像可呈横向排列,例如第一图像在左,第二图像在右,从而获取拼接处理后的一帧待合成图像,该待合成图像的左侧显示第一图像,右侧显示第二图像,由此将第一图像和第二图像横向拼接成一帧待合成图像。在另一个示例中,第一方向可对应目标视频流的分辨率的纵向,此时第一图像、第二图像可纵向排列,例如,第一图像在上,第二图像在下,从而获取拼接处理后的一帧待合成图像,该待合成图像的左侧显示第一图像,右侧显示第二图像,由此将第一图像和第二图像纵向拼接成一帧待合成图像。

其中,目标尺寸可以是自定义的尺寸,也可以是第一、第二主播客户端或观众客户端中任一客户端的显示尺寸,在此不作限定。需要说明的是,本实施例中,显示尺寸用于表征未经裁剪的原图像尺寸。作为一种实施方式,目标尺寸可以是第一主播客户端的显示尺寸,例如,第一主播的直播间的视频直播画面的显示尺寸。

在一些实施方式中,显示尺寸可以是画幅比、分辨率等参数,在此不作限定。在一个示例中,显示尺寸可以是直播画面的画幅比,例如,画幅比可以为16:9。在另一个示例中,显示尺寸也可以是直播画面的分辨率,例如,分辨率可以为1920×1080。

在一些实施例中,第一、第二主播客户端和观众客户端的显示尺寸可以均相同。由此,在目标尺寸为第一主播客户端的显示尺寸时,将第一主播客户端和第二主播客户端拼接成与目标尺寸一致,在待合成图像的图像尺寸与目标尺寸相同,则可使得观众客户端可实现与主播客户端相同的显示效果。

在一种实施方式中,主播客户端裁剪后的图像在第一方向上的长度可以均是目标尺寸在第一方向上的长度的一半。通过将每帧第一图像和第二图像沿第一方向进行拼接处理后,生成的一帧待合成图像中,一半区域而可显示第一图像,另一半区域可显示第二图像,使得第一、第二主播可各占一半显示区域。

在一些实施例中,第一、第二主播客户端在将视频流发送至服务器之前,也可以不作裁剪,以向服务器发送未经裁剪的视频流,为表述方便,将未经裁剪的视频流记为原始视频流,未经裁剪的第一视频流记为原始第一视频流,未经裁剪的第二视频流记为原始第二视频流。由此,服务器可将原始第一视频流的多帧第一图像与原始第二视频流的多帧第二图像一一进行拼接处理,生成多帧待合成图像。在一种实施方式中,每帧待合成图像在第一方向上的图像长度可以为第一图像、第二图像在第一方向上的图像长度之和。

步骤s230:将直播信息流的多帧信息图像一一叠加至待合成图像的目标位置,得到目标视频流的多帧目标图像。

其中,根据实际需要,目标位置可以是任意位置。例如,目标位置可以是待合成图像的左上角、右上角、居中位置,顶部居中位置、底部居中位置等,在此不作限定。在一些实施方式中,通过将直播信息流的多帧信息图像一一叠加至待合成图像的目标位置,得到目标视频流的多帧目标图像,其中,每帧信息图像叠加至一帧待合成图像,可使得直播信息流显示于目标图像的目标位置,根据目标位置的不同,可实现不同的叠加显示效果。由此,通过将第一图像和第二图像进行拼接处理,生成待合成图像,并将直播信息流的多帧信息图像一一叠加至待合成图像的目标位置,得到目标视频流的多帧目标图像,可将第一视频流、第二视频流、直播信息流这三路数据流合成为一路数据流,即目标视频流,并且直播信息流的信息图像可对应显示于目标视频流中目标图像的目标位置。

作为一种实施方式,目标位置可以为待合成图像的左上角或右上角。例如,目标位置可以为待合成图像的左上角,则可将直播信息流的信息图像的左上角与待合成图像的左上角对齐,具体地,可将信息图像的左上角坐标与待合成图像的左上角坐标对齐。在一个示例中,若直播信息流是弹幕信息流,即将直播信息流的多帧信息图像一一叠加至待合成图像的左上角或右上角,使得弹幕信息流可以在目标图像中的左上角或右上角显示,并使得多帧目标图像连续显示时,可实现弹幕信息从左至右或从右至左的滚动显示。

作为另一种实施方式,目标位置可以为待合成图像的底部居中位置,使得直播信息流在目标图像的底部居中显示。在一个示例中,若直播信息流是歌词信息流,歌词信息流包括显示有歌词文本内容的歌词图像,目标位置可以是顶部居中位置、底部居中位置等,在此不做限定。例如,目标位置可以是底部居中位置,可将歌词图像叠加至待合成图像的底部居中位置,使得歌词在底部居中显示。

在一些实施例中,直播信息流在第一方向上的图像长度可以与目标尺寸在第一方向上的长度相同。而由于第一图像、第二图像在第一方向上的长度之和等于目标尺寸在第一方向上的长度,因此,直播信息流在第一方向上的图像长度大于第一视频流在第一方向上的图像长度。由此,在第一图像和第二图像沿第一方向进行拼接处理后,所生成的待合成图像中,直播信息流可跨越第一图像和第二图像的拼接边界,即横跨第一图像和第二图像进行显示,占据更大的显示面积。

作为一种实施方式,目标尺寸可以是第一主播客户端的显示尺寸,直播信息流在第一方向上的图像长度可以与目标尺寸在第一方向上的长度相同,此时,直播信息流在第一方向上的图像长度可以与第一主播客户端的显示尺寸在第一方向上的长度相同,也就是说,第一主播客户端可以不对直播信息流的信息图像进行裁剪,此时,第一主播客户端可以向服务器发送经裁剪的第一视频流和未经裁剪的直播信息流。由此,直播信息流的信息图像与待合成图像在第一方向上的长度相同,可直接叠加至待合成图像,使得直播信息流的信息图像可以按照原来在第一主播客户端显示的尺寸进行显示,使得信息图像清晰可见。相对于目前连麦直播时,信息图像仅可显示于第一图像或第二图像的显示区域内,即不能全屏显示,本实施例可大大改善连麦直播时信息图像显示的效果。

在一个具体的示例中,请参阅图4,图4示出了一种视频合成示意图。具体地,如图4所示,第一主播客户端向服务器发送的数据流11包括第一视频流的第一图像111和直播信息流的信息图像112,第二主播客户端向服务器发送第二视频流的第二图像12,将第一图像111、信息图像112和第二图像12进行合成,可按第一目标图像尺寸对第一图像111进行裁剪,第二目标图像尺寸对第二图像12进行裁剪,然后将裁剪后的第一图像111、第二图像12进行拼接处理,得到待合成图像,并将信息图像112叠加至待合成图像,得到目标视频流的一帧目标图像20。由此,在目标图像20中,裁剪后的第一图像111显示于左侧,裁剪后的第二图像12显示于右侧,信息图像112显示于目标图像20的底部居中位置。由此,多主播进行连麦直播时,可按合适大小显示信息图像,提高连麦直播的显示效果,使得用户可在观看连麦直播的同时查看直播信息流显示的内容,提高直播效果,从而有利于提高连麦直播的观众留存率等。

可以理解的是,在一些实施例中,为保证直播效果,在图像进行裁剪时,可根据图像中主播的显示位置进行裁剪,例如,若第一主播在第一图像111的左侧显示,可将包含第一主播的区域裁剪,使得裁剪后的图像中至少包括第一主播的完整脸部。

在一些实施例中,第一、第二主播客户端在将视频流发送至服务器之前,也可以不作裁剪,可使得经拼接处理后,生成的待合成图像在第一方向上的图像长度可以为第一图像、第二图像在第一方向上的图像长度之和。此时,在将直播信息流的多帧信息图像一一叠加至待合成图像的目标位置之前,还可将直播信息流的多帧信息图像沿第一方向进行拉伸,以使得直播信息流在第一方向上的图像长度大于第一图像在第一方向上图像长度。由此,通过将直播信息流的多帧信息图像一一叠加至待合成图像的目标位置后,在得到的多帧目标图像中,信息图像可以在跨越显示于第一图像和第二图像之上,保证足够的显示大小,并且由于第一图像、第二图像在未经裁剪的情况下拼接生成待合成图像,因此,待合成图像自身的图像尺寸已足够大,而再通过拉伸信息图像后叠加到待合成图像,可使得信息图像在目标视频流中的目标图像中清晰可见,而且信息图像中包括的文本内容可按更大的字体大小显示,可进一步提高连麦直播的显示效果,提高直播效果,从而有利于提高连麦直播的观众留存率等。

步骤s240:向观众客户端发送目标视频流,指示观众客户端显示目标视频流。

需要说明的是,本实施例中未详细描述的部分可以参考前述实施例,在此不再赘述。

本实施例提供的视频显示方法,在前述实施例的基础上,通过将第一图像和第二图像进行拼接处理,生成待合成图像,并将直播信息流的多帧信息图像一一叠加至待合成图像的目标位置,得到目标视频流的多帧目标图像,可将第一视频流、第二视频流、直播信息流这三路数据流合成为一路数据流,即目标视频流,并且直播信息流的信息图像可对应显示于目标视频流中目标图像的目标位置。从而使得在目标视频流的目标图像中,直播信息流的信息图像清晰可见。相对于目前连麦直播时,信息图像仅可显示于第一图像或第二图像的显示区域内,即不能全屏显示,本实施例可大大改善连麦直播时信息图像显示的效果。并在第一、第二主播连麦唱歌时,直播信息流可包括歌词信息流,歌词横跨第一图像和第二图像,并显示于待合成图像的目标位置。

并且在一些实施例中,通过将第一图像和第二图像沿第一方向进行拼接处理,生成待合成图像,并将直播信息流叠加至待合成图像的目标位置,获得目标视频流,此时,若直播信息流在第一方向上的图像长度与目标尺寸在第一方向上的长度相同,并且目标位置为底部居中位置时,那么最终合成的目标图像中,歌词图像可在目标图像的底部居中显示,并且跨越第一图像和第二图像的拼接边界,横跨第一、第二主播的视频直播画面,由此使得在连麦直播时,使得歌词在底部居中位置上清晰可见,大大改善连麦直播时,对歌词的显示效果。

另外,在一些实施例中,服务器在合成之前,还可以先对第一视频流、第二视频流的图像进行裁剪,一方面,可使得主播客户端无需裁剪图像,可由服务器裁剪后合成,仍然可提高连麦显示的效果,还可降低对主播客户端的处理压力,提高主播客户端的运行效率;另一方面,还可兼容不同显示尺寸的第一主播客户端和第二主播客户端之间连麦直播时的显示效果。具体地,请参阅图5,本申请又一实施例提供了一种视频显示方法,可应用于上述服务器,于本实施例中,该方法可以包括以下步骤:

步骤s310:按第一目标图像尺寸对原始第一视频流的多帧第一图像进行裁剪,获得第一视频流。

在一些实施方式中,第一主播客户端、第二主播客户端可向服务器发送未经裁剪的数据流,例如,原始第一视频流、原始第二视频流、原始直播信息流,从而使得服务器可获取原始第一视频流、原始第二视频流以及原始直播信息流。其中,原始视频流表征未经裁剪的视频流,即原始第一视频流包括未经裁剪的多帧第一图像,原始第二视频流包括未经裁剪的多帧第二图像。由此,服务器可按第一目标图像尺寸对原始第一视频流的多帧第一图像进行裁剪,按第二目标图像尺寸对原始第二视频流的多帧第二图像进行裁剪。

其中,第一目标图像尺寸小于或等于原始第一视频流的图像尺寸。并在一些实施方式中,为保证裁剪后的显示完整性以及直播的显示效果,第一目标图像尺寸至少大于第一主播的面部在第一图像的显示尺寸。若原始第一视频流的图像尺寸对应分辨率为1920×1080时,第一目标图像尺寸可为1000×1080。服务器按第一目标图像尺寸对原始第一视频流的多帧第一图像进行裁剪,获得的第一视频流的图像尺寸与第一目标图像尺寸相同。

在一些实施方式中,以目标视频流的左上角为原点坐标进行说明,按第一目标图像尺寸对原始第一视频流的多帧第一图像进行裁剪时,可在对齐原点坐标,按第一目标图像尺寸进行裁剪;也可对原始第一视频流进行居中裁剪,例如,将原始第一视频流在第一方向上的中线作为参考线,根据第一目标图像尺寸确定裁剪线,并根据裁剪线对第一视频流的多帧第一图像进行裁剪,获得第一视频流。

在一些实施例中,按第一目标图像尺寸对原始第一视频流的多帧第一图像进行裁剪时,可仅按第一目标图像尺寸中的一个方向进行裁剪。例如,按第一目标图像尺寸对原始第一视频流的多帧第一图像进行裁剪,获得第一视频流的具体实施方式,可以包括:按第一目标图像尺寸在第一方向上的长度,对原始第一视频流的多帧第一图像进行裁剪,获得第一视频流,从而第一视频流保持原来在第二方向上的图像长度不变,并在第一方向上的图像长度与第一目标图像尺寸在第一方向上的长度相同。

作为一种实施方式,可对原始第一视频流进行居中裁剪。具体地,可将原始第一视频流在第一方向上的中线作为参考线,根据第一目标图像尺寸沿第一方向确定两条裁剪线,两条裁剪线垂直于第一方向,互相平行于参考线,并基于参考线对称。由此,根据两条裁剪线对第一视频流的多帧第一图像进行裁剪,可将两条裁剪线之间的图像作为第一图像,从而获得经第一目标图像尺寸对原始第一视频流的多帧第一图像裁剪后得到的第一视频流。

步骤s320:按第二目标图像尺寸对原始第二视频流的多帧第二图像进行裁剪,获得第二视频流。

其中,第二目标图像尺寸小于或等于原始第二视频流的图像尺寸。并在一些实施方式中,为保证裁剪后的显示完整性以及直播的显示效果,第二目标图像尺寸至少大于第二主播的面部在第二图像的显示尺寸。若原始第二视频流的图像尺寸对应分辨率为1920×1080时,第二目标图像尺寸可为1000×1080。服务器按第二目标图像尺寸对原始第二视频流的多帧第二图像进行裁剪,获得的第二视频流的图像尺寸与第二目标图像尺寸相同。

其中,第一目标图像尺寸在第一方向上的长度大于或等于第二目标图像尺寸在第一方向上的长度。由此,可使得第一视频流在第一方向上的长度大于或等于第二视频流在第一方向上的长度。

于本实施例中,按第二目标图像尺寸对原始第二视频流的多帧第二图像进行裁剪,获得第二视频流的方法原理,与步骤s320相似,在此不再赘述。

步骤s330:获取第一主播客户端的第一视频流和第二主播客户端的第二视频流,以及第一主播客户端的直播信息流。

步骤s340:将第一视频流的多帧第一图像与第二视频流的多帧第二图像一一进行拼接处理,生成多帧待合成图像。

步骤s350:将直播信息流的多帧信息图像一一叠加至待合成图像的目标位置,得到目标视频流的多帧目标图像。

在一种实施方式中,第一目标图像尺寸可以小于原始第一视频流的图像尺寸,此时,服务器可对原始第一视频流的多帧第一图像、原始第二视频流的多帧第二图像分别进行裁剪。并若第一目标图像尺寸在第一方向上的长度大于第二目标图像尺寸在第一方向上的长度,可使得第一主播客户端的第一视频流可在目标图像中占据更大面积,从而得到更突出的显示效果。

在一些实施例中,若第一、第二主播在连麦唱歌,由于第一主播指代当前唱歌的主播,则通过使第一目标图像尺寸在第一方向上的长度大于第二目标图像尺寸在第一方向上的长度,使得当前唱歌的第一主播的第一图像可占据更大的显示面积,从而突出显示唱歌主播。由此,既可同时显示连麦的多个主播,又可提高连麦直播时对直播信息流的显示效果,还可对当前在唱歌的第一主播进行突出显示,突出当前唱歌的主播,进一步提高显示效果以及用户体验。

在一个示例中,请参阅图6,图6示出了一种视频合成示意图。具体地,如图6所示,第一主播客户端向服务器发送的数据流31包括第一视频流的第一图像311和直播信息流的信息图像312,第二主播客户端向服务器发送第二视频流的第二图像32,将第一图像311、信息图像312和第二图像32进行合成,可按第一目标图像尺寸对第一图像311进行裁剪,第二目标图像尺寸对第二图像32进行裁剪,使得相比于第二图像,第一图像可在目标图像中占据更大面积。然后将裁剪后的第一图像311、第二图像32进行拼接处理,得到待合成图像,并将信息图像312叠加至待合成图像,得到目标视频流的一帧目标图像40。由此,在目标图像40中,裁剪后的第一图像311显示于左侧,裁剪后的第二图像32显示于右侧,并且第一图像占据的显示面积大于第二图像,信息图像312显示于目标图像40的底部居中位置,即信息图像312显示于目标图像40中的区域41。由此,多主播进行连麦直播时,在使得信息图像清晰可见的基础上,还可突出显示其中一个主播,进一步改善连麦直播的显示效果,进而改善连麦直播的直播效果。

并在一些示例中,例如,第一、第二主播在连麦唱歌时,由于第一主播始终表征当前唱歌的主播,则通过使第一目标图像尺寸在第一方向上的长度大于第二目标图像尺寸在第一方向上的长度,使得合成后得到的目标图像中,当前唱歌的第一主播的第一图像可占据更大的显示面积,从而突出显示唱歌主播。

在一些实施例中,将直播信息流的多帧信息图像一一叠加至待合成图像的目标位置,得到目标视频流的多帧目标图像之前,服务器还可以对直播信息流的多帧信息图像进行裁剪,裁剪后的信息图像在第一方向上的图像长度仍大于第一视频流在第一方向上的图像长度。由此,使得服务器还可以根据实际需要裁剪直播信息流的图像尺寸,从而在保证直播信息流足够的显示大小时,可进一步调整直播信息流在目标视频流的显示效果,以达到更佳的显示效果。

步骤s360:向观众客户端发送目标视频流,指示观众客户端显示目标视频流。

需要说明的是,本实施例中未详细描述的部分可以参考前述实施例,在此不再赘述。

在一些实施例中,服务器获取主播客户端发送的数据流,可以分别将数据流发送给对方主播客户端,使得双方主播客户端可以自行合成目标视频流并显示,使得连麦双方主播均可实时看到对方主播的直播信息流。具体地,请参阅图7,本申请再一实施例提供了一种视频显示方法,可应用于上述服务器,于本实施例中,该方法可以包括以下步骤:

步骤s410:获取第一主播客户端的第一视频流和第二主播客户端的第二视频流,以及第一主播客户端的直播信息流。

步骤s420:将第一视频流、第二视频流和直播信息流进行合成,获得目标视频流。

步骤s430:将第二视频流发送至第一主播客户端。

服务器将第二视频流发送至第一主播客户端,指示第一主播客户端将第一视频流、第二视频流和直播信息流进行合成,获得目标视频流,并显示目标视频流。由此,使得第一主播客户端可获取第二视频流,并将三路数据流合成为目标视频流,显示目标视频流,使得第一主播基于第一主播客户端可实时看到连麦直播画面。

在一些实施例中,将第一视频流、第二视频流和直播信息流进行合成,获得目标视频流,并显示目标视频流的具体实施方式可参考前述实施例,在此不再赘述。

步骤s440:将第一视频流和直播信息流发送至第二主播客户端。

服务器将第二视频流发送至第一主播客户端,指示第二主播客户端将第一视频流、第二视频流和直播信息流进行合成,获得目标视频流,并显示目标视频流。由此,使得第二主播客户端可获取第一视频流和直播信息流,并将三路数据流合成为目标视频流,显示目标视频流,使得第二主播基于第二主播客户端可实时看到连麦直播画面。

在一些实施例中,将第一视频流、第二视频流和直播信息流进行合成,获得目标视频流,并显示目标视频流的具体实施方式可参考前述实施例,在此不再赘述。

步骤s450:将第一视频流、第二视频流和直播信息流进行合成,获得目标视频流。

步骤s460:向观众客户端发送目标视频流,指示观众客户端显示目标视频流。

需要说明的是,本实施例对步骤之间的执行顺序不做任何限定。例如,步骤s420、步骤s430、步骤s440之间可同时执行,也可先后执行,在此不作限定。

需要说明的是,本实施例中未详细描述的部分可以参考前述实施例,在此不再赘述。

在一些实施例中,服务器获取主播客户端发送的数据流,可以分别将数据流发送给对方主播客户端,使得双方主播客户端可以自行合成目标视频流并显示。具体地,请参阅图8,示出了本申请还一个实施例提供的视频显示方法,可应用于第一主播客户端,于本实施例中,该方法可以包括以下步骤:

步骤s510:获取与第一主播客户端建立连麦的第二主播客户端的第二视频流。

在第一主播客户端和第二主播客户端建立连麦时,服务器可获取第二主播客户端的第二视频流,并将第二视频流发送至第一主播客户端,使得第一主播客户端可获取第二主播客户端的第二视频流。

步骤s520:获取第一主播客户端的第一视频流和直播信息流。

步骤s530:将第一视频流、第二视频流和直播信息流进行合成,获得目标视频流。

步骤s540:显示目标视频流。

需要说明的是,本实施例中未详细描述的部分可以参考前述实施例,在此不再赘述。

本申请实施例提供的视频显示方法,应用于第一主播客户端,通过获取与第一主播客户端建立连麦的第二主播客户端的第二视频流,然后获取第一主播客户端的第一视频流和直播信息流,接着将第一视频流、第二视频流和直播信息流进行合成,获得目标视频流,最后显示目标视频流。由此,本实施例通过获取对方主播的第二视频流,即可在客户端本地进行合成和显示。在前述实施例的基础上,不仅可提高连麦显示效果,而且可提高降低与服务器之间的数据传输量,提高传输效率,降低对网络带宽等的要求。并且主播客户端可无需等待服务器合成,当服务器的合成模块出现问题时,主播客户端仍可正常合成和显示,可提高系统可用性。

另外,在一些实施例中,在获得目标视频流后,服务器可将目标视频流发送至用户客户端。其中,用户客户端可包括第一主播客户端、第二主播客户端以及观众客户端。由此,在获得目标视频流后,服务器可将目标视频流发送至第一主播客户端、第二主播客户端和观众客户端,以指示第一主播客户客户端、第二主播客户端和观众客户端显示目标视频流。从而通过由服务器执行图像合成的操作,并发送至各客户端,使得各客户端(无论主播还是观众客户端)都无需自行进行图像合成,因此可降低运行各客户端的终端设备的运算或处理压力,使得终端设备可保持其良好的处理效率,有利于保证各客户端的运行流畅性。

在一些实施例中,第一主播客户端可先将第一视频流的第一图像与第二视频流的多帧第二图像一一进行拼接处理后,将直播信息流的多帧信息图像一一叠加至待合成图像的目标位置,得到目标视频流的多帧目标图像。由此,在第一主播客户端和第二主播客户端建立连麦后,第一主播客户端可获取三路数据流,并将三路数据流进行合成为目标视频流后进行显示,使得第一主播可基于第一主播客户端实时观看连麦直播的画面。具体地,请参阅图9,示出了本申请再另一个实施例提供的视频显示方法,可应用于第一主播客户端,于本实施例中,该方法可以包括以下步骤:

步骤s610:获取与第一主播客户端建立连麦的第二主播客户端的第二视频流。

步骤s620:获取第一主播客户端的第一视频流和直播信息流。

在一些实施例中,第一主播客户端可以对原始第一视频流的第一图像裁剪后,再发送至服务器,使得第一图像可直接用于合成,提高合成效率,提高连麦直播的实时性和显示效果。具体地,在一种实施方式中,获取第一主播客户端的第一视频流和直播信息流的具体实施方式,可包括:对原始第一视频流的多帧第一图像进行裁剪,获得第一视频流;获取直播信息流。其中,第一视频流、第二视频流在第一方向上的图像长度之和等于目标尺寸在第一方向上的长度。

步骤s630:将第一视频流的多帧第一图像与第二视频流的多帧第二图像一一进行拼接处理,生成多帧待合成图像。

步骤s640:将直播信息流的多帧信息图像一一叠加至待合成图像的目标位置,得到目标视频流的多帧目标图像。

步骤s650:显示目标视频流。

需要说明的是,本实施例中未详细描述的部分可以参考前述实施例,在此不再赘述。

请参阅图10,示出了本申请再又一个实施例提供的视频显示方法,可应用于上述视频显示系统。下面将针对图10所示的时序图进行阐述,具体地,于本实施例中,该方法可以包括以下步骤:

步骤s701:获取第一主播客户端的第一视频流和第二主播客户端的第二视频流,以及第一主播客户端的直播信息流。

步骤s702:将第一视频流、第二视频流和直播信息流进行合成,获得目标视频流。

步骤s703:向观众客户端发送目标视频流。

步骤s704:接收目标视频流。

步骤s705:显示目标视频流。

步骤s706:将第二视频流发送至第一主播客户端。

步骤s707:将第一视频流和直播信息流发送至第二主播客户端。

步骤s708:获取与第一主播客户端建立连麦的第二主播客户端的第二视频流。

步骤s709:获取第一主播客户端的第一视频流和直播信息流。

步骤s710:将第一视频流、第二视频流和直播信息流进行合成,获得目标视频流。

步骤s711:显示目标视频流。

步骤s712:获取第一主播客户端的第一视频流和直播信息流。

步骤s713:获取第二主播客户端的第二视频流。

步骤s714:将第一视频流、第二视频流和直播信息流进行合成,获得目标视频流。

步骤s715:显示目标视频流。

在一些实施例中,步骤s702、步骤s706和步骤s707之间可以同时执行,也可先后执行,在此不作限定。

另外,需要说明的是,本实施例对步骤s703至s705、步骤s708至步骤s711和步骤s712至步骤s715之间的执行顺序不作任何限定,可同时执行,也可先后执行。

需要说明的是,本实施例中未详细描述的部分可以参考前述实施例,在此不再赘述。

应该理解的是,虽然图2至图10中的流程示意图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2至图10中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。

请参阅图11,图11示出了本申请实施例提供的一种视频显示装置1100的模块框图,可应用于上述服务器。下面将针对图11所示的模块框图进行阐述,所述视频显示装置1100包括:数据获取模块1110、图像合成模块1120以及视频显示模块1130,其中:

数据获取模块1110,用于获取第一主播客户端的第一视频流和第二主播客户端的第二视频流,以及所述第一主播客户端的直播信息流,所述第一主播客户端和所述第二主播客户端之间已建立连麦;

图像合成模块1120,用于将所述第一视频流、所述第二视频流和所述直播信息流进行合成,获得目标视频流,其中,所述目标视频流中,所述直播信息流在第一方向上的图像长度大于所述第一视频流在第一方向上的图像长度,其中,所述第一方向为所述目标视频流的分辨率所对应的横向和纵向中的至少一种;

视频显示模块1130,用于向观众客户端发送所述目标视频流,指示所述观众客户端显示所述目标视频流。

进一步地,所述视频显示装置1100还包括:第一发送模块以及第二发送模块,其中:

第一发送模块,用于将所述第二视频流发送至所述第一主播客户端,指示所述第一主播客户端将所述第一视频流、所述第二视频流和所述直播信息流进行合成,获得目标视频流,并显示所述目标视频流;

第二发送模块,用于将所述第一视频流和所述直播信息流发送至所述第二主播客户端,指示所述第二主播客户端将所述第一视频流、所述第二视频流和所述直播信息流进行合成,获得所述目标视频流,并显示所述目标视频流。

进一步地,所述图像合成模块1120可包括:第一拼接子模块以及第一叠加子模块,其中:

第一拼接子模块,用于将所述第一视频流的多帧第一图像与所述第二视频流的多帧第二图像一一进行拼接处理,生成多帧待合成图像;

第一叠加子模块,用于将所述直播信息流的多帧信息图像一一叠加至待合成图像的目标位置,得到所述目标视频流的多帧目标图像,其中,每帧所述信息图像叠加至一帧所述待合成图像。

进一步地,第一拼接子模块可包括:第一拼接单元,其中:

第一拼接单元,用于将每帧所述第一图像和所述第二图像沿第一方向进行拼接处理,生成一帧所述待合成图像,所述第一图像、所述第二图像在第一方向上的长度之和等于目标尺寸在第一方向上的长度。

进一步地,所述将所述第一视频流、所述第二视频流和所述直播信息流进行合成,获得所述目标视频流之前,所述视频显示装置1100还可包括:第一裁剪模块以及第二裁剪模块,其中:

第一裁剪模块,用于按第一目标图像尺寸对原始第一视频流的多帧第一图像进行裁剪,获得第一视频流;

第二裁剪模块,用于按第二目标图像尺寸对原始第二视频流的多帧第二图像进行裁剪,获得第二视频流,所述第一目标图像尺寸在第一方向上的长度大于或等于所述第二目标图像尺寸在第一方向上的长度。

本申请实施例提供的视频显示装置用于实现前述方法实施例中相应的视频显示方法,并具有相应的方法实施例的有益效果,在此不再赘述。

请参阅图12,图12示出了本申请实施例提供的一种视频显示装置1200的模块框图,可应用于上述第一主播客户端。下面将针对图12所示的模块框图进行阐述,所述视频显示装置1200包括:第一获取模块1210、第二获取模块1220、第一合成模块1230以及第一显示模块1240,其中:

第一获取模块1210,用于获取与所述第一主播客户端建立连麦的第二主播客户端的第二视频流;

第二获取模块1220,用于获取所述第一主播客户端的第一视频流和直播信息流;

第一合成模块1230,用于将所述第一视频流、所述第二视频流和所述直播信息流进行合成,获得目标视频流,其中,所述目标视频流中,所述直播信息流在第一方向上的图像长度大于所述第一视频流在第一方向上的图像长度;

第一显示模块1240,用于显示所述目标视频流。

进一步地,第一合成模块可包括:第二拼接子模块以及第二叠加子模块,其中:

第二拼接子模块,用于将所述第一视频流的多帧第一图像与所述第二视频流的多帧第二图像一一进行拼接处理,生成多帧待合成图像;

第二叠加子模块,用于将所述直播信息流的多帧信息图像一一叠加至待合成图像的目标位置,得到所述目标视频流的多帧目标图像,其中,每帧所述信息图像叠加至一帧所述待合成图像。

进一步地,第二获取模块1220可包括:图像裁剪模块以及信息获取模块,其中:

图像裁剪模块,用于对原始第一视频流的多帧第一图像进行裁剪,获得第一视频流,所述第一视频流、所述第二视频流在第一方向上的图像长度之和等于目标尺寸在第一方向上的长度;

信息获取模块,用于获取所述直播信息流。

进一步地,在一些实施方式中,所述第一视频流在第一方向上的图像长度大于或等于所述第二视频流在第一方向上的图像长度。

进一步地,在一些实施方式中,所述直播信息流在第一方向上的图像长度等于所述目标尺寸在第一方向上的长度。

本申请实施例提供的视频显示系统用于实现前述方法实施例中相应的视频显示方法,并具有相应的方法实施例的有益效果,在此不再赘述。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述装置和模块的具体工作过程,可以参阅前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,所显示或讨论的模块相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。

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

本申请实施例还提供了一种视频显示系统,所述视频显示系统包括服务器、第一主播客户端,第二主播客户端以及观众客户端,其中:

服务器,用于获取第一主播客户端的第一视频流和第二主播客户端的第二视频流,以及第一主播客户端的直播信息流,第一主播客户端和第二主播客户端之间已建立连麦;将第一视频流、第二视频流和直播信息流进行合成,获得目标视频流,其中,目标视频流中,直播信息流在第一方向上的图像长度大于第一视频流在第一方向上的图像长度,其中,第一方向为目标视频流的分辨率所对应的横向和纵向中的至少一种;向观众客户端发送目标视频流;

服务器,还用于将第二视频流发送至第一主播客户端,将第一视频流和直播信息流发送至第二主播客户端;

第一主播客户端,用于获取与第一主播客户端建立连麦的第二主播客户端的第二视频流;获取第一主播客户端的第一视频流和直播信息流;将第一视频流、第二视频流和直播信息流进行合成,获得目标视频流;显示目标视频流;

第二主播客户端,用于获取第一主播客户端的第一视频流和直播信息流;获取第二主播客户端的第二视频流;将第一视频流、第二视频流和直播信息流进行合成,获得目标视频流;显示目标视频流;

观众客户端,用于接收目标视频流;显示目标视频流。

本申请实施例提供的视频显示系统用于实现前述方法实施例中相应的视频显示方法,并具有相应的方法实施例的有益效果,在此不再赘述。

在一些实施例中,视频显示系统可采用多种服务器,例如多个服务器可分别用于接收和发送数据流、图像合成以及内容分发等业务。由此,使得不同的业务或操作可以由不同的服务器去执行,不仅可提高处理效率,而且还可提高系统的容错性和可用性。

在一些实施方式中,以服务器的数量为3个为例,对视频显示系统进行说明。请参阅图13,示出了本申请一个实施例提供的视频显示系统的示意性框图。如图13所示,服务器可包括媒体服务器、混画服务器和分发服务器。其中,媒体服务器用于接收和发送数据流,在第一主播客户端和第二主播客户端建立连麦后,媒体服务器可订阅两个主播客户端的数据流,并且完成第一主播客户端对第二主播客户端的数据流的订阅、以及第二主播客户端对第一主播客户端的数据流的订阅。从而在连麦直播时,获取两个主播客户端的数据流,并将一方的数据流发送至对方主播客户端,使得两个主播客户端分别可获取自己和对方的数据流。另外,服务器在获取到两个主播客户端的数据流后,还可将数据流发送至混画服务器。

在一种实施方式中,第一主播客户端可获取第一视频流、直播信息流的第二主播客户端的第二视频流,并通过运行第一主播客户端的终端设备,对第一视频流、第二视频流和直播信息流进行合成,获得目标视频流,并显示。第二主播客户端可获取第二视频流和第一主播客户端的第一视频流、直播信息流,并通过运行第二主播客户端的终端设备,对第一视频流、第二视频流和直播信息流进行合成,获得目标视频流,并显示。

其中,混画服务器用于图像合成。混画服务器接收到两个主播客户端的数据流后,对数据流进行合成。例如,第一主播客户端发送的数据流可包括第一视频流和直播信息流,第二主播端发送的数据流可包括第二视频流,混画服务器接收后,将第一视频流、第二视频流和直播信息流进行合成,获得目标视频流。具体合成方式可参考前述实施例,在此不再赘述。进一步地,混画服务器可将目标视频流发送至分发服务器。

其中,分发服务器用于分发,具体地,分发服务器可将目标视频流发送至一个或多个客户端。例如,分发服务器可将目标视频流发送至观众客户端。由此,使得一个或多个观众用户可基于观众客户端观看第一主播和第二主播之间的连麦直播。

本申请实施例提供的视频显示系统用于实现前述方法实施例中相应的视频显示方法,并具有相应的方法实施例的有益效果,在此不再赘述。

请参阅图14,其示出了本申请一个实施例提供的一种电子设备的结构框图。该电子设备1400可以是服务器,服务器可以是本地服务器,也可以是云端服务器,可以是单个服务器,也可以是多个服务器。本申请中的电子设备1400可以包括一个或多个如下部件:处理器1410、存储器1420以及一个或多个应用程序,其中一个或多个应用程序可以被存储在存储器1420中并被配置为由一个或多个处理器1410执行,一个或多个程序配置用于执行如前述与服务器对应的方法实施例所描述的方法。

处理器1410可以包括一个或者多个处理核。处理器1410利用各种接口和线路连接整个电子设备1400内的各个部分,通过运行或执行存储在存储器1420内的指令、程序、代码集或指令集,以及调用存储在存储器1420内的数据,执行电子设备1400的各种功能和处理数据。可选地,处理器1410可以采用数字信号处理(digitalsignalprocessing,dsp)、现场可编程门阵列(field-programmablegatearray,fpga)、可编程逻辑阵列(programmablelogicarray,pla)中的至少一种硬件形式来实现。处理器1410可集成中央处理器(centralprocessingunit,cpu)、图像处理器(graphicsprocessingunit,gpu)和调制解调器等中的一种或几种的组合。其中,cpu主要处理操作系统、直播界面和应用程序等;gpu用于负责显示内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器1410中,单独通过一块通信芯片进行实现。

存储器1420可以包括随机存储器(randomaccessmemory,ram),也可以包括只读存储器(read-onlymemory)。存储器1420可用于存储指令、程序、代码、代码集或指令集。存储器1420可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于实现至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现下述各个方法实施例的指令等。存储数据区还可以存储电子设备1400在使用中所创建的数据(比如电话本、音视频数据、聊天记录数据)等。

请参阅图15,其示出了本申请实施例提供的一种电子设备的结构框图。该电子设备1500可以是手机、平板电脑、笔记本电脑、台式电脑等能够运行应用程序、客户端的电子设备。本申请中的电子设备1500可以包括一个或多个如下部件:处理器1510、存储器1520以及一个或多个应用程序,其中一个或多个应用程序可以被存储在存储器1520中并被配置为由一个或多个处理器1510执行,一个或多个程序配置用于执行如前述与第一主播客户端对应的方法实施例所描述的方法。

处理器1510可以包括一个或者多个处理核。处理器1510利用各种接口和线路连接整个电子设备1500内的各个部分,通过运行或执行存储在存储器1520内的指令、程序、代码集或指令集,以及调用存储在存储器1520内的数据,执行电子设备1500的各种功能和处理数据。可选地,处理器1510可以采用数字信号处理(digitalsignalprocessing,dsp)、现场可编程门阵列(field-programmablegatearray,fpga)、可编程逻辑阵列(programmablelogicarray,pla)中的至少一种硬件形式来实现。处理器1510可集成中央处理器(centralprocessingunit,cpu)、图像处理器(graphicsprocessingunit,gpu)和调制解调器等中的一种或几种的组合。其中,cpu主要处理操作系统、直播界面和应用程序等;gpu用于负责显示内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器1510中,单独通过一块通信芯片进行实现。

存储器1520可以包括随机存储器(randomaccessmemory,ram),也可以包括只读存储器(read-onlymemory)。存储器1520可用于存储指令、程序、代码、代码集或指令集。存储器1520可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于实现至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现下述各个方法实施例的指令等。存储数据区还可以存储电子设备1500在使用中所创建的数据(比如电话本、音视频数据、聊天记录数据)等。

本领域技术人员可以理解,图14-图15中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的电子设备的限定,具体的电子设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

请参阅图16,其示出了本申请实施例提供的一种计算机可读取存储介质的结构框图。该计算机可读取存储介质1600中存储有程序代码,所述程序代码可被处理器调用执行上述应用于服务器的方法实施例中所描述的方法。

计算机可读取存储介质1600可以是诸如闪存、eeprom(电可擦除可编程只读存储器)、eprom、硬盘或者rom之类的电子存储器。可选地,计算机可读取存储介质1600包括非瞬时性计算机可读介质(non-transitorycomputer-readablestoragemedium)。计算机可读取存储介质1600具有执行上述方法中的任何方法步骤的程序代码1610的存储空间。这些程序代码可以从一个或者多个计算机程序产品中读出或者写入到这一个或者多个计算机程序产品中。程序代码1610可以例如以适当形式进行压缩。

请参阅图17,其示出了本申请实施例提供的一种计算机可读取存储介质的结构框图。该计算机可读取存储介质1700中存储有程序代码,所述程序代码可被处理器调用执行上述应用于终端设备或第一主播客户端的方法实施例中所描述的方法。

计算机可读取存储介质1700可以是诸如闪存、eeprom(电可擦除可编程只读存储器)、eprom、硬盘或者rom之类的电子存储器。可选地,计算机可读取存储介质1700包括非瞬时性计算机可读介质(non-transitorycomputer-readablestoragemedium)。计算机可读取存储介质1700具有执行上述方法中的任何方法步骤的程序代码1710的存储空间。这些程序代码可以从一个或者多个计算机程序产品中读出或者写入到这一个或者多个计算机程序产品中。程序代码1710可以例如以适当形式进行压缩。

综上所述,本申请实施例提供的视频显示方法、装置、系统以及电子设备,通过获取各连麦主播客户端的数据流,包括第一视频流、第二视频流和直播信息流,并对三路数据流进行合成,获得一路目标视频流,使得目标视频流中包括至少两个显示区域,分别显示第一视频流对应的图像和第二视频流对应的图像。由此,通过合成,可将第一视频流、第二视频流和直播信息流这三路数据流合成为一路数据流,即目标视频流。并且,由于直播信息流在第一方向上的图像长度大于第一视频流在第一方向上的图像长度,因此合成获得的目标视频流上,直播信息流可跨越第一图像和第二图像的拼接边界,横跨第一视频流、第二视频流的显示区域,使得直播信息流可在最终待显示的目标视频流上占据更大的显示面积,使得直播信息流包含的信息清晰可见,从而可改善连麦直播时,对于直播信息流占据的显示面积较小,导致看不清楚的问题,提高连麦直播的效果,从而提升用户观看直播的体验,有利于提高用户在直播间的留存率。

最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不驱使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

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