基于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,别找不到了 ...
随机推荐
- one day php. alomost all;
<? namespace Test; use \PhpProject\PhpApp as Other; $u=new Other("ns test"); echo $u-&g ...
- C# 打印webBrowser打开的页面
this.webBrowser.Navigate(webBrowserUrl, tagerFrameName, postBuffer, heads); this.webBrowser.Document ...
- Spring Boot的web开发&静态资源配置方式
Web开发的自动配置类:org.springframework.boot.autoconfigure.web.WebMvcAutoConfiguration 1.1. 自动配置的ViewResolve ...
- ubuntu16.04下安装wine1.8.2
如果是amd64则需要执行这个: sudo dpkg --add-architecture i386 1 1 添加wine最新的源 sudo add-apt-repository ppa:wine/w ...
- AC日记——猴子 cogs 2043
2043. 猴子 ★★ 输入文件:monkeya.in 输出文件:monkeya.out 简单对比时间限制:1 s 内存限制:256 MB [题目描述] 有n只猴子,第一只尾巴挂在树上 ...
- Codeforces Gym101502 J-取数博弈
还有J题,J题自己并不是,套的板子,大家写的都一样,因为大家都是套板子过的,贴一下代码,等学会了写一篇博客... J.Boxes Game 代码: 1 //J. Boxes Game-取数博弈-不会, ...
- Wannafly挑战赛2 C.Butterfly(线段树优化枚举)
题目链接 C.Butterfly 令$fd[i][j]$为以$s[i][j]$为起点开始往下走最大连续的‘X’个数 令$fl[i][j]$为以$s[i][j]$为起点开始往左下走最大连续的‘X’个数 ...
- SpringBoot中如何上传Upload
[学习笔记] 5.上传:马克-to-win@马克java社区:根据第3部分的helloworld例子,用那个项目做底子.pom.xml都不用改变.参考项目bootUpload1.static/inde ...
- 多核服务器的JVM优化选项(转载)
原文链接 现在多核CPU是主流.利用多核技术,可以有效发挥硬件的能力,提升吞吐量,对于Java程序,可以实现并发垃圾收集.但是Java利用多核技术也带来了一些问题,主要是多线程共享内存引起了.目前内存 ...
- XSY1659 [HNOI2012]永无乡
题面 Description 永无乡包含 n 座岛,编号从 1 到 n. 每座岛都有自己的独一无二的重要度,按照重要度可以将这n座岛排名,名次用 1到n来表示.某些岛之间由巨大的桥连接,通过桥可以从一 ...