基于EasyDarwin实现幼儿园监控类项目
移动互联网越来越普及,幼儿园监控类的项目也越来越多,如何能够以最低的成本、最快的速度搭建一套幼儿园监控类的平台成了许多开发者的需求,那么我们今天就来简单探讨一下如何基于EasyDarwin实现一套幼儿园监控、宝贝在线视频类的流媒体系统平台。
1、流媒体分发:幼儿园监控不同于我们传统意义上的家居监控,家居监控因为同时观看的终端数量有限,多采用p2p的形式,但幼儿园监控里面,同一个摄像机可能会被很多家长同时观看,所以多采用流媒体服务器转发的形式来做,那么就需要用到我们的EasyDarwin流媒体服务器进行转发和分发;
2、前端架构:这需要做两方面的区分,老设备接入和新设备集成,我们现在大部分幼儿园在接入移动互联网监控之前已经有了比较完善的传统监控系统,也就是说设备(DVR、IPC、NVR)已经固定了,如果硬件换代,势必会增加很大成本,或者说是新设备,但没有没有设备改造的权限,只能以标准Onvif/RTSP/SDK的形式控制设备,所以在这些模式下,我们多是采用加中间适配层来实现的,也就是说在内网摄像机与公网平台之间需要加一台设备来做摄像机接入,可以用简单PC的形式来做,也可以用自己开发的嵌入式盒子来实现(这个接入的形式我们在《关于Darwin接入私有协议、私有SDK码流的讨论》有过讨论):
那么具体的平台接入方法实现,我们可以参考EasyDarwin开源项目中的EasyCamera实现:
设备与公网平台的信令接入可以用开源的libEasyCMS实现,设备与流媒体服务器之间的流媒体推送可以用libEasyPusher实现,至于EasyCamera内部与设备怎么对接,用户可以根据自己的需求去选择,无论是上图中描述的SDK接设备,还是Onvif接设备,还是简单的RTSP接设备(RTSP接入设备我们还有libEasyNVSource库帮忙),都可以;
3、平台部分:平台部分就更容易了,EasyDarwin开源项目(https://github.com/EasyDarwin/EasyDarwin)都可以用到(包括CMS中心管理服务器、EasyDarwin流媒体服务器),只要稍稍熟悉一下代码,就能很轻松将自己定义的协议流程加入进去,也可以直接就用EasyDarwin提供的协议版本,省去了大量的开发成本;
EasyDarwin流媒体服务器还能支持多种流媒体协议输出:RTSP、HLS、RTMP,这样对多平台需要的安卓、ios、web、微信直播,都能全部支持了;
4、客户端部分:如果采用传统C/S架构,我们可以选择EasyPlayer开源流媒体播放器(RTSP播放器)进行直播播放;如果你用的是WEB客户端,那么你可以采用EasyDarwin输出RTMP直播协议的,或者如果你的延时要求不高,就可以采用EasyDarwin输出的HLS协议;如果你是做手机直播,你可以采用HLS、RTSP、RTMP中的任何一种,如果是做手机WEB App,可以选择EasyDarwin HLS输出;如果你想用微信平台做这个项目,那可以选择HLS,完全支持微信直播;
就是这样,功能组件都可以用上,主要是需要熟悉架构和使用的方法!
本文转自www.easydarwin.org,更多开源流媒体解决方案,请关注我们的微信:EasyDarwin

基于EasyDarwin实现幼儿园监控类项目的更多相关文章
- 项目-基于视频压缩的实时监控系统--tiny6410
项目-基于视频压缩的实时监控系统--tiny6410 @国嵌linux学习笔记. 1. 构造服务端结构体 server struct server { int epfd; //保存epoll指针 st ...
- Asp.Net Core 2.0 项目实战(5)Memcached踩坑,基于EnyimMemcachedCore整理MemcachedHelper帮助类。
Asp.Net Core 2.0 项目实战(1) NCMVC开源下载了 Asp.Net Core 2.0 项目实战(2)NCMVC一个基于Net Core2.0搭建的角色权限管理开发框架 Asp.Ne ...
- 嵌入式应用开发第四阶段-基于rk3399的视频监控系统
一.需求分析 伴随着嵌入式技术.图像处理技术和无线网络传输技术的发展,传统模拟视频监控系统和基于PC的远程视频监控系统由于自身的不足,已经无法满足现代社会应用中不断涌现出来的新需求,于是基于嵌入式技术 ...
- 基于腾讯云监控 API 的 Grafana App 插件开发
Tencent Cloud Monitor App Grafana 是一个开源的时序性统计和监控平台,支持例如 elasticsearch.graphite.influxdb 等众多的数据源,并以功能 ...
- [安卓] 12、开源一个基于SurfaceView的飞行射击类小游戏
前言 这款安卓小游戏是基于SurfaceView的飞行射击类游戏,采用Java来写,没有采用游戏引擎,注释详细,条理比较清晰,适合初学者了解游戏状态转化自动机和一些继承与封装的技巧. 效果展示 ...
- B/S 类项目改善
B/S 类项目改善的一些建议 要分享的议题 性能提升:在访问量逐渐增大的同时,如何增大单台服务器的 PV2 上限,增加 TPS3 ? RESTful:相较于传统的 SOAP1,RESTful 风格 ...
- C#监控类属性的更改(大花猫动了哪些小玩具)
C#监控类属性的更改(大花猫动了哪些小玩具) 实体类创建后在方法中对哪些属性赋值了,传递到底层方法时在底层如何得知哪些属性被赋值过.如何监控属性的更改,请看脑洞大开之<大花猫动了哪些小玩具> ...
- NET Core2.0 Memcached踩坑,基于EnyimMemcachedCore整理MemcachedHelper帮助类。
DotNetCore2.0下使用memcached缓存. Memcached目前微软暂未支持,暂只支持Redis,由于项目历史原因,先用博客园开源项目EnyimMemcachedCore,后续用到的时 ...
- visualvm监控类是否是多例模式
使用 visualvm干的第一件事情:监控类是否是多例模式 具体操作为: 1.首先启动本地项目,打开 jvisualvm,选择Tomcat(注意,在jdk目录下的名称里,命名前加了一个 j,别找不到了 ...
随机推荐
- 【NOIP2016】愤怒的小鸟(状压DP)
题意: Kiana最近沉迷于一款神奇的游戏无法自拔. 简单来说,这款游戏是在一个平面上进行的. 有一架弹弓位于(0,0)处,每次Kiana可以用它向第一象限发射一只红色的小鸟,小鸟们的飞行轨迹均为形如 ...
- LOJ#2303. 「NOI2017」蚯蚓排队
$n \leq 200000$的$1 \leq a_i \leq 6$的蚯蚓,有三种操作:让一只队头蚯蚓接在一只队尾蚯蚓后面:让一队蚯蚓从某个蚯蚓后面断成两队:问:给个字符串,问他的..算了你们直接看 ...
- 阿里云oss教程
OSS是提供非结构化数据存取的服务.对于刚开始使用OSS的用户,非结构数据可以理解为word文档.PDF.PPT.EXCEL表格.MP3.MKV.RMVB.HTML等各种类型文件.OSS提供API去进 ...
- Codeforces Round #317 [AimFund Thanks-Round] (Div. 2) Minimization dp
原题链接:http://codeforces.com/contest/572/problem/D 题意 给你个数组A和n,k,问你排列A后,下面的最小值是多少. 题解 先排个序,要填充像1,1+k,1 ...
- OAuth相关备注
引用大神的资料,备注一下 http://www.cnblogs.com/dudu/tag/OAuth/
- CSS 发明者 Håkon Wium Lie 访谈--csdn zhangxin09
原文地址:https://dev.opera.com/articles/css-twenty-years-hakon/ ---------------------------------------- ...
- Hibernate中的条件查询完毕类
Hibernate中的条件查询有下面三个类完毕: 1.Criteria:代表一次查询 2.Criterion:代表一个查询条件 3.Restrictions:产生查询条件的工具类
- vue2.0 vue-router
一.SPA中路由的简单实现 main.js import Vue from 'vue' import App from './App' import VueRouter from 'vue-route ...
- C++11 并发指南四(<future> 详解三 std::future & std::shared_future)(转)
上一讲<C++11 并发指南四(<future> 详解二 std::packaged_task 介绍)>主要介绍了 <future> 头文件中的 std::pack ...
- css3 position fixed居中的问题
通常,我们要让某元素居中,会这样做: #element{ margin:0 auto; } 假设还想让此元素位置固定呢?一般我们会加入position:fixed,例如以下: #element{ po ...