EasyDarwin流媒体服务器RTSP拉模式流媒体转发模块设计
拉模式转发
拉模式转发,顾名思义就是服务器主动从源端(IPCamera、NVR、或者其他流媒体服务器)通过RTSP/RTP协议将流媒体音视频数据拉取到流媒体转发服务器,再通过内部分发调度机制,分发给请求转发的客户端的过程;
拉模式转发的用途非常广泛:内网直播、服务器级联、NVR等各个方面,结合服务端存储,还可以做成边转发直播、边录像的功能;
EasyDarwin拉模式转发
EasyDarwin的拉模式转发需要做到几点:
- 通用接入:接入市面上大部分的IPCamera及NVR;
- 按需拉取:只有在有用户请求播放数据的时候,EasyDarwin才会向源端获取数据;
- 无请求释放:当某一路转发的用户观看量减少为0时,EasyDarwin需要主动释放对源端的拉取;
- 预配置:拉模式转发模块能够读取预配置的拉模式列表xml配置;
- 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
获取更多信息
Copyright © EasyDarwin.org 2012-2016

EasyDarwin流媒体服务器RTSP拉模式流媒体转发模块设计的更多相关文章
- EasyDarwin开源流媒体服务器低延时直播之转发缓存跟进算法
前言 前一段时间,我们为EasyDarwin实现了客户端快速显示画面/听到同步声音的缓存关键帧检索方案,具体的实现方法分别在<EasyDarwin手机直播是如何实现的快速显示视频的方法>和 ...
- 用Darwin开发RTSP级联服务器(拉模式转发)(附源码)
源码下载地址:https://github.com/EasyDarwin orwww.easydarwin.org 在博客 在Darwin进行实时视频转发的两种模式 中,我们描述了流媒体服务器对源端音 ...
- EasyDarwin在做拉模式转发海康RTSP摄像机视频流的过程中出现花屏问题的解决方案
问题描述 在3年前我当时基于EasyDarwin为用户开发了一款RTSP拉模式转发的程序,也发布了一篇博客<用Darwin开发RTSP级联服务器(拉模式转发)>,当时考虑的很简单,只要将R ...
- 用Darwin开发RTSP级联server(拉模式转发)(附源代码)
源代码下载地址:https://github.com/EasyDarwin orwww.easydarwin.org 在博客 在Darwin进行实时视频转发的两种模式 中,我们描写叙述了流媒体serv ...
- EasyDSS高性能RTMP、HLS(m3u8)、HTTP-FLV、RTSP流媒体服务器的视频直播录像、检索、回放方案
需求背景: 近期遇到客户反馈对于直播摄像机录像功能是有一定的需求点的,其实EasyDarwin团队早就研发出对应功能,只是用户对于产品没有足够了解,因此本篇将对录像功能来做一次介绍. 首先,录像就是对 ...
- 复用TCP连接提升流媒体服务器之间流量转发效率
由于媒体推流客户端所在地域不同.所接入网络运营商不同.就近接入原则等因素,导致不同的视频推流客户端会推流至不同的流媒体服务器(本文主要针对目前WEB或手机的基于TCP的流媒体服务器),在某流媒体服务器 ...
- C#调用EasyPusher推送到EasyDarwin流媒体服务器直播方案及示例代码整理
博客一:转自:http://blog.csdn.net/u011039529/article/details/70832857 大家好,本人刚毕业程序猿一枚.受人所托,第一次写博客,如有错误之处敬请谅 ...
- 高性能流媒体服务器EasyDarwin
标准RTSP拉模式直播(EasyRelayModule):适合内部监控 分布式部署(EasyCMSModule):负载均衡主要是用Reids作为负载
- ffmpeg+EasyDSS流媒体服务器实现稳定的rtmp推流直播
本文转自EasyDarwin团队成员Alex的博客:http://blog.csdn.net/cai6811376/article/details/74783269 需求 在做EasyDSS开发时,总 ...
随机推荐
- 11深入理解C指针之---指针和常量
该系列文章源于<深入理解C指针>的阅读与理解,由于本人的见识和知识的欠缺可能有误,还望大家批评指教. 指针作为C语言的左膀右臂,使用方便,修改容易,引用数据快速都是很有前景的应用.C语言中 ...
- Java后端WebSocket的Tomcat实现 html5 WebSocket 实时聊天
WebSocket协议被提出,它实现了浏览器与服务器的全双工通信,扩展了浏览器与服务端的通信功能,使服务端也能主动向客户端发送数据.Tomcat7.0.47上才能运行. 需要添加Tomcat里lib目 ...
- SPOJ LIS2 - Another Longest Increasing Subsequence Problem(CDQ分治优化DP)
题目链接 LIS2 经典的三维偏序问题. 考虑$cdq$分治. 不过这题的顺序应该是 $cdq(l, mid)$ $solve(l, r)$ $cdq(mid+1, r)$ 因为有个$DP$. #i ...
- poj 2104 K-th Number(主席树
Time Limit: 20000MS Memory Limit: 65536K Total Submissions: 59058 Accepted: 20529 Case Time Limi ...
- win10 nginx + django +flup 配置
1 安装 Nginx 官网下载,直接点exe启动即可 2 安装django pip install django 注意 新建立项目时 python *****/django-admin.py star ...
- ubuntu怎样打开命令行终端(5种方法)
内容中包含 base64string 图片造成字符过多,拒绝显示
- 利用VideoView播放视频
package com.qianhua.ui; 002 003 import android.app.Activity; 004 import android.content.Intent; 00 ...
- PS 基础知识 如何绘制几何图形
注意:规则的几何图形必须用路径工具,如果使用简单的椭圆工具再描边,则效果是像素堆砌起来的.图像一旦放大就是出现明显的失真. 使用钢笔工具,然后选择路径工具,然后选择需要绘制的图形. 如果需要找 ...
- PS常用平面设计制作尺寸
PHOTPSHOP照片处理 数码照片尺寸 平面设计常用制作尺寸 名片 横版:90*55mm<方角> 85*54mm<圆角> 竖版:50*90mm<方角> ...
- python读取txt、csv和excel文件
一.python读取txt文件:(思路:先打开文件,读取文件,最后用for循环输出内容) fp = open('test.txt','r') lines = fp.readlines() fp.clo ...