保存桌面快捷方式 - - 设为首页 - 手机版
凹丫丫旗下网站:四字成语大全 - 故事大全 - 范文大全
您现在的位置: 范文大全 >> 理工论文 >> 电子通信论文 >> 正文

基于IP Multicast的分布式音视频接几和共享的监控系统的传输和实现


r,//发送的目的地址;

sizeof(struct(sockaddr),NULL,NULL);

在发送方(前端、客户端)响应接收消息函数中调用下面函数:

WSARecvFrom(m_socket,&stWSABuf,1,& cbRet,&Flag,(struct sockaddr*)&stSrcAddr,//源地址;

&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)&(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路前端视频及音频信号,在设计服务器端监控程序时,采用

《基于IP Multicast的分布式音视频接几和共享的监控系统的传输和实现(第3页)》
本文链接地址:http://www.oyaya.net/fanwen/view/154460.html

★温馨提示:你可以返回到 电子通信论文 也可以利用本站页顶的站内搜索功能查找你想要的文章。