关于.NET/C#/WCF/WPF 打造IP网络智能视频监控系统的介绍
OptimalVision网络视频监控系统
OptimalVision(OV)网络视频监控系统(Video Surveillance System),是一套基于.NET、C#、WCF、WPF等技术构建的IP网络视频监控系统。设计与实现该系统的初衷是希望在家用电脑中部署该系统,连接本地或局域网设备,通过浏览器或手机客户端浏览宝宝实时视频,也就是俗称的“宝宝在线”或“家庭看护”。
但由于业余时间总是有限,完成系统中的服务、配置、采集、传输和桌面GUI部分后,继续完成后续移动客户端的动力与兴趣明显减弱,尤其是宝宝出生后的很长一段时间内基本没有进展,逐渐地演变为演练和测试所关注技术和模式的实验性项目。
OV系统的设计要求
系统平台要求部署在Windows操作系统,适宜家庭用户安装使用。系统服务需要支持自启动、自发现、自组网功能,方便用户使用。系统桌面客户端需简单易用,配置与浏览多路视频方便。系统支持连接USB摄像头、WebCam、JPEG摄像机、MJPEG摄像机等。摄像机可部署和接入在不同的主机电脑上,由桌面客户端进行配置管理。系统提供基于HTTP发布的视频和图片,支持浏览器、移动客户端访问。
OV系统的技术选择
系统平台基于.NET/C#构建系统服务间采用WCF技术通信系统桌面客户端采用WPF技术构建系统直接采用裸图对帧率要求极低系统采用RTP封装视频数据包UDP传输系统提供HTTP REST API服务系统采用文件数据库存储数据系统支持浏览器和移动客户端访问
OV系统架构设计
OV系统已实现的服务
SVD:Service Discovery Service,负责系统中各服务的自发现和状态侦测
DVC:Device Connector Service,负责摄像机设备的接入和视频采集,可在多台机器部署
MPS:Media Publisher Service,负责选定摄像机视频的发布,提供API访问
OV系统主要业务流程
客户端登陆
实时视频浏览
OV桌面客户端架构
OV桌面客户端截图
登录界面
主界面菜单
管理接入设备
摄像机缩略图
新增摄像机
支持设备种类
选择设备信息
实时视频列表
实时视频OSD
多分屏视频
选择发布服务器
设置发布信息
多语言
多皮肤颜色
蓝色皮肤
关于界面
相关推荐
-
C# yield在WCF中的错误使用(二)
昨天写了<yield在WCF中的错误使用--99%的开发人员都有可能犯的错误[上篇]>,引起了一些讨论.关于yield关键字这个语法糖背后的原理(C#编译器将它翻译成什么)其实挺简单,虽然有时候因为误用它会导致一些问题,但是它本无过错.接下来,我们通过这篇短文简单地谈谈我所理解的yield. 目录 一.先看一个简单的例子 二.了解本质,只需要看看yield最终编译成什么 三.回到WCF的例子 一.先看一个简单的例子 我们现在看一个简单的例子.我们在一个Console应用中编写了如下一段简单的程
-
总结C#动态调用WCF接口的两种方法
如何使用 1.第一种方式比较简单,而且也是大家喜欢的,因为不需要任何配置文件就可解决,只需知道服务契约接口和服务地址就可以调用. 2.使用Invoke的方式,但是需要在调用客户端配置WCF,配置后在Invoke类里封装服务契约接口即可. 客户端调用DEMO //第一种方式 string url = "http://localhost:3000/DoubleService.svc"; IDoubleService proxy = WcfInvokeFactory.CreateServic
-
C# 一个WCF简单实例
WCF实例(带步骤) 复制代码 代码如下: <xmlnamespace prefix ="o" ns ="urn:schemas-microsoft-com:office:office" /> 本篇转自百度文档,自己试过,确实可以用. 以订票为例简单应用wcf 新建一个wcf服务应用程序 在IService1.cs定义服务契约 复制代码 代码如下: namespace WcfDemo { // 注意: 如果更改此处的接口名称 "IService
-
C# WCF简单入门图文教程(VS2010版)
在这个例子中我们将使用VS2010创建一个WCF服务,其中会了解[DataContract][ServiceContract]等特性. 内置的WCFSVCHost,并使用"WCF测试客户端"来测试我们创建的服务. 注意下面的所有类.接口及方法都添加了public的访问级别. 一.建立一个WCF服务库 创建一个WCF服务库项目 在解决方案中会自动为我们生成两个类文件"IService1.cs"和"Service1.cs". 这两个类文件是两个WCF
-
C# yield在WCF中的错误用法(一)
在定义API的时候,对于一些返回集合对象的方法,很多人喜欢将返回类型定义成IEnumerable<T>,这本没有什么问题.这里要说的是另一个问题:对于返回类型为IEnumerable<T>的方法来说,我们可以使用yield return的方式来输出返回集合的元素.但是如果我们不了解yield 关键字背后的实现机制,很有可能造成很大的问题. 这是一个WCF相关的问题,我想99%的人都有可能会犯这样的错误--即使你对yield了解得非常透彻.闲话少说,我们通过一个简单的实例来说明这个问
-
C#创建WCF服务控制台应用程序详解
一.开发环境 操作系统:Windows 10 开发环境:VS2015 编程语言:C# IIS版本:10.0.0.0 二.添加WCF服务.Internet Information Services(IIS) 1.进入"控制面板",打开"程序和功能",点击左上角的"启用或关闭Windows功能"后,在".NET Framework 4.6 高级服务"中的子节点选中"WCF 服务",如下图所示: 2.再找到&qu
-
关于.NET/C#/WCF/WPF 打造IP网络智能视频监控系统的介绍
OptimalVision网络视频监控系统 OptimalVision(OV)网络视频监控系统(Video Surveillance System),是一套基于.NET.C#.WCF.WPF等技术构建的IP网络视频监控系统.设计与实现该系统的初衷是希望在家用电脑中部署该系统,连接本地或局域网设备,通过浏览器或手机客户端浏览宝宝实时视频,也就是俗称的"宝宝在线"或"家庭看护". 但由于业余时间总是有限,完成系统中的服务.配置.采集.传输和桌面GUI部分后,继续完成后续
-
基于宽带接入网络远程视频监控系统
一.前言 在人类社会即将进入信息化社会的今天,电信网络和计算机网络的发展极大地改变着全社会人们的生活方式,而人们生活方式的改变又反过来对计算机网络和电信网络的服务能力提出了更高的要求. 自九十年代起,随着Internet的兴起和个人计算机的普及,Internet用户数量及以IP为代表的数据业务 呈爆炸性增长,同时出现了大量新型的业务需求,如:视频会议.电子商务.VOD视频点播等.这些新的业务需求对网络带宽提出了新的要求.由于OA和DWDM技术的进步,及ATM技术.MPLS技术.Tbps级路由器的
-
IP网络路由技术
近几年来,基于TCP/IP协议的Internet已逐步发展成为当今世界上规模最大.拥有用户和资源最多的一个超大型计算机网络,TCP/IP协议也因此成为事实上的工业标准.IP网络正逐步成为当代乃至未来计算机网络的主流. IP网络是由通过路由设备互连起来的IP子网构成的,这些路由设备负责在IP子网间寻找路由,并将IP分组转发到下一个IP子网. IP地址 IP地址是IP网络中数据传输的依据,它标识了IP网络中的一个连接,一台主机可以有多个IP地址.IP分组中的IP地址在网络传输中是保持不变的. 1.基
-
Go语言中TCP/IP网络编程的深入讲解
前言 大家可能乍一看,通过TCP/IP层连接两个进程会感觉可怕, 但是在Go语言中可能比你想象的要简单的多.下面话不多说了,来一起看看详细的介绍吧. TCP/IP层发送数据的应用场景 当然很多情况下,不是大多数情况下,使用更高级别的网络协议毫无疑问会更好,因为可以使用华丽的API, 它们隐藏了很多技术细节.现在根据不同的需求,有很多选择,比如消息队列协议, gRPC, protobuf, FlatBuffers, RESTful网站API, websocket等等. 然而在一些特殊的场景下,特别
-
Bootstrap打造一个左侧折叠菜单的系统模板(二)
在上一篇文章给大家介绍了Bootstrap打造一个左侧折叠菜单的系统模板(一),具体内容介绍可以点击了解详情. 1. 关于上一篇文章BUG 上一篇文章中有几位朋友提出的问题和BUG. 我简单的说一下. 1>. IE版本的支持? 我写的这些只是测试火狐谷歌浏览.在IE8+下可以添加代码以实现兼容. <!--[if lt IE 9]> <script src="http://cdn.bootcss.com/html5shiv/3.7.2/html5shiv.min.js&qu
-
Bootstrap打造一个左侧折叠菜单的系统模板(一)
1. 前言 最近需要做一个后台管理系统,我打算使用bootstrap弄一个好看的后台模板.网上的好多模板我觉的css和js有点重. 于是就打算完全依靠bootstrap搭建一个属于自己的模板. 首先从左侧的折叠菜单开始.看图. 2. CSS 代码 以下是自定义的css代码,由于系统是内部使用,所以优先考虑chrome,firefox 不考虑IE了. #main-nav { margin-left: 1px; } #main-nav.nav-tabs.nav-stacked > li > a {
-
eBay 打造基于 Apache Druid 的大数据实时监控系统
首先需要注意的是,本文即将提到的 Druid,并非阿里巴巴的 Druid 数据库连接池,而是另一个大数据场景下的解决方案:Apache Druid. Apache Druid 是一个用于大数据实时查询和分析的高容错.高性能开源分布式时序数据库系统,旨在快速处理大规模的数据,并能够实现快速查询和分析.尤其是当发生代码部署.机器故障以及其他产品系统遇到宕机等情况时,Druid 仍能够保持 100% 正常运行.创建 Druid 的最初意图主要是为了解决查询延迟问题,当时试图使用 Hadoop 来实现交
-
基于JavaScript打造一款桌面级便签系统
先看下效果: 载体就是一个网页,用html,css和JavaScript实现一个简单的便签系统. 动画效果用的是animation.css库,缓存用的localStorage. 除非手动清空便签,否则便签会一直保留,非常方便. 鼠标右键可以点开菜单. 代码: <!doctype html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset
-
Shell脚本实现检测某ip网络畅通情况(含短信报警功能)
花了1天的时间写了一个检测某ip是否网络畅通的脚本,只检测网络是否畅通的功能很容易实现,但加了一些限制功能却不好实现. 复制代码 代码如下: #!/bin/bash #################################################################################### #本脚本放于异机,使用定时任务检测192.168.10.231是否网络畅通,如果不通则发短信告警 #为防止频繁收到短信,对发送短信做了如下限制:
-
打造个性_安全的电脑系统图文教程2第1/2页
09 IE缓存文件转移:点击开始-设置-控制面板-INTERNET属性-常规-设置-移动文件夹.如图 10 移动我的文档:这个比较简单,直接在桌面上我的文档右键设置即可 11 设置虚拟内存: 右键"我的电脑"选择属性-高级-性能设置-高级-更改:先选择C盘,勾中"无分页文件"选项,然后选择其它分区,勾选"自定义大小".如果你是1G内存的话,设为512~1024就足够了:然后点击设置.如下图 接下来会提示重启.这次我们就重启吧.出现开机画面的时候按
随机推荐
- PHP基于自定义函数实现的汉字转拼音功能实例
- mysql 使用inet_aton和inet_ntoa处理ip地址数据的实例
- JavaScript 图片切割效果(放大镜)第1/4页
- 解析Python编程中的包结构
- 为什么Java要把字符串设计成不可变的
- C语言 while语句的用法详解
- Oracle中rank,over partition函数的使用方法
- 元素绑定click点击事件方法
- Android截取视频帧并转化为Bitmap示例
- 顶部缓冲下拉菜单导航特效的JS代码
- C#常用数据结构和算法总结
- C#基础语法:方法参数详解
- 窥探mysql存储过程细节
- Android详解之NoHttp最基本使用(无封装)
- FireBug 调试JS入门教程 如何调试JS
- javascript实现简单的省市区三级联动
- SqlServer快速检索某个字段在哪些存储过程中(sql 语句)
- Android中Service和Activity相互通信示例代码
- Liunx系统命令中tree命令详解
- YII中assets的使用示例