拉模式转发

拉模式转发,顾名思义就是服务器主动从源端(IPCamera、NVR、或者其他流媒体服务器)通过RTSP/RTP协议将流媒体音视频数据拉取到流媒体转发服务器,再通过内部分发调度机制,分发给请求转发的客户端的过程;

拉模式转发的用途非常广泛:内网直播、服务器级联、NVR等各个方面,结合服务端存储,还可以做成边转发直播、边录像的功能;

EasyDarwin拉模式转发

EasyDarwin的拉模式转发需要做到几点:

  1. 通用接入:接入市面上大部分的IPCamera及NVR;
  2. 按需拉取:只有在有用户请求播放数据的时候,EasyDarwin才会向源端获取数据;
  3. 无请求释放:当某一路转发的用户观看量减少为0时,EasyDarwin需要主动释放对源端的拉取;
  4. 预配置:拉模式转发模块能够读取预配置的拉模式列表xml配置;
  5. RESTful接口:EasyDarwin支持RESTful接口调用,增加或者删除拉模式转发;

实现方案

我们为EasyDarwin新增一个模块:EasyRelayModule,在EasyRelayModule中,我们为每一路源的转发都建立一个由live555维护的RTSPClient线程,再由EasyRelayModule对线程进行HashMap维护,启动与停止进行外部干预,从而维护整个EasyDarwin流媒体服务器所有接入的RTSP源;

这里有一个问题需要说明:我们采用live555进行RTSP流媒体数据的获取(支持RTP over TCP || UDP),我们改造了live555通常的RTSP获取流程,直接将live555的sink用simpleRTPSink,直接获取到RTP数据,转发给QTSSReflectorModule进行转发;

EasyDarwin Github

https://github.com/easydarwin

获取更多信息

邮件:support@easydarwin.org

WEB:www.EasyDarwin.org

Copyright © EasyDarwin.org 2012-2016

最新文章

  1. iOS--NSBundle理解
  2. PHP Log时时查看小工具
  3. PHP FastCGI RCE Vul
  4. [转]SQLServer2008日志文件无法收缩处理方法
  5. 返璞归真 asp.net mvc (13) - asp.net mvc 5.0 新特性
  6. 开始接触BT5-自动登录X界面
  7. linux 搭建lamp环境
  8. MP3文件的结构与编程
  9. nodejs爬虫系统
  10. rsync 文件校验及同步原理
  11. CLAHE的实现和研究
  12. Django----模板层
  13. framework7 入门(基础布局)
  14. VIM --使用进阶 -- 插件篇 -- YouCompleteMe -- nerdtree
  15. postgresql 游标,函数,存储过程使用例子
  16. vue 增删改查
  17. Effective C++ 笔记
  18. 使用Wscript/cscript调用VB脚本
  19. Linux LVM逻辑卷配置过程详解(创建,增加,减少,删除,卸载)
  20. golang使用simplejson库解析复杂json

热门文章

  1. System and method for cache management
  2. waypoint+animate元素滚动监听触发插件实现页面动画效果
  3. guava之cache
  4. Java多线程中Lock的使用
  5. erlang debugger
  6. openlayer3 加载geoserver发布的WFS服务
  7. 简约至上.md
  8. java计算年龄
  9. JSP/SERVLET新手教程--Servlet 使用入门
  10. How to create a freehand tool