CN112839190B - 虚拟图像与现实场景同步视频录制或直播的方法 - Google Patents
虚拟图像与现实场景同步视频录制或直播的方法 Download PDFInfo
- Publication number
- CN112839190B CN112839190B CN202110081422.6A CN202110081422A CN112839190B CN 112839190 B CN112839190 B CN 112839190B CN 202110081422 A CN202110081422 A CN 202110081422A CN 112839190 B CN112839190 B CN 112839190B
- Authority
- CN
- China
- Prior art keywords
- window
- recording
- content display
- display window
- content
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/76—Television signal recording
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/21—Server components or server architectures
- H04N21/218—Source of audio or video content, e.g. local disk arrays
- H04N21/2187—Live feed
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/231—Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/431—Generation of visual interfaces for content selection or interaction; Content or additional data rendering
- H04N21/4312—Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/431—Generation of visual interfaces for content selection or interaction; Content or additional data rendering
- H04N21/4312—Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations
- H04N21/4316—Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations for displaying supplemental content in a region of the screen, e.g. an advertisement in a separate window
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/478—Supplemental services, e.g. displaying phone caller identification, shopping application
- H04N21/4788—Supplemental services, e.g. displaying phone caller identification, shopping application communicating with other users, e.g. chatting
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/81—Monomedia components thereof
- H04N21/816—Monomedia components thereof involving special video data, e.g 3D video
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Marketing (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明提供虚拟图像与现实场景同步视频录制或直播的方法,包括:S1通过GPUImageVideoCamera获取实时摄像头预览画面铺满全屏显示;S2通过调用接口从服务器获取需要显示的文字、图像或动画、3D模型素材;S3在所述预览画面上叠加TextView控件显示文字,或叠加FLAnimatedImageView控件显示图像或动画,或叠加SCNView控件显示3D模型,形成素材叠加现实场景的内容显示窗口;S4在所述内容显示窗口上方叠加操作窗口,且所述操作窗口关联并控制所述内容显示窗口,用于实现对所述内容显示窗口中内容数据的各类操控操作;S5通过所述操作窗口开启录制或直播后,通过ReplayKit框架将内容显示窗口的画面数据与麦克风的声音数据进行视频录制或直播。将授课内容与授课场景合为统一的视频,实现3D现实场景嵌入。
Description
技术领域
本发明涉及虚拟现实技术领域,特别涉及虚拟图像与现实场景同步视频录制或直播的方法。
背景技术
随着互联网技术,以及视频技术的发展,越来越多的在线培训、在线教育、直播教育等都在使用老师视频授课的形式。但传统的视频授课由于技术限制,如果想要实现:将老师授课的内容(PPT、图片、动画、3D模型等)与老师所处显示环境进行同屏呈现,必须要依赖绿布抠像技术、录播硬件设备,或者繁琐的手工视频编辑才能够实现。这种实现方式操作复杂、成本高昂,制作周期长,可复制性差。
现有技术中的屏幕录制方法虽然同样基于ReplayKit框架,但是录制的视频中会将屏幕上所有内容全部录制到视频中,而无法实现操作UI界面与录制内容相分离,难以达到操作UI界面与录制内容同屏显示,但录制的视频或直播不会录制操作UI界面上所有内容的效果。
而且,现有技术中的录制仅仅是只对单个的素材进行录制,无法实现在现实场景下多个文字、图片、动画、3D模型进行切换录制,且难以支持通过蓝牙鼠标在远距离范围进行操控。
现有技术的基于现实场景的录制在视频采集后,进行处理视频时还会很大的消耗智能手机性能例如对视频进行美颜、滤镜等处理,难以实现实时的摄像头获取的现实场景预览图像就有美颜等滤镜且无需对视频流数据进行美颜等性能更优秀的效果。
常用的技术术语包括:
GPUImageVideoCamera能够录制视频,录视频采用GPUImageVideoCamera做输入源,摄像头用于实时拍摄视频,继承自GPUImageOutput,其遵循AVCaptureVideoDataOutputSampleBufferDelegate和AVCaptureAudioDataOutputSampleBufferDelegate两个协议,采用摄像头数据作为数据源,是数据响应链的源头。
ReplayKit框架,更便捷地记录游戏或者应用的画面,录制自己的声音。ReplayKit录屏库为用户提供了一个全功能的交互界面,用户可用它来编辑或制作自己的视频剪辑。
AR模式(增强现实):增强现实(Augmented Reality)技术是将虚拟信息与真实世界融合的技术,将计算机生成的文字、图像、三维模型等虚拟信息应用到真实世界中,从而实现对真实世界的“增强”。
MR模式(混合现实):混合现实(Mixed Reality)是虚拟现实技术的进一步发展,该技术通过在虚拟环境中引入现实场景信息,在虚拟世界、现实世界和用户之间搭起一个交互反馈的信息回路,以增强用户体验的真实感。
发明内容
为了解决上述技术问题,本发明的目的在于:提供了一种将授课的内容(PPT、图片、动画、3D模型等素材)与所处现实环境进行同屏呈现录制或直播的方法,能够在移动终端将文字、图片、动画等虚拟图像和3D模型与现实场景结合,并录制成视频或进行直播。
具体地,本发明提供虚拟图像与现实场景同步视频录制或直播的方法,所述方法包括以下步骤:
S1.通过GPUImageVideoCamera获取实时摄像头预览画面铺满全屏显示;
S2.通过调用接口从服务器获取需要显示的文字、图像或动画、3D模型素材;
S3.在所述预览画面上叠加TextView控件显示文字,或叠加FLAnimatedImageView控件显示图像或动画,或叠加SCNView控件显示3D模型,形成素材叠加现实场景的内容显示窗口;
S4.在所述内容显示窗口上方叠加操作窗口,叠加的方式是通过在内容显示窗口的控制器中创建操作窗口,再调用系统的窗口方法MakeKeyAndVisible,使操作窗口成为当前系统的主要窗口并显示出来,且所述操作窗口关联并控制所述内容显示窗口,关联的方式是通过在内容显示窗口的控制器中创建操作窗口的控制器,并且通过操作窗口的控制器的回调函数Block,实现操作窗口的控制器控制函数在内容显示窗口的控制器中去执行,用于实现对所述内容显示窗口中内容数据的各类操控操作;
S5.通过所述操作窗口开启录制或直播后,通过ReplayKit框架将内容显示窗口的画面数据与麦克风的声音数据进行录制视频或进行直播。
所述步骤S1中显示的所述预览画面是通过GPUImageVideoCamera实现预览画面采集的帧率控制、画面的镜像翻转、画面的等比填充、以及通过GPUImageBeautyFilter设置采集画面开启/关闭美颜滤镜效果。
所述步骤S3中显示的预览画面叠加内容数据形成素材叠加现实场景的内容显示窗口,但在素材内容加载时,判断当前是文字或图像或动画或模型;
在所述内容显示窗口最上方,还能够通过叠加标注View控件,实现手势通过UIBezierPath进行划线、书写;
在所述内容显示窗口加载当前素材时,还能够提前设置素材是否加载动画,通过UIView系统API方法中的TransitionWithView方法实现素材自身的加载动画。
所述步骤S3中显示的预览画面叠加内容数据形成素材叠加现实场景的内容显示窗口,但在素材内容加载时,判断当前是文字或图像或动画或模型,显示素材内容;特别地,可以只显示一种素材内容,换句话说TextView控件、FLAnimatedImageView控件、SCNView控件同一时间显示只能三选一,其它素材内容则隐藏;实际上,在普通模式或在MR模式下,都是加载3种控件,根据产品的需求显示时,能三选一,也可以实现三选二,或三个同时显示;
在所述内容显示窗口最上方,还能够通过叠加标注View控件,实现手势通过UIBezierPath进行划线、书写;
在所述内容显示窗口加载当前素材时,还能够提前设置素材是否加载动画,通过UIView系统API方法中的TransitionWithView方法实现素材自身的加载动画。
所述加载动画包括翻页、翻转、旋转。
所述步骤S3中,在所述内容显示窗口中,还能够通过叠加ARSCNView实现整个录制或直播由普通模式进入MR模式,MR模式与普通模式只显示一种模式,另一种模式效果则隐藏;MR模式与普通模式能够自由切换,在进入MR效果后,能够自由切换为普通模式;
在普通模式中,现实场景为实时的现实场景;
在MR模式中,会通过ARWorldTrackingConfiguration追踪并形成当前现实场景的虚拟世界坐标,在当前内容显示窗口中的素材会在现实场景中进行加载实现空间中MR效果;同时,在操作窗口中切换当前需要显示的素材时,该素材会在现实的空间中进行加载,
加载文字时,通过生成新的UITextView控件,将控件生成SCNNode添加到ARSCNView的根节点中显示,
加载图片或动画时,通过生成新的FLAnimatedImageView控件,将控件生成SCNNode添加到ARSCNView的根节点中显示,
加载3D模型时,通过读取模型将模型添加至ARSCNView的根节点中显示。
所述步骤S4中通过所述操作窗口控制内容显示窗口中内容数据的各类操作活动,但录制或直播时,能够不将所述操作窗口上的所有内容数据录制或直播到视频内容中,通过将ReplayKit框架在内容显示窗口的控制器内执行,使得ReplayKit框架获取的Window为内容显示窗口的Window,因此不会将操作窗口上所有内容录制或直播到视频内容中;
ReplayKit框架仅在内容显示窗口的控制器中去执行,和操作窗口的控制器没有关系;
所述操作窗口通过回调函数Block,控制内容显示窗口通过GPUImageVideoCamera实现切换前后摄像头,开启闪光灯,开启美颜;以及控制文字、图像或动画、3D模型控件的切换,内容加载,实现是否开启MR模式。
所述步骤S4中,同时使操作窗口Window背景颜色为透明,操作窗口的控制器背景颜色为透明。这样做的原因是因为操作窗口是叠加到内容显示窗口上方的,窗口及控制器背景如果有背景颜色,那么会遮挡住内容显示窗口,所以将两者背景设置为透明。
所述方法需要用户把录制用的素材数据先通过手机、平板或者PC上传到服务器端,在录制或直播的时候先从服务器端将素材下载到移动终端;所述的操作窗口中除了能够通过手指操作外,还能够通过移动设备连接蓝牙鼠标,实现鼠标操作文字、图片、动画和3D模型,实现素材在内容显示窗口中的移动位置、放大、缩小操作,以及控制操作窗口实现自身的功能。
所述步骤S5中所述的用户能够选择录制或直播模式:
在录制模式下,通过ReplayKit框架将内容显示窗口的画面与麦克风声音进行录制,调用系统RPScreenRecorder的startRecordingWithHandler方法将获取的内容显示窗口画面与麦克风声音录制成视频,视频录制完成后保存至手机本地相册;
在直播模式下,通过ReplayKit框架将画面与声音进行直播,调用系统RPScreenRecorder的startCaptureWithHandle completionHandler:方法,该方法指的就是startCaptureWithHandle completionHandler:,该方法为系统提供的函数。凡涉及系统的方法,“方法”为名词,指系统提供的函数,调用函数,实现某些功能,将获取的内容显示窗口的画面的视频帧RPSampleBufferTypeVideo数据与获取的麦克风的音频帧RPSampleBufferTypeAudioMic合成视频流,并推流至流媒体服务器;并且在直播模式下,通过IM服务器,实现直播同时直播的人与观看的人进行聊天互动,利用直播服务器也即流媒体服务器的云录制技术,实现混合视频的云存储技术,对直播的视频进行实时录制,存储为直播云服务器上的视频资源。
所述步骤S5中的所述画面数据分别来自于摄像头采集、屏幕采集、文件流采集中的一种或多种;所述声音数据来自于麦克风音频数据采集、文件流采集中的一种或多种。
综上,应用本申请方法能够实现的优势在于:
采用本申请的AR微课录制或直播方法解决了传统授课视频录制中的技术限制,实现更高效率、更简便的将老师授课内容与授课场景混合成为统一的视频,同时实现3D物体的现实场景嵌入,也可以更好地提升课程的观看效果和生动性。
本申请基于手机、平板等移动终端和电脑端的技术,在手机、平板等移动终端实现AR、MR效果的课程录制;可将课程PPT/PDF等文档文件、图片、GiF动图、3D模型与摄像头采集的真实场景画面结合在一起,实现素材文件在现实环境中呈现的AR、MR效果,实时的通过屏幕录制的方式进行音画同屏录制,同时视频有美颜效果、用户实时书写、移动缩放操作等都会被录制或直播,能够生成mp4视频文件。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,并不构成对本发明的限定。
图1是本方法的流程示意图。
图2是本方法中内容显示窗口和操作窗口的图示。
图3是本发明具体实施例中操作应用的效果示意图。
图4是本发明具体实施例中3D模型叠加的显示效果示意图。
图5是本发明具体实施例中具体应用操作过程的步骤流程示意图。
图6是应用本申请的方法的情景示意图。
具体实施方式
为了能够更清楚地理解本发明的技术内容及优点,现结合附图对本发明进行进一步的详细说明。
如图1所示,本发明提供一种虚拟图像与现实场景同步视频录制或直播的方法,所述方法包括以下步骤:
S1.通过GPUImageVideoCamera获取实时摄像头预览画面铺满全屏显示;
S2.通过调用接口从服务器获取需要显示的文字、图像或动画、3D模型素材;
S3.在所述预览画面上叠加TextView控件显示文字,或叠加FLAnimatedImageView控件显示图像或动画,或叠加SCNView控件显示3D模型,形成素材叠加现实场景的内容显示窗口;
S4.在所述内容显示窗口上方叠加操作窗口,叠加的方式是通过在内容显示窗口的控制器中创建操作窗口,再调用系统的窗口方法MakeKeyAndVisible,使操作窗口成为当前系统的主要窗口并显示出来,且所述操作窗口关联并控制所述内容显示窗口,关联的方式是通过在内容显示窗口的控制器中创建操作窗口的控制器,并且通过操作窗口的控制器的回调函数Block,实现操作窗口的控制器控制函数在内容显示窗口的控制器中去执行,用于实现对所述内容显示窗口中内容数据的各类操控操作;
通常地,系统规定每一个窗口都有一个控制器,内容显示窗口有内容显示窗口的控制器,操作窗口有操作窗口的控制器。“控制器”是系统内部的类的叫法,为UIViewController,控制器的作用是将页面显示出来,并实现各类方法的集合。每一个页面都必须有一个控制器;比如App有5个页面,相应的在程序中,就会有5个控制器;一般情况下,内容显示窗口的控制器中的方法在内容显示窗口的控制器内执行,操作窗口的控制器的方法在操作窗口的控制器内执行,但此申请中,操作窗口的控制器的方法在内容显示窗口的控制器中去执行。
S5.通过所述操作窗口开启录制或直播后,通过ReplayKit框架将内容显示窗口的画面数据与麦克风的声音数据进行录制视频或进行直播。
如图2所示,其中,所述内容显示窗口:显示摄像头预览场景内容及叠加文字、图像、动画、3D模型显示控件;所述操作窗口:显示操作按钮,操作控制各类摄像头的操作及素材的切换与加载。具体地,如图3所示,现实场景与虚拟图像等处于内容显示窗口;而操作按钮等UI处于操作窗口,便于用户对内容显示窗口中加载的文字、图像、3D模型等进行操作,以及对操作窗口内控制功能的操作。
本申请实施例是一种虚拟图像和3D模型与现实场景同步显示、视频录制或直播方法。具体地,本方法可以适用于移动端例如手机、平板等内的虚拟图像和3D模型与现实场景同步显示、录制、直播,移动端为电子设备,可以包括手机、平板等。
可以理解的是,本实施例的虚拟图像物品显示方法可以是在移动终端上执行的,也可以是由移动终端和服务器共同执行的。以上举例不应理解为对本申请的限制。
在内容显示窗口最上方,可选的,可以通过叠加标注View控件,实现手势通过UIBezierPath进行划线、书写。
内容显示窗口形成后,通过叠加另一个Window,并关联操作窗口的控制器,将操作窗口Window叠加在内容显示窗口的控制器所在的Window上方,同时使操作窗口所在Window背景颜色为透明,操作窗口的控制器背景颜色为透明。
内容显示窗口与操作窗口叠加完成后,用户可以通过操作窗口控制内容显示窗口中的GPUImageVideoCamera是否切换前后摄像头、开启闪光灯、开启美颜、控制焦距,其中开启美颜是针对GPUImageVideoCamera是否增加GPUImageBeautyFilter滤镜来设置采集画面是否开启美颜滤镜效果。
进一步的,操作窗口控制内容显示窗口中的文字、图像或动画、3D模型控件的切换与内容加载、标注。
在内容显示窗口中的文字、图像或动画控件进行切换时,可选的,提前设置文字、图像、动画素材的加载动画,在进行切换时,可以通过UIView的transitionWithView方法实现素材自身的加载动画,例如淡入淡出、翻页、翻转、旋转的动画效果。动画效果会一起录制到视频中或通过直播推流出去;
除了通过手指操作外,通过移动设备连接蓝牙鼠标,实现通过鼠标操作文字、图片、动画和3D模型,实现素材的移动位置、放大、缩小操作,及控制操作窗口实现自身的功能。
用户在初始使用本方法时,选择进入录制或直播模式,如果用户选择进入录制模式,那么可以通过操作窗口上的按钮开启录制后,ReplayKit将内容显示窗口中的画面与麦克风声音进行录制,调用系统RPScreenRecorder的startRecordingWithHandler方法,将获取的内容显示窗口的画面与声音录制成视频,视频录制完成后会保存至手机本地相册;
如果用户选择进入直播模式,那么可以通过操作窗口上的按钮开启录制后,ReplayKit将内容显示窗口画面与麦克风声音进行录制,调用系统RPScreenRecorder的startCaptureWithHandle completionHandler:方法,将获取的内容显示窗口画面的视频帧RPSampleBufferTypeVideo数据与获取的麦克风音频帧RPSampleBufferTypeAudioMic合成视频流,并推流至流媒体服务器。
在直播模式,可选的,通过IM服务器,实现实现直播同时直播人与观看人进行聊天互动。
在直播模式下,可选的,利用直播服务器的云录制技术,实现混合视频的云存储技术,对直播的视频进行实时录制,存储为直播云服务器上的视频资源。
在视频录制或直播过程中,通过在内容显示窗口开启并加载ARSCNView实现整个录制进入MR模式,在MR模式中,会通过ARWorldTrackingConfiguration追踪并形成当前现实场景的虚拟世界坐标,当前内容显示窗口中的素材会在现实场景中进行加载,实现空间中MR效果;同时,在操作窗口中切换当前需要显示的素材时,该素材会在现实的空间中进行加载;
加载文字时,通过生成新的UITextView控件,将控件生成SCNNode添加到ARSCNView的根节点中显示;
加载图片或动画时,通过生成新的FLAnimatedImageView控件,将控件生成SCNNode添加到ARSCNView的根节点中显示;
加载3D模型时,通过读取模型将模型添加至ARSCNView的根节点中显示,如图4所示,是同步视频录制或直播的方法中,加载3D小汽车模型的显示效果示意图。
所述步骤S4中的操作窗口中可以设置镜头切换开关,用于控制内容显示窗口中显示的实时场景为前摄像头或后摄像头获取的实时场景,以便实现移动端前、后摄像头获取现实场景。
所述操作窗口中可以设置美颜开关,用于控制内容显示窗口中显示的实时场景中是否开启美颜效果,也可实现内容显示窗口中的现实场景在初始创建时就具有美颜效果,通过操作窗口的开关去控制只是举例,不应理解为限制。
所述操作窗口中可以设置闪光灯开关,用于控制内容显示窗口中前或后摄像头开启或关闭闪光灯。
所述操作窗口中可以设置标注开关,用于使用显示不同颜色的画笔,在内容显示窗口中显示的图像、动画等素材上进行实时标注。
所述操作窗口中可以设置上、下翻页按钮,用于控制内容显示窗口中当前的素材内容进行上下切换,内容显示窗口中会加载当前顺序的素材内容,并判断改素材是否具有系统定义动画,如果素材具有系统定义动画,那么在显示加载内容的同时,一并会加载动画效果。
所述操作窗口中可以设置模式切换开关,用于控制内容显示窗口中素材显示区域与摄像头显示区域的进行切换。默认状态下在内容显示窗口中,摄像头获取图像预览的显示区域为全屏显示,素材显示区域为固定小区域显示;切换转态下在内容显示窗口中,素材显示区域为固定大区域显示,摄像头获取图像预览的显示区域为固定小区域显示。
所述操作窗口中可以设置光标按钮,用户控制内容显示窗口中的触控光标是否显示,触控光标包含:单手指拖动光标,在对素材进行拖动时显示;双指缩放光标:在对素材进行放大、缩小时显示,此项也可实现内容显示窗口中在初始创建时就具有手势光标效果,通过操作窗口的开关去控制只是举例,不应理解为限制。
所述操作窗口中可以设置滑杆开关,用户控制滑杆的显示或隐藏,滑杆包含:镜头拉伸滑杆:用于控制内容显示窗口中摄像头的焦距进行拉伸,实现镜头内容的放大、缩小;内容缩放滑杆:用与控制内容显示窗口中素材的放大或缩小。
所述操作窗口中可以设置MR开关,用于进入或退出MR模式,在MR模式中,会形成当前现实场景的虚拟世界坐标,当前内容显示窗口中的素材会在现实场景中进行加载,实现空间中MR效果;同时,控制操作窗口的翻页按钮,会切换当前需要显示的素材,该素材会在MR效果中进行加载;
所述操作窗口中可以设置聊天按钮,仅在选择启动模式为直播模式下才启用,用于通过聊天服务器,实现主播讲师与观看人进行聊天互动
所述内容显示窗口中默认加载为AR模式,进行MR模式后会关闭AR模式;当退出MR模式时,内容显示窗口自动加载AR模式;可通过操作窗口控制内容显示窗口在两种模式中进行实时的切换。
本申请实施例提供适用于移动端的虚拟图像和3D模型与现实场景同步显示、录制、直播的方法,电子设备等可以为移动端,移动终端可以包括手机、平板电脑等。
可以理解的是,本实施例的虚拟物品显示方法可以是在终端上执行的,也可以是由终端和服务器共同执行的。以上举例不应理解为对本申请的限制。
如图5所示,应用该虚拟图像和3D模型与现实场景同步视频录制或直播方法的步骤,流程如下:
1.选择启动模式:录制模式或直播模式;
2.移动端获取服务器端的虚拟图像:文字、图像、动画、3D模型素材;
3.开启虚拟图像与现实场景结合的内容显示窗口;
4.内容显示窗口上叠加操作窗口;
5.开始/停止录制或直播;
6.控制ReplayKit框架活动开始/停止;
7.ReplayKit框架采集内容显示窗口中的画面与声音,进行录制视频或直播。
进一步地,具体应用操作的步骤:
用户选择启动模式为录制或是直播模式,录制模式为用户虚拟图像和3D模型与现实场景结合,将视频流录制生成为视频,将视频保存至移动端本地;直播模式为用户虚拟图像和3D模型与现实场景结合,将视频流推送至流媒体服务器,实现直播端的推流,观看人可通过观看地址进行观看,直播端的地址可由移动端分享,或由其他端分享,举例不应理解为对其限制。
当检测到用户选择录制模式时,会首先从服务器端获取图像、动画、3D模型等素材,素材的上传可通过电脑端上传或者通过移动端提前上传,然后将素材缓存至手机本地或实时进行加载,提前上传和缓存的方式不应理解为对其限制。
当获取到用户素材后,进入显示窗口页面,显示窗口会首先通过移动端的摄像头获取实时的镜头画面,将镜头画面预览显示在显示窗口中,同时,加载当前顺序为0的第一个素材,与实时镜头画面一起,结合显示。
在显示窗口上,叠加生成操作窗口,此项的目的为实现录制只显示显示窗口的录制内容,虽然操作窗口与显示窗口叠加在一起,但录制时不会录制操作窗口内所有显示内容。但此项并不必要,需看具体实施范围内,是否需要录制操作窗口的内容,此项中操作窗口是否被录制或直播,均在本申请的保护范围内,因为此项可由技术人员通过简单修改实现。
在操作窗口中,用户操控关闭按钮可退出当前整体录制页面,关闭内容显示窗口显示内容,停止当前一切录制或直播活动。
在操作窗口中,用户在录制模式下,操控开始按钮,那么录制便开始,会通过录屏的方式,实时获取内容显示窗口的内容及当前麦克风获取的音频,生成视频流文件。
相应地,在操作窗口中,用户在直播模式下,操控开始按钮,那么录制便开始,会通过录屏的方式,实时获取内容显示窗口的内容及当前麦克风获取的音频,将视频流及音频流文件推送至流媒体服务器,实现直播的推流。
用户在录制/直播模式下,操控操作窗口中的镜头切换按钮,用于控制内容显示窗口中显示的实时场景为前摄像头或后摄像头获取的实时场景,两个场景可即时切换。
用户在录制/直播模式下,操控操作窗口中的美颜按钮,用于控制内容显示窗口中显示的实时场景中是否开启美颜效果,美颜效果会通过美颜滤镜,将实时场景进行滤镜美化,其中,此项中美颜方式的具体效果实现,例如美白、磨皮等,但美颜方式的举例不应理解为对其限制。
用户在录制/直播模式下,操控操作窗口中的闪光灯按钮,用于控制内容显示窗口中前或后摄像头开启或关闭闪光灯。
用户在录制/直播模式下,操控操作窗口中的画笔按钮,用于显示不同颜色的画笔,在内容显示窗口中显示的图像、动画等素材上进行实时标注。
用户在录制/直播模式下,操控操作窗口中的目录按钮,用于控制操作窗口中显示或隐藏当前的素材列表目录,该列表目录中,点击选中某一个素材,内容显示窗口中当前显示的素材会进行立即切换为对应的素材,两个窗口中素材会保持一致。
用户在录制/直播模式下,操控操作窗口中的上、下按钮,用于控制内容显示窗口中当前的素材内容进行上下切换,内容显示窗口中会加载当前顺序的素材内容,并判断改素材是否具有系统定义动画,如果素材具有系统定义动画,那么在显示加载内容的同时,一并会加载动画效果。其中,素材的动画效果可通过电脑端或着移动端进行设置,设置的素材动画类型可包含:淡入淡出、左右翻转、上下翻转、翻页等,具体的设置方式和动画效果不应理解为对其限制。
用户在录制/直播模式下,操控操作窗口中的模式切换按钮,用于控制内容显示窗口中素材显示区域与摄像头显示区域的进行切换,默认状态下在内容显示窗口中,摄像头显示区域为全屏显示,素材显示区域为固定小区域显示;切换转态下在内容显示窗口中,素材显示区域为固定大区域显示,摄像头显示区域为固定小区域显示。
用户在录制/直播模式下,操控操作窗口中的光标按钮,用户控制内容显示窗口中的触控光标是否显示,触控光标包含:单手指拖动光标,在对素材进行拖动时显示;双指缩放光标;在对素材进行放大、缩小时显示。
用户在录制/直播模式下,操控操作窗口中的滑杆按钮,用户显示或隐藏滑杆是否显示,滑杆包含:镜头拉伸滑杆,用于操作内容显示窗口中摄像头的焦距进行拉伸,实现镜头内容的放大、缩小;内容缩放滑杆,用与操作内容显示窗口中素材的放大或缩小。
用户在录制/直播模式下,操控操作窗口中的MR按钮,用于进入或退出MR模式,在MR模式中,会形成当前现实场景的虚拟世界坐标,当前内容显示窗口中的素材会在现实场景中进行加载,实现空间中MR效果;同时,控制操作窗口的翻页按钮,会切换当前需要显示的素材,该素材会在MR效果中进行加载;
用户在录制/直播模式下,操控操作窗口中的聊天按钮,只有在选择启动模式为直播模式下才启用,用于通过聊天服务器,实现主播讲师与观看人进行聊天互动。
基于操作窗口的操作,内容显示窗口会做出相应的处理,整个处理的过程都会实时的被录制,最终在录制模式下生成可播放的视频,以及在直播模式下将视频流推流至流媒体服务器。
如图6所示,以手机移动端设备为例,本申请实施例提供的虚拟图像和3D模型与现实场景同步视频录制或直播的情景,包括手机端和服务器等;手机端和服务器之间通过网络连接,比如,通过有线或无线网络连接等,其中,虚拟图像和3D模型在手机端中显示。手机端,可以用于实现虚拟图像和3D模型与现实场景同步实现显示、录制或直播;用户在手机端向服务器端获取图像、动画、3D模型等素材数据,并将素材数据加载显示到手机端显示窗口中,并在操作窗口中进行后续的录制、直播操作。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明实施例可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (9)
1.虚拟图像与现实场景同步视频录制或直播的方法,其特征在于,所述方法包括以下步骤:
S1.通过GPUImageVideoCamera获取实时摄像头预览画面铺满全屏显示;
S2.通过调用接口从服务器获取需要显示的文字、图像或动画、3D模型素材;
S3.在所述预览画面上叠加TextView控件显示文字,或叠加FLAnimatedImageView控件显示图像或动画,或叠加SCNView控件显示3D模型,形成素材叠加现实场景的内容显示窗口;在所述内容显示窗口中,还能够通过叠加ARSCNView实现整个录制或直播由普通模式进入MR模式,MR模式与普通模式只显示一种模式,另一种模式效果则隐藏;MR模式与普通模式能够自由切换,在进入MR效果后,能够自由切换为普通模式;
在普通模式中,现实场景为实时的现实场景;
在MR模式中,会通过ARWorldTrackingConfiguration追踪并形成当前现实场景的虚拟世界坐标,在当前内容显示窗口中的素材会在现实场景中进行加载实现空间中MR效果;同时,在操作窗口中切换当前需要显示的素材时,该素材会在现实的空间中进行加载,
加载文字时,通过生成新的UITextView控件,将控件生成SCNNode添加到ARSCNView的根节点中显示,
加载图片或动画时,通过生成新的FLAnimatedImageView控件,将控件生成SCNNode添加到ARSCNView的根节点中显示,
加载3D模型时,通过读取模型将模型添加至ARSCNView的根节点中显示;在普通模式或在MR模式下,都是加载3种控件,根据产品的需求显示时,能三选一,也可以实现三选二,或三个同时显示;
S4.在所述内容显示窗口上方叠加操作窗口,叠加的方式是通过在内容显示窗口的控制器中创建操作窗口,再调用系统的窗口方法MakeKeyAndVisible,使操作窗口成为当前系统的主要窗口并显示出来,且所述操作窗口关联并控制所述内容显示窗口,关联的方式是通过在内容显示窗口的控制器中创建操作窗口的控制器,并且通过操作窗口的控制器的回调函数Block,实现操作窗口的控制器控制函数在内容显示窗口的控制器中去执行,用于实现对所述内容显示窗口中内容数据的各类操控操作;
S5.通过所述操作窗口开启录制或直播后,通过ReplayKit框架将内容显示窗口的画面数据与麦克风的声音数据进行视频录制或进行直播。
2.根据权利要求1所述的虚拟图像与现实场景同步视频录制或直播的方法,其特征在于,所述步骤S1中显示的所述预览画面是通过GPUImageVideoCamera实现预览画面采集的帧率控制、画面的镜像翻转、画面的等比填充、以及通过GPUImageBeautyFilter设置采集画面开启/关闭美颜滤镜效果。
3.根据权利要求1所述的虚拟图像与现实场景同步视频录制或直播的方法,其特征在于,所述步骤S3中显示的预览画面叠加内容数据形成素材叠加现实场景的内容显示窗口,但在素材内容加载时,判断当前是文字或图像或动画或模型,显示素材内容;
在所述内容显示窗口最上方,还能够通过叠加标注View控件,实现手势通过UIBezierPath进行划线、书写;
在所述内容显示窗口加载当前素材时,还能够提前设置素材是否加载动画,通过UIView系统API方法中的TransitionWithView方法实现素材自身的加载动画。
4.根据权利要求3所述的虚拟图像与现实场景同步视频录制或直播的方法,其特征在于,所述加载动画包括淡入淡出、翻页、翻转、旋转。
5.根据权利要求1所述的虚拟图像与现实场景同步视频录制或直播的方法,其特征在于,所述步骤S4中通过所述操作窗口控制内容显示窗口中内容数据的各类操作活动,但录制或直播时,能够不将所述操作窗口上的所有内容数据录制或直播到视频内容中,通过将ReplayKit框架在内容显示窗口的控制器内执行,使得ReplayKit框架获取的Window为内容显示窗口的Window,因此不会将操作窗口上所有内容录制或直播到视频内容中;
所述操作窗口通过回调函数Block,控制内容显示窗口通过GPUImageVideoCamera实现切换前后摄像头,开启闪光灯,开启美颜;以及控制文字、图像或动画、3D模型控件的切换,内容加载,实现是否开启MR模式。
6.根据权利要求5所述的虚拟图像与现实场景同步视频录制或直播的方法,其特征在于,所述步骤S4中,同时使操作窗口Window背景颜色为透明,操作窗口的控制器背景颜色为透明。
7.根据权利要求1所述的虚拟图像与现实场景同步视频录制或直播的方法,其特征在于,所述方法需要用户把录制用的素材数据先通过手机、平板或者PC上传到服务器端,在录制或直播的时候先从服务器端将素材下载到移动终端;
所述的操作窗口中除了能够通过手指操作外,还能够通过移动设备连接蓝牙鼠标,实现鼠标操作文字、图片、动画和3D模型,实现素材在内容显示窗口中的移动位置、放大、缩小操作,以及控制操作窗口实现自身的功能。
8.根据权利要求1所述的虚拟图像与现实场景同步视频录制或直播的方法,其特征在于,所述步骤S5中能够选择录制或直播模式:在录制模式下,通过ReplayKit框架将内容显示窗口的画面与麦克风声音进行录制,调用系统RPScreenRecorder的startRecordingWithHandler方法,将获取的内容显示窗口画面与麦克风声音录制成视频,视频录制完成后保存至手机本地相册;
在直播模式下,通过ReplayKit框架将画面与声音进行直播,调用系统RPScreenRecorder的startCaptureWithHandle completionHandler方法,该方法为系统提供的函数;
将获取的内容显示窗口的画面的视频帧RPSampleBufferTypeVideo数据与获取的麦克风的音频帧RPSampleBufferTypeAudioMic合成视频流,并推流至流媒体服务器;并且在直播模式下,通过IM服务器,实现直播同时直播的人与观看的人进行聊天互动,利用流媒体服务器的云录制技术,实现混合视频的云存储技术,对直播的视频进行实时录制,存储为直播云服务器上的视频资源。
9.根据权利要求1所述的虚拟图像与现实场景同步视频录制或直播的方法,其特征在于,所述步骤S5中的所述画面数据分别来自于摄像头采集、屏幕采集、文件流采集中的一种或多种;所述声音数据来自于麦克风音频数据采集、文件流采集中的一种或多种。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110081422.6A CN112839190B (zh) | 2021-01-22 | 2021-01-22 | 虚拟图像与现实场景同步视频录制或直播的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110081422.6A CN112839190B (zh) | 2021-01-22 | 2021-01-22 | 虚拟图像与现实场景同步视频录制或直播的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112839190A CN112839190A (zh) | 2021-05-25 |
CN112839190B true CN112839190B (zh) | 2023-01-31 |
Family
ID=75929272
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110081422.6A Active CN112839190B (zh) | 2021-01-22 | 2021-01-22 | 虚拟图像与现实场景同步视频录制或直播的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112839190B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116156314A (zh) * | 2021-05-31 | 2023-05-23 | 荣耀终端有限公司 | 一种视频拍摄方法及电子设备 |
CN113986165B (zh) * | 2021-10-09 | 2024-04-26 | 上海瑾盛通信科技有限公司 | 显示控制方法、电子装置及可读存储介质 |
CN114302027B (zh) * | 2021-12-22 | 2024-07-02 | 上海正在上演文化科技有限公司 | 一种基于5G技术的数字演艺SaaS系统 |
CN114339401A (zh) * | 2021-12-30 | 2022-04-12 | 北京翼鸥教育科技有限公司 | 一种视频背景处理方法及装置 |
CN115967818B (zh) * | 2022-12-21 | 2024-09-03 | 启朔(深圳)科技有限公司 | 云端设备直播方法、系统和计算机可读存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105306862A (zh) * | 2015-11-17 | 2016-02-03 | 广州市英途信息技术有限公司 | 一种基于3d虚拟合成技术的情景视频录制系统、方法及情景实训学习方法 |
CN110809173A (zh) * | 2020-01-08 | 2020-02-18 | 成都索贝数码科技股份有限公司 | 基于智能手机ar增强现实的虚拟直播方法及系统 |
CN110830815A (zh) * | 2020-01-08 | 2020-02-21 | 杭州易绘科技有限公司 | 一种用于无人机高清ar直播视频显示方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11282331B2 (en) * | 2018-08-07 | 2022-03-22 | Igt | Mixed reality systems and methods for enhancing gaming device experiences |
-
2021
- 2021-01-22 CN CN202110081422.6A patent/CN112839190B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105306862A (zh) * | 2015-11-17 | 2016-02-03 | 广州市英途信息技术有限公司 | 一种基于3d虚拟合成技术的情景视频录制系统、方法及情景实训学习方法 |
CN110809173A (zh) * | 2020-01-08 | 2020-02-18 | 成都索贝数码科技股份有限公司 | 基于智能手机ar增强现实的虚拟直播方法及系统 |
CN110830815A (zh) * | 2020-01-08 | 2020-02-21 | 杭州易绘科技有限公司 | 一种用于无人机高清ar直播视频显示方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112839190A (zh) | 2021-05-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112839190B (zh) | 虚拟图像与现实场景同步视频录制或直播的方法 | |
KR102543988B1 (ko) | 비디오 제작 방법 및 장치, 컴퓨터 디바이스 및 저장 매체 | |
CN110554818B (zh) | 用于导航媒体内容的设备、方法和图形用户界面 | |
KR101270780B1 (ko) | 가상 강의실 강의 방법 및 장치 | |
US20170024110A1 (en) | Video editing on mobile platform | |
KR101367260B1 (ko) | 강의자가 강의 중에 강의 화면을 구성할 수 있는 가상 강의실 강의 장치 | |
US20050231513A1 (en) | Stop motion capture tool using image cutouts | |
US20110170008A1 (en) | Chroma-key image animation tool | |
US20180160194A1 (en) | Methods, systems, and media for enhancing two-dimensional video content items with spherical video content | |
CN107770627A (zh) | 图像显示装置和操作图像显示装置的方法 | |
KR20170029725A (ko) | 영상 합성을 이용한 강의 영상 생성 방법 및 그 장치 | |
WO2016106997A1 (zh) | 屏幕截图方法及装置、移动终端 | |
KR101351085B1 (ko) | 실물화상기 | |
CN110069230A (zh) | 扩展内容显示方法、装置及存储介质 | |
CN114466232B (zh) | 视频处理方法、装置、电子设备和介质 | |
CN103699621A (zh) | 一种在移动设备摄录到的素材上记录图文信息的方法 | |
JP2024529251A (ja) | メディアファイル処理方法、装置、デバイス、可読記憶媒体および製品 | |
CN114520876A (zh) | 延时摄影视频录制方法、装置和电子设备 | |
JP2008250700A (ja) | 情報処理装置、ウインドウ再生方法及びプログラム | |
US20230326161A1 (en) | Data processing method and apparatus, electronic device, computer-readable storage medium, and computer program product | |
JP4321751B2 (ja) | 描画処理装置、描画処理方法および描画処理プログラム、並びにそれらを備えた電子会議システム | |
CN116596611A (zh) | 商品对象信息展示方法及电子设备 | |
WO2022247766A1 (zh) | 图像处理方法、装置及电子设备 | |
US20230367462A1 (en) | Smart interactive board, display method therefor, and readable storage medium | |
WO2020248682A1 (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |