一种群拍视频拍摄方法及装置与流程

文档序号:13808508阅读:359来源:国知局
一种群拍视频拍摄方法及装置与流程

本发明涉及视频拍摄技术领域,具体涉及一种群拍视频拍摄方法及装置。



背景技术:

现有技术中,用户只能用自己的智能设备拍摄当前镜头下的视频,只能得到单一的当前视频,而不能同时获得不同用户不同镜头下的拍摄视频,不能获得多维度多视角的视频。

当多个用户需要互相查看对方拍摄的视频时,需要互相传输拍摄的视频发送给对方,这样,浪费时间、浪费流量,用户体验较差。



技术实现要素:

针对现有技术中的上述缺陷,本发明提供了一种群拍视频拍摄方法及装置,能够获得一个全新的多维度多视角的全新视频内容。

第一方面,本发明提供的一种群拍视频拍摄方法,包括:

接收第一客户端发送的建房指令;并根据所述建房指令,建立拍摄房间;

接收第二客户端发送的加入指令;根据所述加入指令,加入新用户到所述拍摄房间;

接收拍摄指令,根据所述拍摄指令控制所述第一客户端和所述第二客户端的摄像头进行视频拍摄;

获取第一客户端和第二客户端上传的拍摄视频;

接收合成指令,并根据所述合成指令,合成所述拍摄视频,生成群拍视频;

将所述群拍视频发送给所述第一客户端和/或所述第二客户端。

可选的,所述接收拍摄指令,根据所述拍摄指令控制所述第一客户端和所述第二客户端的摄像头进行视频拍摄,包括:

接收拍摄指令,经过预设缓冲时间后,根据所述拍摄指令控制所述第一客户端和所述第二客户端的摄像头进行视频拍摄。

可选的,所述接收拍摄指令,根据所述拍摄指令控制所述第一客户端和所述第二客户端的摄像头进行视频拍摄,包括:

接收拍摄指令,根据所述拍摄指令,控制所述第一客户端和所述第二客户端的摄像头,在指定拍摄时间内进行视频拍摄。

可选的,所述接收拍摄指令,根据所述拍摄指令控制所述第一客户端和所述第二客户端的摄像头进行视频拍摄,包括:

接收拍摄指令,根据所述拍摄指令,匹配所述第一客户端和所述第二客户端的时间轴;

根据所述时间轴,设置所述第一客户端和所述第二客户端的拍摄控制指令;

根据所述拍摄控制指令,控制所述第一客户端和所述第二客户端的摄像头进行视频拍摄。

可选的,在所述接收合成指令,并根据所述合成指令,合成所述拍摄视频,生成群拍视频的步骤之前,还包括:

接收所述第一客户端发送的预览指令;

根据所述预览指令,向所述第一客户端发送预览视频。

可选的,所述根据所述合成指令,合成所述拍摄视频,生成群拍视频,包括:

根据所述合成指令,为所述拍摄视频选择合成模板;

加载所述合成模板,并根据所述合成模板,合成所述拍摄视频,生成群拍视频。

可选的,在加载所述合成模板之前,还包括:

对所述拍摄视频进行渲染;

所述根据所述合成模板,合成所述拍摄视频,生成群拍视频,包括:

根据所述合成模板,合成渲染后的所述拍摄视频,生成群拍视频。

可选的,在建立拍摄房间的步骤之后,还包括:

接收所述第一客户端和/或所述第二客户端通过所述拍摄房间发送的音频信息;

将所述音频信息输出给所述拍摄房间的其它用户。

第二方面,本发明提供的一种群拍视频拍摄装置,包括:

房间建立模块,用于接收第一客户端发送的建房指令;并根据所述建房指令,建立拍摄房间;

加入模块,用于接收第二客户端发送的加入指令;根据所述加入指令,加入新用户到所述拍摄房间;

拍摄模块,用于接收拍摄指令,根据所述拍摄指令控制所述第一客户端和所述第二客户端的摄像头进行视频拍摄;

视频获取模块,用于获取第一客户端和第二客户端上传的拍摄视频;

视频合成模块,用于接收合成指令,并根据所述合成指令,合成所述拍摄视频,生成群拍视频;

视频发送模块,用于将所述群拍视频发送给所述第一客户端和/或所述第二客户端。

可选的,所述拍摄模块,包括:

时间轴匹配单元,用于接收拍摄指令,根据所述拍摄指令,匹配所述第一客户端和所述第二客户端的时间轴;

指令设置单元,用于根据所述时间轴,设置所述第一客户端和所述第二客户端的拍摄控制指令;

控制拍摄单元,用于根据所述拍摄控制指令,控制所述第一客户端和所述第二客户端的摄像头进行视频拍摄。

由以上技术方案可知,本发明提供一种群拍视频拍摄方法,通过建房指令和加入指令,能够将不同的用户集中到一个拍摄房间中,能够让所有参与者利用他们的客户端进行视频拍摄,并且,能够将不同用户拍摄的视频进行合成,合成一个全新的多维度多视角的全新视频内容,并发送给用户,使不同用户都能够看到拍摄的全新视频内容。

本发明提供的一种群拍视频拍摄装置,与上述视频拍摄方法出于相同的发明构思,具有相同的有益效果。

附图说明

为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍。在所有附图中,类似的元件或部分一般由类似的附图标记标识。附图中,各元件或部分并不一定按照实际的比例绘制。

图1示出了本发明第一实施例提供一种群拍视频拍摄方法的流程图;

图2示出了本发明第二实施例提供一种群拍视频拍摄装置的示意图。

具体实施方式

下面将结合附图对本发明技术方案的实施例进行详细的描述。以下实施例仅用于更加清楚地说明本发明的技术方案,因此只是作为示例,而不能以此来限制本发明的保护范围。

需要注意的是,除非另有说明,本申请使用的技术术语或者科学术语应当为本发明所属领域技术人员所理解的通常意义。

本发明提供了一种群拍视频拍摄方法及装置。下面结合附图对本发明的实施例进行说明。

图1示出了本发明第一实施例所提供的一种群拍视频拍摄方法的流程图。如图1所示,本发明第一实施例提供的一种群拍视频拍摄方法包括以下步骤:

步骤s101:接收第一客户端发送的建房指令;并根据所述建房指令,建立拍摄房间。

步骤s102:接收第二客户端发送的加入指令;根据所述加入指令,加入新用户到所述拍摄房间。

步骤s103:接收拍摄指令,根据所述拍摄指令控制所述第一客户端和所述第二客户端的摄像头进行视频拍摄。

步骤s104:获取第一客户端和第二客户端上传的拍摄视频。

步骤s105:接收合成指令,并根据所述合成指令,合成所述拍摄视频,生成群拍视频。

步骤s106:将所述群拍视频发送给所述第一客户端和/或所述第二客户端。

通过建房指令和加入指令,能够将不同的用户集中到一个拍摄房间中,能够让所有参与者利用他们的客户端进行视频拍摄,并且,能够将不同用户拍摄的视频进行合成,合成一个全新的多维度多视角的全新视频内容,并发送给用户,使不同用户都能够看到拍摄的全新视频内容,能够避免用户之间视频的互相传输,进而节省时间,节省流量。

在本发明中,本发明的执行主体可以是服务器,也可以是智能终端的处理器,这都在本发明的保护范围内。

其中,第一客户端为群拍的发起者,第二客户端为其他参与者。

在第一客户端发起群拍,建立拍摄房间时,用户可以通过在第一客户端输入标识数字,建立相应的拍摄房间,该标识数字可以作为此拍摄房间的房间号。第二客户端的使用者可以在第二客户端输入该房间号,进而进入到该拍摄房间。第二客户端的使用者在输入该房间号时,本发明的执行主体就会接收到加入指令,并且能够根据加入指令,将新用户加入到相应的拍摄房间。

其中,标识数字可以是一位、两位、三位、四位等数字。优选地,标识数字为四位数字。

在本发明中,一次群拍只能有一个发起者,发起者一定是第一时间输入的标识数字,并且,在拍摄房间显示发起者的头像保持在第一位。

当第一客户端或者第二客户端输入标识数字后没有反应时,在相应的客户端显示异常原因,例如,显示网络异常、房间号不正确等信息。

优选地,当发起者创建拍摄房间成功后,不能直接进行拍摄,需要至少再邀请一位好友方可拍摄。

优选地,发起者加参与者最多为5个。

在本发明提供的一个具体实施例中,所述接收拍摄指令,根据所述拍摄指令控制所述第一客户端和所述第二客户端的摄像头进行视频拍摄,包括:接收拍摄指令,经过预设缓冲时间后,根据所述拍摄指令控制所述第一客户端和所述第二客户端的摄像头进行视频拍摄。

在接收到拍摄指令后,需要倒计时缓冲时间才正式开拍,例如,倒计时缓冲时间为3秒,这样,可以给参与者一个调整镜头的时间。

其中,缓冲时间可以是默认的,也可以是发起者设置的。

在本发明提供的一个具体实施例中,所述接收拍摄指令,根据所述拍摄指令控制所述第一客户端和所述第二客户端的摄像头进行视频拍摄,包括:接收拍摄指令,根据所述拍摄指令,控制所述第一客户端和所述第二客户端的摄像头,在指定拍摄时间内进行视频拍摄。

其中,在接收到拍摄指令进行拍摄时,可以拍摄一个指定拍摄时间内的视频,这样,能够获得不同用户拍摄的相同时间的视频。

其中,指定拍摄时间是由发起者,也就是第一客户端控制。接收第一客户端发送的指定拍摄时间的设置指令,设置第一客户端和第二客户端的拍摄时间。

在本发明提供的一个具体实施例中,所述接收拍摄指令,根据所述拍摄指令控制所述第一客户端和所述第二客户端的摄像头进行视频拍摄,包括:接收拍摄指令,根据所述拍摄指令,匹配所述第一客户端和所述第二客户端的时间轴;根据所述时间轴,设置所述第一客户端和所述第二客户端的拍摄控制指令;根据所述拍摄控制指令,控制所述第一客户端和所述第二客户端的摄像头进行视频拍摄。

当群拍点击开始后,开始自动匹配各个客户端的时间轴。例如:发起者a的时间线为1504258346.100,参与者b1的时间线为1504258346.300,参与者b2的时间线为1504258346.500,那么,参与者b1延迟拍摄时间为0.200秒,参与者b2延迟拍摄时间为0.400秒,将发起者和参与者的开始拍摄的时间按照各个的延迟时间进行匹配,得到拍摄的时间轴。在按照各个的延迟时间进行匹配时,将延迟拍摄的参与者的拍摄时间提前,进而消除拍摄的延迟误差。

例如,将参与者b1的拍摄时间相对于发起者的拍摄时间提前0.200秒,将参与者b2的拍摄时间相对于发起者的拍摄时间提前0.400秒,进而得到精确的拍摄的时间轴。

然后,按照该时间轴设置第一客户端和第二客户端的拍摄控制指令,再根据拍摄控制指令,控制第一客户端和第二客户端进行拍摄。这样,能够使不同客户端同时进行拍摄,消除拍摄的延迟时间。

当每一个客户端拍摄成功后,视频可以按照该客户端拍摄的时间线合成该客户端拍摄的单个视频。

其中,视频可以通过gpuimage输出视频流到videotoolbox,audiotoolbox,按时间先后顺序合成单个视频。

其中,gpuimage是一种处理画面渲染加特效的工具。videotoolbox是一种视频压缩的工具。audiotoolbox是一种音频合成的工具。

在本发明中,在接收到拍摄指令后,可以立即注销视频房间的房间号,以使其它发起者可以使用该房间号建立新的视频房间。

在本发明中,发起者可以设置缓冲时间,同时也可以设置拍摄时间,这都在本发明的保护范围内。

在本发明提供的一个具体实施例中,在所述接收合成指令,并根据所述合成指令,合成所述拍摄视频,生成群拍视频的步骤之前,还包括:接收所述第一客户端发送的预览指令;根据所述预览指令,向所述第一客户端发送预览视频。

接收到第一客户端和第二客户端上传的拍摄的视频后,当接收到第一客户端发送的预览指令后,可以向第一客户端展示预览的合成页面,可以使用户预览最终的合成效果。

拍摄结束后,客户端可以上传相关视频到文件管理server,群拍信息更新到群拍数据server。发起者开启队列服务,拉取参与者的视频列表,开启hotspot,新建加密的hotspot,同步hotspot信息到server,启动httpserver,用于接收视频文件,同步httpserver信息到服务器;如果是同一地域,参与用户根据nehotspothelper连接发起者hotspot,根据获取到的httpserver信息使用afnetworking上传视频。

其中,server是指服务器。hotspot是指热点。httpserver是指http的服务器。nehotspothelper和afnetworking都是指ios的库。

在本发明中,当预览过程在本地执行时,发起者需要将所有的拍摄视频下载到本地,在本地预览合成页面。

在本发明提供的一个具体实施例中,所述根据所述合成指令,合成所述拍摄视频,生成群拍视频,包括:根据所述合成指令,为所述拍摄视频选择合成模板;加载所述合成模板,并根据所述合成模板,合成所述拍摄视频,生成群拍视频。

当预览结果可行时,可以接收第一客户端发送的合成指令,然后,根据合成指令,对所有客户端上传的拍摄视频进行合成,生成群拍视频。

合成视频的过程为:

首先,需要为拍摄视频选择合成模板。

合成模板包括需要使用的每个单个视频的时间段,以及同一时间段不同视频的个数。

全部单个视频同步完成后,进入合成预加载处理,可以根据不同数量的视频,不同的场景等等信息,智能匹配到最优的合成模板。

然后,加载合成模板,根据合成模板,生成群拍视频。

在选择好合成模板后,可以使用svengine,按opengles的方式合成视频。其中,svengine是指视频合成等处理工具。opengles是指处理画面渲染等逻辑的工具。

具体合成过程如下:

根据合成模板可以对单个视频进行分割,形成不同时间段的单个视频,再将不同时间段的单个视频进行组合,生成群拍视频。

在将不同时间段的单个视频进行组合时,需要根据每个时间段中的视频个数为该时间段选择合适的显示模板。其中,显示模板,包括一分模板、二分模板、三分模板、四分模板、五分模板等中的一种或多种。

在每个时间段可以是一个视频,也可以是多个视频。当一个时间段有一个视频时,就是全屏,为一分模板;当一个时间段有两个视频时,就选择二分模板,该二分模板可以是上下分割、左右分割等方法进行分割的模板。在每一时间段的视频合成时,先加载该时间段的视频列表,再按照不同的显示模板,设置单个视频在视频流中的位置,时间和空间位置。

在加载合成模板之前,还可以包括:对所述拍摄视频进行渲染;所述根据所述合成模板,合成所述拍摄视频,生成群拍视频,包括:根据所述合成模板,合成渲染后的所述拍摄视频,生成群拍视频。

对拍摄视频进行渲染,有两种方法,第一种,将视频解压缩成不同帧数的图片,解析图片的信息,获取到场景的分析;根据不同帧数的图片切换信息的比率,判断场景的节奏等等,根据类似的信息自动匹配不同的背景音乐。第二种,接收用户选择背景音乐的渲染指令,根据渲染指令,为合成视频选择背景音乐。

对视频渲染后,可以根据合成模板,合成渲染后的拍摄视频,生成群拍视频。

示例:一个拍摄房间有五个客户端,分别获得了五个单个视频,该五个单个视频都是关于玩滑板的视频。每个单个视频的时间为15秒,合成模板可以是:第一个视频的前两秒视频作为合成视频的前两秒视频,第二视频的3-4秒视频作为合成视频的3-4秒视频,第三个和第四个视频的5-6秒视频作为合成视频的5-6秒视频,第一个、第二个、第三个和第四个视频的7-9秒视频作为合成视频的7-9秒视频,第五个视频的10-12秒视频作为合成视频的10-12秒视频,第一个、第二个、第三个、第四个和第五个视频的13-15秒视频作为合成视频的13-15秒视频。

按照上述合成模板可以将五个客户端的单个视频进行合成,最后生成第一个视频两秒,第二个视频两秒,第三个和第四个视频两秒,第一个、第二个、第三个和第四个视频三秒,第五个视频三秒,第一个、第二个、第三个、第四个和第五个视频三秒的一个合成视频。由于单个视频都是关于玩滑板的视频,因此,匹配了hiphop类的背景音乐,还可以随机增加hiphop风格的贴纸。

其中,在选择合成模板时,可以是默认选择,也可以是根据第一客户端发送的选择指令进行选择。

然后,选择好模板后,需要加载所述合成模板,加载好合成模板后,将所有的拍摄视频都输入到合成模板。

在本发明提供的一个具体实施例中,在建立拍摄房间的步骤之后,还可以包括:接收所述第一客户端和/或所述第二客户端通过所述拍摄房间发送的音频信息;将所述音频信息输出给所述拍摄房间的其它用户。

建立好拍摄房间后,发起者和参与者都可以在该拍摄房间进行语音聊天,以使各个用户协调拍摄时间,进而提高用户体验。

具体实施过程为:

默认调用gpuimage控制camera(相机),获取镜头图像信息。输入密码获取群拍信息时,server会自动匹配到对应的群拍房间,新建或者是指定到之前的群拍房间,相关的im房间初始化,加入新用户。

加入者的客户端im初始化,加入房间;zegoaudio初始化,加入房间;使用librtmp协议进入流信息连接,gpuimage的音频信息,通过coreaudio解码压缩,通过librtmp协议发送到服务器,再同步到房间中的其他用户。用户通过librtmp协议拉取到音频流信息,进行coreaudio解压解码,输出到avfoundation,期间im通过自定义消息控制语音的发起和结束通话。

其中,im房间是指语音聊天室。zegoaudio是指处理语音通讯的工具。coreaudio是指视频相关处理工具。avfoundation是指处理ios底层连接功能的工具。

在上述的第一实施例中,提供了一种群拍视频拍摄方法,与之相对应的,本申请还提供一种群拍视频拍摄装置。请参考图2,其为本发明第二实施例提供的一种群拍视频拍摄装置的示意图。由于装置实施例基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。下述描述的装置实施例仅仅是示意性的。

本发明第二实施例提供的一种群拍视频拍摄装置,包括:

房间建立模块101,用于接收第一客户端发送的建房指令;并根据所述建房指令,建立拍摄房间;

加入模块102,用于接收第二客户端发送的加入指令;根据所述加入指令,加入新用户到所述拍摄房间;

拍摄模块103,用于接收拍摄指令,根据所述拍摄指令控制所述第一客户端和所述第二客户端的摄像头进行视频拍摄;

视频获取模块104,用于获取第一客户端和第二客户端上传的拍摄视频;

视频合成模块105,用于接收合成指令,并根据所述合成指令,合成所述拍摄视频,生成群拍视频;

视频发送模块106,用于将所述群拍视频发送给所述第一客户端和/或所述第二客户端。

在本发明提供的一个具体实施例中,所述拍摄模块103,具体用于:

接收拍摄指令,经过预设缓冲时间后,根据所述拍摄指令控制所述第一客户端和所述第二客户端的摄像头进行视频拍摄。

在本发明提供的一个具体实施例中,所述拍摄模块103,具体用于:

接收拍摄指令,根据所述拍摄指令,控制所述第一客户端和所述第二客户端的摄像头,在指定拍摄时间内进行视频拍摄。

在本发明提供的一个具体实施例中,所述拍摄模块103,包括:

时间轴匹配单元,用于接收拍摄指令,根据所述拍摄指令,匹配所述第一客户端和所述第二客户端的时间轴;

指令设置单元,用于根据所述时间轴,设置所述第一客户端和所述第二客户端的拍摄控制指令;

控制拍摄单元,用于根据所述拍摄控制指令,控制所述第一客户端和所述第二客户端的摄像头进行视频拍摄。

在本发明提供的一个具体实施例中,所述装置,还包括:

预览指令接收模块,用于接收所述第一客户端发送的预览指令;

预览视频发送模块,用于根据所述预览指令,向所述第一客户端发送预览视频。

在本发明提供的一个具体实施例中,所述视频合成模块105,包括:

模板选择单元,用于接收合成指令,根据所述合成指令,为所述拍摄视频选择合成模板;

群拍视频合成单元,用于加载所述合成模板,并根据所述合成模板,合成所述拍摄视频,生成群拍视频。

在本发明提供的一个具体实施例中,所述视频合成模块105,还可以包括:

渲染单元,用于对所述拍摄视频进行渲染;

所述群拍视频合成单元,具体用于:

加载所述合成模板,根据所述合成模板,合成渲染后的所述拍摄视频,生成群拍视频。

在本发明提供的一个具体实施例中,所述装置,还包括:

音频信息接收模块,用于接收所述第一客户端和/或所述第二客户端通过所述拍摄房间发送的音频信息;

音频信息输出模块,用于将所述音频信息输出给所述拍摄房间的其它用户。

以上,为本发明第二实施例提供的一种群拍视频拍摄装置的实施例说明。

本发明提供的一种群拍视频拍摄装置与上述群拍视频拍摄方法出于相同的发明构思,具有相同的有益效果,此处不再赘述。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不是必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。需要说明的是,本发明附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和获得机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的装置来实现,或者可以用专用硬件与获得机指令的组合来实现。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的装置、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个获得机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该获得机软件产品存储在一个存储介质中,包括若干指令用以使得一台获得机机器(可以是个人获得机,服务器,或者网络机器等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围,其均应涵盖在本发明的权利要求和说明书的范围当中。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1