本文转自:http://blog.csdn.net/gavin1010/article/details/77926853

EasyGB28181服务器开发

背景

当前的安防行业,除了私有协议,普遍使用的是Onvif 和 GB/T28181标准协议进行通讯;

两种不同的协议决定了适用的环境:

Onvif倾向于局域网环境,因为音视频流是走RTSP,所以需要主动的访问前端摄像机或NVR;

GB/T28181是摄像机主动注册,适用于服务器在公网,而摄像机或NVR在局域网的环境;

目前EasyNVR采用的是Onvif协议接入云平台, 而EasyGB28181Server则是以GB/T28181方式接入云平台;

架构

使用EasyGB28181Server和EasyDSS组建云平台的环境

EasyDSS + EasyGB28181Server + EasyGB28181StreamServer + Redis

EasyDSS不用多说, 详见http://www.easydss.com

EasyGB28181Server 负责接收前端摄像机的注册,维护心跳,及向摄像机发送控制指令;

EasyGB28181StreamServer: 负责接收前端摄像机发送过来的音视频流,将PS流解析为ES流,再转换为RTMP协议推送到EasyDSS;

Redis: 负责摄像机列表的存储,国标服务器、国标流媒体服务器及EasyDSS服务器信息的存储;

EasyGB28181Server交互流程

  1. 启动EasyGB28181Server, 接受摄像机的注册;
  2. EasyGB28181Server将接收到的摄像机信息写入到Redis的设备列表;
  3. 与摄像机维持心跳;
  4. 打开网页客户端,即可看到所有的设备列表;
  5. 单击列表中的任一设备, EasyDSS则向EasyGB28181服务器请求音视频;
  6. EasyGB28181Server在收到EasyDSS的请求后,在Redis中找到负载最小的EasyGB28181StreamServer;
  7. EasyGB28181Server向找到的EasyGB28181StreamServer发送接收摄像机流的请求
  8. EasyGB28181StreamServer返回自身的外网IP和收流的端口
  9. EasyGB28181Server通知摄像机向EasyGB28181StreamServer的IP和Port发送音视频流
  10. EasyGB28181StreamServer收到摄像机的音视频后, 将PS流转换为ES流,再转换为RTMP协议,传到EasyDSS;
  11. EasyDSS再将RTMP流转发给网页客户端;

至此,EasyGB28181Server + EasyGB28181StreamServer + EasyDSS的整个流程完成;

获取更多信息

邮件:support@easydarwin.org

WEB:www.EasyDarwin.org

Copyright © EasyDarwin.org 2012-2017

最新文章

  1. Android开发学习之路-关于Exception
  2. socket (一)
  3. [Linux] Linux指令汇总(持续更新中...)
  4. 【原】PSD图标素材的全自动切图方法,适用于IOS、安卓、web前端等领域
  5. DispatcherServlet默认配置
  6. Oracle- UPDATE FROM讲解
  7. ASP实现用年月日时分秒和两位随机数字来作为上传文件名的函数
  8. 机器学习(4)之Logistic回归
  9. 使用 Entity Framework Code First
  10. Base64编码Java实现
  11. angular购物车
  12. oracle索引建立和删除
  13. 4.29python
  14. 登录views
  15. koa2搭建服务器
  16. aspose 小记
  17. spring-boot-devtools 实现热部署
  18. (转)MySQL慢查询日志总结
  19. Eclipse安装genymotion最新的方法
  20. EasyUI 效果还不错的数据处理等待效果

热门文章

  1. Android Studio查看其它APP的布局结构
  2. Codeforces Gym101063 J.The Keys (2016 USP-ICMC)
  3. (21)Oracle表查询进阶
  4. 可靠UDP设计
  5. slam学习足迹
  6. ELK之filebeat替代logstash收集日志
  7. java 之webmagic 网络爬虫
  8. 使用ssh从外网访问内网
  9. eclipse安装Memory Analyzer
  10. 用PROXYCHAINS实现SSH全局代理