CN117793393A - 分屏直播方法和装置 - Google Patents

分屏直播方法和装置 Download PDF

Info

Publication number
CN117793393A
CN117793393A CN202311828982.9A CN202311828982A CN117793393A CN 117793393 A CN117793393 A CN 117793393A CN 202311828982 A CN202311828982 A CN 202311828982A CN 117793393 A CN117793393 A CN 117793393A
Authority
CN
China
Prior art keywords
screen
picture
audio
target
application
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202311828982.9A
Other languages
English (en)
Inventor
鲍可庆
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Hode Information Technology Co Ltd
Original Assignee
Shanghai Hode Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shanghai Hode Information Technology Co Ltd filed Critical Shanghai Hode Information Technology Co Ltd
Priority to CN202311828982.9A priority Critical patent/CN117793393A/zh
Publication of CN117793393A publication Critical patent/CN117793393A/zh
Pending legal-status Critical Current

Links

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Landscapes

  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本申请实施例提供了一种分屏直播方法,用于主播端,该分屏直播方法包括:响应于分屏直播操作,将开播应用的开播画面显示在屏幕显示区域的第一子区域中,并将目标应用的目标画面显示在屏幕显示区域的第二子区域中。获取屏幕录制状态下的第一音视频数据,第一音视频数据包括屏幕显示区域的屏幕画面。裁剪第一音视频数据中的屏幕画面以得到目标应用的目标画面,以生成视频帧数据。根据视频帧数据生成目标音视频数据包,以将目标音视频数据包发送至观众端。本申请实施例的技术方案可以有效缓解非目标画面(即开播画面)干扰直播间观看的情况,使得观众端只接收到主播想要展示的内容,从而提升整体观看体验。

Description

分屏直播方法和装置
技术领域
本申请实施例涉及计算机技术领域,尤其涉及一种分屏直播方法、装置、计算机设备、计算机可读存储介质。
背景技术
随着在线直播技术发展,在视频、语音直播的互动场景中得到广泛应用,例如语聊房、录屏直播等。
然而,设备(如iPad)在录屏直播时,直播间视频画面显示为完整的iPad屏幕画面。当iPad为分屏模式时,非目标画面也会显示在直播间,影响观看体验。
需要说明的是,上述内容并不必然是现有技术,也不用于限制本申请的专利保护范围。
发明内容
本申请实施例提供一种分屏直播方法、装置、计算机设备、计算机可读存储介质,以解决或缓解上面提出的一项或更多项技术问题。
本申请实施例的一个方面提供了一种分屏直播方法,用于主播端,所述方法包括:
响应于分屏直播操作,将开播应用的开播画面显示在屏幕显示区域的第一子区域中,并将目标应用的目标画面显示在屏幕显示区域的第二子区域中;
获取屏幕录制状态下的第一音视频数据,所述第一音视频数据包括屏幕显示区域的屏幕画面;
裁剪所述第一音视频数据中的屏幕画面以得到目标应用的目标画面,以生成视频帧数据;
根据所述视频帧数据生成目标音视频数据包,以将目标音视频数据包发送至观众端。
可选地,裁剪所述第一音视频数据中的屏幕画面以得到目标应用的目标画面,包括:
确定所述开播画面在屏幕显示区域的坐标信息;
根据所述开播画面在屏幕显示区域的坐标信息,裁剪所述屏幕画面,以得到所述目标画面。
可选地,确定所述开播画面在屏幕显示区域的坐标信息,包括:
在分屏状态下,获取屏幕显示区域的大小,以及开播应用的开播画面显示大小和显示方向;
基于开播应用的显示方向,将所述屏幕画面分为第一屏幕画面和第二屏幕画面;
获取开播应用的参考画面分别与第一屏幕画面、第二屏幕画面的相似度;
根据相似度高的屏幕画面确定开播画面所处区域;
根据开播应用的开播画面显示大小和开播画面所在区域,确定所述开播画面在屏幕显示区域中的坐标信息。
可选地,所述开播画面包括所述开播应用的开播页面,所述开播页面用于保持所述开播应用处于前台状态、管理直播控件和/或显示互动信息。
可选地,所述方法还包括:获取第三方工具捕捉的第三方画面数据;
对应地,根据所述视频帧数据生成目标音视频数据包,包括:
对所述视频帧数据和所述第三方画面数据进行拼接和编码,以得到视频编码数据;所述拼接包括将第三方画面数据的画面放置在所述视频帧数据的画面中的指定区域;
以预设格式封装所述视频编码数据,以生成所述目标音视频数据包。
可选地,所述第一音视频数据包括多路音频数据;
所述方法还包括:对所述多路音频数据进行混音和编码,以生成混合音频数据;
对应地,根据所述视频帧数据生成目标音视频数据包,包括:
以预设格式封装所述视频帧数据和所述混合音频数据,以生成所述目标音视频数据包。
可选地,所述第一音视频数据通过调用ReplayKit框架录制得到并传输至开播应用中;所述根据所述视频帧数据生成目标音视频数据包,包括:
在录屏直播连麦场景下,通过所述开播应用和对端连麦设备建立通信连接;
通过所述开播应用将所述视频帧数据、第一音视频数据中的音频数据以及对端连麦设备发送的第二音视频数据进行处理,以生成所述目标音视频数据包以推送至直播间。
本申请实施例的另一个方面提供了一种分屏直播装置,所述装置包括:
显示模块,用于响应于分屏直播操作,将开播应用的开播画面显示在屏幕显示区域的第一子区域中,并将目标应用的目标画面显示在屏幕显示区域的第二子区域中;
第一获取模块,用于获取屏幕录制状态下的第一音视频数据,所述第一音视频数据包括屏幕显示区域的屏幕画面;
裁剪模块,用于裁剪所述第一音视频数据中的屏幕画面以得到目标应用的目标画面,以生成视频帧数据;
生成模块,用于根据所述视频帧数据生成目标音视频数据包,以将目标音视频数据包发送至观众端。
本申请实施例的另一个方面提供了一种计算机设备,包括:
至少一个处理器;及
与所述至少一个处理器通信连接的存储器;
其中:所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如上所述的方法。
本申请实施例的另一个方面提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机指令,所述计算机指令被处理器执行时实现如上所述的方法。
本申请实施例采用上述技术方案可以包括如下优势:
在分屏状态下,开播应用的开播画面位于屏幕显示区域的第一子区域中,目标应用的目标画面显示在屏幕显示区域的第二子区域中。在对整个屏幕录制后,可以对整个屏幕的屏幕画面进行裁剪,从而将开播画面裁剪掉,得到位于第二子区域中的目标画面(视频帧数据)。然后,根据裁剪出的目标画面生成发送给观众端的目标音视频数据包。这样,对于登录直播间的观众端,只会显示第二子区域中的目标画面。
也就是说,将非目标画面(即开播画面)裁剪掉,使观众端可以看到只包含目标画面的直播画面,观看体验得到提升。可知,本技术方案能有效缓解非目标画面干扰直播间观看的情况,使得观众端只接收到主播想要展示的内容,从而提升整体观看体验。
附图说明
附图示例性地示出了实施例并且构成说明书的一部分,与说明书的文字描述一起用于讲解实施例的示例性实施方式。所示出的实施例仅出于例示的目的,并不限制权利要求的范围。在所有附图中,相同的附图标记指代类似但不一定相同的要素。
图1示意性示出了根据本申请实施例一的分屏直播方法的运行环境图;
图2示意性示出了根据本申请实施例一的分屏直播方法的流程图;
图3示意性示出了根据本申请实施例一的分屏直播的屏幕画面示意图;
图4示意性示出了图2中步骤S204的子步骤流程图;
图5示意性示出了根据本申请实施例一的分屏直播的另一屏幕画面示意图;
图6示意性示出了图4中步骤S400的子步骤流程图;
图7示意性示出了根据本申请实施例一的分析开播画面位置的应用示例图;
图8示意性示出了根据本申请实施例一的分屏直播方法的应用示例图;
图9示意性示出了根据本申请实施例一的分屏直播方法的新增步骤流程图;
图10示意性示出了根据本申请实施例一的分屏直播方法的另一新增步骤流程图;
图11示意性示出了根据本申请实施例一的分屏直播方法的应用示例图;
图12示意性示出了根据本申请实施例二的分屏直播装置的框图;及
图13示意性示出了根据本申请实施例三中的计算机设备的硬件架构示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,在本申请实施例中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本申请要求的保护范围之内。
在本申请的描述中,需要理解的是,步骤前的数字标号并不标识执行步骤的前后顺序,仅用于方便描述本申请及区别每一步骤,因此不能理解为对本申请的限制。
首先,提供本申请涉及的术语解释:
iPad分屏:在iPad上同时运行两个应用程序所使用的技术,允许用户在一个屏幕上同时使用两个应用程序。
录屏直播:通过在设备(如电脑、平板电脑)上同时进行屏幕录制和实时流传输,将屏幕上的内容(如游戏教学、软件操作)实时地传输到在线直播平台或者社交媒体上,供观众端实时观看和互动的一种直播方式。
Vision框架:系统内置的图像处理和计算机视觉框架,Vision框架可以提供人脸识别、目标检测、相似度分析等功能。
其次,为方便本领域技术人员理解本申请实施例提供的技术方案,下面对相关技术进行说明:
设备(如iPad)在录屏直播时,直播间视频画面显示为完整的iPad屏幕画面。当iPad为分屏模式时,非目标画面(如开播页面)也会显示在直播间,影响观看体验。此外,在应用退到后台时,系统会停止该应用对摄像头的访问权限,使得录屏直播无法显示摄像头画面。
为此,本申请实施例提供了一种分屏直播技术方案。在该技术方案中,(1)iPad在进行录屏直播时,可以将采集到的屏幕视频帧中的开播画面裁剪掉,之后,再将裁剪后的内容画面进行编码推流,使得直播间只展示具有意义的内容画面。(2)当iPad应用处于分屏模式下,允许访问摄像头,支持直播间同时显示主播屏幕和摄像头的画面。具体见后文。
最后,为了方便理解,下面提供一个示例性运行环境。
图1示意性示出了根据本申请实施例所述方法的环境应用示意图。
所述环境示意图可以包括服务平台2、主播端(4A、4B、…、4M)、观众端(6A、6B、…、6N)。直播场景下,主播端(4A、4B、…、4M)通过服务平台2将直播数据实时推送至观众端(6A、6B、…、6N)。
服务平台2,可以提供直播间服务,其可以是单个服务器、服务器集群或云计算服务中心。
主播端(4A、4B、…、4M),用于实时生成直播数据,并进行直播数据的推流操作。所述直播数据可以包括音频数据或视频数据。当然,主播端可以是服务平台2内的虚拟计算实例。需要说明的是,所述主播端(4A、4B、…、4M)是各种电子设备,如平板设备、膝上型计算机、虚拟现实设备、游戏设备、机顶盒、车载终端、智能电视。
观众端(6A、6B、…、6N),可以被配置为实时接收主播端的直播数据。观众端(6A、6B、…、6N)可以是任意类型的计算设备,诸如智能手机、平板设备、膝上型计算机、智能电视、车载终端等。观众端(6A、6B、…、6N)可以内置浏览器或专门程序,通过浏览器或专门程序接收所述直播数据以向用户输出内容。所述内容可以包括视频、音频、评论、文本数据和/或类似物。
观众端(6A、6B、…、6N)可以包括播放器8。播放器8向用户输出(如,展示,呈现)内容。其中所述内容可以包括视频,音频,评论,文本数据和/或类似物。观众端(6A、6B、…、6N)可以包括接口,该接口可以包括输入元件(触摸屏)。例如,输入元件可以被配置为接收用户指令,所述用户指令可以使观众端(6A、6B、…、6N)执行各类操作,如发送弹幕、输入评论、赠送礼物等。
主播端(4A、4B、…、4M)、观众端(6A、6B、…、6N)和服务平台2可以通过网络连接。网络可以包括各种网络设备,例如路由器、交换机、多路复用器、集线器、调制解调器、网桥、中继器、防火墙和/或代理设备等。网络可以包括物理链路,例如同轴电缆链路、双绞线电缆链路、光纤链路及其组合和/或类似物。网络可以包括无线链路,例如蜂窝链路、卫星链路、Wi-Fi链路和/或类似物。
需要说明的是,图中的主播端和观众端的数量仅是示意性的,不用于限制本申请的专利保护范围。根据实际情况,可以具有任意数目的主播端和观众端。
下面以主播端(如4A)为执行主体,通过多个实施例介绍本申请的技术方案。须知,这些实施例可以由多种不同的形式来实施,并且不应当被解释为只限于这里所阐述的实施例。
实施例一
本实施例的执行主体为主播端(如4A),所述主播端(如4A)的设备中内置有开播应用以及目标应用等各类应用程序。其中,所述开播应用可以为具有直播功能的应用程序,如:哔哩哔哩直播姬。所述目标应用可以为其他应用程序,如:Sketchbook、Lightroom、Microsoft PowerPoint。
图2示意性示出了根据本申请实施例一的分屏直播方法的流程图。如图2所示,该分屏直播方法可以包括步骤S200~S206,其中:
步骤S200,响应于分屏直播操作,将开播应用的开播画面显示在屏幕显示区域的第一子区域中,并将目标应用的目标画面显示在屏幕显示区域的第二子区域中。
步骤S202,获取屏幕录制状态下的第一音视频数据,所述第一音视频数据包括屏幕显示区域的屏幕画面。
步骤S204,裁剪所述第一音视频数据中的屏幕画面以得到目标应用的目标画面,以生成视频帧数据。
步骤S206,根据所述视频帧数据生成目标音视频数据包,以将目标音视频数据包发送至观众端。
本实施例提供的分屏直播方法,在分屏状态下,开播应用的开播画面位于屏幕显示区域的第一子区域中,目标应用的目标画面显示在屏幕显示区域的第二子区域中。在对整个屏幕录制后,可以对整个屏幕的屏幕画面进行裁剪,从而将开播画面裁剪掉,得到位于第二子区域中的目标画面(视频帧数据)。然后,根据裁剪出的目标画面生成发送给观众端的目标音视频数据包。这样,对于登录直播间的观众端,只会显示第二子区域中的目标画面。也就是说,将非目标画面(即开播画面)裁剪掉,使观众端可以看到只包含目标画面的直播画面,观看体验得到提升。可知,本技术方案能有效缓解非目标画面干扰直播间观看的情况,使得观众端只接收到主播想要展示的内容,从而提升整体观看体验。
以下结合图2,对步骤S200~S206中各个步骤以及可选的其他步骤进行详细阐述。
步骤S200,响应于分屏直播操作,将开播应用的开播画面显示在屏幕显示区域的第一子区域中,并将目标应用的目标画面显示在屏幕显示区域的第二子区域中。
录屏直播可以是指通过在主播端设备(比如电脑、手机、平板电脑等)上同时进行屏幕录制和实时流传输,将屏幕上的内容(比如软件操作、教学内容等)实时地传输到在线直播平台或者社交媒体上,供观众端实时观看和互动的一种直播方式。
分屏可以是指在设备的屏幕显示区域上同时显示多个应用程序。在分屏状态下,屏幕显示区域可以被分割成多个不同的子区域,每个子区域可以显示不同的应用程序。
所述开播应用可以是具有直播功能的应用或软件,允许主播端通过网络实时传输视频、音频或其他内容至观众端,并可以与观众端进行互动。所述开播画面可以是指开播应用所对应的画面,即在屏幕显示区域上显示开播应用的画面。
所述目标应用可以是主播端想要在直播间展示的应用。示例性地,若主播端想要进行相应的绘画教学,则目标应用可以为相应的绘画应用(如Sketchbo ok)。
所述目标画面可以是目标应用所对应的画面,举例而言,若目标应用为绘画应用,则所述目标画面可以是该绘画应用的绘画界面。
屏幕显示区域可以是平板等设备屏幕表面用于显示图像或视频的实际区域,即可用于展示图像、文字、视频或其他视觉内容的可视区域。在进行录屏直播时,若想要进行应用分屏,则需要将屏幕显示区域进行划分,从而将屏幕显示区域划分成多个子区域(如2个)。每个子区域可以独立显示不同的应用程序或者画面内容等,如图3所示,左侧子区域(即第一子区域)可以用于显示开播应用,右侧子区域(即第二子区域)可以用于显示目标应用。需要说明的是,每个子区域的尺寸大小、位置可以根据实际情况进行选择。举例而言:(1)所述第一子区域的尺寸大小可以是横屏或竖屏情况下的1/3屏、1/2屏、2/3屏、悬浮窗,所述第一子区域的位置可以是位于屏幕显示区域的左侧、右侧等。(2)所述第二子区域的尺寸大小可以是横屏或竖屏情况下的1/3屏、1/2屏、2/3屏、悬浮窗,所述第二子区域的位置可以是位于屏幕显示区域的左侧、右侧等。
如前所述,所述开播画面可以是屏幕显示区域上用于显示开播应用的画面,所述开播画面上可以包括开播应用的开播页面,主播端通过所述开播页面可以对直播间进行管理,如调节直播声音等,具体如下:
在可选的实施例中,所述开播画面包括所述开播应用的开播页面,所述开播页面用于保持所述开播应用处于前台状态、管理直播控件和/或显示互动信息。
所述开播页面可以是指主播端通过开播应用创建的页面。如图3所示,左侧区域即为开播页面,在该开播页面上可以有多个显示区域,每个显示区域可以用来显示相关信息,如互动信息、直播控件信息等,以下结合图3具体介绍开播页面的功能作用,具体地:
(1)管理直播控件:所述直播控件可以是开播应用上提供的各种可操作的按钮或界面元素,如可以包括麦克风控件(用于调节麦克风音量)、美颜滤镜控件(用于调整直播过程中的美颜和滤镜)、连麦控件(用于邀请其他用户进行连麦)。通过在开播页面上设置的各种直播控件,主播端可以快速地调整直播相应设置,如调大麦克风音量,从而快速地调整相应的直播效果。
(2)显示互动信息:所述互动信息可以是观众端与主播端之间的互动信息,如弹幕、礼物与打赏、评论与回复、点赞和转发。在屏幕画面上显示互动信息,使主播端可以直观快速地看到互动信息,如弹幕、礼物,从而增强主播端与观众端的互动性,提高直播展示效果。
(3)保持开播应用处于前台状态:在开播画面中设置开播页面,使得开播应用可以处于前台状态。在进行录屏直播时,为了在观众端只显示目标画面,可以将开播应用切换至后台。然而,在将开播应用切换至后台的情况下,系统出于安全性的考虑(如对用户隐私数据的保护),会停止该开播应用对摄像头等的访问权限,使得录屏直播无法通过摄像头获取相应的摄像头画面。因此,为了减少出现上述情况,可以将开播页面显示在屏幕画面上,从而保持开播应用的前台状态,进而保障后续可以通过摄像头得到相应的摄像头画面。此外,保持开播应用处于前台状态,使主播端无需频繁进行应用跳转(如主播端想要调整直播设置或者查看相应互动信息),从而保持观众的专注度,提高直播展示效果。
步骤S202,获取屏幕录制状态下的第一音视频数据,所述第一音视频数据包括屏幕显示区域的屏幕画面。
所述第一音视频数据可以包括视频数据和音频数据。其中,所述视频数据可以包括设备全屏的屏幕画面。所述音频数据可以是通过麦克风和/或音频设备捕捉到的声音信号等。
步骤S204,裁剪所述第一音视频数据中的屏幕画面以得到目标应用的目标画面,以生成视频帧数据。
如前文所述,第一音视频数据可以包括音频数据和视频数据。其中,所述视频数据可以包括一系列连续的静态图像(即视频帧),每一帧视频帧中都包含整个屏幕画面。为了使呈现在观众端的直播画面只包含目标画面,可以将屏幕画面中除目标画面之外的其他画面(即开播画面)都裁剪掉,以下介绍如何对屏幕画面进行裁剪。
在可选的实施例中,如图4、5所示,所述步骤S204可以包括:
步骤S400,确定所述开播画面在屏幕显示区域的坐标信息。
步骤S402,根据所述开播画面在屏幕显示区域的坐标信息,裁剪所述屏幕画面,以得到所述目标画面。
通过所述坐标信息可以快速有效地确定开播画面在屏幕显示区域上显示的准确位置。
在上述可选的实施例中,通过开播画面在屏幕显示区域的坐标信息,可以快速地将开播画面从屏幕画面中裁剪出来,从而使观众端在直播间可以看到只包含目标画面的直播画面,从而有效缓解开播画面干扰直播间观看的情况,使得观众端只接收到主播想要展示的内容,提高直播展示效果。
如前所述,在对屏幕画面进行裁剪时,需要获取到开播画面的坐标信息。以下将具体介绍如何获取开播画面在屏幕显示区域的坐标信息。
在可选的实施例中,如图6、7所示,所述步骤S400可以包括:
步骤S600,在分屏状态下,获取屏幕显示区域的大小,以及开播应用的开播画面显示大小和显示方向。
步骤S602,基于开播应用的显示方向,将所述屏幕画面分为第一屏幕画面和第二屏幕画面。
步骤S604,获取开播应用的参考画面分别与第一屏幕画面、第二屏幕画面的相似度。
步骤S606,根据相似度高的屏幕画面确定开播画面所处区域。
步骤S608,根据开播应用的开播画面显示大小和开播画面所在区域,确定所述开播画面在屏幕显示区域中的坐标信息。
所述屏幕显示区域的大小可以是主播端(比如iPad)屏幕上用于显示图像或视频等内容的尺寸,如可以为8.3英寸、10.2英寸、10.9英寸、11英寸。
所述开播画面显示大小可以为开播画面在屏幕显示区域中的显示大小,即为第一子区域的显示大小。所述开播画面显示大小可以为屏幕显示区域大小的1/2、1/3、2/3等,在此不做限定。
所述显示方向可以为直播内容在屏幕上显示的方向,可以是横向(横屏)或纵向(竖屏)。
在示例性地应用中,若要获取到开播画面分屏状态下在屏幕显示区域中的坐标信息,可以执行以下操作:
(1)首先,获取到屏幕显示区域的大小(如10.2英寸)、开播画面显示大小和显示方向(如横向)。
(2)之后,基于开播应用的显示方向,将屏幕画面分为第一屏幕画面和第二屏幕画面。举例而言,若显示方向为横向,则可以进行纵向划分,从中间位置将屏幕画面一分为二,即将屏幕画面纵向划分为第一屏幕画面和第二屏幕画面。若显示方向为纵向,则可以进行纵向划分,从中间位置将屏幕画面一分为二,即将屏幕画面纵向划分为第一屏幕画面和第二屏幕画面。
(3)确定开播应用的参考画面分别与第一屏幕画面、第二屏幕画面的相似度。举例而言,可以基于Vision框架,获取参考画面与第一屏幕画面的第一相似度、以及参考画面与第二屏幕画面的第二相似度。所述参考画面可以为开播应用自身渲染的画面。
(4)根据相似度,确定开播画面所处区域。具体地:对比第一相似度(即参考画面与第一屏幕画面的相似度)与第二相似度(即参考画面与第二屏幕画面的相似度)的相似度,确定哪个相似度较大。之后,将相似度较大对应的屏幕画面作为开播画面所处区域。举例而言,若第一相似度较大,则说明第一屏幕画面为开播画面所处区域,即开播应用位于第一屏幕画面上。
(5)根据开播画面显示大小和开播画面所在区域,确定开播画面在屏幕显示区域中的坐标信息(即开播画面在屏幕显示区域中的具体位置)。举例而言,若开播画面显示大小为屏幕画面的1/2,开播画面位于第一屏幕画面(如左侧屏幕画面),则开播画面的具体位置可以为:位于屏幕显示区域的左半侧,且占据整个屏幕显示区域的1/2。
在上述可选的实施例中,根据开播应用的参考画面分别与第一屏幕画面、第二屏幕画面的相似度确定开播画面所处区域。之后根据所述开播画面所在区域和开播画面显示大小确定开播画面在屏幕显示区域中的坐标信息,从而正确获取到开播画面在屏幕显示区域中的具体位置,保障后续可以快速正确地根据所述具体位置对开播画面进行裁剪。
需要说明的是,上述只是确定坐标信息的其中一种方式,在实际应用中也可以通过其他方式确定。例如,可以通过人工智能对屏幕画面进行识别,从而确定坐标信息。
步骤S206,根据所述视频帧数据生成目标音视频数据包,以将目标音视频数据包发送至观众端。
所述目标音视频数据包中可以包括音频数据和视频数据,其中所述视频数据可以为所述视频帧数据。观众端接收到该目标音视频数据包之后,通过相应的播放器便可以观看直播。
需要说明的是,主播端在进行直播时,可在目标画面的指定区域展示主播端设备摄像头所捕捉的画面,如主播本人相关画面,具体如下:
在可选的实施例中,所述方法还包括:获取第三方工具捕捉的第三方画面数据。如图8、9所示,所述步骤S206可以包括:
步骤S900,对所述视频帧数据和所述第三方画面数据进行拼接和编码,以得到视频编码数据。所述拼接包括将第三方画面数据的画面放置在所述视频帧数据的画面中的指定区域。
步骤S902,以预设格式封装所述视频编码数据,以生成所述目标音视频数据包。
在示例性的应用中,在进行录屏直播时,由于开播页面显示在屏幕画面上(即保持前台状态),因此,主播端设备可以调用摄像头等第三方工具。以摄像头为例,通过所述摄像头可以捕捉到相应的摄像头画面(即第三方画面数据),如主播本人相关画面。为了将目标画面与摄像头画面共同显示在直播间,如图8所示,可以对视频帧数据和第三方画面数据进行拼接和编码(如可以进行H264编码),以得到视频编码数据。即将第三方画面数据的画面放置在视频帧数据的画面(即目标画面)中的指定区域上(如图5所示)。之后,以预设格式封装所述视频编码数据,如可以将视频编码数据封装成FLV Packet封装格式的数据包,以得到目标音视频数据包。之后,为了使观众端能够拉取到该目标音视频数据包以观看直播,主播端可以基于RTMP(Real-Time Messaging Protoc ol)协议将目标音视频数据包发送至推流服务器。若观众端想要观看该直播,便可以从推流服务器上拉取到目标音视频数据包,以显示包含第三方画面数据的画面的目标画面,其中所述第三方画面数据的画面放置在视频帧数据的画面中的指定区域上。需要说明的是,所述指定区域可以为所目标画面上的任意位置,如可以位于目标画面的右上角、左下角等,在此不做限定。
在上述可选的实施例中,通过主播端的第三方工具捕捉到第三方画面数据,并将捕捉到的第三方画面数据和视频帧数据进行拼接和编码,以将第三方画面数据的画面放置在视频帧数据的画面中的指定区域中。可知,在本实施例中,将第三方工具(如摄像头)捕捉到的画面显示在目标画面上,可以增加直播的吸引力、互动性,加强观众端与主播端之间的互动性,从而提高直播交互和展示效果。
需要说明的是,在生成目标音视频数据包的过程中,需要将视频数据(即视频帧数据)和音频数据封装在一起。不同场景下,需要封装的视频数据和/或音频数据类型可能存在差异,具体地:
方案一:在存在多路音频的情况下。
在可选的实施例中,所述第一音视频数据包括多路音频数据。所述方法还包括:对所述多路音频数据进行混音和编码,以生成混合音频数据。所述步骤S206可以包括:以预设格式封装所述视频帧数据和所述混合音频数据,以生成所述目标音视频数据包。
多数多路音频数据可以包括主播端的设备音频数据以及主播端的麦克风音频数据等。其中,所述设备音频数据可以是指主播端在直播过程中使用的设备(如平板电脑)上正在运行的应用程序或其他媒体所产生的音频,如可以包括音效、背景音乐。所述麦克风音频数据可以为通过麦克风录入的声音,如主播端的解说。
混音可以是指将多个音频源合并成单一的音频流的过程。在示例性的应用中,在存在多路音频数据的情况下,可以先对多路音频数据进行混音和编码(如AAC(AdvancedAudio Coding)编码),以生成混合音频数据。之后再以预设格式封装视频帧数据和混合音频数据,以生成目标音视频数据包。
在上述可选的实施例中,将多路音频数据混合形成混合音频数据之后,再将视频帧数据和混合音频数据以预设格式封装,进而可以在直播中展示多路音频,即,使观众端可以有更完整、更丰富的声音体验,增强直播的吸引力和娱乐性,从而提高直播交互和展示效果。
方案二:在直播连麦场景下。
在可选的实施例中,所述第一音视频数据通过调用ReplayKit框架录制得到并传输至开播应用中。如图10所示,所述步骤S206可以包括:
步骤S1000,在录屏直播连麦场景下,通过所述开播应用和对端连麦设备建立通信连接。
步骤S1002,通过所述开播应用将所述视频帧数据、第一音视频数据中的音频数据以及对端连麦设备发送的第二音视频数据进行处理,以生成所述目标音视频数据包以推送至直播间。
ReplayKit框架是用于录制屏幕内容、音频以及实时分享的框架。在进行录屏直播时,可以直接调用系统预先配置好的ReplayKit框架进行屏幕录制和音频采集,以获取屏幕录制状态下的第一音视频数据。ReplayKit框架可以设置一个TCP客户端程序,开播应用中可以设置一个TCP服务端程序。通过TCP客户端程序和TCP服务端程序可以在ReplayKit框架和开播应用间建立通信链路,从而使得ReplayKit框架录制的音视频数据可以发送到开播应用中。
主播端和对端连麦设备之间建立通信连接的方式可以有多种,例如:Sock et通信、HTTP协议、P2P(Peer to Peer)等,可以根据实际网络情况和通信需求选定。
在上述可选的实施例中,在开播应用和对端连麦设备建立通信连接之后,通过开播应用对视频帧数据、第一音视频数据中的音频数据以及对端连麦设备发送的第二音视频数据进行处理,以生成目标音视频数据包以推送至直播间。这样做的好处:使观众端在直播间既可以同时看到主播端直播画面(如目标画面)和连麦端的画面内容,又可以同时听到主播端的音频和连麦端的音频,从而提高直播交互和展示效果。
为了使得本申请更加容易理解,以下结合图11提供一个示例性应用。
本实施例所述的方法用于主播端(如4A)中,所述主播端(如4A)内置有开播应用以及目标应用。其中,所述开播应用可以为具有直播功能的应用程序。所述目标应用可以为其他应用程序。
S11,响应于分屏直播操作,将开播画面和目标画面显示在屏幕显示区域的不同子区域上。
S12,获取录制的第一音视频数据(包括屏幕画面)。
S13,获取开播画面在屏幕显示区域的坐标信息。具体地:
S131,获取屏幕显示区域的大小,以及开播画面显示大小和显示方向。
S132,基于开播应用的显示方向,将屏幕画面分为第一屏幕画面和第二屏幕画面。
S133,确定参考画面分别与第一屏幕画面、第二屏幕画面的相似度。
S134,确定开播画面所处区域(即相似度高的屏幕画面)。
S135,根据开播画面显示大小和开播画面所在区域,确定开播画面在屏幕显示区域中的坐标信息。
S14,根据坐标信息裁剪屏幕画面,以得到目标画面(即视频帧数据)。
S15,根据视频帧数据生成目标音视频数据包。
S16,将目标音视频数据包发送至观众端。
实施例二
图12示意性示出了根据本申请实施例二的分屏直播装置的框图,该装置可以被分割成一个或多个程序模块,一个或者多个程序模块被存储于存储介质中,并由一个或多个处理器所执行,以完成本申请实施例。本申请实施例所称的程序模块是指能够完成特定功能的一系列计算机程序指令段,以下描述将具体介绍本实施例中各程序模块的功能。如图12所示,该装置1200可以包括:显示模块1210、第一获取模块1220、裁剪模块1230、生成模块1240,其中:
显示模块1210,用于响应于分屏直播操作,将开播应用的开播画面显示在屏幕显示区域的第一子区域中,并将目标应用的目标画面显示在屏幕显示区域的第二子区域中;
第一获取模块1220,用于获取屏幕录制状态下的第一音视频数据,所述第一音视频数据包括屏幕显示区域的屏幕画面;
裁剪模块1230,用于裁剪所述第一音视频数据中的屏幕画面以得到目标应用的目标画面,以生成视频帧数据;
生成模块1240,用于根据所述视频帧数据生成目标音视频数据包,以将目标音视频数据包发送至观众端。
在可选的实施例中,所述裁剪模块1230还用于:
确定所述开播画面在屏幕显示区域的坐标信息;
根据所述开播画面在屏幕显示区域的坐标信息,裁剪所述屏幕画面,以得到所述目标画面。
在可选的实施例中,所述裁剪模块1230还用于:
在分屏状态下,获取屏幕显示区域的大小,以及开播应用的开播画面显示大小和显示方向;
基于开播应用的显示方向,将所述屏幕画面分为第一屏幕画面和第二屏幕画面;
获取开播应用的参考画面分别与第一屏幕画面、第二屏幕画面的相似度;
根据相似度高的屏幕画面确定开播画面所处区域;
根据开播应用的开播画面显示大小和开播画面所在区域,确定所述开播画面在屏幕显示区域中的坐标信息。
在可选的实施例中,所述开播画面包括所述开播应用的开播页面,所述开播页面用于保持所述开播应用处于前台状态、管理直播控件和/或显示互动信息。
在可选的实施例中,所述分屏直播装置还包括第二获取模块,所述第二获取模块用于:
获取第三方工具捕捉的第三方画面数据;
对应地,根据所述视频帧数据生成目标音视频数据包,包括:
对所述视频帧数据和所述第三方画面数据进行拼接和编码,以得到视频编码数据;所述拼接包括将第三方画面数据的画面放置在所述视频帧数据的画面中的指定区域;
以预设格式封装所述视频编码数据,以生成所述目标音视频数据包。
在可选的实施例中,所述第一音视频数据包括多路音频数据;
所述分屏直播装置还包括混音和编码模块,所述混音和编码用于:
对所述多路音频数据进行混音和编码,以生成混合音频数据;
对应地,根据所述视频帧数据生成目标音视频数据包,包括:
以预设格式封装所述视频帧数据和所述混合音频数据,以生成所述目标音视频数据包。
在可选的实施例中,所述第一音视频数据通过调用ReplayKit框架录制得到并传输至开播应用中;所述第二获取模块还用于:
在录屏直播连麦场景下,通过所述开播应用和对端连麦设备建立通信连接;
通过所述开播应用将所述视频帧数据、第一音视频数据中的音频数据以及对端连麦设备发送的第二音视频数据进行处理,以生成所述目标音视频数据包以推送至直播间。
实施例三
图13示意性示出了根据本申请实施例三的适于实现分屏直播方法的计算机设备10000的硬件架构示意图。在一些实施例中,计算机设备10000可以是智能手机、平板电脑、个人电脑、车载终端、游戏机、虚拟设备、工作台、机顶盒、机器人等终端设备。如图13所示,所述计算机设备10000包括但不限于:可通过系统总线相互通信链接存储器10010、处理器10020、网络接口10030。
其中:
存储器10010至少包括一种类型的计算机可读存储介质,可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(如,SD或DX存储器)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器10010可以是计算机设备10000的内部存储模块,例如该计算机设备10000的硬盘或内存。在另一些实施例中,存储器10010也可以是计算机设备10000的外部存储设备,例如该计算机设备10000上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。当然,存储器10010还可以既包括计算机设备10000的内部存储模块也包括其外部存储设备。本实施例中,存储器10010通常用于存储安装于计算机设备10000的操作系统和各类应用软件,例如分屏直播方法的程序代码等。此外,存储器10010还可以用于暂时地存储已经输出或者将要输出的各类数据。
处理器10020在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他芯片。该处理器10020通常用于控制计算机设备10000的总体操作,例如执行与计算机设备10000进行数据交互或者通信相关的控制和处理等。本实施例中,处理器10020用于运行存储器10010中存储的程序代码或者处理数据。
网络接口10030可包括无线网络接口或有线网络接口,该网络接口10030通常用于在计算机设备10000与其他计算机设备之间建立通信链接。例如,网络接口10030用于通过网络将计算机设备10000与外部终端相连,在计算机设备10000与外部终端之间建立数据传输通道和通信链接等。网络可以是企业内部网(Intranet)、互联网(Internet)、全球移动通讯系统(Global System of Mobile communication,简称为GSM)、宽带码分多址(WidebandCode Divi sion Multiple Access,简称为WCDMA)、4G网络、5G网络、蓝牙(Bluetoo th)、Wi-Fi等无线或有线网络。
需要指出的是,图13仅示出了具有部件10010-10030的计算机设备,但是应该理解的是,并不要求实施所有示出的部件,可以替代地实施更多或者更少的部件。
在本实施例中,存储于存储器10010中的分屏直播方法还可以被分割为一个或者多个程序模块,并由一个或多个处理器(如处理器10020)所执行,以完成本申请实施例。
实施例四
本申请实施例还提供一种计算机可读存储介质,计算机可读存储介质其上存储有计算机程序,其中,计算机程序被处理器执行时实现实施例中的分屏直播方法的步骤。
本实施例中,计算机可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEP ROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,计算机可读存储介质可以是计算机设备的内部存储单元,例如该计算机设备的硬盘或内存。在另一些实施例中,计算机可读存储介质也可以是计算机设备的外部存储设备,例如该计算机设备上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。当然,计算机可读存储介质还可以既包括计算机设备的内部存储单元也包括其外部存储设备。本实施例中,计算机可读存储介质通常用于存储安装于计算机设备的操作系统和各类应用软件,例如实施例中分屏直播方法的程序代码等。此外,计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的各类数据。
显然,本领域的技术人员应该明白,上述的本申请实施例的各模块或各步骤可以用通用的计算机设备来实现,它们可以集中在单个的计算机设备上,或者分布在多个计算机设备所组成的网络上,可选地,它们可以用计算机设备可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算机设备来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本申请实施例不限制于任何特定的硬件和软件结合。
需要说明的是,以上仅为本申请的优选实施例,并非因此限制本申请的专利保护范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。

Claims (10)

1.一种分屏直播方法,其特征在于,用于主播端,所述方法包括:
响应于分屏直播操作,将开播应用的开播画面显示在屏幕显示区域的第一子区域中,并将目标应用的目标画面显示在屏幕显示区域的第二子区域中;
获取屏幕录制状态下的第一音视频数据,所述第一音视频数据包括屏幕显示区域的屏幕画面;
裁剪所述第一音视频数据中的屏幕画面以得到目标应用的目标画面,以生成视频帧数据;
根据所述视频帧数据生成目标音视频数据包,以将目标音视频数据包发送至观众端。
2.根据权利要求1所述的方法,其特征在于,裁剪所述第一音视频数据中的屏幕画面以得到目标应用的目标画面,包括:
确定所述开播画面在屏幕显示区域的坐标信息;
根据所述开播画面在屏幕显示区域的坐标信息,裁剪所述屏幕画面,以得到所述目标画面。
3.根据权利要求2所述的方法,其特征在于,确定所述开播画面在屏幕显示区域的坐标信息,包括:
在分屏状态下,获取屏幕显示区域的大小,以及开播应用的开播画面显示大小和显示方向;
基于开播应用的显示方向,将所述屏幕画面分为第一屏幕画面和第二屏幕画面;
获取开播应用的参考画面分别与第一屏幕画面、第二屏幕画面的相似度;
根据相似度高的屏幕画面确定开播画面所处区域;
根据开播应用的开播画面显示大小和开播画面所在区域,确定所述开播画面在屏幕显示区域中的坐标信息。
4.根据权利要求1所述的方法,其特征在于,所述开播画面包括所述开播应用的开播页面,所述开播页面用于保持所述开播应用处于前台状态、管理直播控件和/或显示互动信息。
5.根据权利要求1至4任一项所述的方法,其特征在于,所述方法还包括:获取第三方工具捕捉的第三方画面数据;
对应地,根据所述视频帧数据生成目标音视频数据包,包括:
对所述视频帧数据和所述第三方画面数据进行拼接和编码,以得到视频编码数据;所述拼接包括将第三方画面数据的画面放置在所述视频帧数据的画面中的指定区域;
以预设格式封装所述视频编码数据,以生成所述目标音视频数据包。
6.根据权利要求1至4任一项所述的方法,其特征在于,所述第一音视频数据包括多路音频数据;
所述方法还包括:对所述多路音频数据进行混音和编码,以生成混合音频数据;
对应地,根据所述视频帧数据生成目标音视频数据包,包括:
以预设格式封装所述视频帧数据和所述混合音频数据,以生成所述目标音视频数据包。
7.根据权利要求1至4任一项所述的方法,其特征在于,所述第一音视频数据通过调用ReplayKit框架录制得到并传输至开播应用中;所述根据所述视频帧数据生成目标音视频数据包,包括:
在录屏直播连麦场景下,通过所述开播应用和对端连麦设备建立通信连接;
通过所述开播应用将所述视频帧数据、第一音视频数据中的音频数据以及对端连麦设备发送的第二音视频数据进行处理,以生成所述目标音视频数据包以推送至直播间。
8.一种分屏直播装置,其特征在于,所述装置包括:
显示模块,用于响应于分屏直播操作,将开播应用的开播画面显示在屏幕显示区域的第一子区域中,并将目标应用的目标画面显示在屏幕显示区域的第二子区域中;
第一获取模块,用于获取屏幕录制状态下的第一音视频数据,所述第一音视频数据包括屏幕显示区域的屏幕画面;
裁剪模块,用于裁剪所述第一音视频数据中的屏幕画面以得到目标应用的目标画面,以生成视频帧数据;
生成模块,用于根据所述视频帧数据生成目标音视频数据包,以将目标音视频数据包发送至观众端。
9.一种计算机设备,其特征在于,包括:
至少一个处理器;及
与所述至少一个处理器通信连接的存储器;其中:
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1至7中任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机指令,所述计算机指令被处理器执行时实现如权利要求1至7中任一项所述的方法。
CN202311828982.9A 2023-12-27 2023-12-27 分屏直播方法和装置 Pending CN117793393A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311828982.9A CN117793393A (zh) 2023-12-27 2023-12-27 分屏直播方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311828982.9A CN117793393A (zh) 2023-12-27 2023-12-27 分屏直播方法和装置

Publications (1)

Publication Number Publication Date
CN117793393A true CN117793393A (zh) 2024-03-29

Family

ID=90383145

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311828982.9A Pending CN117793393A (zh) 2023-12-27 2023-12-27 分屏直播方法和装置

Country Status (1)

Country Link
CN (1) CN117793393A (zh)

Similar Documents

Publication Publication Date Title
EP3562163B1 (en) Audio-video synthesis method and system
CN110798697B (zh) 视频显示方法、装置、系统以及电子设备
CN106303663B (zh) 直播处理方法和装置、直播服务器
CN112752109B (zh) 视频播放控制方法和系统
KR20130138263A (ko) 케이블 텔레비전 시스템을 이용하는 비디오 장치들 간의 디지털 비디오의 스트리밍
KR101915786B1 (ko) 아바타를 이용한 인터넷 방송 참여 서비스 시스템 및 방법
CN112135155B (zh) 音视频的连麦合流方法、装置、电子设备及存储介质
CN111246270B (zh) 一种显示弹幕的方法、装置、设备和存储介质
CN110913278B (zh) 视频播放方法、显示终端及存储介质
CN111147911A (zh) 视频裁剪方法、装置、电子设备和存储介质
US20190208281A1 (en) User device pan and scan
CN113038220A (zh) 导播方法、导播系统、导播装置及计算机可读存储介质
CN114095671A (zh) 云会议直播系统、方法、装置、设备及介质
CN108401163B (zh) 一种实现vr直播的方法、装置及ott业务系统
KR101915792B1 (ko) 얼굴인식을 이용한 광고 삽입 시스템 및 방법
US20240107087A1 (en) Server, terminal and non-transitory computer-readable medium
CN117793393A (zh) 分屏直播方法和装置
CN112004100B (zh) 将多路音视频源集合成单路音视频源的驱动方法
CN114461423A (zh) 一种多媒体流处理方法、设备、存储介质及程序产品
CN114095772A (zh) 连麦直播下的虚拟对象展示方法、系统及计算机设备
CN112995692A (zh) 互动数据处理方法、装置、设备及介质
CN117793395A (zh) 录屏直播连麦的方法和装置
CN112584084B (zh) 一种视频播放方法、装置、计算机设备和存储介质
Schreer et al. Media production, delivery and interaction for platform independent systems: format-agnostic media
CN112203101B (zh) 一种远程视频直播方法、装置及电子设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination