随着计算机网络技术、多媒体技术、计算机视觉与模式识别技术的发燕尾服,一种以数字化、智能化为特点的多媒体远程数字监控系统应运而生,即基于IP的数字监控系统,实现了由传统的模拟监控到数字监控质的飞跃。与传统的模拟监控系统相比较,数字远程监控系统几个最主要的优势是:可以借助网络实现远程监控;在远程不同地点的分控中心或同个分控中心可同时调看某一个或者几个监控现场的音视频数据,从而实现分布式的音频频接入和音视频数据共享,同时,可以与监控现场人员进行对讲;可以对远程监控现场的云台、摄像机等外围设备进行控制。
国内拥有领先音视频通讯技术的佰锐科技十年专注于“AnyChat”音视频开发平台,通过采用先进的H.264视频编解码技术和AAC音频编解码技术,改善P2P数据传输技术。视频、音频的实时、分布式传输及控制指令的可靠传输是远程数字监控系统的一个关键问题,AnyChat可以解决该类问题。本文设计并实现了远程数字音频频监控系统,采用IP Multicast技术作为分布式音视频执着入和共享的解决方案,并针对视频、音频语音和控制数据不同的特点,对其所采用的不同传输技术进行了探讨,给出了具体实现方法。
1.系统的总体结构
远程监控系统一般包括三部分:前端监控现场、通信设备和后端分控中心。整个系统基于Client/Server(客户机/服务器)模式。
(1)前端监控现场由监控现场主机及一些外围设备组成。外围设备包括摄像机、电动镜头、云台、防护罩、监视器、多功能解码器及报警器。监控现场主机运行客户前端软件,实现视频、音频数据的实时采集、压缩、解压缩(音频)(视频传输单向的,音频传输是双向的)及打包传送;对压缩的视(音)频数据进行经存储(也可在分近中心进行)。存储方式为循环存储、定时存储、手动存储及运动视频检测启动存储。接收来自分控中心的控制指令(也可在本地实施),对云台动作(上、下、左、右及自动)电动镜头的三可变(光圈、焦距和聚焦)。
(2)通信设备是指所采用的传输信道和相关设备,通信网络为LAN及WAN。
(3)后端设备由若干分控中心计算机组成。各分控计算机运行服务器端软件,接收来自前端压缩视(音)频、显示(播放);通过网络对前端云台、摄像机进行控制;采用组播技术,实现分布式视频执着入和分丰式视频共享:每个分控中心主机可以同时监控多个前端,即“一点对多点”;不同分控心也可以同时监控同一前端,即“多点对一点”。
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) 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)。
原文地址:http://blog.csdn.net/hsq0421/article/details/42079231