谈淼华 Linux下视频监控系统的设计与实现
- 格式:doc
- 大小:2.09 MB
- 文档页数:40
密级:JINGGANGSHAN UNIVERSITY 本科毕业论文(设计)题目:Linux下视频监控系统的设计与实现学院电子与信息工程学院专业电子信息科学与技术姓名谈淼华班级 2010级电信本(1)班学号 100916016指导教师杨建平起讫时间 2013.11——2014.05Linux下视频监控系统的设计与实现作者:谈淼华 2010级电信本(1)班指导老师:杨建平[摘要]随着电子信息技术的快速发展,视频监控大步的走向了大家的视野,也越来越普及化。
说明在生活中扮演者越来越重要的角色,其中一个最重要也是最显著的特点就是提供了安全防御、并监控记录。
它的这个特点使得应用领域十分的广泛,生活中最普通常见的就是超市商品监控,道路红绿灯及重要路段的同步录像,学校及居住小区出入人员的视频监控,以及在银行重要的安全领域扮演了必不可少的角色。
它为我们的生活提供了大量的信息,可以在夜里,以及无人看守及不安全的领域把整个镜象记录下来。
视频监控给我们的世界建立了一个安全可靠的安全防御系统和调查取证系统,给人们的生活带来了大量的便利。
本监控系统在linux环境下创建,socket编程搭建服务器,负责收集摄像头的图像数据,其中摄像头的数据通过v4l2编程获取,为连接上的用户提供视频服务。
[关键词]视频监控系统;socket编程;linux环境;v4l2编程Design and Implementation of Video surveillance systerm on LinuxAuthor :tanmiaohua Teacher:yangjianpingDept. of Computer, Jinggangshan College,Ji’an,343009,China;[Abstract]With the rapid development of electronic information technology, video monitoring is gradually toward the everyone's field of vision, also more and more accepted.It plays more and more important role in our lives, one of the most important and the most significant characteristic is to provide the security and defense, and monitoring records.This characteristic makes it application field is very wide, the most common thing in life is to monitor, supermarket goods, road in the rate of red light and important road synchronized video, video of monitoring in schools and residential area or personnel or the bank and important security domain plays an essential role.It provides a large amount of information for our life, can be in the middle of the night, and no one guards and unsafe areas the whole mirror recorded.Video monitoring set up a secure and reliable security defense system and investigation system for our world, brought a lot of convenience to people's life.Creating this monitor system in the Linux environment, building server socket programming, responsible for collecting the image data of cameras, the date gained by v4l2 programming of cameras, video serviced for the connected user.[Key words]Video surveillance systerm;Socket program;Linux environmen;v4l2 program目录第1章前言 (5)第2章软件设计 (6)2.1 软件开发说明 (6)2.1.1 软件开发流程 (6)2.1.2 软件开发目标 (6)2.2 视频监控结构 (6)第3章视频监控的设计 (7)3.1 视频采集模块 (7)3.1.1 驱动的概念 (7)3.1.2 ioctl函数 (7)3.1.3 v4l2编程介绍 (8)3.1.4 v4l2接口函数 (8)3.1.5 视频采集流程 (9)3.1.6 视频内存映射 (9)3.1.7 缓存队列 (10)3.1.8 视频采集技术点 (11)3.2 服务器管理模块 (11)3.2.1 socket编程介绍 (11)3.2.2 socket编程流程 (12)3.2.3 socket编程函数 (12)3.2.4 多线程处理 (13)3.2.5 cpu执行方式解说 (14)3.2.6 线程同步和互斥 (14)3.2.7 条件变量 (15)3.2.8 信号机制 (15)3.3 客户端浏览器模块 (16)3.3.1 浏览器访问 (16)3.3.2 http协议 (17)3.3.3 http响应头部信息 (17)第4章视频监控模块代码的实现 (17)4.1 头文件代码部分 (18)4.1.1 v4l2编程"mdev.h"代码 (18)4.1.2 服务器"mser.h"代码 (19)4.1.3 图片显示"print.h"代码 (19)4.1.4 图片像素"huffman.h"代码 (19)4.1.5 主函数"main.h"代码 (22)4.2 源文件代码部分 (22)4.2.1 视频采集编程代码 (22)4.2.2 服务器编程代码 (33)4.2.3 打印图片代码 (30)4.2.4 主函数编程代码 (32)4.3 编译链接 (32)第5章编译链接Makefile实现 (33)5.1 Makefile的介绍 (33)5.2 Makefile的实现 (33)第6章视频监控系统测试 (34)6.1 测试内容 (34)6.1.1 视频采集块数据测试.................... 错误!未定义书签。
6.1.2 服务器整体数据测试.................... 错误!未定义书签。
6.2 参数调试 (37)第7章主要技术设计与功能 (38)7.1 主要技术方案 .............................. 错误!未定义书签。
7.1.1 介绍................................ 错误!未定义书签。
7.1.2 技术方案特点......................... 错误!未定义书签。
7.2 主要功能 (38)7.2.1 帧率设置 (38)7.2.2 图片格式设置 (39)7.2.3 像素大小设置 (39)第8章结束语 (38)主要参考文献 (40)致谢 (40)第1章前言如今的社会,是电子信息高速发展的社会,人们的生活水平提高了好多。
视频监控则成为人们生活中一个替代观察和监督的重要一部分,它以图片直观的展现所在的地的镜像,出现的人或事物,让人可以随时查看和监控所在区域发生的一切。
从商品超市,到学校,小区,及交通路口都可以看到监控设备的大量存在,可见,在人们的生活中,已扮演一个越来越重要的角色。
本研究的视频监控系统,是在基于linux环境下创建实现的,分为三大块,图像采集的一大块,linux视频驱动接口v4l2编程,用来进行图片的采集,对于视频驱动,直接是生产厂家的摄像头自备有,插上linux系统就会自动安装,只需通过v4l2编程接口进行视频设备的操作。
第二大块,通过linux系统socket编程,创建服务器,服务器分为两个服务,一个用于接收v4l2编程采集的图片信息数据;另一个服务用于将收集到的图片信息数据,为连上的客户端提供服务,这样客户端就可以访问了。
第三大块,客户端部分,可以利用浏览器做为客户端,在浏览器地址栏输入服务器的ip地址,也可以是其它远程客户端通过网络来访问,浏览器具有第三方协议,支持tcp/ip协议,这样就可以在界面不断刷新的图片,也就是形成的图片流即视频,显示出来,用户就可以通过看到的监督和观察周围所发生的的一切。
这三个部分就构成了视频监控系统的基本的三个部分,也是基本模块化思想。
本视频监控系统,采用模块化思想,便于调试和查错,结构清晰,具有良好可拓展性;内部数据进行了封装,实用性和保密性好。
主要技术性采用多线程处理技术,可支持多个客户端的同时访问,同时访问时解决的是通过互斥与同步,通过互斥锁,解决了信号的同步,不会造成信息乱串,这样就能提供稳定的视频流,增强了图片的不丢失率和错误率,是本系统的重要部分。
本系统采用B/S结构思想,服务器是在linux下创建的,用于不断地提供服务,只要服务器工作就可以一直为连上的客户端服务。
客户端只需IE、火狐等浏览器,只要在浏览器输入ip地址和端口号视频命令,如http//:192.168.1.2:8080/?/action:stream ,实现过程是,摄像头将捕捉到图片数据,服务器将图片信息数据传给浏览器,然后浏览器将一张张图片显示出来,形成视频。
这样就实现了视频监控的过程。
第2章软件设计软件设计前,首先对整个项目要有总体的分析,总体的把握,把项目细分,分为多个模块,再逐一将各个模块的功能功能实现,对于系统所提供的接口、及所运行的环境,要纳入的设计之中,这样再对系统的概要设计和详细设计和测试去一个个实现。
2.2 软件开发说明2.1.1 软件开发流程需求分析:市场上很多领域需要视频的监控,比如安全防盗,区域监控,地质勘查,小区及学校区域的监控。