具有远程监控功能的视频服务器设计
时间:01-13
来源:互联网
点击:
3 系统软件设计
整个嵌入式系统的软件部分由4部分组成:Boot-loader代码、Linux操作系统的内核生成和Linux下驱动程序及应用程序的开发、文件系统的生成和配置以及用户应用程序。设备驱动模块向上层软件提供一致的接口,主要包括硬件的初始化、总线内存地址映射、内存分配等,分别被存储在NAND Flash的4个分区模块中。本设计采用的是较节省空间的CRAMFS只读文件系统。
3.1 MPEG-4压缩编码的实现
AT2042 支持MPEG-1、MPEG-2、MPEG-4、H.263和Motion-JPEG等多种视频压缩标准,以及ADPCM、MPEG-1 Layer-II和Lyer-III(MP3)等音频压缩标准。这些功能是通过配置相应的编码寄存器实现的,例如编码模式、编码像素点、编码帧率及设置编码流格式(PES、PS、TS)等等。本系统中采用MPEG-4模式、720X576、每秒25帧及生成PES流来对视频数据进行编码。
MPEG- 4压缩编码部分完成对AT2042和TVP5150相关寄存器的配置,保证了MPEG-4数据流的正常输出。系统启动后,首先配置AT2042的寄存器,初始化完成后,通过I2C总线对TVP5150进行初始化配置。在压缩编码过程中,MPEG-4数据流接收存储程序由AT2042的数据流缓冲器标志信号来进行控制。当缓冲器满时,RISC_INT0置低,主控制器通过DMA通道把从AT2042的网卡接口接收过来的码流通过网络通道传输到PC端。其压缩编码模块程序流程如图6所示。
3.2 远程网络程序模块
网络控制模块是外部扩展应用程序与视频服务器交互的一个模块。其工作过程是:在监控终端的IE浏览器中输入网络视频服务器的IP地址,嵌入式网络视频服务器根据请求,将相应的控制页面(即ActiveX控件)反馈给IE浏览器,用户下载控件后,根据控件上的指令,进行相应的操作,然后提交。该模块提取操作的信息,根据不同信息通过socket套接口与服务器进行通信来分别处理相应的事件,如调节MPEG-4相关属性、摄像头的相关操作等。该网络控制模块的设计主要包括3部分:本地嵌入式web服务器的配置、ActiveX控件的编写、socket套接字实现服务器与监控端通信。远程网络程序模块框图如图7所示。
3.3 本地存储部分的实现
该部分主要实现的三大功能:U盘空间的监测,以系统时间来命名存储文件并将文件保存到U盘上,实现MPEG-4编码。视频编码存储主要是利用Linux系统指令、AT2042芯片的视频编码功能和自动生成传输流功能。
(1)显示U盘存储空间
首先,利用Linux系统指令与C语言的接口函数sys-tem(const char*string),执行指令会把U盘空间的容量、可用空间等信息写入设定目录下,然后利用 display_string(char*string)函数将该信息显示在显示层面上。这样可以使用户很清楚地了解到可用存储空间的大小。
(2)以系统时间命名文件名
调用系统函数time、localtime,这里需要定义相应的结构体tm来获取系统时间,然后将这些信息与建立文件的路径保存在同一个字符串,调用 fopen(const char*path,const char*mode)函数。这样就实现了以系统时间来命名文件名,可以方便用户按时间来查看文件。
3.4 运动图像监测的实现
该视频监控系统配置AT2042的相关寄存器,可实现运动检测的功能。通过运动检测来控制视频数据的存储和报警。运动检测(报警)算法可以控制存储动作,节省存储空间。例如,开始无运动报警信号,存储模块处于等待状态;运动报警信号到来,启动存储模块,在一定时间内如果没有继续收到运动报警信号,存储模块自动停止工作。这样存储量比连续存盘少得多,大量无运动的视频被剪截掉了,大大提高了存盘效率,有效地节省了存储空间。工作过程是这样的:预先进行检测区域设定,从摄像机来的视频信号一方面进行视频压缩,压缩的码流输出到缓冲区中;另一方面进行运动检测,当运动条件满足时发出报警信号,存储设备开始工作。存储设备一接到启动信号就将缓冲区的压缩码流全部保存下来,接着连续存储视频压缩输出的码流,直到存储控制指示停止存盘为止。运动方向的估计可以实现监控系统中的警戒线报警功能。在图像画面上设定警戒线以及方向,相应地产生一个预警区域。围绕边界线产生边界区域或边缘点集,监测是否有运动越过警戒线进入警戒区。
结语
本视频服务器既有视频远程实时传输,又具有本地存储的功能,再配置AT2042实现多种视频格式的编码和运动检测、报警功能,使用起来方便易行,可以得到广泛的应用。该视频服务器集成普通摄像机和网络转换器,将图像转换为基于TCP/IP网络标准的数据包,使摄像机所摄的画面通过RJ-45以太网接口直接传送到网络上,通过网络即可远程监视画面。该视频服务器采用了最先进的摄像技术和网络技术,具有强大的功能。内置的系统软件能实现真正的即插即用,使用户免去了复杂的网络配置;内置的大容量内存能存储警报触发前的图像;内置的I/O端口和通信口便于扩充外部周边设备,如门禁系统、红外线感应装置、全方位云台。
整个嵌入式系统的软件部分由4部分组成:Boot-loader代码、Linux操作系统的内核生成和Linux下驱动程序及应用程序的开发、文件系统的生成和配置以及用户应用程序。设备驱动模块向上层软件提供一致的接口,主要包括硬件的初始化、总线内存地址映射、内存分配等,分别被存储在NAND Flash的4个分区模块中。本设计采用的是较节省空间的CRAMFS只读文件系统。
3.1 MPEG-4压缩编码的实现
AT2042 支持MPEG-1、MPEG-2、MPEG-4、H.263和Motion-JPEG等多种视频压缩标准,以及ADPCM、MPEG-1 Layer-II和Lyer-III(MP3)等音频压缩标准。这些功能是通过配置相应的编码寄存器实现的,例如编码模式、编码像素点、编码帧率及设置编码流格式(PES、PS、TS)等等。本系统中采用MPEG-4模式、720X576、每秒25帧及生成PES流来对视频数据进行编码。
MPEG- 4压缩编码部分完成对AT2042和TVP5150相关寄存器的配置,保证了MPEG-4数据流的正常输出。系统启动后,首先配置AT2042的寄存器,初始化完成后,通过I2C总线对TVP5150进行初始化配置。在压缩编码过程中,MPEG-4数据流接收存储程序由AT2042的数据流缓冲器标志信号来进行控制。当缓冲器满时,RISC_INT0置低,主控制器通过DMA通道把从AT2042的网卡接口接收过来的码流通过网络通道传输到PC端。其压缩编码模块程序流程如图6所示。
3.2 远程网络程序模块
网络控制模块是外部扩展应用程序与视频服务器交互的一个模块。其工作过程是:在监控终端的IE浏览器中输入网络视频服务器的IP地址,嵌入式网络视频服务器根据请求,将相应的控制页面(即ActiveX控件)反馈给IE浏览器,用户下载控件后,根据控件上的指令,进行相应的操作,然后提交。该模块提取操作的信息,根据不同信息通过socket套接口与服务器进行通信来分别处理相应的事件,如调节MPEG-4相关属性、摄像头的相关操作等。该网络控制模块的设计主要包括3部分:本地嵌入式web服务器的配置、ActiveX控件的编写、socket套接字实现服务器与监控端通信。远程网络程序模块框图如图7所示。
3.3 本地存储部分的实现
该部分主要实现的三大功能:U盘空间的监测,以系统时间来命名存储文件并将文件保存到U盘上,实现MPEG-4编码。视频编码存储主要是利用Linux系统指令、AT2042芯片的视频编码功能和自动生成传输流功能。
(1)显示U盘存储空间
首先,利用Linux系统指令与C语言的接口函数sys-tem(const char*string),执行指令会把U盘空间的容量、可用空间等信息写入设定目录下,然后利用 display_string(char*string)函数将该信息显示在显示层面上。这样可以使用户很清楚地了解到可用存储空间的大小。
(2)以系统时间命名文件名
调用系统函数time、localtime,这里需要定义相应的结构体tm来获取系统时间,然后将这些信息与建立文件的路径保存在同一个字符串,调用 fopen(const char*path,const char*mode)函数。这样就实现了以系统时间来命名文件名,可以方便用户按时间来查看文件。
3.4 运动图像监测的实现
该视频监控系统配置AT2042的相关寄存器,可实现运动检测的功能。通过运动检测来控制视频数据的存储和报警。运动检测(报警)算法可以控制存储动作,节省存储空间。例如,开始无运动报警信号,存储模块处于等待状态;运动报警信号到来,启动存储模块,在一定时间内如果没有继续收到运动报警信号,存储模块自动停止工作。这样存储量比连续存盘少得多,大量无运动的视频被剪截掉了,大大提高了存盘效率,有效地节省了存储空间。工作过程是这样的:预先进行检测区域设定,从摄像机来的视频信号一方面进行视频压缩,压缩的码流输出到缓冲区中;另一方面进行运动检测,当运动条件满足时发出报警信号,存储设备开始工作。存储设备一接到启动信号就将缓冲区的压缩码流全部保存下来,接着连续存储视频压缩输出的码流,直到存储控制指示停止存盘为止。运动方向的估计可以实现监控系统中的警戒线报警功能。在图像画面上设定警戒线以及方向,相应地产生一个预警区域。围绕边界线产生边界区域或边缘点集,监测是否有运动越过警戒线进入警戒区。
结语
本视频服务器既有视频远程实时传输,又具有本地存储的功能,再配置AT2042实现多种视频格式的编码和运动检测、报警功能,使用起来方便易行,可以得到广泛的应用。该视频服务器集成普通摄像机和网络转换器,将图像转换为基于TCP/IP网络标准的数据包,使摄像机所摄的画面通过RJ-45以太网接口直接传送到网络上,通过网络即可远程监视画面。该视频服务器采用了最先进的摄像技术和网络技术,具有强大的功能。内置的系统软件能实现真正的即插即用,使用户免去了复杂的网络配置;内置的大容量内存能存储警报触发前的图像;内置的I/O端口和通信口便于扩充外部周边设备,如门禁系统、红外线感应装置、全方位云台。
ARM S3C2410 USB Linux 电路 总线 嵌入式 C语言 视频监控 红外 单片机 相关文章:
- 一种新型防伪读码器的设计(01-01)
- 基于ARM与DSP的嵌入式运动控制器设计(04-25)
- 基于ARM核的AT75C220及其在指纹识别系统中的应用(05-24)
- 基于EPA与IEEE802.15.4两用手抄器的设计(06-01)
- ARM在数字化远程视频监控系统的应用(05-20)
- FPGA在弹上信息处理机中的应用(04-15)