预览加载中,请您耐心等待几秒...
1/4
2/4
3/4
4/4

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

第19卷第6期长春大学学报Vo1.19No.6 2009年6月JOURNAL0FCHANGCHUNUNIVERSITYJune2009 基于IP组播技术的视频监控系统的研究 刘威 (长春大学计算机科学技术学院,吉林长春130022) 摘要:网络视频监控是近年来研究的一个热点,它将逐步成为人们生产、生活不可缺少的部分。本文结合现代视 频技术、通信技术发展趋势,提出和设计了基于Pc机和IP组播通信方式的视频监控系统方案,其中着重研究了IP 组播技术在网络视频传输中的应用。 关键词:组播;视频监控;协议;网络 中图分类号:TP393.09文献标识码:A文章编号:1009—3907(2009)06—0024—03 O引言送保留了一组硬件地址,IP组播地址即是lP地址 中的D类地址,多播地址范围为:224.0.0.0— 数字图像监控系统就是应用现代计算机技术进 239.255.255.255。每一个”主机组”都拥有一个唯 行图像采集、编/解码、存储、传输并通过计算机控制 一的组播地址。 有关设备的图像监控系统。 利用IP组播技术可以很方便地实现“多点对多 在实际应用中大部分数字图像监控系统能够通 点”的传送功能,并且还可以实现广域网的通信,这 过网络完成对本地或远地的受控站点的数字图像监 比较符合视频监控系统多点、多机监控、跨局域范围 控,这就要求监控中心的多台主机可以同时接受一 的远程监控的要求。IP组播数据传送方式如图1 路或多路监控数据。对于一个以计算机网络连接的 所示。 视频监控系统,一个需要解决的问题是多个站点视 频监控的网络通信问题,要求做到传输时延尽可能接 收 小,尽可能少地占用现有的网络带宽,并具有较好端 的站点数量规模化特性。而IP组播技术的使用对 图1IP组播数据传播 于网络视频的多点实时传输、网络多点实时监控具 2lP组播在winsock中的实现 有特别重要的意义。 实现IP组播可以通过winsoek提供的一系列的 1IP组播技术 应用程序编程接口。对于接收方关键是加入一个组 IP组播(IPMuhicast,也称为IP多播)是一种允 播组,发送端向这个组播地址发送数据包即可_2。 许一个或多个源发送单一的数据包到多个地址的网 winsockl和winsoek2为支持IP组播各定义了一组 络技术。 应用程序接口。实现IP组播过程流程图如图2所 IP组播要求对收发数据感兴趣的所有主机加 示 入一个特定的主机组,主机组是能够接收发往一个发送端接收端 特定组播组地址数据的主机集合。当加入组时,网 Winsocket0建立组播套接字Winsocket0建立组播套接字 卡上会添加一个过滤器,这样,只有绑定组地址的数 据才会被网络硬件拾起,并上传到网络堆栈进行适Winsocket0设置组播属性bind()将套接字与本地址相连 当的处理J。一个”主机组”可以在一个物理网络WinsocketOl~组播发送数据WSAjoinleaf()加入组播组 上,也可以跨越多个物理网络,即组播既可以用于局 closedsocket0停止发送数据 域网,也可以用于广域网。IP组播要求有底层物理closedsocket0停止发送数据 网络硬件的支持,支持lP组播的硬件技术为组播传图2IP组播实现流程 收稿日期:2009-0319 基金项目:长春大学校级教研项目(XJZCO6—01) 作者简介:刘威(1968.),男,吉林德惠人,副教授,硕士,主要从事计算机软件与网络科学实践与开发方面的研究。 第6期刘威:基于IP组播技术的视频监控系统的研究 组播的具体实现步骤://任意地址 2.1发送端bind(m—hAsyncSocket,(LPSOCKADDR) (1)加载Winsock2库,完成Winsock2的初始&saddr,sizeofsaddr); 化。(4)设置接收组播地址加入组播 (2)建立本地套接字(UDP):ZeroMemory(&mreq,sizeofmreq); mmreq.imrmultiaddr.s —hSocket=WSASocket(AF—INET,SOCK——_addr=ullP;//发送端的 DGRAM,0,NULL,0,组播地址 mreq.imrinterface.saddr=ulNIC; WSAFLAGMULTIPOINTCLEAFIWSA—_ —————————— D FLAGMULTIPOINT— ~_LEAF);setsockopt(m——hAsyncSocket,IPPROTO—IP,IP— ADDMEMBERSHIP, (3)绑定:—— family:AFINET; saddr.sin— —(char)&mreq,sizeot’mreq); saddr.sin —port=usPort;//端