视频录制方法、装置、电子设备及计算机存储介质与流程

文档序号:29941887发布日期:2022-05-07 14:51阅读:115来源:国知局
视频录制方法、装置、电子设备及计算机存储介质与流程

1.本技术涉及计算机技术领域,具体涉及一种视频录制方法、装置、电子设备及计算机存储介质。


背景技术:

2.当前在视频播放的过程中,支持对视频的录制功能,录制的视频可以进行保存(例如:保存到本地)或分享(分享到朋友圈)。但录制的过程中,只针对视频内容本身进行录制,不会对视频中的其它内容例如弹幕等进行录制。
3.视频在播放中包含弹幕信息,当点击视频右侧的录制按钮后,进入到视频录制界面,但录制时没有弹幕等信息,只录制视频内部本身,使得形成的录制视频不完整。


技术实现要素:

4.鉴于上述问题,提出了本技术以便提供一种克服上述问题或者至少部分地解决上述问题的视频录制方法、装置、电子设备及计算机存储介质。
5.根据本技术的一个方面,提供了一种视频录制方法,包括:
6.响应于视频录制操作,录制后台播放器播放的视频以获取视频片段,并从弹幕播放器中获取与所述视频片段同步的弹幕;
7.启动合成渲染器,根据图像渲染规则在所述合成渲染器的第一渲染区域生成所述视频片段对应的第一目标视图,在所述合成渲染器的第二渲染区域生成所述弹幕对应的第二目标视图;
8.根据所述图像渲染规则将所述第一目标视图和所述第二目标视图合成,生成录制视频。
9.根据本技术的另一个方面,提供了一种视频录制装置,包括:
10.数据获取模块,用于响应于视频录制操作,录制后台播放器播放的视频以获取视频片段,并从弹幕播放器中获取与所述视频片段同步的弹幕;
11.视图生成模块,用于启动合成渲染器,根据图像渲染规则在所述合成渲染器的第一渲染区域生成所述视频片段对应的第一目标视图,在所述合成渲染器的第二渲染区域生成所述弹幕对应的第二目标视图;
12.合成模块,用于根据所述图像渲染规则将所述第一目标视图和所述第二目标视图合成,生成录制视频。
13.根据本技术的另一方面,提供了一种电子设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
14.所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行本技术所述的视频录制方法对应的操作。
15.根据本技术的另一方面,提供了一种计算机存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行本技术所述的视频录制方法对应的操作。
16.根据本技术公开的视频录制方法、电子设备及计算机存储介质,通过在合成渲染器的第一渲染区域生成视频片段对应的第一目标视图,在合成渲染器的第二渲染区域生成弹幕对应的第二目标视图;根据图像渲染规则将第一目标视图和第二目标视图合成,生成录制视频,使得录制视频中除了包含视频片段本身以外,还包含弹幕,即包含更多的内容,使得录制视频更加完整。
17.上述说明仅是本技术技术方案的概述,为了能够更清楚了解本技术的技术手段,而可依照说明书的内容予以实施,并且为了让本技术的上述和其它目的、特征和优点能够更明显易懂,以下特举本技术的具体实施方式。
附图说明
18.通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本技术的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
19.图1示出了根据本技术实施例一提供的一种视频录制方法的流程示意图;
20.图2示出了根据本技术实施例二提供的一种视频录制方法的流程示意图;
21.图3示出了根据本技术实施例三提供的一种视频录制方法的流程示意图;
22.图4示出了根据本技术实施例四提供的一种视频录制方法的流程示意图;
23.图5示出了根据本技术实施例四提供的一种视频录制方法的流程框图;
24.图6示出了根据本技术实施例四提供的一种视频录制方法中的录屏预览示意图;
25.图7示出了根据本技术实施例四提供的一种视频录制方法中的合成进度界面示意图;
26.图8示出了根据本技术实施例四提供的一种视频录制方法中的合成完成界面示意图;
27.图9示出了根据本技术实施例四提供的一种视频录制方法中的录制视频播放效果示意图;
28.图10示出了根据本技术实施例五提供的一种视频录制装置的结构示意图;
29.图11示出了根据本技术实施例七提供的一种电子设备的结构示意图。
具体实施方式
30.下面将参照附图更详细地描述本技术的示例性实施例。虽然附图中显示了本技术的示例性实施例,然而应当理解,可以以各种形式实现本技术而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本技术,并且能够将本技术的范围完整的传达给本领域的技术人员。
31.实施例一
32.图1示出了根据本技术实施例一提供的一种视频录制方法的流程示意图。如图1所示,该方法包括:
33.步骤s11,响应于视频录制操作,录制后台播放器播放的视频以获取视频片段,并从弹幕播放器中获取与视频片段同步的弹幕。
34.具体的,本实施例的执行主体可以为用户终端,包括但不限于智能手机、平板电脑
和笔记本等。例如,可以在用户终端的视频录制页面显示视频录制按钮,当用户需要录制时,首先选择一个播放视频,通过用户终端从服务器获取视频数据,在用户点击视频录制按钮开始录制视频时,启动一个后台播放器(该播放器对用户无感),开始录制后台播放器播放的视频以获取视频片段。
35.可选地,还可以在视频录制页面显示弹幕获取按钮,当用户需要录制弹幕时,通过用户终端从服务器获取和上述视频数据对应的弹幕数据,在用户点击弹幕获取按钮时,启动对应的弹幕播放器(例如,弹幕控件),并从弹幕播放器中获取与视频片段同步的弹幕。
36.步骤s12,启动合成渲染器,根据图像渲染规则在合成渲染器的第一渲染区域生成视频片段对应的第一目标视图,在合成渲染器的第二渲染区域生成弹幕对应的第二目标视图。
37.其中,合成渲染器可以为一个软件渲染器,其集成了图像合成和渲染功能,在该合成渲染器中包含多个渲染区域。该渲染区域(localsurface)是用于渲染生成视频片段和弹幕对应视图的区域,在实际应用中,localsurface封装了绘图表面纹理(surfacetexture)和绘图表面(surface),surface是安卓系统的绘制表面,简单理解,surface是一个用于存放视频、图像数据的内存区域,surface有对应的长和宽。localsurface是一个可内部生成或外部注入的,用来直接绘制图像或创建绘制环境的区域。
38.在实际应用中,根据图像渲染规则在合成渲染器中为视频片段和弹幕分别分配对应的渲染区域,即视频片段和弹幕均对应一个localsurface。其中,图像渲染规则是指弹幕是否显示、视频片段和弹幕的位置、弹幕的样式等等。
39.相应的,在合成渲染器的视频片段对应的渲染区域生成视频片段对应的第一目标视图,在合成渲染器的每个待合成的业务目标对应的渲染区域分别生成每个待合成的弹幕对应的第二目标视图,即每个待合成的弹幕均对应一个目标视图,在执行步骤s13合成时,需要将视频片段对应的目标视图和每个待合成的弹幕对应的目标视图进行合成。
40.步骤s13,根据图像渲染规则将第一目标视图和第二目标视图合成,生成录制视频。
41.其中,图像渲染规则中包括有每个目标视图是否显示、位置、样式等信息,根据图像渲染规则将每个视图进行合成,合成完成的图像即为合成图像,基于该合成图像生成录制视频,或者基于该合成图像进行编码生成录制视频。
42.由此可见,本实施例通过在合成渲染器的第一渲染区域生成视频片段对应的第一目标视图,在合成渲染器的第二渲染区域生成弹幕对应的第二目标视图;根据图像渲染规则将第一目标视图和第二目标视图合成,生成录制视频,使得录制视频中除了包含视频片段本身以外,还包含弹幕,即包含更多的内容,使得录制视频更加完整。
43.实施例二
44.图2示出了根据本技术实施例二提供的一种视频录制方法的流程示意图。其中,本实施例在上述实施例一的基础上进一步优化。如图2所示,该方法包括:
45.步骤s21,响应于视频录制操作,录制后台播放器播放的视频以获取视频片段,并从弹幕播放器中获取与视频片段同步的弹幕。
46.步骤s22,启动合成渲染器,在合成渲染器的第一渲染区域生成视频片段对应的视频播放器,并在视频播放器中渲染视频片段,得到视频片段对应的第一目标视图。
47.具体的,通过合成渲染器为渲染生成视频播放器,例如,为视频片段分配对应的渲染区域p1,在渲染区域p1的surface中生成视频播放器,并在视频播放器中渲染视频片段,得到视频片段对应的目标视图。
48.步骤s23,在合成渲染器的第二渲染区域生成弹幕对应的弹幕控件,并在弹幕控件中渲染弹幕,得到弹幕对应的第二目标视图。
49.具体的,合成渲染器渲为弹幕生成对应的弹幕控件。例如,为弹幕分配对应的渲染区域p2,在渲染区域p2的surface中生成弹幕控件,并在弹幕控件中播放弹幕,以获取弹幕对应的目标视图。
50.步骤s24,根据图像渲染规则将第一目标视图和第二目标视图合成,生成录制视频。
51.例如,在合成视图时,根据图像渲染规则在视频播放器的上部叠放弹幕控件,从而将视频播放器播放的视频片段的目标视图、弹幕控件播放的弹幕的目标视图合成,得到合成图像,进而根据合成图像生成录制视频。例如,将将视频播放器播放的视频片段的目标视图、弹幕控件播放的弹幕的目标视图渲染至预设画布上,生成渲染图像,该渲染图像即为录制视频。
52.其中,该预设画布可以为安卓画布(canvas),即安卓控件的画布,可以理解为安卓的绘制工具,这里通过各种的绘制方法将目标视图绘制在画布上,通过canvas提供的api可以在画布上绘制出期望的图像,在本技术提供的实施例中,合成图像是多个目标视图对应的合成图形,是内存中的一个合成存储区域,还需要将其渲染至canvas中,生成对应的渲染图像。
53.由此可见,本实施例通过在合成渲染器的第一渲染区域生成视频片段对应的视频播放器,并在视频播放器中渲染视频片段,得到视频片段对应的第一目标视图,在合成渲染器的第二渲染区域生成弹幕对应的弹幕弹幕控件,并在弹幕弹幕控件中渲染弹幕,得到弹幕对应的第二目标视图,进而将第一目标视图和第二目标视图合成生成录制视频,使得录制视频中除了包含视频片段本身以外,还包含弹幕,即包含更多的内容,使得录制视频更加完整。
54.实施例三
55.图3示出了根据本技术实施三提供的一种视频录制方法的流程示意图。本实施例在上述实施例一的基础上进一步优化,如图3所示,该方法包括:
56.步骤s31,响应于视频录制操作,录制后台播放器播放的视频以获取视频片段,并从弹幕播放器中获取与视频片段同步的弹幕。
57.步骤s32,启动合成渲染器,在合成渲染器中启动渲染线程,根据图像渲染规则向渲染线程申请视频片段和每个弹幕对应的渲染区域;其中,渲染线程用于为视频片段和每个弹幕分配对应的渲染区域。
58.具体的,可在视频录制页面显示合成渲染器的启动按钮,用户通过触发该启动按钮以启动合成渲染器,并启动合成渲染器中的渲染线程。其中,渲染线程具体是指用于渲染生成图像的计算机线程,线程是操作系统能够进行运算调度的最小单位,渲染线程用于为视频片段和弹幕分配对应的渲染区域。
59.在合成视频片段和弹幕时,分别向渲染线程申请视频片段和弹幕对应的
localsurface,由渲染线程根据申请为为视频片段和弹幕分别分配localsurface,即在内存中为为视频片段和弹幕分别分配对应的内存区域。
60.步骤s33,在合成渲染器的视频片段对应的渲染区域生成视频片段对应的第一目标视图,在合成渲染器的弹幕对应的渲染区域生成弹幕对应的第二目标视图。
61.其中,每个渲染区域(localsurface)中包括有绘图表面(surface),视频片段和弹幕需要将自己的内容显示,可在对应的surface上绘制,生成对应的目标视图。
62.步骤s34,根据图像渲染规则将第一目标视图和每个业务目标对应的第二目标视图合成,生成录制视频。
63.具体的,图像渲染规则中包括有每个弹幕是否显示、位置、样式等信息,根据图像渲染规则将弹幕的目标视图和视频片段的目标视图进行合成,得到合成图像,根据合成图像生成录制视频。
64.由此可见,本实施例通过启动渲染线程,向渲染线程申请视频片段和弹幕对应的渲染区域,在合成渲染器的视频片段对应的渲染区域生成视频片段对应的第一目标视图,在合成渲染器的弹幕对应的渲染区域分别生成弹幕对应的第二目标视图,并合成生成录制视频,使得录制视频中除了包含视频片段本身以外,还包含弹幕,即包含更多的内容,使得录制视频更加完整。
65.实施例四
66.图4和图5示出了根据本技术实施四提供的一种视频录制方法的流程示意图。本实施例为一具体实施例,以弹幕为弹幕用于详细说明本技术。如图4和图5所示,该方法包括:
67.步骤s41,在视频录制页面显示视频选择按钮,响应于视频选择按钮的视频选择操作,从服务器获取视频数据和弹幕数据。
68.步骤s42,在视频录制页面显示视频录制按钮,响应于视频录制按钮的视频录制操作,启动后台播放器和弹幕渲染器,录制该后台播放器播放的视频以获取视频片段,并从弹幕渲染器中获取与视频片段同步的弹幕。
69.如图6所示,在弹幕开启的情况下,可以看到下方的录屏预览窗口中有弹幕飘过。用户点击“下一步”按钮,会开始渲染生成选中的视频片段(即:下方框选的30秒),即执行步骤s43。
70.步骤s43,启动合成渲染器,根据图像渲染规则在合成渲染器的第一渲染区域生成视频片段对应的第一目标视图,在合成渲染器的第二渲染区域生成弹幕对应的第二目标视图。
71.步骤s44,根据图像渲染规则将第一目标视图和第二目标视图合成渲染,生成渲染图像。
72.通过本步骤录制的视频片段和弹幕开始合成渲染,例如,还可以包括字幕等合并在一起,可返回如图7所示的合成进度显示界面。
73.步骤s45,从后台播放器获取视频片段对应的音频数据。
74.步骤s46,对音频数据和渲染图像进行编码得到录制视频。
75.通过本步骤合成完成,可返回如图8所示的合成完成显示界面,此时的录制视频中包含弹幕。在得到录制视频后,用户可以将其保存到本地、或者可以发布到网站、也可以分享到微信、qq等朋友圈。如图9所示为用户保存到本地后的播放/预览效果,可见该录制视频
中携带声音、视频画面和弹幕。
76.由此可见,本实施例通过与用户交互,并提供交互界面,使视频录制可视化,且更加智能化。
77.实施例五
78.图10示出了根据本技术实施五提供的一种视频录制装置的结构示意图。如图10所示,该装置包括:数据获取模块51、视图生成模块52和合成模块53;其中,
79.所述数据获取模块51用于响应于视频录制操作,录制后台播放器播放的视频以获取视频片段,并从弹幕播放器中获取与所述视频片段同步的弹幕;
80.所述视图生成模块52用于启动合成渲染器,根据图像渲染规则在所述合成渲染器的第一渲染区域生成所述视频片段对应的第一目标视图,在所述合成渲染器的第二渲染区域生成所述弹幕对应的第二目标视图;
81.所述合成模块53用于根据所述图像渲染规则将所述第一目标视图和所述第二目标视图合成,生成录制视频。
82.进一步的,所述视图生成模块52具体用于:在所述合成渲染器的第一渲染区域生成所述视频片段对应的视频播放器,并在所述视频播放器中渲染所述视频片段,得到所述视频片段对应的第一目标视图;在所述合成渲染器的第二渲染区域生成所述弹幕对应的弹幕控件,并在所述弹幕控件中渲染所述弹幕,得到所述弹幕对应的第二目标视图。
83.进一步的,所述视图生成模块52具体包括:分配单元521和视图生成单元522;其中,
84.所述分配单元521用于在所述成渲染器中为所述视频片段和弹幕分别分配对应的渲染区域;
85.所述视图生成单元522用于在所述合成渲染器的所述视频片段对应的渲染区域生成所述视频片段对应的第一目标视图,在所述合成渲染器的弹幕对应的渲染区域生成所述弹幕对应的第二目标视图。
86.进一步的,所述分配单元521具体用于:在所述合成渲染器中启动渲染线程,向所述渲染线程申请所述视频片段和所述弹幕对应的渲染区域;其中,所述渲染线程用于为所述视频片段和所述弹幕分配对应的渲染区域。
87.进一步的,所述合成模块53具体用于:将所述第一目标视图和所述第二目标视图的合成图像渲染至预设画布上,生成渲染图像,将所述渲染图像作为录制视频。
88.进一步的,所述合成模块53具体用于:从所述后台播放器获取所述视频片段对应的音频数据;对所述音频数据和所述第一目标视图和所述第二目标视图的合成图像进行编码得到最终的录制视频。
89.进一步的,所述装置还包括:按钮显示模块54;其中,
90.所述按钮显示模块54用于在视频录制页面显示视频录制按钮、所述弹幕获取按钮和所述合成渲染器的启动按钮;其中,所述视频录制按钮用于生成所述视频录制操作,所述弹幕获取按钮用于获取所述弹幕,所述启动按钮用于启动合成渲染器。
91.本实施例所述的视频录制装置用于执行上述实施例一至实施例四所述的视频录制方法,其工作原理与技术效果类似,这里不再赘述。
92.实施例六
93.本技术实施例六提供了一种非易失性计算机存储介质,所述计算机存储介质存储有至少一可执行指令,该计算机可执行指令可执行上述任意方法实施例中的视频录制方法。
94.实施例七
95.图11示出了根据本技术实施例八提供的一种电子设备的结构示意图。本技术具体实施例并不对电子设备的具体实现做限定。
96.如图11所示,该电子设备可以包括:处理器(processor)602、通信接口(communications interface)604、存储器(memory)606、以及通信总线608。
97.其中:处理器602、通信接口604、以及存储器606通过通信总线608完成相互间的通信。通信接口604,用于与其它设备比如客户端或其它服务器等的网元通信。处理器602,用于执行程序610,具体可以执行上述方法实施例中的相关步骤。
98.具体地,程序610可以包括程序代码,该程序代码包括计算机操作指令。
99.处理器602可能是中央处理器cpu,或者是特定集成电路asic(application specific integrated circuit),或者是被配置成实施本技术实施例的一个或多个集成电路。电子设备包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个cpu;也可以是不同类型的处理器,如一个或多个cpu以及一个或多个asic。
100.存储器606,用于存放程序610。存储器606可能包含高速ram存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
101.程序610具体可以用于使得处理器602执行上述任意方法实施例中的视频录制方法。
102.在此提供的算法或显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本技术实施例也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本技术的内容,并且上面对特定语言所做的描述是为了披露本技术的最佳实施方式。
103.在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本技术的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
104.类似地,应当理解,为了精简本技术并帮助理解各个发明方面中的一个或多个,在上面对本技术的示例性实施例的描述中,本技术实施例的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本技术要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本技术的单独实施例。
105.本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何
组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
106.此外,本领域的技术人员能够理解,尽管在此的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本技术的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
107.本技术的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(dsp)来实现根据本技术实施例的一些或者全部部件的一些或者全部功能。本技术还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本技术的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
108.应该注意的是上述实施例对本技术进行说明而不是对本技术进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本技术可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。上述实施例中的步骤,除有特殊说明外,不应理解为对执行顺序的限定。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1