视频采集卡在监控领域的工作实现
- 来源:中国安防展览网
- 2012/9/26 16:31:451317
采用图像采集芯片组完成图像的采集、帧存储器地址生成以及图像数据的刷新;除了要对采集模式进行设定外,主处理器不参与采集过程,我们只要在相应的帧存储器地址取出采集到的视频数据即可得到相应的视频数据,这种方法,无论在功能、性能、可靠性、速度等各方面都得到了显著的提高,但成本高。后者采用通用视频A/D转换器实现图像的采集,其特点是数据采集占用CPU的时间,对处理器的速度要求高,成本低、易于实现,能够满足某些图像采集系统的需要。
此系统要求每秒采大25帧(设为可调),客户端实时显示大25帧(设为可调),保存为MPEG4格式,画面要求为大分辩率为1024X768。多路视频实时采集使用的是VisionRGB-PRO卡(英国Datapath公司),此卡可同时实时采集两路视频数据,基本达到了本系统的要求,再用一台VGA矩阵切换器将前端数据源的四路视频数据进行人为切换采集。
硬件环境的构建
此采集系统主要实现对前端四路视频数据的人为切换式实时采集,在服务器端可同时采集和储存两路视频数据(在此只用一个视频采集卡),也可以一次只采集一路视频数据,再经网络实时传输到客户端显示,服务器端也实时显示所采集的视频。在进行视频切换方面可在服务器端或客户端自行切换,在服务器端可通过串行口操作VGA矩阵切换进行相应的视频输入输出口的切换,在客户端可通过网络-服务器程序相应模块-串行口-VGA矩阵切换进行相应的视频输入输出口的切换。
视频数据量较大,这就要求视频数据处理系统具有实时采集,大容量存储和实时处理的特点。软件要实现对视频数据的实时采集(多两路)、控制视频接口、把视频数据实时编码保存并发送到多个客户端。在服务器端的实现是整个系统的关键,在此也承担了大量的工作,因此对软件和硬件方面要求也很高就成为必然。以上就是要在服务器上实现的主要功能。
在采集方面主要的是要有实时性,在此以事件驱动的方法从端口获取数据,采集到视频数据流在桌面显示的同时再编码保存,视频采集的数据要经软件的相应模块将其设为位图型式的视频帧,以利于在服务器端的显示和编码保存,在此采用Divx编码,Divx编码后形成以帧为格式的MPEG4流。
服务器端的实现
Divx解码也是以帧的格式解压,因此有利于向客户端发送数据时以帧为单位发送视频数据流。媒体流分为四个流:视频流、音频流、文本流、MIDI流,用视频卡采集的是两路视频流,保存时每路视频流多加了一个文本流,文本流主要应客户要求加入的服务器时间和一些人为输入的文本信息,在记录两个媒体流时一般有两种记录方法,在此采用的是将视频流和文本流记到一个文件中的方式,这样有利于文件以后的保存和查阅。
在采集软件实现方面主要应用了相应的SDK(Softwaredevelopmentkit)和API(应用编程接口),还可用VFW(VideoforWindows)。但后一种方法实现简单单路视频采集卡可以,对于多路视频的采集用种方法更加灵活,但实现比第二种复杂的多。
在服务器端各方面协调工作是关键,程序启动首先默认上次设定的视频采集卡通道,如有视频数据就显示、保存,如果没有视频数据就等待,如果要调整视频采集卡通道可用串口给VGA矩阵切换器发送相应的命令让VGA矩阵切换器进行相应的输入输出通道切换。也可经客户端经网络到服务器串口到VGA矩阵切换器进行VGA矩阵切换器相应的输入输出通道切换(在后面介绍客户端时再介绍)。每次切换后将自动保存原视频文件,如切换后有视频数据将自动重新生成一个新的视频文件。
用局域网实时传输视频数据已在一些领域大量的应用,局域网以有线局域网居多,因为有线局域网技术成熟、传输速度快,但是长时间传输大量视频数据时也会引起传输速率不稳定,引起数据堵塞,会导致视频传输的质量大幅度下降,容易引起画面的重影、抖动、花屏、延迟等现象。在服务器桌面显示的画面是没经任何编码处理的,但网络传输和保存的视频数据是经Divx编码的,这样有力的减轻了网络间传输和服务器的负担。
为了在局域网上有效的、高质量的实时传输媒体流,需要多种技术的支持,包括网络传输层协议的选择、编(解)码技术,网络传输层质量控制技术等等。