EasyCMS介绍 EasyCMS做为EasyDarwin开源流媒体云平台解决方案的一部分,主要进行的是设备的接入和Session(DeviceSession & ClientSession)管理,同时用户也可以复用做为其他类型项目设备接入与管理的框架,EasyCMS也源于EasyDarwin服务架构,具备一套完整的网络I/O框架以及Utility,开发者很容易在EasyDarwin的基础上开发跨平台服务程序,例如Windows.Linux.Mac.Solaris等系统平台,只要一次熟悉,将会受…
在之前的一篇方案<基于EasyDarwin云视频平台的幼儿园视频直播(手机直播/微信直播)解决方案>中,我们提到一种可以广泛应用于幼教.工厂.建筑工地以及各种现场监控的云视频平台方案,这种方案有几个比较明显的优势所在: 开放,易于二次开发: EasyDarwin云视频平台是基于EasyDarwin开源项目的一套开放性很强的视频服务能力平台,用户一方面拿到EasyDarwin平台可以非常完整地满足自身的视频直播基本需求,同时在后续的平台迭代升级过程中,还可以根据自身的能力进行各种新的功能特性的迭…
前言 随着Android系统的不断更新和发展,现在越来越多的硬件产品选择用安卓系统作为运行环境,电视机,机顶盒.门禁.行车记录仪.车载系统.单兵设备等等,Android系统底层还是Linux,但对上层的开发和维护就变得容易很多,比如以往需要在硬件上开发一个图形界面,流程就会非常复杂,但依托于安卓系统,可以绕开比较多的Linux系统底层开发,直接采用Java+jni可以达到非常稳定和高效的产品效果,这里尤为突出的要说到移动单兵设备,或者行业应用需要的移动监控设备,使用Android做设备系统,具有…
本文由EasyDarwin开源团队成员Alex贡献:http://blog.csdn.net/cai6811376/article/details/52006958 EasyDarwin云平台一直在稳步的升级迭代中,近日,EasyDarwin云平台实现了语音对讲的功能.对讲功能的加入,标志着EasyDarwin云平台进一步的完善. 流程设计 客户端使用POST的方式在body中携带协议报文向云平台发送开始对讲命令: 云平台组织协议报文向指定的设备发送: 设备执行开始对讲命令后向云平台返回相应报文…
前言 早在2013年我就设计了一套架构非常简单的分布式流媒体服务器平台<基于Darwin实现的分布式流媒体直播服务器系统>,当时的考虑如今看来有诸多的细节点没有考虑到:1.CMS是单点部署,无法扩展设备注册节点服务器:2.EasyDarwin流媒体服务器虽然可以分布式部署,但负载信息都是以Hash map的形式存在CMS的内存中的,EasyDarwin与CMS保持着长连接信令交互,这种形式只能够实现功能,但在架构扩展性上还是有太多瓶颈:3.协议采用的是RTSP协议及其扩展字段来做的,协议对现在…
云平台架构 EasyDarwin开源流媒体云平台目前已经包括了EasyCMS中心管理服务.EasyDarwin流媒体服务.EasyCamera设备端(支持Arm_Linux.Android.PC).EasyNVR(支持ARM主机.PC).EasyClient客户端,整个开源云平台经过一段时间的运行测试,表现稳定: 设备接入 目前EasyCamera已经支持了摄像机接入和Android手机端接入,EasyNVR支持普通RTSP摄像机的接入,所有设备都是按照统一的协议标准接入到EasyDarwin云…
一.方案介绍 1.1.方案背景 在2016年10月25日至28日的安博会上,我们看到了不少的幼教平台厂商,我们注意到大部分的幼教平台,为了追求极佳的用户体验,在微信或者APP端能够做到极快的打开速度,具备秒开画面的功能,采用的是摄像机长期推流,公网的HLS流媒体服务器长期切片的方案,在跟有一部分厂家进行交流的过程中发现,他们对其带宽资源非常自信,他们基本都是租用百兆阿里云主机.百兆腾讯云主机等云主机.这里,我们不得不深入探讨一下长期不间断推送和进行HLS切片会产生的几个问题: 从终端视频采集设备…
需求背景 EasyDarwin开发团队维护EasyDarwin开源流媒体服务器也已经很多年了,之前也陆陆续续尝试过很多种服务端录像的方案,有:在EasyDarwin中直接解析收到的RTP包,重新组包录像:也有:在EasyDarwin中新增一个RecordModule,再以RTSPClient的方式请求127.0.0.1自己的直播流录像,但这些始终都没有成气候: 我们的想法是能够让整套EasyDarwin的系统更加灵活起来,各个服务单元都非常内聚地做自己的本职工作,EasyDarwin是流媒体分发…
目录 Spinnaker 介绍 环境.软件准备 安装 Development Spinnaker 配置依赖环境 配置并安装 Spinnaker 演示 Spinnaker Pipeline 演示 Spinnaker 集成 Jenkins 1.Spinnaker 介绍 Spinnaker 是 Netflix 的开源项目,是一个持续交付平台,它定位于将产品快速且持续的部署到多种云平台上.Spinnaker 通过将发布和各个云平台解耦,来将部署流程流水线化,从而降低平台迁移或多云品台部署应用的复杂度,它…
最近在帮助EasyDarwin的用户部署EasyNVR+EasyDarwin云平台+EasyClient方案的过程中,遇到一个问题,EasyNVR分布在用户各地区现场的内网中,EasyDarwin云平台部署在公网中,当EasyNVR在本地运行推送到用户自己的EasyDarwin云平台,完全没问题,当EasyNVR部署在用户设备所在的内网,设备上线.http+json信令都能非常顺利通过,就是流媒体数据无法推送到云端EasyDarwin流媒体服务器,我们再将EasyNVR和EasyDarwin云平…
本文转自EasyDarwin开源团队成员Alex的博客:http://blog.csdn.net/cai6811376/article/details/51912692 近日,EasyDarwin云平台加入云台控制功能,完善了云平台的功能,提升了用户体验.具体设计以及实现如下. 流程设计 客户端通过RESTful接口向云平台发送控制命令: 云平台组织控制报文向设备发送: 设备执行后向云平台返回控制响应报文: 云平台接收响应报文后将控制结果返回给客户端. 接口设计 首先我们设计云台控制的接口,接口…
本文转自EasyDarwin开源团队成员Alex的博客:http://blog.csdn.net/cai6811376/article/details/52063666 近日,我们EasyDarwin团队在调试EasyDarwin的时候遇到有些C++源文件无法命中断点,提示"当前不会命中断点.还没有为该文档加载任何符号". 这里是因为,有些源文件的调试信息被禁用了,生成不了调试符号.只需要将源文件的"调试信息格式"设置一下就可以了. 调试信息格式说明 /Z7./Zi…
本文转自EasyDarwin团队Alex的博客:http://blog.csdn.net/cai6811376 EasyDarwin云平台中部分协议使用了Base64编码昨晚报文通信的载体.比如在对摄像机进行对讲操作时,客户端将采集的音频数据经过Base64编码,通过POST的方式将组织的协议数据发送到EasyCMS,EasyCMS再对设备进行操作. 当设备接收到音频数据时,将Base64编码后的数据进行解码,得到音频数据,将音频数据播放出来. 这里,我们以前的Base64编解码是这样写的.(使…
EasyNVR拥有接入EasyDSS云平台的功能 接入EasyDSS云平台会定时向云平台上传快照数据,这个快照数据用于云平台向客户端提供快照展示 遇到的问题 由于快照上传的间隔提供认为修改的功能,则我们限定最短时间为1分钟 通道的数量会直接影响快照上传 考虑到压力情况,1分钟之内上传上千通道的快照 快照数据经过Base64编码,会比快照真实数据扩大1.33333倍,数据量大 EasyNVR的固定通道设计 解决方案 将所有通道快照上传分散在快照间隔时间内 若遇到通道未启用.通道不在线则跳过,并且减…
EasyIPCamera流媒体服务器 今年EasyDarwin团队在给国内某最大的金融安防公司做技术咨询的时候,开发了一款适用于嵌入式IPCamera.NVR的RTSP流媒体服务器:EasyIPCamera,EasyIPCamera的核心是基于live555进行封装的,外围增加对live555 RTSPServer的调用接口,更加方便海思等安防芯片进行RTSPServer服务的建立,EasyIPCamera在海思3156A芯片上的性能经过我们半年多的调试,目前已经可以稳定在4路1080P并发:…
​ 本文介绍O2OA服务管理中,接口的权限设定和调用方式. 适用版本:5.4及以上版本 创建接口 具有服务管理设计权限的用户(具有ServiceManager角色或Manager角色)打开"服务管理平台",进入接口配置视图,点击左上角的新建按钮,可创建一个新的接口. ​ 新建接口后,在右侧属性栏中有两个配置和调用权限有关,一个是"允许访问的地址表达式",一个收是"启用鉴权". ​ 允许访问的地址表达式 此处允许输入一个正则表达式,用来匹配调用接口…
EasyDarwin目前正在做的开源流媒体云平台架构:…
本文转自EasyDarwin CSDN官方博客:http://blog.csdn.net/easydarwin EasyDarwin是由国内开源流媒体团队维护和迭代的一整套开源流媒体视频平台框架,从2012年12月创建并发展至今,包含有单点服务的开源流媒体服务器,和扩展后的流媒体云平台架构的开源框架,开辟了诸多的优质开源项目,能更好地帮助广大流媒体开发者和创业型企业快速构建流媒体服务平台,更快.更简单地实现最新的移动互联网(安卓.iOS.H5.微信)流媒体直播与点播的需求,尤其是安防行业与互联网…
EasyNVS - EasyNVR云端集中管理服务 EasyNVS云管理平台是一套专门用于集中化管理EasyNVR 的解决方案. EasyNVR 采用主动注册的方式接入到 EasyNVS, 再由 EasyNVS 云管理平台进行统一的视频能力输出, 并配套提供一整套的云端设备可视化运维功能, 方便于用户进行云端的视频大数据处理. 支持 EasyNVR v3.2 及以上版本 下载 安装包下载 在线演示 在线API 端口使用 TCP 端口 : 10810(HTTP), 10812(接入认证端口) UD…
在上一篇<EasyNVR和EasyDSS云平台联手都不能解决的事情,只有国标GB28181能解决了>我们大致介绍了国标GB/T28181的使用场景,而且初步介绍了EasyGBS国标视频平台,那么,我们就EasyGBS分别接入海康.大华.宇视的IPC网络摄像机或者NVR网络硬盘录像机的配置方法做一个总结: EasyGBS海康设备接入: EasyGBS大华设备接入: EasyGBS宇视设备接入: 目前EasyGBS已经接入了大部分的厂家的IPC.NVR和国标平台,都非常完美: 获取更多信息 邮件:…
欢迎加入我们的开源流媒体服务器项目:EasyDarwin, EasyDarwin是在Apple开源流媒体服务器Darwin Streaming Server(v6.0.3)基础上进行开发和维护的免费开源.高效.易扩展的面向企业级的流媒体平台框架,EasyDarwin开始于2013年,遵循 Apple开源License APSL,为了敏捷流媒体服务器开发和简化企业流媒体应用开发而诞生的. EasyDarwin一直以来保持Darwin原有体系结构和设计思想,在保持出色的性能和简洁的代码同时,也在不断…
title: Node版本EasyDarwin开发心得 date: 2018-03-27 22:46:15 tags: 年后着手Node版本EasyDarwin的开发工作,截止到今天2018年03月27日上线了第一个版本,今天小米发布了MIX2S, 致敬! 致敬! 关于RTSP协议 目前这个第一版暂时仅支持RTSP Over TCP, 不过RTSP Over UDP也会很快实现.总体来说, RTSP协议比较简单.开发过程中对RTSP协议的理解主要参考了 rtsp协议详解 这篇文章.sdp的解析一…
EasyDarwin开源流媒体服务器(www.easydarwin.org)现在使用Go版本实现了.最新的代码提交,已经支持了推流(或者拉流)的同时进行本地存储. 本地存储的原理,是在推流的同时启动ffmpeg作为一路Client来做存储.ffmpeg在demux和mux的工作方面已经十分成熟,我们没必要再重复发明轮子.因此这种做法十分取巧而且简单有效,也不会侵入原来的代码架构.如下图所示: RTSP摄像机EasyDarwin本地存储推流使用ffmpeg进行拉流和存储RTSP摄像机EasyDar…
EasyDarwin开源流媒体服务器(www.easydarwin.org),拉转推是一个很有意义的功能,它可将一个独立的RTSP数据源"拉"到服务器,再通过转发协议转发给多个客户端,或者通过EasyDarwin的本地存储功能进行存储.国内大多摄像机都支持RTSP协议,通过拉转推可将第三方摄像机接入到EasyDarwin服务器. IPCEasyDarwin第三方RTSP源本地存储Client1Client2Client3拉流拉流ffmpeg转发转发转发IPCEasyDarwin第三方R…
开源运维自动化平台-opendevops 简介 官网 | Github|  在线体验 CODO是一款为用户提供企业多混合云.自动化运维.完全开源的云管理平台. CODO前端基于Vue iview开发.为用户提供友好的操作界面,增强用户体验. CODO后端基于Python Tornado开发,其优势为轻量.简洁清晰.异步非阻塞. CODO开源多云管理平台将为用户提供多功能:ITSM.基于RBAC权限系统.Web Terminnal登陆日志审计.录像回放.强大的作业调度系统.CMDB.监控报警系统.…
我们经常在开发过程中,在局部new了一个对象,我们就会在复杂的逻辑过程中担心这个对象是否已经被释放,需要在一大堆的if.else.while.break进行判断new对象是否还存在,或者相同的delete代码会出现一个函数方法的很多位置,就像奶爸带娃一样,处处都需要小心谨慎,而且一旦要看管的对象比较多的时候,那就比较头疼了,容易忘记或者出错: 而在EasyDarwin中,有一个对象大家可以参考,这个就是OSArrayObjectDeleter template <class T> class…
背景分析 在之前的一篇博客<web无插件播放RTSP摄像机方案,拒绝插件,拥抱H5!>中,描述了实现一套H5无插件直播方案的各个组件的参考建议,又在博客<EasyNVR H5流媒体服务器方案架构设计之视频能力平台>中对整体的架构设计思路做了总结,做高内聚.低耦合的视频能力平台,不涉足业务部分!那么今天,我们来公开一下EasyNVR到底是如何实现这些功能的: 一.程序框架 熟悉EasyDarwin的同学都知道,EasyDarwin作为老牌的流媒体功能框架,在很多领域是完全能够满足开发…
大家好,我是又拍云叶靖,今天主要分享 OpenResty 在又拍云容器平台中的应用.目前又拍云有很多产品,其中很多都使用了 OpenResty 技术,比如又拍云的 CDN .网关都是基于 OpenResty,还有内部很多服务都是依赖于 OpenResty 进行运营.又拍云最近几年在 OpenResty 上的贡献都在这个地址:https://github.com/upyun/upyun-resty,包括一些开源的库.又拍云为社区做的工作.活动上的技术分享等. 又拍云容器云平台 △ 又拍云检索界面…
EasyPusher主要有三部分组件组成:采集,编码,叠加,上传.在这个基础上同时支持本地存储\后台预览的功能.主要业务模块与相关类之间的关系如图所示: Created with Raphaël 2.1.0StreamActivityStreamActivity摄像头线程摄像头线程BackgroundCameraServiceBackgroundCameraService编码线程编码线程PusherPusherMuxerMuxer音频线程音频线程音频编码线程音频编码线程TxtOverlayTxt…
背景 近期跟开源团队商量,想在EasyDarwin上继续做一些功能扩展,目前EasyDarwin开源流媒体服务器只能够实现高效的RTSP推流直播转发/分发功能,输入与输出都是RTSP/RTP流,不能够很好滴满足当下日益火热的互联网直播/录播的需求,我们计划在当前节点EasyDarwin-v7.3.17.0325基础上继续扩展几个功能: EasyDarwin服务器端直播存储功能: 对RTSP直播推流同步输出RTMP.HLS直播功能: 直接接入RTSP IPCamera输出RTMP.HLS直播功能:…