基于双摄像头的摄录方法及电子设备与流程

文档序号:28484724发布日期:2022-01-15 00:14阅读:163来源:国知局
基于双摄像头的摄录方法及电子设备与流程

1.本技术涉及图像处理技术领域,尤其涉及基于双摄像头的摄录方法及电子设备。


背景技术:

2.随着视频处理技术的发展和更新换代,人们对录像技术的要求越来越高,人们更期待看到更完整、更流畅的视频录像。
3.普通的视频摄像头通过后置装配一个红外摄像头并通过切换滤光片实现全天候拍摄,此方案造价较高;选择双摄像头的视频摄像头可有效降低生产成本,但两个摄像头的方案存在录像时不能无缝切换摄像头的问题,相关技术中,在切换摄像头时必须先中断录像,这导致两个摄像头切换这段时间的录像缺失。


技术实现要素:

4.本技术的目的是提供一种基于双摄像头的摄录方法及电子设备,用以解决在切换摄像头需要中断录像导致录像缺失的问题。
5.第一方面,本技术提供基于双摄像头的摄录方法,所述方法包括:
6.将第一摄像头采集的第一视频流在第一视图中展示,并将所述第一视频流存储在第一缓存中进行编码操作;
7.若接收到切换至第二摄像头的切换指示,则将经过预处理的第二视图设置在第一视图的上方;所述预处理用于控制第一视图的关键信息处于可视状态;
8.若接收到所述第二摄像头采集的第二视频流,则撤销对所述第二视图的预处理后将所述第二视频流在所述第二视图中展示,并将所述第二视频流存储在第二缓存中;并,
9.切换到对第二缓存中的所述第二视频流进行编码操作后结束对第一缓存的第一视频流的编码操作。
10.在一些实施例中,所述预处理,包括:
11.将所述第二视图设置为透明视图,和/或,将所述第二视图缩小到指定尺寸,所述指定尺寸小于所述第一视图的尺寸。
12.在一些实施例中,若所述预处理为将所述第二视图缩小到指定尺寸,所述将经过预处理的第二视图设置在第一视图的上方,包括:
13.在显示区域的指定边角位置,展示经过预处理的第二视图。
14.在一些实施例中,确定接收到切换至第二摄像头的切换指示,包括:
15.读取光敏传感器的采集的光强度;
16.若确定所述光强度符合预设的切换要求,则确定接收到所述切换指示。
17.在一些实施例中,所述第一缓存和所述第二缓存的容量相同,且为所述容量小于或等于所述第一摄像头和所述第二摄像头中单帧图像的最小值。
18.在一些实施例中,所述将第一摄像头采集的第一视频流在第一视图中展示,包括:
19.将所述第一摄像头采集的第一视频流写入到第三缓存中;
20.从所述第三缓存中读取视频数据并渲染到所述第一视图中;
21.所述将所述第二视频流在所述第二视图中展示,包括:
22.将所述第二摄像头采集的第二视频流写入到第四缓存中;
23.从所述第四缓存中读取视频数据并渲染到所述第二视图中。
24.在一些实施例中,一种基于双摄像头的摄录方法,包括:
25.响应于摄录指示,执行启动第一摄像头和第二摄像头的操作;
26.从所述第一摄像头和所述第二摄像头中选择目标摄像头,未被选择的摄像头作为候选摄像头;
27.指示所述候选摄像头进入第一模式,所述第一模式用于禁止摄像头输出图像帧;并,
28.将所述目标摄像头采集的视频流写入到回调流缓存和预览流缓存,所述预览流缓存用于输出预览图像;所述回调流缓存中的数据用于进行编码操作;
29.若接收到切换至所述候选摄像头的切换指示,则指示所述目标摄像头进入所述第一模式;并指示所述候选摄像头进入第二模式;所述第二模式用于控制摄像头输出图像帧;
30.将所述候选摄像头采集的视频流写入到所述回调流缓存和所述预览流缓存,所述预览流缓存用于输出预览图像。
31.在一些实施例中,所述摄录指示中包括复合摄像头标识,所述复合摄像头标识中包括所述第一摄像头标识和所述第二摄像头标识;
32.所述执行启动第一摄像头和第二摄像头的操作,包括:
33.基于所述复合摄像头标识中解析出所述第一摄像头标识和所述第二摄像头标识;
34.基于所述第一摄像头标识启动所述第一摄像头,基于所述第二摄像头标识启动所述第二摄像头。
35.在一些实施例中,所述从所述第一摄像头和所述第二摄像头中选择目标摄像头,包括:
36.采集光强度,若所述光强度高于预设光强度则确定选择所述第一摄像头;若光强度不高于所述预设光强度则确定选择所述第二摄像头。
37.第二方面,本技术还提供了一种电子设备,包括:
38.所述第一摄像头和所述第二摄像头用于采集视频流;
39.所述显示器,用于显示采集的视频流;
40.所述存储器,存储器,用于存储处理器的可执行指令;
41.处理器,用于执行所述可执行指令,以实现如本技术第一方面中提供的任一方法。
42.第三方面,本技术一实施例还提供了一种计算机可读存储介质,当所述计算机可读存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如本技术第一方面中提供的任一方法。
43.第四方面,本技术一实施例提供了一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如本技术第一方面中提供的任一方法。
44.本技术的实施例提供的技术方案至少带来以下有益效果:
45.基于上述基于双摄像头的摄录方法,用户在使用包括双摄像头的电子设备时,可以无缝地切换两个摄像头,能够不用停止当前预览及录像,直接切换到指定摄像头,实现无
缝切换,避免了切换摄像头这段时间的录像缺失的问题,同时节省成本,提高了用户的体验。
46.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本技术。在符合本领域常识的基础上,上述各优选条件,可任意组合,即得本技术各较佳实施例。
附图说明
47.为了更清楚地说明本技术实施例的技术方案,下面将对本技术实施例中所需要使用的附图作简单地介绍,显而易见地,下面所介绍的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
48.图1为本技术实施例提供的应用场景示意图;
49.图2为本技术实施例提供的基于双摄像头的摄录方法的第一种方案的流程示意图;
50.图3为本技术实施例提供的基于双摄像头的摄录方法的第二种方案的流程示意图;
51.图4为本技术实施例提供的在应用层和抽象层实现该基于双摄像头的摄录方法的第一种方案的框架示意图;
52.图5为本技术实施例提供的在应用层和抽象层实现该基于双摄像头的摄录方法的第二种方案的框架示意图;
53.图6为本技术实施例提供的电子设备的结构示意图。
具体实施方式
54.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述。其中,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本技术保护的范围。
55.并且,在本技术实施例的描述中,除非另有说明,

/

表示或的意思,例如,a/b可以表示a或b;文本中的

和/或

仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况,另外,在本技术实施例的描述中,

多个

是指两个或多于两个。
56.以下,术语

第一



第二

仅用于描述目的,而不能理解为暗示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有

第一



第二

、的特征可以明示或者隐含地包括一个或者更多个该特征,在本技术实施例的描述中,除非另有说明,

多个

的含义是两个或两个以上。
57.对于双摄像头的电子设备,在录像时不能无缝切换摄像头,相关技术中,在切换摄像头时必须先停止录像,关闭当前摄像头,再打开指定摄像头,然后才能再次开始录像,这就造成录像文件不连续、录像漏秒问题,即两个摄像头切换这段时间的录像缺失。为了解决用户在使用包括双摄像头的电子设备时切换摄像头这段时间而导致录像缺失的问题,对摄
像头的结构和视频采集的工作原理进行了研究分析。研究分析出,两个摄像头在工作时将分别对视频流进行采集,并存储在不同的缓存中,同时两个摄像头的视图在切换时将会中断,所以两个摄像头采集的视频流和预览视图的连续性是对切换摄像头无缝连接的关键。有鉴于此,本技术实施例提供了一种基于双摄像头的摄录方法及电子设备用以解决在切换摄像头这段时间导致录像缺失的问题。
58.本技术实施例中:首先将第一摄像头采集的第一视频流在第一视图中预览展示,并将第一视频流存储在第一缓存中进行编码操作;接收到切换至第二摄像头的切换指示,则将第二视图切换到第一视图的上方;第二摄像头开始采集第二视频流,并将第二视频流存储在第二缓存中,并切换到对第二缓存中的第二视频流进行编码操作。
59.本技术实施例能够在切换两个摄像头时,通过将第二摄像头的第二视图设置在第一摄像头的第一视图的上方,并且第一视图的关键信息处于可视状态,实现了第一摄像头的第一视图和第二摄像头的第二视图的无缝切换,从而实现了预览的无缝切换;通过将第二摄像头采集的第二视频流存储在第二缓存中,并且切换到对第二缓存中的第二视频流进行编码操作后结束对第一缓存的第一视频流的编码操作,这样能够无缝衔接两个摄像头的视频流,得到更完整的视频流,避免切换摄像头对视频流内容完整性的干扰,操作更加简单,优化用户的使用效果。
60.在介绍完本技术实施例的主要发明思想之后,为便于理解本技术提供的技术方案,下面结合附图进行说明。本技术实施例提供的方案适用于需要录像采集的设备,例如记录仪,监控。如图1所示,为本技术实施例适用的设备的运行原理示意图。该设备具有两摄像头,为了实现无缝预览和无缝转存。本技术提供两种可行的方案,一种是双视图+四缓存的方案,另一种是单视图+两缓存的方案,下面对这两个方案进行说明。
61.一、双视图+四缓存的方案
62.如图1所示提供了两个视图和四个缓存,其中:
63.第一摄像头和第二摄像头,一个为正常摄像头,适用于光线好的情况下摄像,一个为星光摄像头,适用于光线暗的情况下摄像。
64.第一缓存,用于存储第一摄像头采集的视频流,供编码后存储使用。
65.第二缓存,用于存储第二摄像头采集的视频流,供编码后存储使用。
66.第三缓存,用于存储第一摄像头采集的视频流,供预览。
67.第四缓存,用于存储第二摄像头采集的视频流,供预览。
68.第一视图,和第三缓存对应,用于预览第三缓存的数据。
69.第二视图,和第四缓存对应,用于预览第四缓存的数据,在创建第一视图和第二视图时,两个视图的尺寸可以相同。
70.假设一开始采用第一个摄像头采集图像,则第一摄像头的图像数据将填充第一缓存和第三缓存,在第三缓存中的图像将通过第一视图展示出来,而第二缓存中的数据将被编码后存储。
71.之后,若切换到第二个摄像头采集图像,则第二摄像头的图像数据将填充第二缓存和第四缓存,在第四缓存中的图像将通过第二视图展示出来,而第四缓存中的数据将被编码后存储。
72.为了实现无缝切换预览,展示第一个摄像头的图像时,第一视图在第二视图上方,
切换到第二个摄像头时,第二视图缩小后设置在第一视图上方,待接收到第二摄像头的第一帧数据之后,第二视图将恢复原来的尺寸遮挡第一视图展示。由此,切换至第二摄像头期间,第二视图没有数据,虽然第二视图在第一视图上方,但第二视图不会影响第一视图的关键信息,用户仍可看到第一视图的内容。当接收到第二个设头像的第一帧数据时,第二视图放大展示第二个摄像头的数据,同时结束对第一缓存的编码,而切换到对第二缓存进行编码,也使存储的影像的画面能够连续,避免丢失较多图像帧带来的录像内容缺失。
73.为了实现预览和存储的无缝切换,如图2所示为本技术实施例提供的基于双摄像头的摄录方法的流程示意图,包括以下内容:
74.首先可默认启动第一摄像头,亦或者根据环境光强度来确定先启动哪个摄像头。假设先启动了第一摄像头(此时第二摄像头未启动),在步骤201中,将第一摄像头采集的第一视频流在第一视图中展示,并将第一视频流存储在第一缓存中进行编码操作。
75.实施时,第一摄像头采集的第一视频流写入到第三缓存中以便于从第三缓存获取视频数据并在第一视图中预览。
76.实施时可设置切换要求,根据切换要求来确定是否切换摄像头。例如先启动第一摄像头时,环境光强度由高变低,低到足以开启第二摄像头时,确定满足由第一摄像头切换到第二摄像头的切换要求。而后,环境光强度由低变高,高到足以开启第一摄像头时,由第二摄像头切换到第一摄像头。
77.故此,实施时,可读取光敏传感器采集的光强度,基于该光强度可确认是否接收到切换至第二摄像头的切换指示。
78.当然,在另一实施例中,也可以用户通过界面操作来触发切换至第二摄像头的切换指示。
79.在步骤202中,若接收到切换至第二摄像头的切换指示,执行开启第二摄像头的操作(此时保持第一摄像头填充第一缓存和第三缓存),由于执行开启第二摄像头的操作耗时较长容易导致漏帧,故此,本技术实施例中,还会基于切换指示将经过预处理的第二视图设置在第一视图的上方以便于在第二摄像头有图像帧时能够及时展示,同时要求该预处理用于控制第一视图的关键信息处于可视状态,以保证在没有获得第二摄像头的视频帧之前用户仍能够预览第一视图的关键帧,在视觉上预览不会漏帧。同时仍采用第一摄像头的第一缓存进行编码操作保证存储的录像数据不会在此期间丢帧或少丢帧。
80.预处理的要求是保证第一视图的关键信息处于可视状态,以保持录像的连续性,避免预览中断,损失掉关键的图像帧。如前文所描述的,预处理可以是缩小第二视图到指定尺寸,为了不遮挡第一视图的关键信息,故此该指定尺寸是远小于第一视图的尺寸的。
81.在另一个实施例中,预处理还可以是将第二视图设置为透明视图,这样,即使第二视图遮挡第一实体,显示器中仍能够显示出第一视图中的内容供用户观看。
82.当然,在另一实施例中,预处理还可以是即将第二视图设置为透明视图,又将第二视图缩小到指定尺寸。
83.当将第二视图设置在第一视图的上方,可以选择在显示区域的指定边角位置展示第二视图。例如,将第二视图缩小至1像素,然后在右上角展示第二视图。这样,第二视图仅占用第一视图的一个像素点,且在第一视图的边角位置上,由此不会影响对第一视图的预览,不会遮挡第一视图中的关键信息。
84.在步骤203中,若接收到第二摄像头采集的第二视频流,则撤销对第二视图的预处理后将第二视频流在第二视图中展示,并将第二视频流存储在第二缓存中。
85.实施时,第二摄像头采集的第二视频流写入到第四缓存中以便于从第四缓存获取视频数据并在第二视图中预览。
86.在一些实施例中,撤销预处理可以是相对预处理而言的。若预处理包括将第二视图设置为透明视图,则撤销预处理包括取消将第二视图设置为透明视图。若预处理包括缩小第二视图,则撤销预处理包括恢复第二视图的尺寸。撤销预处理的目的是让用户能够看到第二视图遮挡第一视图让用户看到第二视图的图像内容。
87.在步骤204中,切换到对第二缓存中的第二视频流进行编码操作后结束对第一缓存的第一视频流的编码操作。由此,通过切换到第二缓存进行编码操作,使得存储的录像数据无缝切换到第二摄像头采集的图像中。
88.实施时,第一缓存和第二缓存的容量相同,且为容量小于或等于第一摄像头和第二摄像头中单帧图像的最小值。例如,第一摄像头规格为每帧图像8m,第二摄像头规格为每帧图像2m,配置的缓存大小不能超过2m。当配置2m大小的第一缓存和第二缓存时,两个摄像头按2m输出图像帧。缓存里的数据由相应的摄像头填充缓存,如果配置了8m的缓存,但第二摄像头最多填充2m,那其余的缓存没图像数据,故此设置成不大于2m即可。
89.在另一个实施例中,可以在接收到切换指示之后,临时创建第二视图、第二缓存和第四缓存,但为了保证图像质量,可以在启动录像功能时创建两个视图和四个缓存,均适用本技术实施例。
90.此外,当切换到第二摄像头的第二缓存进行编码操作之后,可以执行关闭第一摄像头的操作。然后等待下一次切换指示时执行类似的操作,由此实现预览和录像的无缝切换。
91.二、单视图+两缓存的方案
92.本技术实施例提出一种基于双摄像头的摄录方法的另一种方案,该方案中两个摄像头共用一个视图一个预览流(用于预览)和一个回调流(用于录像)来实现预览和录像的无缝切换。如图3所示,可实施为:
93.相关技术中,启动摄像头时,下发需要启动的摄像头标识进行启动。为了便于同时启动摄像头,本技术实施例中配置了一个复合摄像头标识,该复合摄像头标识中包括第一摄像头标识和第二摄像头标识。在发送摄录指示时,可将该复合摄像头标识携带在摄录指示中,以便于在步骤301中,响应于摄录指示,执行启动第一摄像头和第二摄像头的操作。
94.实施时,可先从复合摄像头标识中解析出所述第一摄像头标识和所述第二摄像头标识,然后基于第一摄像头标识启动第一摄像头,基于第二摄像头标识启动第二摄像头。
95.当然,在另一个实施例中,用户操作开始摄录时,可以先后下发两次摄录指示,每次摄录指示携带一个摄像头的摄像头标识,也能够实现启动两个摄像头的目的。
96.在步骤302中,从第一摄像头和第二摄像头中选择目标摄像头,未被选择的摄像头作为候选摄像头,并指示候选摄像头进入第一模式,第一模式用于禁止摄像头输出图像帧。
97.在一些实施例中,选择摄像头为目标摄像头可根据光强度确定。双摄像头的电子设备在工作时,先采集光强度,其所包括的光敏传感器将根据环境光强度对两个摄像头进行选择,若光强度高于预设光强度则确定选择第一摄像头;若光强度不高于预设光强度则
确定选择第二摄像头。例如,若基于环境光强度确定采用第一摄像头作为目标摄像头进行录像,则指示第二摄像头进入第一模式,即standby模式,该模式用于禁止输出图像帧。此时,采用第一摄像头进行录像,禁止第二摄像头输出图像帧给缓存。
98.在步骤303中,将目标摄像头采集的视频流写入到回调流缓存和预览流缓存,预览流缓存用于输出预览图像;回调流缓存中的数据用于进行编码操作。
99.在一些实施例中,若目标摄像头是第一摄像头,将第一摄像头采集的视频流写入到回调流缓存和预览流缓存,回调流缓存可以使用第一缓存,预览流缓存可以使用第三缓存,可以基于第一摄像头的第一缓存进行编码存储,基于第三缓存输出预览第一摄像头采集的图像。
100.在步骤304中,若接收到切换至候选摄像头的切换指示,则指示目标摄像头进入第一模式;并指示候选摄像头进入第二模式;第二模式用于控制摄像头输出图像帧。
101.在一些实施例中,若目标摄像头是第一摄像头,则候选摄像头是第二摄像头,若基于环境光强度确定需要切换至第二摄像头时,指示第二摄像头进入第二模式,即normal work模式,该模式用于控制第二摄像头输出图像帧。之后,可以通过指示第一摄像头切换到第一模式实现关闭第一摄像头。基于光敏传感器,在光强度较弱的情况下,采用第二摄像头进行录像,此时,禁止第一摄像头输出图像帧。
102.在步骤305中,将候选摄像头采集的视频流写入到回调流缓存和预览流缓存。
103.在一些实施例中,切换到候选摄像头后,将第二摄像头采集的视频流写入到回调流缓存和预览流缓存,此时,回调流缓存和预览流缓存不会改变,仍然可以使用第一缓存和第三缓存,可以基于第一缓存进行编码存储,基于第三缓存输出预览第二摄像头采集的图像。
104.由于在步骤301中同时启动了第一摄像头和第二摄像头,也因为打开摄像头的程序指令先由应用层传到抽象层,再由抽象层传到内核层的驱动,然后才可以完成启动摄像头,整个过程耗费的时间比较长,同时打开两个摄像头相较先打开一个摄像头,再打开另一个摄像头,节省录像过程中切换摄像头的时间,提高了摄像头控制效率。在切换摄像头的过程中,候选摄像头所采集的视频流将切换为目标摄像头所采集的视频流,这个切换的过程是在抽象层进行的,时间间隔可以忽略不计,所以保持了视频流的连续性,实现了摄像头的无缝切换。
105.为便于进一步理解本技术实施例提供的摄录方法,结合应用层和抽象层对此进行说明。如图4所示,先启动一个摄像头再收到切换消息时,启动另一个摄像头,方法包括以下内容:
106.在步骤401中,应用层启动录像功能,基于物理地址0生成打开第一摄像头。其中,在抽象层,物理地址0表示第一摄像头,物理地址2表示第二摄像头物理。
107.在步骤402中,应用层将打开地址0的操作指示传至抽象层。
108.在步骤403中,抽象层将第一摄像头打开。
109.在步骤404中,抽象层将打开地址0的回调传到应用层。
110.在步骤405中,应用层收到打开地址0的回调后,配置预览流缓存和回调流缓存的大小,即配置第一摄像头对应的第一缓存和第三缓存,同时配置第二摄像头的第二缓存和第四缓存,并创建第一视图和第二视图。
111.当然,需要说明的是,两个视图和四个缓存的创建也可以在步骤405之前执行,也适用于本技术实施例。
112.在步骤406中,在抽象层,第一摄像头开始采集视频流。
113.在步骤407中,抽象层将视频流填充至第一缓存和第三缓存。
114.在步骤408中,正常预览同时多媒体编解码器在第一缓存中对视频流进行编码操作。正常预览即抽象层对主视图的预览流进行渲染处理交由应用层将第一摄像头采集的第一视频流在主视图展示。多媒体编码器对主视图的回调流即第一缓存中的视频流进行录像编码。
115.在步骤409中,应用层在第一视图展示第一摄像头所采集到的视频流。
116.在步骤410中,抽象层基于光敏传感器采集的光强度确定切换到第二摄像头,通知给应用层切换摄像头。
117.在步骤411中,应用层调整视图布局。
118.即为了实现无缝切换预览,展示第一个摄像头的图像时,第一视图在第二视图上方,切换到第二个摄像头时,第二视图缩小后设置在第一视图上方。例如,将第二视图缩小至1像素,然后在右上角展示第二视图。这样,第二视图仅占用第一视图的一个像素点,且在第一视图的边角位置上,由此不会影响对第一视图的预览,不会遮挡第一视图中的关键信息。
119.在步骤412中,应用层将打开地址2的操作指示传至抽象层。
120.在步骤413中,抽象层将第二摄像头打开。
121.在步骤414中,抽象层将打开地址2的回调传到应用层。
122.在步骤415中,应用层收到打开地址2的回调。
123.在一个实施例中,第二摄像头的预览流缓存和回调流缓存(即第二摄像头对应的第二缓存和第四缓存)也可以在步骤415中接收到回调后创建。
124.在步骤416中,第二摄像头开始采集视频流,停止第一摄像头输出图像帧,不采集视频流,即关闭第一摄像头。
125.在步骤417中,抽象层将视频流填充至第二缓存和第四缓存。
126.在步骤418中,抽象层正常预览同时多媒体编解码器在第二缓存中进行编码操作。这里,多媒体编解码器,即mediacodec,是安卓提供的用于对音视频进行编解码的类,它通过访问底层的编解码器来实现编解码的功能,是安卓媒体基础框架的一部分。正常预览即将第二摄像头采集的第二视频流在第二视图展示。
127.在步骤419中,应用层在第二视图展示第二摄像头所采集到的视频流。
128.在另一个实施例中,同时启动两个摄像头的方法,如图5所示,可实施为:
129.在步骤501中,在抽象层设置一个逻辑地址,比如地址24,表示第一摄像头物理地址0和第二摄像头物理地址2的合集。
130.在步骤502中,应用层启动录像功能,基于地址24生成打开摄像头的操作指示。
131.在步骤503中,应用层将基于地址24生成的打开摄像头的操作指示传至抽象层。
132.在步骤504中,抽象层将第一摄像头和第二摄像头同时打开。
133.在步骤505中,抽象层基于环境光强度确定采用第一摄像头进行录像。
134.在步骤506中,抽象层将打开地址0的回调传到应用层。
135.在步骤507中,应用层收到打开地址0的回调后,配置预览流缓存和回调流缓存的大小,即配置第一摄像头对应的第一缓存和第三缓存,同时配置第二摄像头的第二缓存和第四缓存。
136.在步骤508中,若抽象层没收到切换第二摄像头的消息,则指示第二摄像头进入第一模式。在该模式下,抽象层挂起第二摄像头,挂起即抽象层通过standby设置接口传递挂起的消息至第二摄像头驱动,驱动会配置传感器的相应管脚,使摄像头进入standby模式,即第一模式。该模式下第二摄像头上电但不输出图像帧,即第二摄像头处于挂起状态将不采集视频流。
137.在步骤509中,在抽象层,第一摄像头开始采集视频流。
138.在步骤510中,抽象层将视频流填充至第一缓存和第三缓存。
139.在步骤511中,正常预览同时多媒体编解码器在第一缓存中对视频流进行编码操作。此时,第一摄像头和第二摄像头共用同一个预览流缓存和回调流缓存,即第三缓存和第一缓存,第一摄像头和第二摄像头共用第一视图进行预览。正常预览即抽象层将第一摄像头采集的第一视频流进行渲染处理交由应用层在第一视图展示。多媒体编码器对回调流缓存即第一缓存中的视频流进行录像编码。
140.在步骤512中,应用层在第一视图展示第一摄像头所采集到的视频流。
141.在步骤513中,抽象层收到切换到第二摄像头。
142.在步骤514中,第二摄像头开始采集视频流,则指示第二摄像头进入第二模式。在该模式下,抽象层挂起第一摄像头,禁止第一摄像头输出图像帧,即第一摄像头处于挂起状态将不采集视频流,第二摄像头上电并且输出图像帧。
143.在步骤515中,抽象层将视频流填充至第三缓存和第一缓存。
144.在步骤516中,抽象层正常预览同时多媒体编解码器继续在第一缓存中进行编码操作。
145.在步骤517中,应用层在第一视图展示第二摄像头所采集到的视频流。
146.上述方法中,本技术实施例能够在切换两个摄像头时,能够无缝衔接两个摄像头的视频流,通过第一摄像头的第一视图和第二摄像头的第二视图的无缝切换,得到完整的视频流,同时使用两个摄像头的成本要低于一个具有类似功能的摄像头的成本;又通过第一摄像头和第二摄像头在抽象层的模式切换,保证了视频流的连续性。既能够在切换摄像头避免对视频流的干扰,操作又简单便捷,优化用户的体验。
147.所属技术领域的技术人员能够理解,本技术的各个方面可以实现为系统、方法或程序产品。因此,本技术的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为

电路



模块



系统


148.在一些可能的实施方式中,根据本技术的电子设备可以至少包括至少一个处理器、以及至少一个存储器。其中,存储器存储有程序代码,当程序代码被处理器执行时,使得处理器执行本说明书上述描述的根据本技术各种示例性实施方式的基于双摄像头的摄录方法。例如,处理器可以执行如基于双摄像头的摄录方法中的步骤。
149.下面参照图6来描述根据本技术的这种实施方式的电子设备130。图6显示的电子设备130仅仅是一个示例,不应对本技术实施例的功能和使用范围带来任何限制。
150.如图6所示,电子设备130以通用电子设备的形式表现。电子设备130的组件可以包括但不限于:上述至少一个处理器131、上述至少一个存储器132、连接不同系统组件(包括存储器132和处理器131)的总线133。
151.总线133表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器、外围总线、处理器或者使用多种总线结构中的任意总线结构的局域总线。
152.存储器132可以包括易失性存储器形式的可读介质,例如随机存取存储器(ram)1321和/或高速缓存存储器1322,还可以进一步包括只读存储器(rom)1323。
153.存储器132还可以包括具有一组(至少一个)程序模块1324的程序/实用工具1325,这样的程序模块1324包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
154.电子设备130也可以与一个或多个外部设备134(例如键盘、指向设备等)通信,还可与一个或者多个使得用户能与电子设备130交互的设备通信,和/或与使得该电子设备130能与一个或多个其它电子设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(i/o)接口135进行。并且,电子设备130还可以通过网络适配器136与一个或者多个网络(例如局域网(lan),广域网(wan)和/或公共网络,例如因特网)通信。如图所示,网络适配器136通过总线133与用于电子设备130的其它模块通信。应当理解,尽管图中未示出,可以结合电子设备130使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理器、外部磁盘驱动阵列、raid系统、磁带驱动器以及数据备份存储系统等。
155.在示例性实施例中,还提供了一种包括指令的计算机可读存储介质,例如包括指令的存储器132,上述指令可由电子设备700的处理器131或者电子设备800的处理器131执行以完成上述基于双摄像头的摄录方法。可选地,存储介质可以是非临时性计算机可读存储介质,例如,所述非临时性计算机可读存储介质可以是rom、随机存取存储器(ram)、cd-rom、磁带、软盘和光数据存储设备等。
156.在示例性实施例中,还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器131执行时实现如本技术提供的基于双摄像头的摄录方法的任一方法。
157.在示例性实施例中,本技术提供的一种基于双摄像头的摄录方法的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在计算机设备上运行时,程序代码用于使计算机设备执行本说明书上述描述的根据本技术各种示例性实施方式的基于双摄像头的摄录方法中的步骤。
158.程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、电子设备或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。
159.本技术的实施方式的用于基于双摄像头的摄录方法的程序产品可以采用便携式紧凑盘只读存储器(cd-rom)并包括程序代码,并可以在电子设备上运行。然而,本技术的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程
序可以被指令执行系统、电子设备或者器件使用或者与其结合使用。
160.可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、电子设备或者器件使用或者与其结合使用的程序。
161.可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、有线、光缆、rf等等,或者上述的任意合适的组合。
162.可以以一种或多种程序设计语言的任意组合来编写用于执行本技术操作的程序代码,程序设计语言包括面向对象的程序设计语言一诸如java、c++等,还包括常规的过程式程序设计语言一诸如
″c″
语言或类似的程序设计语言。程序代码可以完全地在用户电子设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户电子设备上部分在远程电子设备上执行、或者完全在远程电子设备或服务端上执行。在涉及远程电子设备的情形中,远程电子设备可以通过任意种类的网络——包括局域网(lan)或广域网(wan)一连接到用户电子设备,或者,可以连接到外部电子设备(例如利用因特网服务提供商来通过因特网连接)。
163.应当注意,尽管在上文详细描述中提及了电子设备的若干单元或子单元,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本技术的实施方式,上文描述的两个或更多单元的特征和功能可以在一个单元中具体化。反之,上文描述的一个单元的特征和功能可以进一步划分为由多个单元来具体化。
164.此外,尽管在附图中以特定顺序描述了本技术方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
165.本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
166.本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程图像缩放设备的处理器以产生一个机器,使得通过计算机或其他可编程图像缩放设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的电子设备。
167.这些计算机程序指令也可存储在能引导计算机或其他可编程图像缩放设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令电子设备的制造品,该指令电子设备实现在流程图一个流程或多个流程和/或方框图一
个方框或多个方框中指定的功能。
168.这些计算机程序指令也可装载到计算机或其他可编程图像缩放设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
169.尽管已描述了本技术的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本技术范围的所有变更和修改。
170.显然,本领域的技术人员可以对本技术进行各种改动和变型而不脱离本技术的精神和范围。这样,倘若本技术的这些修改和变型属于本技术权利要求及其等同技术的范围之内,则本技术也意图包含这些改动和变型在内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1