您的位置 首页 被动

根据IP Multicast的分布式音视频接几和同享的监控体系的传输和完成

电子技术应用

摘要:规划并完结了一个依据IP Multicast技能的长途数字音视频监控体系,提出了分布式音视频接入同享的解决方案,能够有效地节约网络带宽;针对视频、音频语音和操控数据的不同传输特色,对其所选用的传输技能作了详细讨论,给出了详细完结办法。关键词:监控体系 分布式接入同享 网络传输 IP组播 Windows套接字跟着计算机网络技能、多媒体技能、计算机视觉与方式识别技能的发大礼服,一种以数字化、智能化为特色的多媒体长途数字监控体系应运而生,即依据IP的数字监控体系,完结了由传统的模仿监控到数字监控质的腾跃。与传统的模仿监控体系相比较,数字长途监控体系几个最主要的优势是:能够凭借网络完结长途监控;在长途不同地址的分控中心或同个分控中心可一起调看某一个或许几个监控现场的音视频数据,然后完结分布式的音一再接入和音视频数据同享,一起,能够与监控现场人员进行对讲;能够对长途监控现场的云台、摄像机等外围设备进行操控。视频、音频的实时、分布式传输及操控指令的牢靠传输是长途数字监控体系的一个关键问题。本文规划并完结了长途数字音一再监控体系,选用IP Multicast技能作为分布式音视频执着入和同享的解决方案,并针对视频、音频语音和操控数据不同的特色,对其所选用的不同传输技能进行了讨论,给出了详细完结办法。1 体系的整体结构长途监控体系一般包括三部分:前端监控现场、通讯设备和后端分控中心。整个体系依据Client/Server(客户机/服务器)方式。整体结构如图1所示。(1)前端监控现场由监控现场主机及一些外围设备组成。外围设备包括摄像机、电动镜头、云台、防护罩、监视器、多功能解码器及报警器。监控现场主机运转客户前端软件,完结视频、音频数据的实时收集、紧缩、解紧缩(音频)(视频传输 单向的,音频传输是双向的)及打包传送;对紧缩的视(音)频数据进行为存储(也可在分近中心进行)。存储办法为循环存储、守时存储、手动存储及运动视频检测发动存储。接纳来自分控中心的操控指令(也可在本地施行),对云台动作(上、下、左、右及主动)电动镜头的三可变(光圈、焦距和聚集)。(2)通讯设备是指所选用的传输信道和相关设备,通讯网络为LAN及WAN。(3)后端设备由若干分控中心计算机组成。各分控计算机运转服务器端软件,接纳来自前端紧缩视(音)频、显现(播映);经过网络对前端云台、摄像机进行操控;选用组播技能,完结分布式视频执着入和分丰式视频同享:每个分控中心主机能够一起监控多个前端,即“一点对多点”;不同分控心也能够一起监控同一前端,即“多点对一点”。2 网络传输模块的规划与完结2.1 体系传输数据类型的特色及通讯协议的挑选体系传输数据有:操控数据、音频、视频数据、后端分控中心经过网络向监控现场主机外围设备云台及摄像机发送操控信号,完结云台动作(上、下、左、右、主动)摄像机光圈、焦距及聚集三可变,要求操控信号的传输准确无误;音频、视频是接连,数据量大,答应传输中存在必定的数据错误率及数据丢掉率,但实时性要求很高。此外,在监控体系中,要完结音视频的分布式接入和数据同享,有必要进行音视频的多点传输。样完结上述方针?首先是通讯协议的挑选,TCP/IP协议是广泛运用的网协议,其网络模型界说了四层(即网络接口层、网络层、传输层、使用层)网络通讯协议。传输层包括两个协议:传输操控协议(TCP)和用户数据报协议(UDP)。IP是世界互联协议,坐落网络层。TCP协议是面向衔接的,供给牢靠的流服务;UDP是无衔接的,供给数据报服务;TCP选用供给承认与超时重发、滑动窗口机制等办法来确保传输的牢靠性,正是这些办法增加了网络的开支。假如用TCP传输视(音)频数据,很多的数据容量引起重传。,使得网络负载大并会加大推迟;UDP协议是最简略的传输协议,不供给牢靠性确保,正因为UDP协议不进行数据承认与重传国,大大提高了传输功率,具有高效快速的特色;Ipv4界说了三种IP数据包的传输:单播、播送及组播。要体系中完结视(音)频数据的多点传输,若选用单播,则相同的音、视频数据要发送屡次,这样导致发送者担负重、推迟长、网络拥塞;若用播送,网络中的每个站点都将接纳到数据,不论该结点否需求数据,增加了非接纳者的开支;组播是一种答应一个或多个发送者(组播源)发送单一的数据包到多个接纳者(一次的、一起的)的网络技能。组播源把数据包发送到特定组播组,而只要归于该组播组的地址才干接纳到数据包。因为不管有多少个意图地址,在整个网络的任何一条链路上都只传送单一的数据包。因而组播提高了网络传输的功率,极大地节约了网络传输。组播办法只适用于UDP。综上所述,选用TCP/IP传输操控信号,即信令通道;选用UDP/IP传输音视频信号,即数据通道。IP组播依靠一个特别的地址组——“移播址”,即D类地址。范围在224.0.0.0-239.255.255.255之间(其间224.0.0.0-224.0.0.255是被保存的地址),D类地址是动态分配和康复的瞬态地址。组播地址只能作为信宿地址运用,而不能出现在任何信源地址中。每一个组播组对应于动态分配 的一个D类地址。组播的特色:组播组的成员是动态的,主机能够任何时刻参加或离开组播组,主机组中的成员在方位上和数量 旧没有约束的。2.2 Windows下,IP组播的Winsock2完结Windows环境下组播通讯是依据WindowsSocket的。Windows Socket供给两种不同IP组播的完结办法:Windows Socket供给两种不同的IP组播的完结办法:Winsock1与Winsock2。在Windows2000渠道完结VC++6.0开发工具,在本体系中完结了依据Winsock2的组播通讯编程。发送端(前端、客户端)完结过程:(1)加载Winsock2库,完结Winsock2的初始化:WSAStarup(MAKEWORD(2,2),%26;amp;wsaData);(2)树立本地套接字(UDP):m_socket=WSASocke(AF_INET,SOCK_DGRAM,IPPROTO_UDP,NULL,0,WSA_FLAG_MULTIPOINT_C_LEAF|WSA_FLAG_MULTIPOINT_D_LEAF);//组播通讯具有两个层面的重要特征:操控层面和数据层面。操控层面决议一个多播组树立通讯的办法,数据层面决议通讯成员间数据传输的办法。每一个层面有两种方式,一种是“有限的”,另一种是“无根的”;数据报IP组播在两个层面上都是“无根”的。任一用户发送的数据都将被传送到组中所有其它成员。最终一个参数标明新创立的套接字在操控层面与数据层面都是“无根的”。图2能够经过setsocket函数设置套接字的特色,如地址重用,缓冲区是接纳仍是发送。M_localAddr.sin_family = AF_INET;M_localAddr.sin_port=m_iPort;//本地端口号M_localAddr..sin _addr.S_un.S_addr=m_uLocalIP;//本地IP地址;(3)绑定(将新创立的套字节与本地插口地址进行绑定):bind(m_socket,(PSOCKADDR)%26;amp;(m_localAddr),sizeof(m_localAddr);(4)设置生计时刻(即数据包最多答应路由多少个网段):WSAIoctl(m_socket,SIO_MULT%&&&&&%AST_SCOPE,//设置数据报生计时刻;%26;amp;iMcastTTL,//生计时刻巨细;sizeof(iMcastTTL),NULL,0,%26;amp;cbRet,NULL,NULL);(5)装备Loopback,以决议组播数据帧是否回送:int bLoopback=FALSE;WSAIoct(m_socket,SIO_MULTIPOINT_LOOPBACK,//答应或制止组播数据帧回送;%26;amp;bLoopback,sizeof(bLoopback),NULL,0,%26;amp;cbRet,NULL,NULL);(6)收发数据:在发送方(前端、客户端)呼应发送的音讯函数中调用下面函数:WSASendTo (m_socket,%26;amp;stWSABuf,%26;amp;cbRet,0,(struct sockaddr*)%26;amp;stDestAddr,//发送的意图地址;sizeof(struct(sockaddr),NULL,NULL);在发送方(前端、客户端)呼应接纳音讯函数中调用下面函数:WSARecvFrom(m_socket,%26;amp;stWSABuf,1,%26;amp; cbRet,%26;amp;Flag,(struct sockaddr*)%26;amp;stSrcAddr,//源地址;%26;amp;iLen,NULL,NULL);(7)将组播套接字设置为异步I/O作业方式,在该套节字上接纳事情为根底的网络事情告诉:WSAEventSelect(m_socket,m_hNetworkEvent,//网络事情句柄;将此套字节与该事情句柄并联在一起;FD_WRITE|FD_READ);//产生此两个事情之一,则将m_hNetworkEvent置为有信号状况;(8)在作业线程中设置:WSAWaitForMultipleEvent(3,//等候事情的个数);p->m_eventArray,//寄存事情句柄的数组;FALSE,WSA_INFINITE,FALSE);(9)封闭组播套字节:closesocket(m_socket);接纳端(后端、服务器端)完结过程:(1)-(3)与发送端(客户端)相同;(4)调用WSAJLoinLeaf参加组播组:SOCKET NetSock=WSAJoinLeaf(sock,//有必要为组播标志进行创立,不然调用失利;(PSOCKADDR)%26;amp;(m_stDestAddr,//组播导址,与发送方的意图地址相同;sizeof(m_stDestAddr),UNLL,NULL,NULL,NULL,JL_BOTH));//答应接纳和发送;(5)与客户端(6)相同;(6)与客户端(7)相同;(7)与客户端(8)相同;(8)离开组播组;closesocket(NewSock);//NewSock是调用WSAoinLeaf()回来的套节字。2.3 在监控体系中网络传输模块的规划网络传输模块流程如图2所示。发送端(前端监控现场主机、客户端)监控主机运转客户端程序。在主线程中,发动视同、音频两个线程别离对视频及音频进行收集,放入视(音)频缓冲区;视频在本地回放;一起,监听分控中心的衔接恳求,收到衔接恳求,TCP三次握手,树立TCP衔接(信令通道);经过信令通道,向分控心发送二组组播地址及端口号(对应视频及音频,音频两个线程;别离在视(音)频线程中完结;使用Winsock2树立视(音)频数据通道(UDP)(源码前已述及);对视(音)频进行紧缩编码、组播发送;音频线程接纳分控中心的音频数据包,解码并播映;完结视频的单向传输和音频的双向传输。接纳端(后端分控中心、服务器端)分控中心主机运转服务器端程序,在主线程中向前端监控现场主机宣布衔接恳求(CALL),三次握手树立TCP衔接(信令通道);后端接纳到组播地址及端口号后,发动视(音)频两个线程,完结;使用Winsock2树立视(音)频数据通道(UDP),参加视(音)频组播组,接纳紧缩视(音)频包,并解码显现(播映);其间音频线程,还要完结音频数据包解码显现(播映);其间音频线程,还要完结音频数据包的紧缩、发送;完结视频的单向传输、音频的双向传输。一个后端分控中心可一起监控12路前端视频及音频信号,在规划服务器端监控程序时,选用多线程技能,每树立一对前端监控主机与后端分控中心(服务器)的TCP衔接,就开两个接纳线程(一个接纳视频线程;一个接纳音频线程),视频线程接纳视频数据包进行解紧缩及回放;音频线程接纳音频数据包进行解紧缩及播映。对云台及摄像机的操控指令经过信令通道传输。本体系运转在Win2000渠道上,用VC++6.0开发工具开发。在长途数字音视频监控体系的传输模块规划中,依据音一再数据传输及操控信号传输的特色,运用IP组播技能极大地减轻了网络担负,避免了资源的糟蹋,节约了网络带宽;使用TCP/IP协议规划了信令通道(TCP)和数据通道(UDP);运用Windows多线程机制完结了音频数据的实时、多点传输和操控信号的牢靠传,提高了程序运转的功率。在该体系的根底上进行改造和扩展,能够使用到长途教学、长途医疗等多种多媒体通讯;因而,长途数字音视频监控体系的规划和完结不只具有监控方面的现实意义,并且关于许多使用都有学习和参考价值。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/ziliao/beidong/225072.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部