CN117979076A - 一种虚拟投屏方法、装置和电子设备 - Google Patents

一种虚拟投屏方法、装置和电子设备 Download PDF

Info

Publication number
CN117979076A
CN117979076A CN202211158737.7A CN202211158737A CN117979076A CN 117979076 A CN117979076 A CN 117979076A CN 202211158737 A CN202211158737 A CN 202211158737A CN 117979076 A CN117979076 A CN 117979076A
Authority
CN
China
Prior art keywords
audio
video stream
canvas
target
module
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
CN202211158737.7A
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.)
Shenzhen Aoto Electronics Co Ltd
Original Assignee
Shenzhen Aoto Electronics 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 Shenzhen Aoto Electronics Co Ltd filed Critical Shenzhen Aoto Electronics Co Ltd
Priority to CN202211158737.7A priority Critical patent/CN117979076A/zh
Publication of CN117979076A publication Critical patent/CN117979076A/zh
Pending legal-status Critical Current

Links

Landscapes

  • User Interface Of Digital Computer (AREA)

Abstract

本申请涉及虚拟显示技术领域,公开了一种虚拟投屏方法、装置和电子设备,方法包括:获取界面信息,对界面信息进行处理,得到音视频流,捕捉音视频流至画布,在画布上对音视频流进行处理,得到目标音视频流,输出目标音视频流,将共享的内容投屏到虚拟场景中的虚拟屏幕里时,能够使得投屏内容和语音同步。

Description

一种虚拟投屏方法、装置和电子设备
技术领域
本申请涉及虚拟显示技术领域,特别涉及一种虚拟投屏方法、装置和电子设备。
背景技术
随着科技的不断发展,虚拟投屏的应用越来越广泛。
虚拟投屏多用于沉浸式会议室,通过将3D程序放在远程的服务器中渲染,终端通过web软件或者直接在本地的3D程序中点击一个“云渲染”接入访问资源,用户终端将指令发送给服务器,服务器根据指令执行对应的渲染任务,即,服务器利用云渲染技术,将共享的内容投屏到虚拟场景中的虚拟屏幕里,会存在投屏内容和语音不同步的问题。
发明内容
基于此,有必要针对上述技术问题,提供一种虚拟投屏方法、装置和电子设备,能够使得投屏内容和语音同步。
第一方面,本申请实施例提供了一种虚拟投屏方法,所述方法包括:
获取界面信息;
对所述界面信息进行处理,得到音视频流;
捕捉所述音视频流至画布;
在所述画布上对所述音视频流进行处理,得到目标音视频流;
输出所述目标音视频流。
在一些实施例中,所述捕捉所述音视频流至画布,包括:
基于预设动作触发时间,捕捉所述音视频流至画布。
在一些实施例中,所述在所述画布上对所述音视频流进行处理,得到目标音视频流,包括:
基于画布上的预设操作事件对所述音视频流进行裁剪,得到裁剪后的音视频流;
渲染所述裁剪后的音视频流,得到目标音视频流。
在一些实施例中,所述渲染所述裁剪后的音视频流,得到目标音视频流,包括:
渲染所述裁剪后的音视频流;
基于预设插件将所述裁剪后的音视频流中的音频缓存至音轨;
将所述音频和画布流合并,得到目标音视频流。
第二方面,本申请实施例还提供了一种虚拟投屏装置,所述装置包括:
获取模块,用于获取外界信息;
第一处理模块,用于对所述外界信息进行处理,得到音视频流;
捕捉模块,用于捕捉所述音视频流至画布;
第二处理模块,用于在所述画布上对所述音视频流进行处理,得到目标音视频流;
输出模块,用于输出所述目标音视频流。
在一些实施例中,所述捕捉模块具体用于:
基于预设动作事件,捕捉所述音视频流至画布。
在一些实施例中,所述第二处理模块包括:
裁剪模块,用于基于画布上的预设操作事件对所述音视频流进行裁剪,得到裁剪后的音视频流;
渲染模块,用于渲染所述裁剪后的音视频流,得到目标音视频流。
在一些实施例中,所述渲染模块具体用于:
渲染所述裁剪后的音视频流;
基于预设插件将渲染后的音视频流中的音频缓存至音轨;
合并所述音频和画布流,得到目标音视频流。
第三方面,本申请实施例还提供了一种电子设备,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行第一方面的方法。
第四方面,本申请实施例还提供了一种虚拟投屏系统,所述系统包括第三方面的电子设备和服务器,所述服务器和所述电子设备连接,
所述电子设备通过画布上的预设操作事件对音视频流进行裁剪,并将裁剪后的音视频流发送给所述服务器,以使所述服务器渲染所述裁剪后的音视频流,得到目标音视频流。
第五方面,本申请实施例还提供了一种非易失性计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,当所述计算机可执行指令被处理器所执行时,使所述处理器执行如第一方面的方法。
与现有技术相比,本申请的有益效果是:区别于现有技术的情况,本申请实施例提供的一种虚拟投屏方法,通过获取界面信息,然后对所述界面信息进行处理,得到音视频流,接着捕捉所述音视频流至画布,并在所述画布上对所述音视频流进行处理,得到目标音视频流,最后输出所述目标音视频流,通过上述处理方式,将共享的内容投屏到虚拟场景中的虚拟屏幕里时,能够使得投屏内容和语音同步。
附图说明
一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。
图1是本申请一个实施例提供的虚拟投屏系统的流程示意图;
图2是本申请一个实施例提供的虚拟投屏方法的流程示意图;
图3是本申请一个实施例提供的确定目标音视频流的流程示意图;
图4是本申请另一个实施例提供的确定目标音视频流的流程示意图;
图5是本申请一个实施例提供的虚拟投屏装置的结构示意图;
图6是本申请一个实施例提供的电子设备的硬件结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,如果不冲突,本申请实施例中的各个特征可以相互结合,均在本申请的保护范围之内。另外,虽然在装置示意图中进行了功能模块划分,在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于装置中的模块划分,或流程图中的顺序执行所示出或描述的步骤。再者,本申请所采用的“第一”、“第二”、“第三”等字样并不对数据和执行次序进行限定,仅是对功能和作用基本相同的相同项或相似项进行区分。
本申请实施例提供的虚拟投屏方法适用于图1所示的应用场景,所述应用场景为虚拟投屏系统,所述虚拟投屏系统系统100包括电子设备10和服务器20,所述服务器20和所述电子设备10连接。
所述电子设备10上安装有浏览器,所述安装的浏览器需支持屏幕共享和canvas画布。电子设备通过web访问浏览器,浏览器通过web端固有的屏幕捕捉技术,获取电子设备的界面信息,即,捕捉电子设备的系统主界面或者各类软件窗口。并对界面信息进行处理,以音视频流的形式进行输出。
接着通过预设动作触发事件将输出的音视频流捕捉至canvas画布。基于画布上的预设操作事件对所述音视频流进行裁剪、加特效等处理,并将裁剪后的音视频流发送给服务器。在本申请实施例中,服务器采用GPU服务器,GPU服务器渲染所述裁剪后的音视频流,并基于预设插件将渲染后的音视频流中的音频缓存至音轨。
进一步地,合并所述音频和画布流,得到目标音视频流,接着将目标音视频流发送给目标GPU服务器,目标GPU服务器再次对目标音视频流进行渲染,并将渲染后的目标音视频流投屏至虚拟屏幕,以供用户观看,由此能够将共享的内容投屏到虚拟场景中的虚拟屏幕里时,使得投屏内容和语音同步。
需要说明的是,本申请实施例提供的虚拟投屏方法还可以应用于其他合适的应用场景中,在实际的应用过程中,还可以包括更多的电子设备和服务器。
如图2所示,本申请实施例提供了一种虚拟投屏方法,所述方法包括:
步骤200,获取界面信息。
步骤202,对所述界面信息进行处理,得到音视频流。
在本申请实施例中,所述界面信息包括但不限于电子设备的系统主界面、各类软件窗口或者各类文件窗口等。具体地,当电子设备通过web访问浏览器时,浏览器通过web端固有的屏幕捕捉技术,获取电子设备的界面信息,即,捕捉电子设备的系统主界面、各类软件窗口、或者各类文件窗口等。接着利用现有技术对所述界面信息进行处理,得到音视频流,并将所述音视频流进行输出。
步骤204,捕捉所述音视频流至画布。
当输出所述音视频流后,捕捉所述音视频流至画布。具体地,基于预设动作触发事件,捕捉所述音视频流至画布。其中,所述预设动作触发事件为预先设定好的程序指令。
步骤206,在所述画布上对所述音视频流进行处理,得到目标音视频流。
步骤208,输出所述目标音视频流。
目标音视频流是通过裁剪、渲染等方式处理得到的。由于WebRTC协议要求提供的流数据是MediaStream对象,所以该对象可以从video或canvas这类媒体标签上获取。在本申请实施例中,在canvas画布上对所述音视频流进行处理,进而得到目标音视频流,并输出所述目标音视频流至虚拟屏幕。
在其中一些实施例中,作为步骤206的一种实现方式,如图3所示,所述方法包括:
步骤300,基于画布上的预设操作事件对所述音视频流进行裁剪,得到裁剪后的音视频流;
步骤302,渲染所述裁剪后的音视频流,得到目标音视频流。
在本申请实施例中,预设操作事件为预先设定的程序指令。捕捉音视频流至画布后,基于画布上的预设操作事件对所述音视频流进行裁剪,得到裁剪后的音视频流。然后通过GPU服务器渲染所述裁剪后的音视频流,进而得到目标音视频流。
需要说明的是,在步骤300中,还可以根据实际需求,对音视频流进行各种处理。例如,对音视频流加特效,或者对音视频流中涉及到的保密内容进行屏蔽处理等。
在其中一些实施例中,作为步骤302的一种实现方式,如图4所示,所述方法包括:
步骤400,渲染所述裁剪后的音视频流;
步骤402,基于预设插件将渲染后的音视频流中的音频缓存至音轨;
步骤404,合并所述音频和画布流,得到目标音视频流。
由于canvas画布渲染对CPU的消耗较高,因此在本申请实施例中,采用GPU服务器实时渲染,而指定尺寸的分享内容是重新绘制的视频流,该视频流中包含音频,所述音频可能会丢失。因此,通过封装插件,将视频流中检测到的音频自动缓存至音轨,并在输出的时候,将音频和画布流混合,从而得到目标视频流。具体地,当GPU服务器将裁剪后的音视频流渲染结束后,基于预设插件将渲染后的音视频流中的音频缓存至音轨,然后合并所述音频和画布流,得到目标音视频流。最后将目标音视频流输出至虚拟屏幕。
在本申请实施例中,通过通过获取界面信息,然后对所述界面信息进行处理,得到音视频流,接着捕捉所述音视频流至画布,并在所述画布上对所述音视频流进行处理,得到目标音视频流,最后输出所述目标音视频流,通过上述处理方式,将共享的内容投屏到虚拟场景中的虚拟屏幕里时,能够使得投屏内容和语音同步。
相应地,本申请实施例还提供了一种虚拟投屏装置500,如图5所示,装置500包括:
获取模块502,用于获取界面信息;
第一处理模块504,用于对所述界面信息进行处理,得到音视频流;
捕捉模块506,用于捕捉所述音视频流至画布;
第二处理模块508,用于在所述画布上对所述音视频流进行处理,得到目标音视频流;
输出模块510,用于输出所述目标音视频流。
本申请实施例提供的虚拟投屏装置,通过获取模块获取界面信息,然后通过第一处理模块对所述界面信息进程处理,得到音视频流;接着通过捕捉模块捕捉所述音视频流至画布,并通过第二处理模块再所述画布上对所述音视频流进行处理,得到目标音视频流,最后通过输出模块输出所述目标音视频流,将共享的内容投屏到虚拟场景中的虚拟屏幕里时,能够使得投屏内容和语音同步。
可选地,在装置的其他实施例中,捕捉模块506具体用于:
基于预设动作触发事件,捕捉所述音视频流至画布。
可选地,在装置的其他实施例中,第二处理模块508包括:
裁剪模块5080,用于基于画布上的预设操作事件对所述音视频流进行裁剪,得到裁剪后的音视频流;
渲染模块5082,用于渲染所述裁剪后的音视频流,得到目标音视频流。
可选地,在装置的其他实施例汇总,渲染模块5080具体用于:
渲染所述裁剪后的音视频流;
基于预设插件将渲染后的音视频流中的音频缓存至音轨;
合并所述音频和画布流,得到目标音视频流。
需要说明的是,上述一种虚拟投屏装置可执行本申请实施例提供的一种虚拟投屏方法,具备执行方法相应的功能模块和有益效果,未在一种虚拟投屏装置的实施例中详尽描述的技术细节,可参见本申请实施例提供的一种虚拟投屏方法。
图6是本申请实施例提供的电子设备的硬件结构示意图,如图6所示,电子设备600包括:
一个或者多个处理器601以及存储器602,图6中以一个处理器为例。
处理器601和存储器602可以通过总线或者其他方式连接,图6中以通过总线连接为例。
存储器602作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本申请实施例中虚拟投屏方法对应的程序指令/模块。处理器601通过运行存储在存储器602中的非失易性软件程序、指令以及模块,从而执行电子设备的各种功能应用以及数据处理,即实现上述方法实施例的虚拟投屏方法。
存储器602可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据虚拟投屏装置的使用所创建的数据等。此外,存储器602可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器602可选包括相对于处理器601远程设置的存储器,这些远程存储器可以通过网络连接至虚拟投屏装置。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
本申请实施例还提供了一种非易失性计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令被一个或者多处理器执行时,可使得上述一个或者多个处理器可执行上述任意方法实施例中的虚拟投屏方法。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
通过以上的实施方式的描述,本领域普通技术人员可以清楚地了解到各实施方式可借助软件加通用硬件平台的方式来实现,当然也可以通过硬件。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;在本申请的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本申请的不同方面的许多其它变化,为了简明,它们没有在细节中提供;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。

Claims (10)

1.一种虚拟投屏方法,其特征在于,所述方法包括:
获取界面信息;
对所述界面信息进行处理,得到音视频流;
捕捉所述音视频流至画布;
在所述画布上对所述音视屏流进行处理,得到目标音视频流;
输出所述目标音视频流。
2.根据权利要求1所述的方法,其特征在于,捕捉所述音视频流至画布,包括:
基于预设动作触发事件,捕捉所述音视频流至画布。
3.根据权利要求2所述的方法,其特征在于,所述在所述画布上对所述音视频流进行处理,得到目标音视频流,包括:
基于画布上的预设操作事件对所述音视频流进行裁剪,得到裁剪后的音视频流;
渲染所述裁剪后的音视频流,得到目标音视频流。
4.根据权利要求3所述的方法,其特征在于,所述渲染所述裁剪后的音视频流,得到目标音视频流,包括:
渲染所述裁剪后的音视频流;
基于预设插件将渲染后的音视频流中的音频缓存至音轨;
合并所述音频和画布流,得到目标音视频流。
5.一种虚拟投屏装置,其特征在于,所述装置包括:
获取模块,用于获取界面信息;
第一处理模块,用于对所述界面信息进行处理,得到音视频流;
捕捉模块,用于捕捉所述音视频流至画布;
第二处理模块,用于在所述画布上对所述音视频流进行处理,得到目标音视频流;
输出模块,用于输出所述目标音视频流。
6.根据权利要求5所述的装置,其特征在于,所述捕捉模块具体用于:
基于预设动作触发事件,捕捉所述音视频流至画布。
7.根据权利要求6所述的装置,其特征在于,所述第二处理模块包括:
裁剪模块,用于基于画布上的预设操作事件对所述音视频流进行裁剪,得到裁剪后的音视频流;
渲染模块,用于渲染所述裁剪后的音视频流,得到目标音视频流。
8.一种电子设备,其特征在于,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-4任一项所述的方法。
9.一种虚拟投屏系统,其特征在于,所述系统包括权利要求8所述的电子设备和服务器,所述服务器和所述电子设备连接,
所述电子设备通过画布上的预设操作事件对音视频流进行裁剪,并将裁剪后的音视频流发送给所述服务器,以使所述服务器渲染所述裁剪后的音视频流,得到目标音视频流。
10.一种非易失性计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机可执行指令,当所述计算机可执行指令被处理器所执行时,使所述处理器执行如权利要求1-4任一项所述的方法。
CN202211158737.7A 2022-10-26 2022-10-26 一种虚拟投屏方法、装置和电子设备 Pending CN117979076A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211158737.7A CN117979076A (zh) 2022-10-26 2022-10-26 一种虚拟投屏方法、装置和电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211158737.7A CN117979076A (zh) 2022-10-26 2022-10-26 一种虚拟投屏方法、装置和电子设备

Publications (1)

Publication Number Publication Date
CN117979076A true CN117979076A (zh) 2024-05-03

Family

ID=90859912

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211158737.7A Pending CN117979076A (zh) 2022-10-26 2022-10-26 一种虚拟投屏方法、装置和电子设备

Country Status (1)

Country Link
CN (1) CN117979076A (zh)

Similar Documents

Publication Publication Date Title
CN113423018B (zh) 一种游戏数据处理方法、装置及存储介质
CN110620959B (zh) 一种数据处理方法、装置、电子设备、系统及存储介质
US20220007083A1 (en) Method and stream-pushing client for processing live stream in webrtc
CN105991962B (zh) 连接方法、信息展示方法、装置及系统
US10516903B2 (en) Method and apparatus for transmitting video data
EP3021556A1 (en) Transmission method and device for media stream in video conference
WO2021082299A1 (zh) 一种视频播放方法及装置
CN110430441B (zh) 一种云手机视频采集方法、系统、装置及存储介质
CN112099873B (zh) 应用程序首页加载方法、装置、设备及存储介质
CN110113298B (zh) 数据传输方法、装置、信令服务器和计算机可读介质
US11089381B2 (en) Apparatus and method for simultaneous playback and backup of media in a web browser
CN113473165A (zh) 直播控制系统、直播控制方法、装置、介质与设备
CN117979076A (zh) 一种虚拟投屏方法、装置和电子设备
CN112004147A (zh) 一种视频渲染方法、装置、电子设备及存储介质
CN103826158A (zh) 一种网络直播装置和方法
CN113676748A (zh) 一种云游戏截屏互动的方法及系统
WO2021088973A1 (zh) 直播流显示方法、装置、电子设备及可读存储介质
US20160188362A1 (en) Library apparatus for real-time process, and transmitting and receiving method thereof
CN109874036B (zh) 一种视频分析方法及装置、设备、存储介质
CN108377243B (zh) 一种直播流的传输方法及装置
US10798142B2 (en) Method, apparatus and system of video and audio sharing among communication devices
CN107707930B (zh) 视频处理方法、装置及系统
CN110798700A (zh) 视频处理方法、视频处理装置、存储介质与电子设备
CN111787418B (zh) 基于人工智能ai的音视频流的对接处理方法及相关设备
CN115278278B (zh) 一种页面显示方法、装置、电子设备及存储介质

Legal Events

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