基于安卓系统的多路视频录制及平台交互的方法及装置与流程

文档序号:12279541阅读:632来源:国知局
基于安卓系统的多路视频录制及平台交互的方法及装置与流程

技术领域

本发明涉及视频处理领域,尤其涉及基于安卓系统的多路视频录制及平台交互的方法及装置。



背景技术:

传统视频监控有着不同的划分方式,按信号类型可分为模拟监控和数字监控,按传输方式可分为有线监控和无线监控。随着网络和计算机技术的发展,出现了新的有线网络数字视频监控,提供友好的用户接口,用户可以通过网络来实现接入,通过互联网来遥控监控终端实现图像控制,采用嵌入式操作系统,可以通过浏览器实现访问设置,图像进行处理后可以自由地进行组播点播的选择。现有的无线视频监控,由无线网代替传统的网络电缆,基于无线通讯的网络产品可提供高速带宽,满足无线视频监控的需求。不同的网络之间可以通过无线桥接,实现网络之间的互访,极大的降低铺设线路的成本。将无线监控应用于安全监控、医疗、教学、视频会议等场合,实现高分辨率的实时视频监控。

Android是目前最热的移动智能操作系统,本身系统功能强大,多媒体功能支持程度高,开发周期短,应用普及简单。本方法所研究的视频监控系统基于Android系统。

目前在移动视频监控领域的发展处于初级阶段,但随着移动终端的处理能力、高清视频清晰度提升,在移动终端上的性能已能与传统PC接近。

现有的基于移动视频监控的技术主要是在Android终端利用播放软件实现多路视频的解码播放,终端通过无线网络与视频服务器或视频解码器连接,在终端上实现多路视频监控。但是,现有的Android设备(手机或平板)只能用于一路监控视频,无法实现多路监控视频的录像及回放。



技术实现要素:

本发明的主要目的在于提供一种基于安卓系统的多路视频录制及平台交互的方法及装置,旨在解决现有的Android设备(手机或平板)只能用于一路监控视频,无法实现多路监控视频的录像及回放的技术问题。

为实现上述目的,本发明提供一种基于安卓系统的多路视频录制及平台交互的方法,所述方法包括如下步骤:

对当前实时采集的多路原始视频数据进行图像信号处理,并转换成预设格式的视频数据进行存储;

通过应用程序接口调用安卓系统的多媒体编解码器,并选择对一路或多路转换成预设格式的所述视频数据进行视频解码处理,从而获得相对应的高清视频数据;

将所述高清视频数据存储于储存装置内和/或以流媒体的方式上传至云端服务器。

优选地,所述对当前实时采集的多路原始视频数据进行图像信号处理,并转换成预设格式的视频数据进行存储的步骤包括如下具体步骤:

实时接收多路所述原始视频数据;

根据每一路所述原始视频数据的格式引入相对应地视频编解码库进行视频压缩编码处理;

获取压缩编码处理后每一路所述原始视频数据的YUV数据;

对所述YUV数据进行添加文本标识信息和渲染处理;

对处理后的所述YUV数据进行存储。

优选地,所述视频编解码库包括ffmpeg、x264和libmpeg开源库。

优选地,所述通过应用程序接口调用安卓系统的多媒体编解码器,并选择对一路或多路转换成预设格式的所述视频数据进行视频解码处理的步骤中,应用层通过所述应用程序接口实现经由本地框架层选择对一路或多路转换成预设格式的所述视频数据进行视频解码处理。

优选地,所述应用层通过所述应用程序接口控制本地视频的播放,从而实现选择多路流媒体的同时播放或者单个播放。

优选地,在所述选择对一路或多路转换成预设格式的所述视频数据进行视频解码处理的步骤中,实现H.264高清视频数据的解码处理。

优选地,所述将所述高清视频数据存储于储存装置内和/或以流媒体的方式上传至云端服务器的步骤包括如下具体步骤:

对所述高清视频数据进行流拷贝操作;

将流拷贝操作后的所述高清视频数据存储于储存装置内和/或以流媒体的方式上传至云端服务器。

优选地,所述将所述高清视频数据存储于储存装置内的步骤包括如下具体步骤:

对多路所述高清视频数据的内容合并,形成整合流;

将所述整合流转换成预设格式的目标文件输出;

将所述目标文件存储于存储装置内。

一种根据上述基于安卓系统支持多路视频录制并与平台交互的装置,包括:视频格式转换模块,用于对当前实时采集的多路原始视频数据进行图像信号处理,并转换成预设格式的视频数据;视频存储模块,用于存储已转换成预设格式的所述视频数据;视频处理模块,用于选择性地调用一路或多路转换成预设格式的所述视频数据,并通过安卓系统的多媒体编解码器进行视频解码处理,并获得相对应的高清视频数据;视频交互模块,用于将所述高清视频数据存储于储存装置内和/或以流媒体的方式上传至云端服务器。

优选地,所述视频处理模块包括:视频调用模块,用于通过所述应用程序接口调用已转换成预设格式的一路或多路所述视频数据;视频解码模块,用于通过所述应用程序接口调用安卓系统的多媒体编解码器,并利用所述多媒体编解码器对被调用的一路或者多路所述视频数据进行解码处理;视频发送模块,用于通过所述应用程序接口将所述视频解码模块解码后的视频数据发送至应用层。

本发明所能实现的有益效果:所述基于安卓系统的多路视频录制及平台交互的方法及装置中,所述应用层的APP通过所述应用程序接口与所述本地框架层进行信息交互从而实现对所述视频数据的选择性处理,因此所述基于安卓系统的多路视频录制及平台交互的方法及装置不仅可以实现多路视频的压缩回放,而且并不影响其它安卓应用的使用,进而用充分利用所述安卓系统的性能,给用户提供完整的功能选择。

而且,所述基于安卓系统的多路视频录制及平台交互的方法及装置还将处理后的视频文件上传至云端服务器,从而实现所述安卓系统与云端服务器之间的平台交互功能,进而实现远程监控的功能。

附图说明

图1是本发明实施例提供的基于安卓系统的多路视频录制及平台交互的方法的流程框图;

图2是本发明实施例提供的基于安卓系统的多路视频录制及平台交互的方法的流程示意图;

图3是本发明实施例提供的基于安卓系统支持多路视频录制及平台交互的装置的结构框图。

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

请同时参照图1和图2,图1是本发明实施例提供的基于安卓系统的多路视频录制及平台交互的方法的流程框图,图2是本发明实施例提供的基于安卓系统的多路视频录制及平台交互的方法的流程示意图。所述基于安卓系统的多路视频录制及平台交互的方法包括如下步骤:

步骤S10,对当前实时采集的多路原始视频数据进行图像信号处理,并转换成预设格式的视频数据进行存储。

在所述步骤S10中,通过多个摄像头同时采集实时视频,并在采集所述实时视频的同时,将采集到的所述原始视频数据发送至安卓设备。也就是说,所述安卓设备可以同时接收通过多个所述摄像头实时采集的多路所述原始视频数据。而且,所述安卓设备接收到多路所述原始视频数据后,就对每一所述原始视频数据进行格式转换,并将转换成所述预设格式的视频数据直接进行存储,以备所述安卓系统进行调用。优选地,所述预设格式的视频数据是YUV数据。

具体地,在本实施例中,所述步骤S10包括如下步骤:

实时接收多路所述原始视频数据;

根据每一路所述原始视频数据的格式引入相对应地视频编解码库进行视频压缩编码处理;

获取压缩编码处理后每一路所述原始视频数据的YUV数据;

对所述YUV数据进行添加文本标识信息和渲染处理;

对处理后的所述YUV数据进行存储。

可选择地,多路所述原始视频数据可以来自不同类型的所述摄像头,例如,CVBS摄像头、MIPI摄像头和USB摄像头等,本发明对此不做限定。应当理解,对应每一类型的摄像头所获得的所述原始视频数据的格式并不相同,因此需要根据每一路所述原始视频数据的格式引入相对应地视频编解码库进行视频压缩编码处理。可选择地,所述视频编解码库包括ffmpeg、x264和libmpeg开源库等。

而且,在所述步骤S10中,利用所述视频编解码库对所述原始视频数据进行压缩编码的过程具体包括:

一、视频数据的采集,将采集到的YUV数据进行采样;

二、对帧数据进行预测编码,对关键帧采用帧内预测编码来降低空间冗余,对非关键帧采用帧间预测编码来降低时间冗余;

三、通过预测残差的熵编码,来降低码率。

进一步地,为了同时对多路所述原始视频数据进行处理,则在获取压缩编码处理后每一路所述原始视频数据的YUV数据后,对所述YUV数据进行添加文本标识信息和渲染处理,从而实现多路所述原始视频数据的YUV数据之间的识别区分。

而且,为了获得实时的视频数据,将处理后的所述YUV数据实时存储在存储设备中,例如,移动终端的内存或硬盘等,本发明对此不做限定。在本实施例中,实时采集多路所述原始视频数据,并对所述原始视频数据进行图像信号处理,从而获得所述YUV数据。而且,当获得所述YUV数据后,将所述YUV数据实时存储在存储设备中备存,等待被所述安卓系统根据应用层的指令而选择性调用。因此,所述安卓系统通过所述应用层调用的视频数据可以始终包含所述摄像头实时采集的视频信息。

步骤S20,通过应用程序接口调用安卓系统的多媒体编解码器,并选择对一路或多路转换成预设格式的所述视频数据进行视频解码处理,从而获得相对应的高清视频数据。

具体地,在所述步骤S20中,通过所述安卓系统的本地框架层(native层)提供应用程序接口(API)与应用层的APP实现信息交互。在本实施例中,所述应用层通过所述应用程序接口实现经由所述本地框架层选择对一路或多路转换成预设格式的所述视频数据进行视频解码处理,而且,所述应用层还可以通过所述应用程序接口控制本地视频的播放,从而实现选择多路流媒体的同时播放或者单个播放,进而将录制的高清视频投递到解码器播放,在客户端实现预览、实时监控、回放等功能。

也就是说,所述应用层的APP可以通过所述应用程序接口经由所述本地框架层选择性地调用每一路或几路的所述视频数据,从而实现多路摄像头的同时录制,以及多路摄像头的视频采集、压缩编码、图像预览和多路流数据的封装整合功能。

而且,通过所述应用程序接口调用安卓系统的多媒体编解码器对所述视频数据进行解码处理,可以通过利用安卓系统的硬件解码器,最大限度的发挥系统的解码性能。优选地,在所述步骤S20中,所述安卓系统的硬件解码器实现H.264高清视频数据的解码处理。

而且,由于所述应用层的APP通过所述应用程序接口与所述本地框架层进行信息交互从而实现对所述视频数据的选择性处理,则使得所述安卓终端除了进行多路视频监控功能以外,还有富余的能力进行其它应用的处理;并且在进行其它的应用时,多路视频监控还可以在后台继续运行。

应当理解,所述步骤S20可以包括视频选择调用步骤和视频解码播放步骤。具体地,所述视频调用步骤可以包括如下步骤:

所述应用层的APP接收用户输入的视频调用指令;

所述应用层的APP通过所述应用程序接口将所述视频调用指令发送至所述本地框架层;

所述本地框架层根据所述视频调用指令调用在步骤S10中存储的一路或者多路所述YUV数据。

其中,所述YUV数据是被欧洲电视系统所采用的一种颜色编码方法,用于优化彩色饰品信号的传输。如果采用所述YUV数据对彩色图像进行颜色编码,则Y代表图像的亮度信号,也就是灰阶值;U和V代表图像的色度信号,用于描述影像色彩及饱和度,进而指定像素的颜色。

所述视频解码播放步骤可以包括如下步骤:

所述应用层通过所述应用程序接口调用安卓系统的多媒体编解码器;

所述多媒体编解码器接收被调用的一路或者多路所述YUV数据,并对所述YUV数据进行解码处理,从而获得高清视频数据,而且还将所述高清视频数据反馈至所述本地框架层;

所述本地框架层通过所述应用程序接口将解码后的所述高清视频数据发送至所述应用层,并通过所述应用层的播放器进行播放。

步骤S30,将所述高清视频数据存储于储存装置内和/或以流媒体的方式上传至云端服务器。

具体地,所述步骤S30包括如下具体步骤:

对所述高清视频数据进行流拷贝操作;

将流拷贝操作后的所述高清视频数据存储于储存装置内和/或以流媒体的方式上传至云端服务器。

在本实施例中,所述高清视频数据可以直接存储于存储装置,例如移动终端的SD卡、磁盘、硬盘等,本发明对此不做限定。如果所述高清视频数据直接存储于存储装置,则包括如下步骤:

对多路所述高清视频数据的内容合并,形成整合流;

将所述整合流转换成预设格式的目标文件输出;

将所述目标文件存储于存储装置内。

可选择地,所述目标文件是MP4格式的文件。当然,不限于本实施例中,所述目标文件还可以是AVI格式、rmvb格式、3GP等其它视频格式的文件。

如果所述高清视频数据以流媒体的方式上传至云端服务器,则可以通过网络实现所述安卓系统与云端服务器之间的平台交互功能。

请参阅图3,是基于图1所示基于安卓系统支持多路视频录制并与平台交互方法的装置的结构框图。所述装置包括视频格式转换模块10、视频存储模块20、视频处理模块30和视频交互模块40。

所述视频格式转换模块10用于对当前实时采集的多路原始视频数据进行图像信号处理,并转换成预设格式的视频数据。优选地,所述预设格式的视频数据是YUV数据。

具体地,所述视频格式转换模块10同时接收通过多个所述摄像头实时采集的多路所述原始视频数据,并对每一所述原始视频数据进行格式转换,将其转换成所述预设格式的视频数据直接进行存储于所述视频存储模块20内,以备所述安卓系统进行调用。

其中,在所述视频格式转换模块10进行视频格式转换过程中,由于对应每一类型的摄像头所获得的所述原始视频数据的格式并不相同,因此所述视频格式转换模块10根据每一路所述原始视频数据的格式引入相对应地视频编解码库进行视频压缩编码处理。可选择地,所述视频编解码库包括ffmpeg、x264和libmpeg开源库等。

所述视频存储模块20用于存储已转换成预设格式的所述视频数据。可选择地,所述视频存储模块20可以是移动终端的内存或硬盘,本发明对此不做限定。

具体地,所述视频存储模块20实时存储所述视频格式转换模块10转换得到的YUV数据。也就是说,所述视频存储模块20内存储的视频信息是所述摄像头实时采集的视频得到的YUV数据。

所述视频处理模块30用于选择性地调用一路或多路转换成预设格式的所述视频数据,并通过安卓系统的多媒体编解码器进行视频解码处理,并获得相对应的高清视频数据。

具体地,所述视频处理模块30包括:视频调用模块31、视频解码模块32和视频发送模块33。其中,所述视频调用模块31用于通过所述应用程序接口调用已转换成预设格式的一路或多路所述视频数据。所述视频解码模块32用于通过所述应用程序接口调用安卓系统的多媒体编解码器,并利用所述多媒体编解码器对被调用的一路或者多路所述视频数据进行解码处理。所述视频发送模块33用于通过所述应用程序接口将所述视频解码模块32解码的视频数据发送至应用层,从而通过所述应用层的播放器进行播放。

在本实施例中,所述视频调用模块31用于实现所述视频处理模块30的视频选择调用功能。具体地,所述视频调用模块31根据所述应用层的APP接收的所述视频调用指令,从而实现选择性地调用一路或者多路所述YUV数据。而且所述视频调用模块31还通过所述本地框架层将被调用的一路或者多路所述YUV数据发送至所述视频处理模块30。

所述视频处理模块32用于实现所述视频处理模块32的视频解码播放功能。具体地,所述视频处理模块32接收所述本体框架层发送的一路或者多路所述YUV数据,并对所述YUV数据进行解码处理,从而获得高清视频数据,而且还将所述高清视频数据反馈至所述本体框架层。可选择地,所述视频处理模块32可以是所述安卓系统的软件解码模块,也可以是所述安卓系统的硬件解码器,本发明对此不做限定。

所述视频交互模块40用于将所述高清视频数据存储于储存装置内和/或以流媒体的方式上传至云端服务器。可选择地,所述视屏交互模块40可以选择将所述高清视频数据直接存储于存储装置,例如移动终端的SD卡、磁盘、硬盘等,本发明对此不做限定;所述视屏交互模块40还可以将所述高清视频数据以流媒体的方式上传至云端服务器,从而通过网络实现所述安卓系统与云端服务器之间的平台交互功能。

相较于现有技术,本发明提供的基于安卓系统的多路视频录制及平台交互的方法中,所述应用层的APP通过所述应用程序接口与所述本地框架层进行信息交互从而实现对所述视频数据的选择性处理,因此所述基于安卓系统的多路视频录制及平台交互的方法及装置不仅可以实现多路视频的压缩回放,而且并不影响其它安卓应用的使用,进而用充分利用所述安卓系统的性能,给用户提供完整的功能选择。

而且,基于安卓系统的多路视频录制及平台交互的方法还将处理后的视频文件上传至云端服务器,从而实现所述安卓系统与云端服务器之间的平台交互功能,进而实现远程监控的功能。

以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

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