1.本技术属于摄像技术领域,具体涉及一种录制方法、装置、设备及计算机存储介质。
背景技术:
2.在日常工作生活中,用户可以通过电子设备的录像功能将事物、风景等录制成视频保存下来。通常,用户在视频录制过程中都是以电子设备的默认帧率完成录制,但由于录制场景复杂而电子设备性能有一定局限性,导致录制过程中可能出现掉帧的情况,使得最终得到的视频在播放时出现卡顿、流畅性差的问题。
技术实现要素:
3.本技术实施例的目的是提供一种录制方法、装置、设备及计算机存储介质,能够有效避免视频录制的掉帧情况发生,提高视频流畅性。
4.第一方面,本技术实施例提供了一种录制方法,该方法包括:
5.在录像过程中,在录制的第一视频帧的录制帧率低于预设帧率的情况下,确定第一视频帧对应的目标图像传输节点,目标图像传输节点的执行时长超过预设阈值;
6.从录制第二视频帧开始,对目标图像传输节点对应的目标处理线程进行调度;
7.根据目标处理线程调度后的线程运行状态,录制至少一个视频帧,输出目标视频。
8.第二方面,本技术实施例提供了一种录制装置,该装置包括:
9.第一确定模块,用于在录像过程中,在录制的第一视频帧的录制帧率低于预设帧率的情况下,确定第一视频帧对应的目标图像传输节点,目标图像传输节点的执行时长超过预设阈值;
10.第一调度模块,用于从录制第二视频帧开始,对目标图像传输节点对应的目标处理线程进行调度;
11.输出模块,用于根据目标处理线程调度后的线程运行状态,录制至少一个视频帧,输出目标视频。
12.第三方面,本技术实施例提供了一种电子设备,该电子设备包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如第一方面所述的方法的步骤。
13.第四方面,本技术实施例提供了一种可读存储介质,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现如第一方面所述的方法的步骤。
14.第五方面,本技术实施例提供了一种芯片,所述芯片包括处理器和通信接口,所述通信接口和所述处理器耦合,所述处理器用于运行程序或指令,实现如第一方面所述的方法。
15.在本技术实施例中,在录像过程中,在录制的第一视频帧的录制帧率低于预设帧率的情况下,确定第一视频帧对应的目标图像传输节点,该目标图像传输节点的执行时长
超过预设阈值;然后从录制第二视频帧开始,对目标图像传输节点对应的目标处理线程进行调度,并根据目标处理线程调度后的线程运行状态,录制至少一个视频帧,输出目标视频。由于执行时长超过预设阈值的节点会导致视频丢帧,因此通过改变这些节点对应的目标处理线程的运行状态,继而提升电子设备对该线程的处理性能,从而缩短节点的任务执行时长,避免丢帧的问题发生,提升录制视频的流畅度。
附图说明
16.图1是本技术实施例中的录制方法的流程示意图;
17.图2是本技术一个具体示例中的录制界面的显示示意图;
18.图3是本技术另一个具体示例中的录制方法的流程示意图;
19.图4是本技术另一个实施例中的录制装置的流程示意图;
20.图5是本技术再一个实施例中的电子设备的硬件结构示意图;
21.图6是本技术又一个具体示例中的电子设备的硬件结构示意图。
具体实施方式
22.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员获得的所有其他实施例,都属于本技术保护的范围。
23.本技术的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便本技术的实施例能够以除了在这里图示或描述的那些以外的顺序实施,且“第一”、“第二”等所区分的对象通常为一类,并不限定对象的个数,例如第一对象可以是一个,也可以是多个。此外,说明书以及权利要求中“和/或”表示所连接对象的至少其中之一,字符“/”,一般表示前后关联对象是一种“或”的关系。
24.在传统技术中,为方便用户使用电子设备的录像功能,通常电子设备中配置有默认的录像帧率,且帧率一般为30帧每秒或者60帧每秒。但由于录制场景复杂,环境影响因素比较多,以及用户习惯等一系列因素,导致手机性能不稳定或者降低,进而由于性能问题导致录制视频发生掉帧(下文也称“丢帧”)。
25.对于以固定帧率录像保存下来的视频来说,发生丢帧后,帧率越低,播放时候越不流畅,越卡顿,例如电子设备默认频率为30帧每秒,由于性能不稳导致最终用户录制的三个视频n1、n2,n3的帧率依次为30帧每秒,28帧每秒,26帧每秒,这样n1视频播放时是流畅的,用户感觉不到卡顿,n2视频用户会感到偶尔卡顿,n3视频在播放时用户就会感觉到明显卡顿。
26.视频录制过程中,每一帧视频帧的传输通道都由若干节点(node)组成。本技术的发明人发现,录制视频丢帧,是因为录像过程中对应的传输通道中有节点的任务执行时间长,线程得不到及时处理,从而导致丢帧。例如,对于帧率为30帧/s的情况,如果有节点的任务执行时长超过33毫秒(ms)就会发生丢帧,对于帧率为60帧/s的情况,如果有节点的任务执行时长超过16.6毫秒(ms)就会发生丢帧。
27.为此,为解决相关技术中的技术问题,本技术实施例提供了一种录制方法、装置、
设备及计算机存储介质,在发生丢帧时,后续对任务执行时间长的节点的线程进行调度,从而提高电子设备对该线程的处理性能,以在后续录制过程中缩短各视频帧在该节点的任务执行时长,避免丢帧的情况发生,提升录制视频的流畅度。
28.下面结合附图,通过具体的实施例及其应用场景对本技术实施例提供的录制方法进行详细地说明。
29.图1示出了本技术实施例中录制方法的流程示意图。如图1所示,该方法可以包括步骤101~步骤103:
30.步骤101.在录像过程中,在录制的第一视频帧的录制帧率低于预设帧率的情况下,确定第一视频帧对应的目标图像传输节点,目标图像传输节点的执行时长超过预设阈值。
31.电子设备以固定帧率进行视频录制的过程中,每个单位时长内录制一定数量的视频帧,例如帧率为30帧/s,则单位时长为一秒,一秒内可以录制30帧视频帧,帧率为60帧/s,则单位时长为一秒,一秒内可以录制60帧视频帧。
32.录像过程中,第一单位时长内的第一视频帧到最后一视频帧的传输通道是相同的,每一视频帧都经过传输通道中的各节点(node)处理,其中,节点即组成传输通道的最小功能单元,通道中的各节点按照固定的顺序连接,该连接可以为逻辑连接。
33.例如,在录制一个包含人像的视频的过程中,电子设备开启录制功能的同时,电子设备提供对人像的美颜功能和瘦脸功能。美颜功能是通过改变相机曝光度、亮度、饱和度等参数的方式来美化人像的功能,瘦脸功能是通过改变人像区域的像素来调节人像轮廓的功能。美颜功能和瘦脸功能分别通过传输通道中的美颜功能节点和瘦脸功能节点执行。在录制一帧包含人像的视频帧过程中,该视频帧图像依次经过传输通道中的美颜功能节点和瘦脸功能节点等功能节点,通过对应节点执行的线程美化视频帧图像,直至得到一帧美化完成的视频帧,这样得到若干视频帧则可以形成目标视频。
34.在录像过程中,根据录制时设定的帧率,传输通道中的每个节点都需要在一定的时间阈值内执行完自身对应的线程,才能保证整个视频帧不低于预设帧率。例如对于30帧/s的帧率,单位时长内的每个视频帧都需要以对应的帧率完成录制,这就需要视频帧对应的各节点执行时长在33ms内,如果有节点执行时长大于33ms就会出现丢帧。同理,对于60帧/s的帧率,每个节点的执行时长需在16.6ms内,超过16.6ms就会出现丢帧。
35.本实施例中,每个视频帧为一帧图像。一个视频帧在传输通道中依次经过各功能节点,即图像传输节点,完成一个视频帧的录制。目标图像传输节点即传输通道中的功能节点,如瘦脸功能节点。每个图像传输节点对视频帧执行的功能任务,通过对应的任务线程实现。
36.本技术实施例中,可以根据录像帧率,对录制的视频帧动态监控。当监控到发生丢帧,即有第一视频帧的录制帧率低于预设帧率的情况下,确定该第一视频帧对应的目标图像传输节点,目标图像传输节点即执行时长超过预设阈值的功能节点。
37.步骤102.从录制第二视频帧开始,对目标图像传输节点对应的目标处理线程进行调度。
38.第一视频帧和第二视频帧为第一单位时长内的任意两个相邻的视频帧,第一单位时长为录制过程中的任意单位时长,如第3秒内录制的第5个视频帧和第6个视频帧。
39.本实施例中,在传输通道中的目标图像传输节点执行时长超过预设阈值,使得第一视频帧录制超时,发生丢帧。如果丢帧的帧数过多,最终得到的目标视频会卡顿,如帧率为30帧/s,理论上每秒得到30帧图像,丢帧后可能只有28帧,甚至更少。为避免录像过程中丢掉的帧数过多,在监控到第一次丢帧后,从发生丢帧的第一视频帧之后的下一帧,即从录制第二视频帧开始,对该目标图像传输节点对应的目标处理线程进行调度,以提高电子设备对该目标处理线程的处理性能,以在其他视频帧录制时,缩短该图像传输节点的执行时长,避免出现丢帧情况。
40.步骤103.根据目标处理线程调度后的线程运行状态,录制至少一个视频帧,输出目标视频。
41.本实施例中,对目标处理线程调度后,使得电子设备对目标处理线程的处理性能可以达到一个较优的程度,这样传输通道中目标图像传输节点的目标处理线程的执行时长回落到预设阈值内。然后根据目标处理线程调度后的线程运行状态,录制后续的一个或多个视频帧,得到目标视频并输出该视频。
42.本实施例中,线程运行状态可以包括线程对应的处理内核状态(如处理内核为大核或超大核),或线程所在处理内核的运行频率状态。
43.在本技术实施例中,在录像过程中,在录制的第一视频帧的录制帧率低于预设帧率的情况下,确定第一视频帧对应的目标图像传输节点,该目标图像传输节点的执行时长超过预设阈值;然后从录制第二视频帧开始,对目标图像传输节点对应的目标处理线程进行调度,并根据目标处理线程调度后的线程运行状态,录制至少一个视频帧,输出目标视频。由于执行时长超过预设阈值的节点会导致视频丢帧,因此通过改变这些节点对应的目标处理线程的运行状态,继而提升电子设备对该线程的处理性能,从而缩短节点的任务执行时长,避免丢帧的问题发生,提升录制视频的流畅度。
44.示例性地,电子设备可以包括多个处理器组,每个处理器组中可以包括多个处理内核(以下可以简称为“内核”),多个处理器组之间是以组内内核的可运行频率大小进行划分,例如,处理器组可以包括小核组,大核组和超大核组,小核组内的内核运行频率可以达到300000赫兹(hz),大核组内的内核运行频率可以达到710400hz,超大核组内的内核运行频率可以达到844800hz。内核的运行频率具有一定频点的可调能力。同一处理器组中的内核的运行频率相同。
45.在视频中录制过程中,其录制主线程(录像的主要线程)和每个功能节点的子线程(如美颜节点执行的子线程),分别运行在对应的内核上,如主线程运行在大核上,美颜节点的子线程运行在小核上。
46.示例性地,当监控到第一单位时长内的第一视频帧发生丢帧后,可以查找第一视频帧对应的传输通道中所有执行时长超过预设阈值的目标图像传输节点,记录目标图像传输节点对应的子线程的线程号(即线程id),以及该子线程所对应的处理内核,以及处理内核的运行频率等等参数。
47.然后,从录制第二视频帧开始,根据记录的参数,对目标图像传输节点的目标处理线程进行调度。由于任意视频帧录制时,在每个功能节点执行任务线程时,都同时执行录像主线程,因此本实施例中,目标图像传输节点的目标处理线程可以包括目标图像传输节点对应的子线程和录制主线程。
48.本实施例中,为了快速完成线程的有效调度,步骤102中对目标图像传输节点对应的目标处理线程进行调度,可以包括以下至少一项:
49.更换目标图像传输节点对应的目标处理线程的图像处理内核;
50.提高目标图像传输节点对应的目标处理线程的图像处理内核的运行频率。
51.更换目标图像传输节点对应的目标处理线程的图像处理内核,如将目标处理线程从大核,直接调度到超大核,大幅度提升对目标处理线程的处理能力。或者也可以提高目标图像传输节点对应的目标处理线程的图像处理内核的运行频率,如目标处理线程已经在超大核,则可以直接提高超大核的运行频率,也可以提升对目标处理线程的处理能力。
52.例如,电子设备以30帧/s的帧率录像,在录制到第3秒中的第5个视频帧时,美颜节点执行时间大于33毫秒(即预设阈值),美颜节点对应的第一子线程的线程号为tid=1111,该第一子线程运行在小核上;录制主线程的线程号为tid1=2222,tid2=3333,录制主线程都运行在大核上面。且当前的各处理器组中,小核运行频率为1094400hz,大核运行频率为1324800hz,超大核运行频率为1555200hz。则在录制第3秒中的第6个视频帧时,可以将录制主线程和第一子线程调度到超大核上运行,这样将不能及时执行任务的节点所对应的所有线程调度到更高性能的处理器组中,以缩短该节点的执行任务时长。通过直接大幅度提高处理器性能,尽可能避免该单位时长内的第二视频帧继续丢帧。
53.对目标处理线程调度后,如果第一单位时长内连续录制了m帧后(m可以是预设帧数),各节点任务执行时长均在预设阈值内,也即连续m帧都没有丢帧,则以目标处理线程调度后的线程运行状态,继续录制视频帧直至完成录制,得到目标视频,进而可以得到没有丢帧的、流畅度高的录制视频。
54.为了提升录制视频的流畅度,可选地,本技术实施例中,可以通过预设控件接收用户输入,以调节录像帧率,录制帧率加强的视频。具体的,在步骤101之前,方法可以包括步骤201~步骤202:
55.步骤201.在录像界面显示第一控件的情况下,接收对第一控件的第一输入。
56.参考图2所示,录像界面201为电子设备200录像过程中显示的功能界面,可以包括录像预览窗口202和第一控件203,还可以包括用于触发其他功能的控件204。
57.第一控件203可以为按钮控件,用于接收用户的第一输入,触发加强帧率(framon)的开关操作。例如从默认的30帧/s,加强到60帧/s。或者在加强到60帧/s后,恢复为默认的30帧/s。
58.第一输入可以是用户对屏幕的点击输入、或者是用户输入的语音指令,或者是用户输入的特定手势或隔空手势,具体的可以根据实际使用需求确定,本实施例对此不做限定。
59.点击输入可以为单击输入、双击输入或任意次数的点击输入,还可以为长按输入或短按输入。特定手势可以是轻点手势、双轻点手势、滑动手势、拖动手势、缩放手势、转动手势中的任意一种。
60.步骤202.响应于第一输入,将电子设备的录像帧率从第一帧率调节为第二帧率。
61.本实施例中,如果第一输入为开启加强帧率的输入,则可以将帧率从默认值进行加强,帧率加强后录制的视频在不丢帧的情况下,流畅度更高。在开启加强帧率功能的情况下,根据加强后的录像帧率,动态监控视频是否丢帧,并在发生丢帧时执行上述步骤101~
步骤103,进行线程的调度。
62.如果第一输入是关闭加强帧率的输入,则可以将帧率从加强后的值恢复为默认值。为了保障视频录制流程度,可以记录关闭加强帧率功能之前的各功能节点对应的线程运行状态,这样在关闭加强帧率功能的情况下,继续以关闭加强帧率功能之前的各功能节点对应的线程运行状态,继续录制视频帧。并在录制过程中,以恢复默认值的帧率,动态监控视频是否丢帧。
63.本技术实施例可以通过预设控件,供用户灵活选择对录像过程中的帧率加强功能,利于提高用户体验。
64.为了便于合理分配处理内核的运算开销,可选的,本技术实施例中可以预先对电子设备的处理器进行分组,使不同处理器组运行不同线程。
65.示例性地,处理器包括多个内核,多个内核根据其运行能力划分为小核、大核和超大核,例如下表1中所示的例子,对电子设备的处理器分组后,得到小核组有4个内核,大核组有3个内核,超大核组有一个内核。
66.表1
67.小核大核超大核cpu1,cpu2,cpu3,cpu4cpu5,cpu6,cpu7cpu8
68.每组处理器组中的内核有可以调节的频点,频点可以从低频率向高频率调节,也可以从高频率向低频率调节。以上述表1中所示的例子为例,小核组中内核的最低频率为300000hz,最大频率为1804800hz;大核组中内核的最小频率为710400hz,最大频率为2419200hz;超大核组中内核的最小频率为844800hz,最大频率为2841600hz;如表2所示。
69.表2
70.71.为了有效避免录制视频的丢帧情况发生,可选的,本技术实施例中,电子设备对录制的每一视频帧进行监控,确认是否发生了丢帧,并在丢帧时记录对应的信息。具体的,在步骤101中,具体可以包括:
72.步骤301.在录像过程中,在录制的第一视频帧的录制帧率低于预设帧率的情况下,确定第一视频帧对应的目标图像传输节点,记录该目标图像传输节点对应的第一子线程号、录制主线程号以及各线程运行的处理器组别。
73.参考图3所示,当录像到第一单位时长的第一视频帧时发生丢帧,并检测到是对应传输通道中的第一节点执行时长超过预设阈值,则第一节点为目标图像传输节点,记录第一节点对应的第一线程号、录制主线程号以及各线程运行的处理器组别(如小核组、大核组或超大核组),并获取各处理器组别中的内核运行频率。
74.如在录制到第5秒的第4帧视频时开始丢帧,此时检测到丢帧时对应传输通道的美颜节点任务执行时长大于33毫秒,超出预设的33ms的阈值,则获取对应信息:该美颜节点对应的第一线程的线程号tid=1111,该第一线程运行在小核上;录制主线程tid1=2222,tid2=3333,该两线程都运行在大核上面。且当前的各处理器组中,小核运行频率为1094400hz,大核运行频率为1324800hz,超大核运行频率为1555200hz。
75.本技术实施例,通过记录传输通道中导致丢帧的目标图像传输节点对应的线程号、处理器组别等信息,以便根据这些信息完成对目标处理线程的合理、快速、高效的调度。
76.具体的,在一些可选实施例中,对目标处理线程的调度可以为更换目标图像传输节点对应的目标处理线程的图像处理内核。在目标图像传输节点对应的目标处理线程的处理内核为第一内核的情况下,步骤102具体可以包括:
77.步骤1021.从录制第二视频帧开始,将图像传输节点对应的目标处理线程从第一内核调度到第二内核;
78.其中,第二内核为处理性能高于第一内核的处理内核。
79.本技术实施例中,将图像传输节点对应的目标处理线程调度到一个处理性能较高的内核上,来提升对目标处理线程的处理能力。
80.例如,如果如在录制到第5秒的第4帧视频时开始丢帧,则从第5帧视频开始,将执行时间较长的美颜节点对应的第一线程从小核调度到超大核;录制主线程从大核调度到超大核。调度时,依据获取的对应的线程号和处理器组别号进行调节即可。
81.第一子线程和录制主线程调度到第二内核后,将第一子线程的线程号和录制主线程的线程号与第二内核绑定,保存绑定后的关联关系信息,后续各视频帧的录制均按照该关联关系信息,将第一子线程和主线程调度到第二内核上运行,以利于避免后续录制继续丢帧。
82.为了在录像场景中达到快速有效的线程调度,可选的,第二内核属于第二内核组,第二内核组可以为电子设备的处理内核中运行频率最高的内核组。通过直接将目标处理线程调度到电子设备的最高运行频率内核组,可以不必对内核运行情况的计算和均衡,以在较短的时间内快速完成线程调度,避免影响用户录制体验。
83.具体的,在一些可选实施例中,对目标处理线程的调度还可以为提高目标图像传输节点对应的目标处理线程的图像处理内核的运行频率。本实施例中,步骤102还可以包括:
84.步骤1022.将第二内核的运行频率提高至第一频率。
85.在一些示例中,第二内核可以是目标处理线程调度后所对应的处理内核,如目标处理线程从第一内核调度到第二内核,再执行步骤1022,提高第二内核的运行频率,进一步提高对目标处理线程的处理能力。
86.或者在另一些示例中,第二内核也可以是目标处理线程调度前所对应的处理内核,如在目标处理线程的调度中,没有更换处理内核,而是直接执行步骤1022提高第二内核的运行频率。这种方式尤其适用于目标线程调度到超大核后,仍然存在丢帧的情况,则可以通过再次提高超大核的运行频率,来提升电子设备对该线程的处理能力,从而避免录制过程中继续丢帧。
87.例如,在步骤101中,监控到第一视频帧丢帧,并确定了对应的目标图像传输节点为美颜节点,该美颜节点对应的目标处理线程(包括子线程和录制主线程)运行在第一内核,且第一内核为大核、第一内核的运行频率为710400hz等,而且同时监测到处理器组中此时超大核的运行频率为844800hz。由于当前目标处理线程的线程运行状态不足以支持视频帧的录制,导致第一视频帧丢帧,所以从录制第二视频帧开始,将该美颜节点对应的目标处理线程从第一内核调度到第二内核。该第二内核为超大核,但由于超大核在执行此次线程调度前的运行频率为844800hz,与大核的运行频率差距不大,可能还会在后续录制视频帧时发生丢帧,因此此次线程调度中,为了更有保障地使调度后的线程运行状态足以支持视频帧录制,故而还通过步骤1022将超大核的运行频率进行提高,如提高到1305600hz,也即本示例中第一频率为1305600hz。
88.在另一些例子中,如果录制的某视频帧出现丢帧状况时,目标图像传输节点的目标处理线程运行在超大核上,超大核已经是电子设备中处理性能最强的内核组,则无法更换更强的内核来处理该线程。此时可以通过步骤1022提升超大核(即第二内核)的运行频率,如从1305600hz提升到2380800hz,从而提升电子设备对该线程的处理能力,从而避免录制过程中继续丢帧。
89.为了提高线程调度的有效性,可选的,本技术实施例中,在将第二内核的运行频率提高至第一频率的过程中,可以预先设置提高梯度,在录制第一单位时长内的第一视频帧时,先按照第一梯度提高各处理器组(包括第二内核)的运行频率,如果第二内核的最大可调能力低于第一梯度,则可以直接提高到第二内核的最大运行频率。
90.例如,预设第一梯度为5个频点,如果在第5秒内录制第4帧时丢帧,丢帧时小核频率为1094400hz,大核运行频率为1324800hz,超大核运行频率为1555200hz,则参考上述表2的例子,进行第一梯度提升后,各处理器组的频率为表3所示:
91.表3
92.组别第4帧丢帧时的频点第5帧时提高到的频点小核10944001612800大核13248001881600超大核15552002150400
93.此时,各处理器组提升后的频率包括小核频率1612800hz,大核运行频率1881600hz,超大核运行频率2150400hz等频率参数。
94.如果各处理器组的运行频率按照第一梯度提高后,继续录制时仍然发生丢帧,如
第6帧继续丢帧,则可以按照第一梯度,再次提高各处理器组的运行频率。
95.例如参考表2和表3,在录制第6帧的过程中继续提升处理器组运行频率,则得到表4的提升结果:
96.表4
97.组别第5帧丢帧时的频率第6帧时提升到的频点小核16128001804800大核18816002419200超大核21504002688000
98.此时各处理器组的频率包括:小核频率1804800hz,大核运行频率2419200hz,超大核运行频率2688000hz等频率参数。如果继续录制时没有发生丢帧,则可以以该小核频率1804800hz,大核运行频率2419200hz,超大核运行频率2688000hz等频率参数,继续执行各功能节点对应的线程,录制后续的至少一个视频帧,得到目标视频。
99.在一些实施例中,第一梯度一般设置一个较大的频点跨度,以避免频率提高跨度较小,录制后续视频帧时继续丢帧。
100.为了在频率提高跨度较大的同时,均衡处理器组的处理能力,可选的,本技术实施例中,在步骤103具体可以包括:
101.步骤1031.在第二视频帧的录制帧率大于或等于预设帧率的情况下,以目标处理线程调度后的线程运行状态,录制第二单位时长内的第三视频帧,线程运行状态包括目标处理线程的处理内核为第二内核,且第二内核的运行频率为第一频率的状态;
102.步骤1032.从录制第三视频帧开始,将第二内核的运行频率从第一频率降低至第二频率;
103.步骤1033.在第三视频帧的录制帧率大于或等于预设帧率的情况下,以第二频率录制至少一个视频帧,输出目标视频。
104.本技术实施例中,如果在步骤102中对目标处理线程调度后,录制第二视频帧时没有丢帧,此时第二视频帧的录制帧率大于或等于预设帧率,各目标图像传输节点的执行时长也均在预设阈值内,则在执行步骤1031过程中,保持当前目标处理线程调度后的线程运行状态,继续录制视频帧。其中,目标处理线程调度后的线程运行状态包括目标处理线程的处理内核为第二内核,且第二内核的运行频率为第一频率的状态。
105.当继续录制到第二单位时长内的第三视频帧时,如录制到第30秒的第7帧,如果一直没有发生丢帧,则可以确定当前所有参数可用,固定此时的线程运行状态(包括当前处理器组运行频率、第一子线程的运行内核以及录制主线程的运行内核等),例如第一子线程和录制主线程均在大核上运行,小核,大核,超大核运行在第6帧时候的频率分别为1804800hz,2419200hz,2688000hz;保持该线程运行状态继续后续的录制,得到目标视频。
106.为了在保证不丢帧的同时均衡系统的负担,可选的,本技术实施例中,在录制稳定进行一段时间后,可以对处理器组的运行频率进行适当回调。为了提高回调的精度,可选的,步骤1032中,从录制第三视频帧开始,将第二内核的运行频率从第一频率降低至第二频率。
107.本技术实施例中,如果录制到第一单位时长内第二视频帧时,未发生丢帧,保持目标处理线程的线程运行状态不变,继续录制一段时间,如30秒,仍未发生丢帧,则可以认为
当前目标处理线程的线程运行状态足够支持后续视频的录制不丢帧。但由于在录制第二视频帧时为了提高调度效率,进行了大幅度的内核频率提升,为了均衡录像进程与其他进程对系统造成的负担,可以通过步骤1032将处理器组(包括第二内核)的运行频率进行小幅度回调。
108.示例性地,可以预先设置回调梯度,即第二梯度,第二梯度的调节频点数低于第一梯度,从而利于逐步找到最佳的处理器组运行频率。
109.例如,以处理器组的第二频率等参数连续录像30秒后没有掉帧,则在录制到第31秒中的第6帧时候,从以小核1804800hz,大核2419200hz,超大核2688000hz的运行频点按照第二梯度进行回调,来达到处理器组性能的最佳,寻找最理想的频率点。由于之前第一单位时长内的第5帧和第6帧之间的提升梯度为5个频点,提升幅度大,提升程度较为激进,因此回调的时候每次降低2个频点,不满足2个频点的时候按1个频率点回退,直到找到不掉帧的临界频点。
110.比如,超大核频率从2150400hz到2688000hz有5个频点,分别为2150400hz、2265600hz、2380800hz、2496000hz、2592000hz、2688000hz。第一次回调到2496000hz,查看是否掉帧。如果不掉帧,再回调到2265600hz,如果回调到2265600hz仍不掉帧,就固定在2265600hz;如果回调到2265600hz发生掉帧,就提升到上一个频点,也即2496000hz频点,此时2496000hz频点就是理想的频率点。该理想的频率点可以作为第三频率保存下来。
111.依次类推,可以确定小核和大核的理想频率点。
112.在步骤1033中,如果以回调后的内核频率录制第三视频帧时,第三视频帧未发生丢帧,第三视频帧的录制帧率大于或等于预设帧率,则保持当前的线程运行状态,以第二内核的第二频率录制后续至少一个视频帧,输出目标视频。
113.在一些实施例中,为了在频率提高跨度较大的同时,均衡处理器组的处理能力,可选的,在步骤103具体可以包括:
114.步骤1034.在第二视频频大于或等于预设帧率的情况下,根据目标处理线程调度后的线程运行状态,录制至第二单位时长内的第三视频帧,线程运行状态包括目标处理线程的处理内核为第二内核的状态;
115.步骤1035.从录制第三视频帧开始,将目标处理线程从第二内核调度到第三内核,所第三内核为处理性能高于第一内核且低于第二内核的处理内核;
116.步骤1036.在第三视频帧大于或等于预设帧率的情况下,根据目标处理线程的处理内核为第三内核的线程运行状态,录制至少一个视频帧,输出目标视频。
117.本技术实施例中,如果在步骤102中对目标处理线程调度后,如果录制第二视频帧时没有丢帧,此时第二视频帧的录制帧率大于或等于预设帧率,各目标图像传输节点的执行时长也均在预设阈值内,则在执行步骤1031过程中,保持当前目标处理线程调度后的线程运行状态,继续录制视频帧。其中,目标处理线程调度后的线程运行状态包括目标处理线程的处理内核为第二内核的状态。
118.当继续录制到第二单位时长内的第三视频帧时,如果一直没有发生丢帧,则可以确定当前所有参数可用,固定此时的线程运行状态,保持该线程运行状态继续后续的录制,得到目标视频。
119.为了在保证不丢帧的同时均衡系统的负担,可选的,本技术实施例中,在录制稳定
进行一段时间后,可以将目标处理线程调度到性能相对较弱的内核上,如调度到第三内核,第三内核为处理性能高于第一内核且低于第二内核的处理内核,从而均衡录像进程与其他进程对系统造成的负担。
120.在步骤1036中,如果以目标处理线程的处理内核为第三内核的运行状态录制第三视频帧时,第三视频帧未发生丢帧,第三视频帧的录制帧率大于或等于预设帧率,则保持当前的线程运行状态,录制后续至少一个视频帧,输出目标视频。
121.本实施例中,当退出录像界面、退出相机功能应用或者手动关闭加强帧率功能的情况下,系统可能恢复一些录制目标视频过程中的临时调整参数(如亮度、对比度、滤镜、闪光灯等)至默认值,但保留目标图像传输节点对应的目标处理线程与第二内核的关联关系信息,下次启动录像功能时,虽然内核的运行频率恢复到默认值,但可以继续采用上述目标处理线程与第二内核的关联关系信息进行录制,以减少系统调节运算,并防止掉帧情况的发生。
122.需要说明的是,本技术实施例提供的录制方法,执行主体可以为录制装置,或者该录制装置中的用于执行录制方法的控制模块。本技术实施例中以录制装置执行录制方法为例,说明本技术实施例提供的录制的装置。
123.图4示出了本技术实施例中的录制装置的结构示意图。如图4所示,该装置可以包括:
124.第一确定模块401,用于在录像过程中,在录制的第一视频帧的录制帧率低于预设帧率的情况下,确定第一视频帧对应的目标图像传输节点,目标图像传输节点的执行时长超过预设阈值;
125.第一调度模块402,用于从录制第二视频帧开始,对目标图像传输节点对应的目标处理线程进行调度;
126.输出模块403,用于根据目标处理线程调度后的线程运行状态,录制至少一个视频帧,输出目标视频。
127.在本技术实施例中,在录像过程中,在录制的第一视频帧的录制帧率低于预设帧率的情况下,确定第一视频帧对应的目标图像传输节点,该目标图像传输节点的执行时长超过预设阈值;然后从录制第二视频帧开始,对目标图像传输节点对应的目标处理线程进行调度,并根据目标处理线程调度后的线程运行状态,录制至少一个视频帧,输出目标视频。由于执行时长超过预设阈值的节点会导致视频丢帧,因此通过改变这些节点对应的目标处理线程的运行状态,继而提升电子设备对该线程的处理性能,从而缩短节点的任务执行时长,避免丢帧的问题发生,提升录制视频的流畅度。
128.本实施例中,电子设备以固定帧率进行视频录制的过程中,每个单位时长内录制一定数量的视频帧,例如帧率为30帧/s,则单位时长为一秒,一秒内可以录制30帧视频帧。
129.电子设备可以包括多个处理器组,每个处理器组中可以包括多个处理内核(以下可以简称为“内核”),多个处理器组之间是以组内内核的可运行频率大小进行划分,例如,处理器组可以包括小核组,大核组和超大核组,小核组内的内核运行频率可以达到300000赫兹(hz),大核组内的内核运行频率可以达到710400hz,超大核组内的内核运行频率可以达到844800hz。内核的运行频率具有一定频点的可调能力。同一处理器组中的内核的运行频率相同。
130.在视频中录制过程中,其录制主线程(录像的主要线程)和每个功能节点的子线程(如美颜节点执行的子线程),分别运行在对应的内核上,如主线程运行在大核上,美颜节点的子线程运行在小核上。
131.本实施例中,为了快速完成线程的有效调度,第一调度模块402中对目标图像传输节点对应的目标处理线程进行调度,可以包括以下至少一项:
132.更换目标图像传输节点对应的目标处理线程的图像处理内核;
133.提高目标图像传输节点对应的目标处理线程的图像处理内核的运行频率。
134.为了提升录制视频的流畅度,可选的,本技术实施例中,通过预设控件可以接收用户输入,以调节帧率,录制帧率加强的视频。因此,该方法可以包括:
135.接收模块404,用于在录像界面显示第一控件的情况下,接收对第一控件的第一输入;
136.调节模块405,用于响应于第一输入,将电子设备的录像帧率从第一帧率调节为第二帧率。
137.录像界面为电子设备录像过程中显示的功能界面,可以包括录像预览窗口和第一控件,还可以包括用于触发其他功能的控件。
138.第一控件可以为按钮控件,用于接收用户的第一输入,触发加强帧率(framon)的开关操作。例如从默认的30帧/s,加强到60帧/s。或者在加强到60帧/s后,恢复为默认的30帧/s。
139.第一输入可以是用户对屏幕的点击输入、或者是用户输入的语音指令,或者是用户输入的特定手势或隔空手势,具体的可以根据实际使用需求确定,本实施例对此不做限定。
140.点击输入可以为单击输入、双击输入或任意次数的点击输入,还可以为长按输入或短按输入。特定手势可以是轻点手势、双轻点手势、滑动手势、拖动手势、缩放手势、转动手势中的任意一种。
141.如果第一输入是关闭加强帧率的输入,则可以将帧率从加强后的值恢复为默认值。为了保障视频录制流程度,可以记录关闭加强帧率功能之前的各功能节点对应的线程运行状态,这样在关闭加强帧率功能的情况下,继续以关闭加强帧率功能之前的各功能节点对应的线程运行状态,继续录制视频帧。并在录制过程中,以恢复默认值的帧率,动态监控视频是否丢帧。
142.本技术实施例可以通过预设控件,供用户灵活选择对录像过程中的帧率加强功能,利于提高用户体验。
143.为了便于合理分配运算开销,可选的,本技术实施例中可以预先对电子设备的处理器进行分组,使不同处理器组运行不同线程。
144.示例性地,处理器包括多个内核,多个内核根据其运行能力划分为小核、大核和超大核。每组处理器组中的内核有可以调节的频点,频点可以从第频率向高频率调节,也可以从高频率向低频率调节。
145.为了有效避免录制视频的丢帧情况发生,可选的,本技术实施例中,电子设备对录制的每一视频帧进行监控,确认是否发生了丢帧,并在丢帧时记录对应的信息。具体的,第一确定模块401具体可以用于:
146.在录像过程中,在录制的第一视频帧的录制帧率低于预设帧率的情况下,确定第一视频帧对应的目标图像传输节点,记录该目标图像传输节点对应的第一子线程号、录制主线程号以及各线程运行的处理器组别。
147.本技术实施例,通过记录传输通道中导致丢帧的目标图像传输节点对应的线程号、处理器组别等信息,以便根据这些信息完成对目标处理线程的合理、快速、高效的调度。
148.具体的,在一些可选实施例中,对目标处理线程的调度可以为更换目标图像传输节点对应的目标处理线程的图像处理内核。第一调度模块402具体包括:
149.第一调度子模块,用于从录制第二视频帧开始,将图像传输节点对应的目标处理线程从第一内核调度到第二内核;
150.其中,第二内核为处理性能高于第一内核的处理内核。
151.本技术实施例中,将图像传输节点对应的目标处理线程调度到一个处理性能较高的内核上,来提升对目标处理线程的处理能力。
152.为了在录像场景中达到快速有效的线程调度,可选的,第二内核属于第二内核组,第二内核组可以为电子设备的处理内核中运行频率最高的内核组。通过直接将目标处理线程调度到电子设备的最高运行频率内核组,可以不必对内核运行情况的计算和均衡,以在较短的时间内快速完成线程调度,避免影响用户录制体验。
153.具体的,在一些可选实施例中,对目标处理线程的调度还可以为提高目标图像传输节点对应的目标处理线程的图像处理内核的运行频率,装置还可以包括:
154.提高模块,用于将第二内核的运行频率提高至第一频率。
155.在一些示例中,第二内核可以是目标处理线程调度后所对应的处理内核,如目标处理线程从第一内核调度到第二内核,再执行步骤1022,提高第二内核的运行频率,进一步提高对目标处理线程的处理能力。
156.或者在另一些示例中,第二内核也可以是目标处理线程调度前所对应的处理内核,如在目标处理线程的调度中,没有更换处理内核,而是直接执行步骤1022提高第二内核的运行频率。这种方式尤其适用于目标线程调度到超大核后,仍然存在丢帧的情况,则可以通过再次提高超大核的运行频率,来提升电子设备对该线程的处理能力,从而避免录制过程中继续丢帧。
157.为了在频率提高跨度较大的同时,均衡处理器组的处理能力,可选的,本技术实施例中,输出模块403可以包括:
158.第一录制子模块,用于在第二视频帧的录制帧率大于或等于预设帧率的情况下,以目标处理线程调度后的线程运行状态,录制至第二单位时长内的第三视频帧,线程运行状包括目标处理线程的处理内核为第二内核,且第二内核的运行频率为第一频率;
159.降低子模块,用于从录制第三视频帧开始,将第二内核的运行频率从第一频率降低至第二频率;
160.第一输出子模块,用于在第三视频帧的录制帧率大于或等于预设帧率的情况下,以第二频率录制至少一个视频帧,输出目标视频。
161.在一些实施例中,为了在频率提高跨度较大的同时,均衡处理器组的处理能力,输出模块403可以包括:
162.第二录制子模块,用于在第二视频频大于或等于预设帧率的情况下,以目标处理
线程的处理内核为第二内核的运行状态,录制至第二单位时长内的第三视频帧;
163.调度子模块,用于从录制第三视频帧开始,将目标处理线程从第二内核调度到第三内核,第三内核为处理性能高于第一内核且低于第二内核的处理内核;
164.第二输出子模块,用于在第三视频帧大于或等于预设帧率的情况下,以目标处理线程的处理内核为第三内核的运行状态,录制至少一个视频帧,输出目标视频。
165.本技术实施例中的录制装置可以是装置,也可以是终端中的部件、集成电路、或芯片。该装置可以是移动电子设备,也可以为非移动电子设备。示例性地,移动电子设备可以为手机、平板电脑、笔记本电脑、掌上电脑、车载电子设备、可穿戴设备、超级移动个人计算机(ultra-mobile personal computer,umpc)、上网本或者个人数字助理(personal digital assistant,pda)等,非移动电子设备可以为服务器、网络附属存储器(network attached storage,nas)、个人计算机(personal computer,pc)、电视机(television,tv)、柜员机或者自助机等,本技术实施例不作具体限定。
166.本技术实施例中的录制装置可以为具有操作系统的装置。该操作系统可以为安卓(android)操作系统,可以为ios操作系统,还可以为其他可能的操作系统,本技术实施例不作具体限定。
167.本技术实施例提供的录制装置能够实现图1至图3的方法实施例实现的各个过程,为避免重复,这里不再赘述。
168.可选地,如图5所示,本技术实施例还提供一种电子设备500,包括处理器501,存储器502,存储在存储器502上并可在处理器501上运行的程序或指令,该程序或指令被处理器501执行时实现上述录制方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
169.需要说明的是,本技术实施例中的电子设备包括上述的移动电子设备和非移动电子设备。
170.图6为实现本技术实施例的一种电子设备的硬件结构示意图。
171.该电子设备600包括但不限于:射频单元601、网络模块602、音频输出单元603、输入单元604、传感器605、显示单元606、用户输入单元607、接口单元608、存储器609、以及处理器610等部件;输入单元604包括图像捕获装置6042。
172.本领域技术人员可以理解,电子设备600还可以包括给各个部件供电的电源(比如电池),电源可以通过电源管理系统与处理器610逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。图6中示出的电子设备结构并不构成对电子设备的限定,电子设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置,在此不再赘述。
173.其中,处理器610,用于在录像过程中,在录制的第一视频帧的录制帧率低于预设帧率的情况下,确定第一视频帧对应的目标图像传输节点,目标图像传输节点的执行时长超过预设阈值;
174.从录制第二视频帧开始,对目标图像传输节点对应的目标处理线程进行调度;
175.图像捕获装置6042,用于根据目标处理线程调度后的线程运行状态,录制至少一个视频帧,输出目标视频。
176.在本技术实施例中,在录像过程中,在录制的第一视频帧的录制帧率低于预设帧
率的情况下,确定第一视频帧对应的目标图像传输节点,该目标图像传输节点的执行时长超过预设阈值;然后从录制第二视频帧开始,对目标图像传输节点对应的目标处理线程进行调度,并根据目标处理线程调度后的线程运行状态,录制至少一个视频帧,输出目标视频。由于执行时长超过预设阈值的节点会导致视频丢帧,因此通过改变这些节点对应的目标处理线程的运行状态,继而提升电子设备对该线程的处理性能,从而缩短节点的任务执行时长,避免丢帧的问题发生,提升录制视频的流畅度。
177.在一些实施例中,为了快速完成线程的有效调度,处理器610对目标图像传输节点对应的目标处理线程进行调度,可以包括以下至少一项:
178.更换目标图像传输节点对应的目标处理线程的图像处理内核;
179.提高目标图像传输节点对应的目标处理线程的图像处理内核的运行频率。
180.在一些实施例中,为了提升录制视频的流畅度,可以通过预设控件接收用户输入,以调节帧率,录制帧率加强的视频。具体的,用户输入单元607,用于在录像界面显示第一控件的情况下,接收对第一控件的第一输入;
181.处理器610,可以用于响应于第一输入,将电子设备的录像帧率从第一帧率调节为第二帧率。
182.录像界面为电子设备录像过程中显示的功能界面,可以包括录像预览窗口和第一控件,还可以包括用于触发其他功能的控件。
183.第一控件可以为按钮控件,用于接收用户的第一输入,触发加强帧率(framon)的开关操作。例如从默认的30帧/s,加强到60帧/s。或者在加强到60帧/s后,恢复为默认的30帧/s。
184.如果第一输入是关闭加强帧率的输入,则可以将帧率从加强后的值恢复为默认值。为了保障视频录制流程度,可以记录关闭加强帧率功能之前的各功能节点对应的线程运行状态,这样在关闭加强帧率功能的情况下,继续以关闭加强帧率功能之前的各功能节点对应的线程运行状态,继续录制视频帧。并在录制过程中,以恢复默认值的帧率,动态监控视频是否丢帧。
185.本技术实施例可以通过预设控件,供用户灵活选择对录像过程中的帧率加强功能,利于提高用户体验。
186.为了便于合理分配运算开销,可选的,本技术实施例中可以预先对电子设备的处理器610进行分组,使不同处理器组运行不同线程。
187.处理器610包括多个内核,多个内核根据其运行能力划分为小核、大核和超大核。每组处理器组中的内核有可以调节的频点,频点可以从第频率向高频率调节,也可以从高频率向低频率调节。
188.在一些可选实施例中,对目标处理线程的调度可以为更换目标图像传输节点对应的目标处理线程的图像处理内核,处理器610还可以用于:
189.从录制第二视频帧开始,将图像传输节点对应的目标处理线程从第一内核调度到第二内核;
190.其中,第二内核为处理性能高于第一内核的处理内核。
191.本技术实施例中,将图像传输节点对应的目标处理线程调度到一个处理性能较高的内核上,来提升对目标处理线程的处理能力。
192.为了在录像场景中达到快速有效的线程调度,可选的,第二内核属于第二内核组,第二内核组可以为电子设备的处理内核中运行频率最高的内核组。通过直接将目标处理线程调度到电子设备的最高运行频率内核组,可以不必对内核运行情况的计算和均衡,以在较短的时间内快速完成线程调度,避免影响用户录制体验。
193.具体的,在一些可选实施例中,对目标处理线程的调度还可以为提高目标图像传输节点对应的目标处理线程的图像处理内核的运行频率,处理器610还可以用于:
194.将第二内核的运行频率提高至第一频率。
195.将目标线程调度到第二内核后,可以再提高第二内核的运行频率,进一步提高对目标处理线程的处理能力。这种方式尤其适用于目标线程调度到超大核后,仍然存在丢帧的情况,则可以通过再次提高超大核的运行频率,来提升电子设备对该线程的处理能力,从而避免录制过程中继续丢帧。
196.为了在频率提高跨度较大的同时,均衡处理器组的处理能力,可选的,本技术实施例中,图像捕获装置6042还可以用于:在第二视频帧的录制帧率大于或等于预设帧率的情况下,以目标处理线程调度后的线程运行状态,录制至第二单位时长内的第三视频帧,线程运行状包括目标处理线程的处理内核为第二内核,且第二内核的运行频率为第一频率;
197.处理器610还可以用于:从录制第三视频帧开始,将第二内核的运行频率从第一频率降低至第二频率;
198.图像捕获装置6042还可以用于:在第三视频帧的录制帧率大于或等于预设帧率的情况下,以第二频率录制至少一个视频帧,输出目标视频。
199.了在频率提高跨度较大的同时,均衡处理器组的处理能力,可选的,本技术实施例中,图像捕获装置6042还可以用于:在第二视频频大于或等于预设帧率的情况下,以目标处理线程的处理内核为第二内核的运行状态,录制至第二单位时长内的第三视频帧;
200.处理器610,用于从录制第三视频帧开始,将目标处理线程从第二内核调度到第三内核,第三内核为处理性能高于第一内核且低于第二内核的处理内核;
201.图像捕获装置6042还可以用于:在第三视频帧大于或等于预设帧率的情况下,以目标处理线程的处理内核为第三内核的运行状态,录制至少一个视频帧,输出目标视频。
202.应理解的是,本技术实施例中,输入单元604还可以包括图形处理器(graphics processing unit,gpu)6041和麦克风,图形处理器6041对在视频捕获模式或图像捕获模式中由图像捕获装置6042(如摄像头)获得的静态图片或视频的图像数据进行处理。显示单元606可包括显示面板6061,可以采用液晶显示器、有机发光二极管等形式来配置显示面板6061。用户输入单元607包括触控面板6071以及其他输入设备6072。触控面板6071,也称为触摸屏。触控面板1071可包括触摸检测装置和触摸控制器两个部分。其他输入设备6072可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆,在此不再赘述。存储器609可用于存储软件程序以及各种数据,包括但不限于应用程序和操作系统。处理器610可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器610中。
203.本技术实施例还提供一种可读存储介质,所述可读存储介质上存储有程序或指令,该程序或指令被处理器执行时实现上述录制方法实施例的各个过程,且能达到相同的
技术效果,为避免重复,这里不再赘述。
204.其中,所述处理器为上述实施例中所述的电子设备中的处理器。所述可读存储介质,包括计算机可读存储介质,如计算机只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等。
205.本技术实施例另提供了一种芯片,所述芯片包括处理器和通信接口,所述通信接口和所述处理器耦合,所述处理器用于运行程序或指令,实现上述录制方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
206.应理解,本技术实施例提到的芯片还可以称为系统级芯片、系统芯片、芯片系统或片上系统芯片等。
207.需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。此外,需要指出的是,本技术实施方式中的方法和装置的范围不限按示出或讨论的顺序来执行功能,还可包括根据所涉及的功能按基本同时的方式或按相反的顺序来执行功能,例如,可以按不同于所描述的次序来执行所描述的方法,并且还可以添加、省去、或组合各种步骤。另外,参照某些示例所描述的特征可在其他示例中被组合。
208.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分可以以计算机软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,或者网络设备等)执行本技术各个实施例所述的方法。
209.上面结合附图对本技术的实施例进行了描述,但是本技术并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本技术的启示下,在不脱离本技术宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本技术的保护之内。
技术特征:
1.一种录制方法,其特征在于,所述方法包括:在录像过程中,在录制的第一视频帧的录制帧率低于预设帧率的情况下,确定所述第一视频帧对应的目标图像传输节点,所述目标图像传输节点的执行时长超过预设阈值;从录制第二视频帧开始,对所述目标图像传输节点对应的目标处理线程进行调度;根据所述目标处理线程调度后的线程运行状态,录制至少一个视频帧,输出目标视频。2.根据权利要求1所述的方法,其特征在于,所述对所述目标图像传输节点对应的目标处理线程进行调度,包括以下至少一项:更换所述目标图像传输节点对应的目标处理线程的图像处理内核;提高所述目标图像传输节点对应的目标处理线程的图像处理内核的运行频率。3.根据权利要求1所述的方法,其特征在于,所述目标图像传输节点对应的目标处理线程的处理内核为第一内核;所述从录制第二视频帧开始,对所述目标图像传输节点对应的目标处理线程进行调度,包括:从录制第二视频帧开始,将所述图像传输节点对应的目标处理线程从所述第一内核调度到第二内核;其中,所述第二内核为处理性能高于所述第一内核的处理内核。4.根据权利要求3所述的方法,其特征在于,所述从录制第二视频帧开始,将所述图像传输节点对应的目标处理线程从所述第一内核调度到第二内核之后,所述方法还包括:将所述第二内核的运行频率提高至第一频率。5.根据权利要求1所述的方法,其特征在于,所述第一视频帧和所述第二视频帧为第一单位时长内的两个相邻视频帧;所述根据所述图像处理线程调度后的线程运行状态,录制至少一个视频帧,输出目标视频,包括:在所述第二视频帧的录制帧率大于或等于所述预设帧率的情况下,根据所述目标处理线程调度后的线程运行状态,录制第二单位时长内的第三视频帧,所述线程运行状态包括所述目标处理线程的处理内核为第二内核,且所述第二内核的运行频率为第一频率的状态;从录制所述第三视频帧开始,将所述第二内核的运行频率从第一频率降低至第二频率;在所述第三视频帧的录制帧率大于或等于所述预设帧率的情况下,以所述第二频率录制至少一个视频帧,输出目标视频。6.根据权利要求1所述的方法,其特征在于,所述第一视频帧和所述第二视频帧为第一单位时长内的两个相邻视频帧;所述根据所述目标处理线程调度后的线程运行状态,录制至少一个视频帧,输出目标视频,包括:在所述第二视频频大于或等于所述预设帧率的情况下,根据所述目标处理线程调度后的线程运行状态,录制第二单位时长内的第三视频帧,所述线程运行状态包括所述目标处理线程的处理内核为所述第二内核的状态;从录制所述第三视频帧开始,将所述目标处理线程从所述第二内核调度到第三内核,
所述第三内核为处理性能高于所述第一内核且低于所述第二内核的处理内核;在所述第三视频帧大于或等于所述预设帧率的情况下,根据所述目标处理线程的处理内核为所述第三内核的线程运行状态,录制至少一个视频帧,输出目标视频。7.根据权利要求3所述的方法,其特征在于,所述第二内核属于第二内核组,所述第二内核组为所述处理内核中运行频率最高的内核组。8.一种录制装置,其特征在于,所述装置包括:第一确定模块,用于在录像过程中,在录制的第一视频帧的录制帧率低于预设帧率的情况下,确定所述第一视频帧对应的目标图像传输节点,所述目标图像传输节点的执行时长超过预设阈值;第一调度模块,用于从录制第二视频帧开始,对所述目标图像传输节点对应的目标处理线程进行调度;输出模块,用于根据所述目标处理线程调度后的线程运行状态,录制至少一个视频帧,输出目标视频。9.根据权利要求8所述的装置,其特征在于,所述对所述目标图像传输节点对应的目标处理线程进行调度,包括以下至少一项:更换所述目标图像传输节点对应的目标处理线程的图像处理内核;提高所述目标图像传输节点对应的目标处理线程的图像处理内核的运行频率。10.根据权利要求8所述的装置,其特征在于,所述目标图像传输节点对应的目标处理线程的处理内核为第一内核;所述第一调度模块,包括:第一调度子模块,用于从录制第二视频帧开始,将所述图像传输节点对应的目标处理线程从所述第一内核调度到第二内核;其中,所述第二内核为处理性能高于所述第一内核的处理内核。11.根据权利要求10所述的装置,其特征在于,所述装置还包括:提高模块,用于将所述第二内核的运行频率提高至第一频率。12.一种电子设备,其特征在于,包括处理器,存储器及存储在所述存储器上并可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如权利要求1-7任一项所述的录制方法的步骤。13.一种可读存储介质,其特征在于,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现如权利要求1-7任一项所述的录制方法的步骤。
技术总结
本申请公开了一种录制方法、装置、设备及计算机存储介质,属于摄像技术领域。在本申请实施例中,在录像过程中,在录制的第一视频帧的录制帧率低于预设帧率的情况下,确定第一视频帧对应的目标图像传输节点,目标图像传输节点的执行时长超过预设阈值;从录制第二视频帧开始,对目标图像传输节点对应的目标处理线程进行调度;根据目标处理线程调度后的线程运行状态,录制至少一个视频帧,输出目标视频。输出目标视频。输出目标视频。
技术研发人员:付自成
受保护的技术使用者:维沃移动通信有限公司
技术研发日:2022.02.11
技术公布日:2022/5/25
转载请注明原文地址:https://tc.8miu.com/read-16297.html