EasyDarwin目前正在做的开源流媒体云平台架构:…
本文转自EasyDarwin团队成员Alex的博客:http://blog.csdn.net/cai6811376/article/details/52755298 EasyCamera接收云平台实时视频请求命令,会向EasyDarwin流媒体服务器进行推流操作.那么EasyCamera是如何通过海康摄像机SDK获取到媒体流的呢? 我们继续看海康摄像机SDK 这里使用NET_DVR_RealPlay_V40/NET_DVR_StopRealPlay接口控制实时视频. 在获取实时视频调用之前,我们…
本文转自EasyDarwin开源团队成员Alex的博客:http://blog.csdn.net/cai6811376 海康威视使用PS流封装H.264流,EasyDarwin云平台支持ES流.当我们需要接入海康的视频时,我们就需要将海康的PS流转换为ES流. 首先,我们要知道什么PS流,ES流. ES流(Elementary Stream): 也叫基本码流,包含视频.音频或数据的连续码流. PS流(Packet Elementary Stream): 也叫打包的基本码流, 是将基本的码流ES流…
前言 早在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云…
前言 随着Android系统的不断更新和发展,现在越来越多的硬件产品选择用安卓系统作为运行环境,电视机,机顶盒.门禁.行车记录仪.车载系统.单兵设备等等,Android系统底层还是Linux,但对上层的开发和维护就变得容易很多,比如以往需要在硬件上开发一个图形界面,流程就会非常复杂,但依托于安卓系统,可以绕开比较多的Linux系统底层开发,直接采用Java+jni可以达到非常稳定和高效的产品效果,这里尤为突出的要说到移动单兵设备,或者行业应用需要的移动监控设备,使用Android做设备系统,具有…
本文由EasyDarwin开源团队成员Alex贡献:http://blog.csdn.net/cai6811376/article/details/52006958 EasyDarwin云平台一直在稳步的升级迭代中,近日,EasyDarwin云平台实现了语音对讲的功能.对讲功能的加入,标志着EasyDarwin云平台进一步的完善. 流程设计 客户端使用POST的方式在body中携带协议报文向云平台发送开始对讲命令: 云平台组织协议报文向指定的设备发送: 设备执行开始对讲命令后向云平台返回相应报文…
本文转自EasyDarwin开源团队成员Alex的博客:http://blog.csdn.net/cai6811376/article/details/51912692 近日,EasyDarwin云平台加入云台控制功能,完善了云平台的功能,提升了用户体验.具体设计以及实现如下. 流程设计 客户端通过RESTful接口向云平台发送控制命令: 云平台组织控制报文向设备发送: 设备执行后向云平台返回控制响应报文: 云平台接收响应报文后将控制结果返回给客户端. 接口设计 首先我们设计云台控制的接口,接口…
需求背景 EasyDarwin开发团队维护EasyDarwin开源流媒体服务器也已经很多年了,之前也陆陆续续尝试过很多种服务端录像的方案,有:在EasyDarwin中直接解析收到的RTP包,重新组包录像:也有:在EasyDarwin中新增一个RecordModule,再以RTSPClient的方式请求127.0.0.1自己的直播流录像,但这些始终都没有成气候: 我们的想法是能够让整套EasyDarwin的系统更加灵活起来,各个服务单元都非常内聚地做自己的本职工作,EasyDarwin是流媒体分发…
本文转自EasyDarwin开源团队成员Alex的博客:http://blog.csdn.net/cai6811376/article/details/52063666 近日,我们EasyDarwin团队在调试EasyDarwin的时候遇到有些C++源文件无法命中断点,提示"当前不会命中断点.还没有为该文档加载任何符号". 这里是因为,有些源文件的调试信息被禁用了,生成不了调试符号.只需要将源文件的"调试信息格式"设置一下就可以了. 调试信息格式说明 /Z7./Zi…