基于dm365网络视频监控系统设计和实现

基于dm365网络视频监控系统设计和实现

ID:5228893

大小:33.00 KB

页数:10页

时间:2017-12-06

基于dm365网络视频监控系统设计和实现_第1页
基于dm365网络视频监控系统设计和实现_第2页
基于dm365网络视频监控系统设计和实现_第3页
基于dm365网络视频监控系统设计和实现_第4页
基于dm365网络视频监控系统设计和实现_第5页
资源描述:

《基于dm365网络视频监控系统设计和实现》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、基于DM365网络视频监控系统设计和实现  摘要:采用DM365达芬奇视频处理芯片开发了嵌入式网络视频监控系统,选择H.264视频数据编码算法以提高数据编码效率。该系统软件包括视频监控服务器模块和客户监控端模块。运行于DM365平台上的视频监控服务器将采集的视频数据经过H.264编码器压缩后存储在硬盘上,并以RTP/RTCP协议传输给客户监控端;运行于PC机上的客户监控端程序可以实现摄像头的远程控制与实时监控现场。关键词:DM365;视频监控系统;H.264;流媒体中图分类号:TP393.07文献标志码:A文章编号:1006-8228(2013)10-3

2、5-030引言随着电子、计算机、通信和自动化技术的发展,嵌入式视频监控系统已成为现代安防系统发展趋势,并且已经引起了人们的重视。嵌入式视频监控系统主要由嵌入式处理器、嵌入式操作系统及相关软硬件等组成。TI公司的达芬奇技术是一种专门针对数字视频应用、基于信号处理的解决方案,能为视频设备制造商提供集成处理器、软件、工具和支持,以简化设计进程,加速产品创新[1]。本系统采用TM320DM365(简称DM365)视频处理芯片开发嵌入式网络视频监控系统,它具有功耗低、性能高、开发周期短、可扩展等优点。101网络视频监视系统结构DM365处理器集成了一个ARM926

3、EJ-S内核,一个H.264高清编解码协处理器HDVICP和一个MPEG-4/JPEG高清编解码协处理器MJCP,可以支持H.264/MPEG-4高清视频编解码。本系统利用DM365的强大运算能力,在ARM926EJ-S内核上运行基于Linux操作系统的应用程序实现视频采集、视频显示、网络通信、流媒体传输、外围器件控制等;在HDVICP协处理器上运行H.264算法来实现视频编码。本系统所设计的网络视频监控系统总体结构如图1所示,它由摄像头、视频服务器、网络和客户监控端等模块组成。摄像头实现对现场实时视频的采集,由视频服务器读取采集到的视频信号经H.264

4、编码器编码后进行存储和网络实时传输;客户监控端主要完成视频信号的接收、存储、播放和下载等功能。另外,客户监控端可以把用户的操作转换成相应的控制信号发送到视频服务器,由视频服务器对外围器件进行控制。2视频监控服务器模块的设计10视频监控服务器的主要任务是监听网络连接,采集视频数据,视频数据压缩编码,存储视频数据并分发给客户监视端[2]。在视频数据采集方面,使用V4L2常用模型;在编码方面,结合DM365芯片的特点采用H.264压缩编码标准;另外,使用RTP/RTCP协议在视频监控服务器与客户监控端之间进行视频数据传输[3]。2.1视频监视服务器模块工作流程

5、视频监控服务器包括三个子模块,一是视频数据处理子模块,负责视频数据采集与编码;二是视频监控控制子模块,负责开启、关闭视频监控等控制操作;三是数据传输子模块,负责视频数据的实时传输以及备份视频数据等工作。视频监控服务器模块的工作流程如下。①主控程序对系统初始化,主要包括ARM处理器与HDVICP协处理器的共享内存的配置,视频采集设备的初始化等。②主控程序建立视频采集线程Capture、视频压缩线程Video、视频数据存储与实时传输线程Trans、视频文件备份线程BackData和监听线程Listen。当主控程序完成初始化工作和线程创建工作后转化为系统控制线

6、程Ctrl。③Capture线程负责采集视频信号;Video线程负责将视频采集线程采集到的视频信号用H.264编码器压缩编码;Trans线程负责将压缩后的视频数据存储在视频服务器端的硬盘上,并实时地将视频流传输给视频监控端;Listen线程主要负责监听客户监控端的控制命令,并对命令进行词法解析,执行相应的命令;BackData线程负责视频文件的传输,以备客户端备份视频文件。④如果退出系统,则所有线程结束;否则循环执行③。102.2视频数据处理子模块流程在视频监控服务器中涉及到的数据分为两类:一类是摄像头采集到的原始视频数据,一类是压缩后的视频数据。这两类

7、数据均存放在缓冲区中,这些缓冲区被多个线程共享。共享的方法是采用管道通信,一方将缓冲区的地址送入管道,另一方从管道读取缓冲区地址对该缓冲区共享。2.2.1缓冲区共享由于运行在Linux上的应用程序调用malloc获得的缓冲区所用地址均为虚拟地址,因此,缓冲区的物理空间不一定连续,当把缓冲区的地址传递给协处理器进行编码的时候,数据完整性问题就出现了,因为编码算法是运行在HDVICP协处理器上的,这是一个只有实地址的世界。所以,TI公司开发的编码引擎(CodecEngine,简称CE)的软件架构时提供了CMEM模块,该模块为ARM926EJ-S内核和协处理器

8、之间通信提供了连续的内存。程序员可调用CMEMAPI申请物理上连续的共享缓冲区。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。