论文局域网视频监控系统的设计.docx

上传人:b****1 文档编号:13727750 上传时间:2023-06-16 格式:DOCX 页数:41 大小:1.45MB
下载 相关 举报
论文局域网视频监控系统的设计.docx_第1页
第1页 / 共41页
论文局域网视频监控系统的设计.docx_第2页
第2页 / 共41页
论文局域网视频监控系统的设计.docx_第3页
第3页 / 共41页
论文局域网视频监控系统的设计.docx_第4页
第4页 / 共41页
论文局域网视频监控系统的设计.docx_第5页
第5页 / 共41页
论文局域网视频监控系统的设计.docx_第6页
第6页 / 共41页
论文局域网视频监控系统的设计.docx_第7页
第7页 / 共41页
论文局域网视频监控系统的设计.docx_第8页
第8页 / 共41页
论文局域网视频监控系统的设计.docx_第9页
第9页 / 共41页
论文局域网视频监控系统的设计.docx_第10页
第10页 / 共41页
论文局域网视频监控系统的设计.docx_第11页
第11页 / 共41页
论文局域网视频监控系统的设计.docx_第12页
第12页 / 共41页
论文局域网视频监控系统的设计.docx_第13页
第13页 / 共41页
论文局域网视频监控系统的设计.docx_第14页
第14页 / 共41页
论文局域网视频监控系统的设计.docx_第15页
第15页 / 共41页
论文局域网视频监控系统的设计.docx_第16页
第16页 / 共41页
论文局域网视频监控系统的设计.docx_第17页
第17页 / 共41页
论文局域网视频监控系统的设计.docx_第18页
第18页 / 共41页
论文局域网视频监控系统的设计.docx_第19页
第19页 / 共41页
论文局域网视频监控系统的设计.docx_第20页
第20页 / 共41页
亲,该文档总共41页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

论文局域网视频监控系统的设计.docx

《论文局域网视频监控系统的设计.docx》由会员分享,可在线阅读,更多相关《论文局域网视频监控系统的设计.docx(41页珍藏版)》请在冰点文库上搜索。

论文局域网视频监控系统的设计.docx

论文局域网视频监控系统的设计

局域网视频监控系统的设计

摘要:

视频监控融合了信息技术、计算机技术、网络技术以及流媒体技术,一直是人们关注的应用技术热点之一,它以其直观方便、信息内容丰富而被广泛应用于许多场合。

本文针对视频捕获和传输回放的功能要求,讨论了其软件系统的主要任务及解决方案。

视频采集部分使用VFW函数进行。

数据传输部分采用UDP协议,它提供面向无连接,不可靠的通信,相较于TCP有传输速率高,延迟小的优点。

本文的视频采集、传输和显示是基于MicrosoftVisualC++6.0环境,利用MFC开发的。

VisualC++作为一个可视的集成开发工具,提供了软件代码自动生成和可视化的资源编辑功能。

与传统的一些编程平台相比,它能够使系统具有较高的效率和可用性。

初步的实验结果表明,该软件系统在主要的功能上已接近实用化,并且操作简便、工作可靠。

关键词:

VFW;UDP;WinSock

 

TheDesignofLAN-VideoMonitoringSystem

Abstract:

VideoMonitoringhasamalgamatedtechnologyofinformation,computer,networkandmediastream.Sopeoplegivemuchattentiontovideomonitoringeverytime.Ithasbeenahotspotbecauseofitsconvenienceandabundanceinformation.Thisarticlediscussedthetaskandsolutionaboutvideocapture,transmissionanddisplay.VideodatahasbeencapturedsuccessfullybyVFWanduseprotocolofUDPwhentransport.UDPprovideconnectionlessanduncertaintycommunication.ComparedwithTCP,UDPhashighspeedandshorttimemeasurement.Videocapture,transmissionanddisplayarebasedonthedevelopmentenvironmentofMicrosoftVisualC++6.0andprogrammedbyMFC.VisualC++6.0isavisualizedintegrateddevelopmenttool,whichcanproducesoftwarecodeautomaticallyandsuppliedintegratededitor.Ithashigherefficiencyandmoreusabilitythantraditionalprogrammingterrace.Experimentresultshowsthatthissoftwaresystemisnotonlypractical,butalsohassimplyoperationandreliablework.

Keywords:

VFW,UDP,WinSock

 

第1章绪论

本章主要根据当今社会的发展状况,介绍了该课题的背景,发展以及意义。

同时也简述了本文所写的主要内容。

让我们对本课题的研究有一个初步的认识。

该课题随着计算机通讯的发展也逐步成为了热门的话题

1.1课题背景

21世纪是信息时代,出于对安全的考虑,怎样将自己希望掌握的信息以最快最准确的方式传输一直是人们关注的热点。

近年来,随着经济和科技的发展,在工业,商贸和金融等领域的企事业单位中都已经基本实现基于局域网的计算机网络化管理。

与此同时出于安全的考虑,这些企事业单位又迫切希望能以图象等多煤体信息对重要目标进行不间断的安全监视,并及时将有关信息传送给监视中心。

传统的网络主要提供数据业务,而在多媒体技术日新月异使得文本,语音,图形,图象和视频综合进入网络的需求日益增长。

其中视频应用已经以其高数据量,连续性,实时性强,需要精确的时间控制,占用较大的网络带宽等特点,给学术界和工业界提出了巨大的挑战,也成为研究的热点和难点。

无论对图象和视频的压缩技术,网络的传输控制技术还是视频传输相关网络协议方面都提出了新的要求。

视频图象传输与传统的文件传输有明显的区别,传统文件传输对于传输的延迟,抖动没有过多的要求,但是要求有严格的差错控制和重传机制,视频图象传输在传输的实时性和同步性上要求很高,并且要求传输延迟小,视频图象传输能够忍受分组,丢失造成的差错或反常,也可以忍受由于没有重传或者纠错机制引起的显示不连续或显示混乱[1]。

一直以来由于视频数据量大和网络带宽有限的矛盾,使得视频传输技术的应用受到很大的制约,必须根据视频传输的特点采用合适的网络协议和传输算法,才能达到较好的传输效果。

因此研究远程有限带宽的多媒体通信具有很大的现实意义。

所以利用现有的局域网资源实现基于视频图象的安全监控已经成为了一个很有发展前景的研究方向。

1.2课题的发展现状

视频监控技术发展经历了模拟监控、数字监控正在向大规模网络监控发展,视频监控系统的各组成部分――前端视频采集、视频传输、视频记录、控制、显示部分技术发展很快。

为了和电脑对应,传统的模拟设备已经开始向数字设备转换;数字资料已经开始方便地传送和管理;可以借助安防网络设备连接其他的数字产品来扩大应用范围;远程传送的需求也越来越大,这表明视频监控技术已全面进入数字时代。

网络信息的发展;许多建筑物已经具备局域网和广域网;有许多要求是在PC控制下的升级系统;图象处理用PC有许多的弹性;多种的数据保存硬件(硬盘、备份光盘等)发展很快,基础设施的发展为视频监控技术的发展创造了条件。

监控技术的发展呈现出了他的许多新特点:

监控点数量多且分散;网络化建设使网络视频传输变得经济、可行;海量数据传输和存储的需求;设备管理重要性增强甚至超过图象监控本身;管理者流动性增强;施工、布线成本昂贵,要求简化布线降低投资;同时信息安全受到普遍关注。

所有这些市场的需求不断的呼唤着视频监控技术变革。

视频监控的关键技术主要有视频采集压缩、视频信号可靠地传输、信息存储调用的智能化与系统的集中管理。

视频监控系统的发展趋势包括:

1)前端一体化;

2)视频数字化,数字化是21世纪的特征,是以信息技术为核心的电子技术发展的必然,数字化是迈向成功的通行证,随着时代的发展,我们的生存环境将变得越来越数字化[2]。

视频监控系统的数字化首先应该是系统中信息流(包括视频、音频、控制等)从模拟状态转为数字状态,这将彻底打破“经典闭路电视系统是以摄像机成像技术为中心”的结构,根本上改变视频监控系统从信息采集、数据处理、传输、系统控制等的方式和结构形式。

信息流的数字化、编码压缩、开放式的协议,使视频监控系统与安防系统中其它各子系统间实现无缝连接,并在统一的操作平台上实现管理和控制,这也是系统集成化的含义。

3)监控网络化,视频监控系统的网络化将意味着系统的结构将由集总式向集散式系统过渡。

集散式系统采用多层分级的结构形式,具有微内核技术的实时多任务、多用户、分布式操作系统以实现抢先任务调度算法的快速响应。

组成集散式监控系统的硬件和软件采用标准化、模块化和系列化的设计,系统设备的配置具有通用性强、开放性好、系统组态灵活、控制功能完善、数据处理方便、人机界面友好以及系统安装、调试和维修简单化,系统运行互为热备份,容错可靠等优点。

系统的网络化在某种程度上打破了布控区域和设备扩展的地域和数量界限。

系统网络化将使整个网络系统硬件和软件资源的共享以及任务和负载的共享,这也是系统集成的一个重要概念。

4)系统集成化也是视频监控系统公认的发展方向,而数字化是网络化的前提,网络化又是系统集成化的基础,所以,视频监控发展的最大两个特点就是数字化和网络化。

1.3课题目的和意义

通过做毕业设计题目“局域网视频监控设计”,可以从中学习VC++编程,这是课堂之外学的编程知识,通过对它的学习,可以比其他很多同学多掌握一种非常有用的编程工具。

还可以从此次设计中学习视频捕获和显示技术和视频传输技术,视频传输技术是Internet发展的必然产物,学习它很有必要;而视频的捕获和显示也是视频处理的最基础的技术,学习他可以让我们在以后对视频图象处理的研究中更快的掌握其实质。

本课题可以方便的构建局域网中的两台计算机之间的监视系统,达到实时监控的目的。

可用于学校考场、幼儿园教室、工厂车间、小区别墅、宾馆酒店、办公楼、实验室、高速公路收费站等地方,以达到视频监视的目的。

它能够实时的将被监视地点的情况传输到监视端,使监控人员能够及时的掌握情况并采取措施。

1.4论文的主要内容

本论文是针对视频监视系统当前的研究现状,主要研究视频捕获,传输及在接收端显示。

本论文根据网络应用的具体情况,在VC++平台上,设计并实现了两台计算机之间的实时视频传输,达到了远程监视的目的。

第2章基本概念介绍

本章介绍了与本次课题研究有关的一些基本概念,这是在参与本次课题研究之前必须要了解和熟悉的内容。

其中位图的概念在进行图象处理的时候尤为关键。

2.1VC++介绍

2.1.1C++

C++是BarneyStrousrtup博士在贝尔实验室开发出来的一种编程语言[3],它在C语言的基础上融入面向对象能力及其他增强性能。

与C相比它有许多优点,主要体现在封装性、继承性和多态性,这也是C++作为面向对象编程语言(OOP)的主要特性。

封装性把数据与操作数据的函数组织在一起不仅使程序结构更加紧凑,并且提高了内部数据的安全性;继承性增加了软件的可扩充性及代码重用性;多态性使设计人员在设计程序时可以对问题进行更好的抽象,有利于代码的维护和可重用。

2.1.2VC++

VisualC++不仅是一个C++编译器,而且是一个基于Windows操作系统的可视化集成开发环境(integrateddevelopmentenvironment,IDE)。

它由许多组件组成,包括编辑器、编译器、调试器以及程序向导Appwizard类、类向导ClassWizard等开发工具。

这些组件通过一个名为DeveloperStudio的组件集成和谐的开发环境。

其特点如下:

1)利用Appwizard可以简单快速地生成一个应用程序框架,而不需程序员加入一句程序代码;

2)利用AppStudio资源编辑器可以使用户界面的创建简单直观,所见即所得;

3)利用ClassWizard可以使消息或命令自动与消息处理函数或控制函数相联系,程序员只需考虑函数核心代码的实现;

4)利用VisualC++的ComponentsGallery和ControlsGallery可以加入现成的组件和控制。

诸如ActiveX控制、闪烁窗口、定制状态条等组件。

VisualC++贯穿了面向对象的程序思想,其核心是Microsoft基本类库(MicrosoftFoundationClass,MFC)。

现在的我们普遍用的是VisualC++6.0版本。

2.2MFC简介

Microsoft提供的MFC是放置WindowsAPI的面向对象的包装C++类库[4]。

封装了大约200个类,其中的一些可以直接使用,而另一些则主要作为您自己的类的基础类。

MFC也是一个应用程序的框架结构。

它不仅仅是一个类的集合,它还帮助定义了应用程序的结构并为应用程序处理许多杂务。

使用MFC编写Windows应用程序简单方便,代码量小,是VC编程环境最重要的组成部分,它为用户提供了一大批预先定义的类和成员函数,封装了大量的WindowsAPI。

同时VC环境还提供了与MFC对象和代码一起工作的专用工具:

AppStudio源程序编辑器、AppWizard和ClassWizard。

应用MFC,可以使Windows程序员用较少的时间和精力开发出复杂的通讯应用程序。

MFC包含了两个设计目标:

1)给Windows操作系统提供一个面向对象的接口,支持可重用性,自包含性以及其他OOP原则。

2)实现上述目标的前提是不需要强加给系统过多的工作,或不增加应用程序对内存的不必要开销。

MFC的优点也正体现了上述的设计思想。

MFC是一个非常优秀的类库,使OOP减少了程序员编写代码的数量。

这正是它成功的地方。

MFC提供了我们所需要的大量的代码,从而简化了开发。

应用MFC,可以使Windows程序员用较少的时间和精力开发出复杂的通讯应用程序。

比如在MFC中使用COM、OLE、和ActiveX时很少有人知道如何从头开始编写这些代码。

使用MFC的另一个优点是框架结构使用了很多技巧是Windows对象,如窗口、对话框变得如同C++中的对象了。

2.3VFW的体系结构

VFW,称为vedioforwindows,是微软为Windows操作系统增设的多媒体服务库,包含在VC++6.0中。

VFW是Microsoft公司为开发Windows平台下的视频应用程序提供的软件工具包,提供了一系列应用程序编程接口(API),它以消息驱动方式对视频设备进行存取,可以很方便地控制设备数据流的工作过程。

目前,大多数的视频采集卡驱动程序都支持VFW接口,它主要包括多个动态连接库,通过这些组件间的协调合作,来完成视频的捕获、视频压缩及播放功能。

VFW所包含的动态连接库如下所示[5]:

1)AVICAP.DLL:

主要实现视频捕获功能,包含了用于视频捕获的函数,为音像交错AVI(Audiovideointerleaved)格式文件和视频、音频设备程序提供一个高级接口。

2)MSVIDEO.DLL:

能够将视频捕获窗口与获驱动设备连接起来,支持ICM视频编码服务。

3)MCIAVI.DRV:

包含MCI(Mediacontrolinterface)命令解释器,实现回放功能。

4)AVIFILE.DLL:

提供对AVI文件的读写操作等文件管理功能。

5)ICM(Installablecompressionmanager):

即压缩管理器,提供对存储在AVI文件中视频图像数据的压缩、解压缩服务。

6)ACM(AudioCompressionManager):

即音频压缩管理器,提供实时音频压缩及解压缩功能。

2.4TCP/IP协议简介

TCP/IP协议(TransmissionControlProtocol/InternetProtocol)叫做传输控制/网际协议,又叫网络通讯协议,这个协议是Internet国际互联网络的基础。

TCP/IP是网络中使用的基本的通信协议[6]。

虽然从名字上看TCP/IP包括两个协议,传输控制协议(TCP)和网际协议(IP),但TCP/IP实际上是一组协议,它包括上百个各种功能的协议,如:

远程登录、文件传输和电子邮件等,而TCP协议和IP协议是保证数据完整传输的两个基本的重要协议。

通常说TCP/IP是Internet协议族,而不单单是TCP和IP。

TCP/IP是用于计算机通信的一组协议,我们通常称它为TCP/IP协议族。

它是70年代中期美国国防部为其ARPANET广域网开发的网络体系结构和协议标准,以它为基础组建的INTERNET是目前国际上规模最大的计算机网络,正因为INTERNET的广泛使用,使得TCP/IP成了事实上的标准。

之所以说TCP/IP是一个协议族,是因为TCP/IP协议包括TCP、IP、UDP、ICMP、RIP、TELNETFTP、SMTP、ARP、TFTP等许多协议,这些协议一起称为TCP/IP协议。

以下是协议族中一些常用协议:

TCP(TransmissionControlProtocol)传输控制协议

IP(InternetProtocol)网际协议

UDP(UserDatagramProtocol)用户数据报协议

ICMP(InternetControlMessageProtocol)互联网控制信息协议

SMTP(SimpleMailTransferProtocol)简单邮件传输协议

SNMP(SimpleNetworkmanageProtocol)简单网络管理协议

FTP(FileTransferProtocol)文件传输协议

ARP(AddressResolationProtocol)地址解析协议

TCP/IP协议实际上就是在物理网上的一组完整的网络协议。

其中TCP是提供传输层服务,而IP则是提供网络层服务。

TCP/IP包括以下协议:

如图所示

图2-1TCP/IP协议族

从协议分层模型方面来讲,TCP/IP由四个层次组成:

网络接口层、网络层、传输层、应用层。

如下图所示:

图2-2协议族的四个层次

1)网络接口层:

这是TCP/IP协议族的最低层,负责接收IP数据报并通过网络发送,或者从网络上接收物理帧,抽出IP数据报,交给IP层。

网络接口层包括了硬件接口和协议ARP、RARP,这两个协议主要是用来建立送到物理层上的信息和接收从物理层上传来的信息。

2)网际层:

负责相邻计算机之间的通信。

其功能包括三方面。

一、处理来自传输层的分组发送请求,收到请求后,将分组装入IP数据报,填充报头,选择去往信宿机的路径,然后将数据报发往适当的网络接口。

二、处理输入数据报。

首先检查其合法性,然后进行寻径,假如该数据报已到达信宿机,则去掉报头,将剩下部分交给适当的传输协议。

假如该数据报尚未到达信宿,则转发该数据报。

三、处理路径、流控、拥塞等问题。

网络层中的协议主要有IP,ICMP,IGMP等,由于它包含了IP协议模块,所以它是所有机遇TCP/IP协议网络的核心。

在网络层中,IP模块完成大部分功能。

ICMP和IGMP以及其他支持IP的协议帮助IP完成特定的任务,如传输差错控制信息以及主机/路由器之间的控制电文等。

网络层掌管着网络中主机间的信息传输。

3)传输层:

提供应用程序间的通信。

其功能包括:

格式化信息流;提供可靠传输。

为实现后者,传输层协议规定接收端必须发回确认,并且假如分组丢失,必须重新发送。

传输层上的主要协议是TCP和UDP。

正如网络层控制着主机之间的数据传递,传输层控制着那些将要进入网络层的数据。

这两个协议就是它管理这些数据的两种方式:

面向连接的TCP协议和面向无连接服务的UDP协议。

4)应用层:

位于协议栈的顶端,它向用户提供一组常用的应用程序,比如电子邮件、文件传输访问、远程登录等。

远程登录TELNET使用TELNET协议提供在网络其它主机上注册的接口,TELNET会话提供了基于字符的虚拟终端。

文件传输访问FTP使用FTP协议来提供网络内机器间的文件拷贝功能。

2.5SOCKET套接字

2.5.1SOCKET套接字的引入

为了能够方便的开发网络应用软件,由美国克利大学在UNIX上推出了一种应用程序访问通信协议的操作系统调用套接字(Socket)[7]。

Socket的出现,是TCP/IP网络环境下的编程接口,提供了不同主机间进程的双向通信端点,开发Socket的目的是屏蔽网络低层复杂的结构与协议,使编程人员能够简单的对网络进行操作,使程序员可以很方便的访问TCP/IP,从而开发各种网络应用的程序。

随着UNIX的应用推广,套接字在编写网络软件中得到了极大的普及。

后来,套接字又被引进了Windows等操作系统,成为开发网络应用程序非常有效快捷的工具。

利用它可以构造任意跨操作系统跨网络协议的分布式处理系统。

Socket面象客户/服务器模型,客户随机申请一个Socket,系统为之分配一个随机的Socket号;服务器拥有全局公认的Socket号,任何客户都可以向它发出连接请求。

2.5.2异步非阻塞

在进行网络编程时,我们常常见到同步、异步、阻塞和非阻塞四种调用方式。

这些方式彼此概念并不好理解。

下面是我对这些术语的理解。

异步的概念和同步相对,异步方式就是当发送方发送一个数据包以后,一直等到接受方响应后,才接着发送下一个数据包。

非阻塞和阻塞的概念相对应。

阻塞调用是指调用结果返回之前,当前线程会被挂起。

函数只有在得到结果之后才会返回。

有人也许会把阻塞调用和同步调用等同起来,实际上他是不同的。

对于同步调用来说,很多时候当前线程还是激活的,只是从逻辑上当前函数没有返回而已。

以此推之,非阻塞指在不能立刻得到结果之前,该函数不会阻塞当前线程,而会立刻返回。

2.6本章小节

通过对各种基本概念的介绍使我们更加的容易理解后续章节中系统的设计。

MFC是可视化编程的最重要的工具。

VFW是进行视频采集和处理的最普遍的手段之一。

现在局域网普遍采用的体系结构是TCP/IP,通过对他各层协议的说明让我们在后面的传输层的方案选择上显得更加的清晰。

这些概念有一个总体的认识是阅读本文的基础。

第3章局域网视频监控系统方案设计

本章详细说明了此次研究要达到的目标、所用的开发环境和工具的简单情况、整个系统的总体方案,也分模块讲解了针对每一个任务所采取的相应措施以及具体的实现方案。

针对本课题的研究内容一共分为三个模块:

视频捕获、传输和显示。

3.1系统总体方案设计

本系统是利用现有的局域网,在硬件上构成简单且投入不大,只需使用市面上普通的USB摄象头加在电脑上作为视频采集设备,采集的图象大小为320×240。

整个系统如图3-1。

服务器(发送端)客户机(接收端)

 

图3-1局域网视频监控系统

本系统利用VC++6.0平台开发,实现视频采集图象在一个局域网中的两台计算机之间的实时传输,采用不压缩的方式直接传输位图。

软件系统是该系统的核心部分,分为图象数据采集,图象传输,图象显示三个部分[8]。

在接收端和发送端的软件流程分别如下图3-2和图3-3所示

 

接收端的程序使用的是单线程。

以上的图只是处理一帧的流程。

程序一直等待接收数据,然后把每次接收到的数据移到另一个缓冲区,但每次接收到的数据只是一帧中数据的一部分,所以将他们移到另一个缓冲区后必须判断是否已接收完一帧,一旦确定缓冲区已有完整的一帧图象数据以后就立刻调用显示函数将图象送到显示器显示,以达到实时的效果。

显示完毕后线程立刻返回继续接收数据。

发送端程序也是使用单线程。

将捕获到的每一帧图象数据送显示器显示的同时,也存储在固定的缓冲区中等待发送。

当程序没有执行发送的命令时,在固定的缓冲区中前一帧的数据将被下一帧数据覆盖和刷新。

当程序执行了发送的命令时,捕获到的每一帧数据将被立刻发送,如果一帧数据不被发送完,程序将被阻塞在那里不会再次捕获下一帧图象。

即程序会将捕获到的每一帧图象数据完整的发送出去以后才返回,继续捕获下一帧。

这样每一帧视频数据都能保证被实时发送出去。

3.2视频捕获方案的设计

3.2.1视频捕获方案的选择

当前,在Windows平台下开发视频应用程序一般采用两种方式:

一种是基于软件开发包DirectShowSDK(Softwaredevelopmentkit)进行。

DirectShow是一个windows平台上的流媒体框架,提供了高质量的多媒体流采集和回放功能。

它支持多种多样的媒体文件格式,包括ASF、MPEG、AVI、MP3和WAV文件,DirectShow整合了其它的DirectX技术,能自动地侦测并使用可利用的音视频硬件加速,也能支持没有硬件加速的系统。

DirectShow大大简化了媒体回放、格式转换和采集工作。

DirectShow是建立在组件对象模型(COM)上的

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 表格模板 > 合同协议

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2