一种摄像头实时视频数据处理方法及装置制造方法及图纸

技术编号:34078915 阅读:66 留言:0更新日期:2022-07-11 18:23
本发明专利技术公开了一种摄像头实时视频数据处理方法及装置,通过以gstreamer流媒体框架进行流式管道设计,采集摄像头实时视频数据,创建连接共享内存,依据摄像头输出的流模式格式,通过配置相应的插件将视频数据格式转换为输出所需要的格式,最后连接应用程序交互组件将视频数据帧,存储至一个共享内存环形缓冲区,其它应用进程从共享内存中获取实时视频数据,实现实时视频数据的多进程交互,解决摄像头开启的资源独占性问题,相较直接调用opencv库函数进行视频采集处理,系统的采集效率也有一定程度的提高。一定程度的提高。一定程度的提高。

【技术实现步骤摘要】
一种摄像头实时视频数据处理方法及装置


[0001]本专利技术涉及视频处理
,具体涉及一种摄像头实时视频数据处理方法及装置。

技术介绍

[0002]MIPI

CSI接口摄像头在许多嵌入式产品,如行车记录仪、执法仪、取证系统中应用广泛,在一些应用场景中,需要多进程的视频图像采集处理,但MIPI

CSI接口摄像头无法被不同的应用程序同时开启,即一个进程中已开启了某个摄像头,在另一个进程中则无法再打开同一个摄像头,摄像头资源被独占。
[0003]Gstreamer多媒体框架可以通过代码直接封装命令来做工程开发,采用插件实现方式,程序代码重用性好,根据业务需要可以灵活裁剪插件,具有良好的扩展性,适合在嵌入式和移动端等应用领域。Gstreamer,可以实现采集,编码,解码,渲染,滤镜等一系列媒体解决方案。在嵌入式图像处理设备系统中,有时需要多进程处理实时视频数据,一个进程开启了摄像头(如本专利采用的MIPI

CSI2接口的摄像头),资源被独占,需要获取视频数据的多个应用进程无法再直接获取视频数据,通常采用udp网络发送RTP流,或通过服务器推流方式(rtsp流、rtmp流),可以实现多进程的实时视频数据交互,现有专利文献CN202011554999.6公开了一种多进程共享数据的高并发视频处理方法及系统,以及现有专利文献CN110891178A公开了一种视频实时渲染的方法和装置,均需通过编解码过程进行处理。但对于低功耗的嵌入式图像处理设备,上述方法都涉及编解码的过程,以及加载微服务器推流,增加了系统的功耗,特别是多路视频时会造成系统负荷过大,运行缓慢。

技术实现思路

[0004]针对现有技术的不足,本专利技术的目的旨在提供一种摄像头实时视频数据处理方法及装置。
[0005]为实现上述目的,本专利技术采用如下技术方案:
[0006]一种摄像头实时视频数据处理方法,包括以下步骤:
[0007]S1、依据配置摄像头数量,开启对应数量线程管理每一路实时视频;
[0008]S2、在每个所述线程中构建一个gstreamer管道负责每一路视频数据的转换处理;
[0009]S3、所述gstreamer管道中至少包括一个视频源组件,通过所述视频源组件获取所述摄像头输出的所述视频数据;
[0010]S4、所述gstreamer管道中至少包括一个推理组件,通过所述推理组件将所述视频数据转换为所需要处理的视频帧格式,得到视频帧数据;
[0011]S5、所述gstreamer管道中包括应用程序交互组件,所述应用程序交互组件将所述视频数据帧放入环形共享内存区;
[0012]S6、将需要获取视频数据的多个应用进程连接至所述环形共享内存区,从所述环形共享内存区中读取所述视频帧数据进行处理。
[0013]进一步地,所述步骤S2还包括:所述gstreamer管道中每个组件属性通过标准的GObject对象方法实现。
[0014]进一步地,所述视频源组件为V4L2src。
[0015]进一步地,所述应用程序交互组件为appsink组件。
[0016]进一步地,所述appsink组件的采样数据传递至所述环形共享内存区的步骤包括:
[0017]S01、设置每个所述gstreamer管道中appsink组件的“emit

sianals”属性为“true”;
[0018]S02、连接所述appsink组件的“new

sample”采样信号;
[0019]S03、在消息回调函数中,将接收到的所述视频帧数据存储至构建的所述环形共享内存区的缓存区内,设置所述视频帧数据的段名;
[0020]S04、在需要获取视频数据的多个应用进程中依据所述段名连接上对应的所述环形共享内存区,获取实时视频帧数据进行处理。
[0021]一种摄像头实时视频数据处理装置,所述摄像头实时视频数据处理装置用于实现所述摄像头实时视频数据处理方法的硬件装置,包括摄像头组、数据主控单元以及显示控制屏,所述摄像头组与所述数据主控单元连接,所述数据主控单元与所述显示控制屏连接,所述主控单元包括数据处理模块、通讯模块和可移动存储介质,所述数据主控单元通过所述通讯模块与需要获取视频数据的客户端连接,所述数据处理模块外接移动存储介质,所述通讯模块通过usb与所述数据处理模块进行数据传输。
[0022]进一步地,所述摄像头组为MIPI摄像头组。
[0023]进一步地,所述通讯模块为4G/WIFI模块。
[0024]进一步地,所述摄像头组中的摄像头通过usb与所述数据处理模块连接,所述通讯模块通过圆柱形固件与数据处理模块固定连接,所述通讯模块位于所述数据处理模块的上方,所述数据处理模块为Nvdia Jeson系列开发板。
[0025]本专利技术的有益效果在于:
[0026]本专利技术一种摄像头实时视频数据处理方法及装置,通过以gstreamer流媒体框架进行流式管道设计,采集摄像头实时视频数据,创建连接共享内存,依据摄像头输出的流模式格式,通过配置相应的插件将视频数据格式转换为输出所需要的格式,最后连接应用程序交互组件将视频数据帧,存储至一个共享内存环形缓冲区,其它需要获取视频数据的多个应用进程从共享内存中获取实时视频数据,实现实时视频数据的多进程交互,解决摄像头开启的资源独占性问题。同时相较直接调用opencv库函数进行视频采集处理,基于本专利技术方法和装置所形成系统的采集效率也有一定程度的提高。
附图说明
[0027]图1为本专利技术基于gstreamer框架的实时视频多进程数据交互接口设计示意图;
[0028]图2为本专利技术appsink组件的采样数据传递至所述环形共享内存区的流程示意图;
[0029]图3为本专利技术一种摄像头实时视频数据处理装置中各模块连接方式示意图;
[0030]图4为本专利技术一种摄像头实时视频数据处理装置其中一种实施例的结构示意图;
[0031]附图标记:1、数据处理模块;2、摄像头组;3、4G/wifi模块。
具体实施方式
[0032]下面,结合附图以及具体实施方式,对本专利技术做进一步描述:
[0033]如图1所示,一种摄像头实时视频数据处理方法,包括以下步骤:
[0034]S1、依据配置摄像头数量,开启对应数量线程管理每一路实时视频;
[0035]S2、在每个所述线程中构建一个gstreamer管道(Pipeline)负责每一路视频数据的转换处理;所述gstreamer管道中的每个组件属性通过标准的GObject对象方法实现,使用GObject的方法可以对gstreamer实行查询、设置、获取属性的值。
[0036]S3、所述gstreamer管道中至少包括一个视频源组件,通过所述视频源组件获取所述摄像头输出的所述视频数据;所述视频源组件为V4L2src。
[003本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种摄像头实时视频数据处理方法,其特征在于,包括以下步骤:S1、依据配置摄像头数量,开启对应数量线程管理每一路实时视频;S2、在每个所述线程中构建一个gstreamer管道负责每一路视频数据的转换处理;S3、所述gstreamer管道中至少包括一个视频源组件,通过所述视频源组件获取所述摄像头输出的所述视频数据;S4、所述gstreamer管道中至少包括一个推理组件,通过所述推理组件将所述视频数据转换为所需要处理的视频帧格式,得到视频帧数据;S5、所述gstreamer管道中包括应用程序交互组件,所述应用程序交互组件将所述视频数据帧放入环形共享内存区;S6、将需要获取视频数据的多个应用进程连接至所述环形共享内存区,从所述环形共享内存区中读取所述视频帧数据进行处理。2.根据权利要求1所述的一种摄像头实时视频数据处理方法,其特征在于,所述摄像头输出的视频数据为流模式格式,所述视频帧格式为BGR格式。3.根据权利要求1所述的一种摄像头实时视频数据处理方法,其特征在于,所述步骤S2还包括:所述gstreamer管道中的每个组件属性通过标准的GObject对象方法实现。4.根据权利要求1所述的一种摄像头实时视频数据处理方法,其特征在于,所述视频源组件为V4L2src。5.根据权利要求1所述的一种摄像头实时视频数据处理方法,其特征在于,所述应用程序交互组件为appsink组件。6.根据权利要求5所述的一种摄像头实时视频数据处理方法,其特征在于,所述appsink组件的采样数据传递至所述环形共享内存区的步骤包括:S01、设置每个所述gstreamer管道中appsi...

【专利技术属性】
技术研发人员:黄云黄劲徐文覃念芳龙伊雯
申请(专利权)人:中科院广州电子技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1