开源倾情奉献:基于.NET打造IP智能网络视频监控系统(四)服务端介绍

开源倾情奉献系列链接

  • 开源倾情奉献:基于.NET打造IP智能网络视频监控系统(一)开放源代码
  • 开源倾情奉献:基于.NET打造IP智能网络视频监控系统(二)基础类库介绍
  • 开源倾情奉献:基于.NET打造IP智能网络视频监控系统(三)命令行工具集
  • 开源倾情奉献:基于.NET打造IP智能网络视频监控系统(四)服务端介绍
  • 开源倾情奉献:基于.NET打造IP智能网络视频监控系统(五)客户端介绍

服务端介绍

目前在服务端实现了 4 个 WCF 服务:

  • ServiceDiscovery(简称 SVD)
  • DeviceConnector(简称 DVC)
  • DeviceProfile(简称 DPS)
  • MediaPublisher(简称 MPS)

服务建议启动顺序

  1. SVD - 服务发现目前有时后启动不太稳定,暂时没有调试这个问题。
  2. DVC
  3. DPS
  4. MPS

Service Discovery Service

SVD 服务实现 WCF Discovery ,当有服务上线时接收注册,并通过服务接口实现向外提供检索指定类型服务的功能。

复制代码
1   [ServiceContract(SessionMode = SessionMode.Allowed)]
2   [ManagedServiceContract]
3   public interface IServiceDiscoveryService
4   {
5     [FaultContract(typeof(ServiceDiscoveryServiceFault))]
6     [OperationContract]
7     GetServicesResponse GetServices(GetServicesRequest request);
8   }
复制代码

Device Connector Service

DVC 服务负责提供接口创建、连接、保活摄像机设备。

  1. 使用 Gimela.Data.MagpieDatabase 文档数据库进行本地数据存取。
  2. 使用 Gimela.Media.Video 进行媒体流数据的建立。
  3. 使用 Gimela.Net.Rtp 进行媒体流的封装。
  4. 使用 Gimela.Net.Sockets 进行媒体流的传输。
  View Code

Device Profile Service

DPS 服务暴露简洁的接口,对外提供摄像机的基本信息,主要用以屏蔽或代理 DVC 服务。

  View Code

Media Publisher Service

MPS 服务负责配置摄像机的媒体流的发布。

复制代码
 1   [ManagedServiceContractAttribute]
 2   [ServiceContract(SessionMode = SessionMode.Allowed)]
 3   public interface IMediaPublisherService
 4   {
 5     /// 
 6     /// 获取已发布摄像机的信息
 7     /// 
 8     /// 
 9     /// 
10     [OperationContract]
11     [FaultContract(typeof(MediaPublisherServiceFault))]
12     GetPublishedCamerasResponse GetPublishedCameras(GetPublishedCamerasRequest request);
13 
14     /// 
15     /// 发布摄像机视频流至指定接收器
16     /// 
17     /// 
18     /// 
19     [OperationContract]
20     [FaultContract(typeof(MediaPublisherServiceFault))]
21     PublishCameraResponse PublishCamera(PublishCameraRequest request);
22 
23     /// 
24     /// 取消发布摄像机视频流
25     /// 
26     /// 
27     /// 
28     [OperationContract]
29     [FaultContract(typeof(MediaPublisherServiceFault))]
30     UnpublishCameraResponse UnpublishCamera(UnpublishCameraRequest request);
31   }
复制代码








本文转自匠心十年博客园博客,原文链接:http://www.cnblogs.com/gaochundong/p/opensource_ip_video_surveillance_system_part_4_service_side.html,如需转载请自行联系原作者

你可能感兴趣的:(开源倾情奉献:基于.NET打造IP智能网络视频监控系统(四)服务端介绍)