多实例srs:srs-srs-dolphin

转载 2016年08月31日 10:38:43

原文地址:https://github.com/ossrs/srs-dolphin


复制黏贴用法


srs-dolphin

The dolphin is a MultipleProcess SRS SRS container, which start multiple SRS in edge mode in seperate process.

About

The dolphin is the most simple MultipleProcess arch for RTMP/HTTP-FLV of SRS.

The srs-sharp is a similar project, but srs-sharp is a HTTP FLV reverse proxy, its performance is great and is's ok for HTTP FLV stream. The bellow table is a comparation between srs-sharp and srs-dolphin:

Project Goal Protocol Performance Deploy
srs-sharp HTTP-FLV HTTP 10k, 300%CPU Manual(*)
srs-dolphin RTMP/HTTP-FLV TCP 20k, 320%CPU Auto(*)

Remark:

  1. Manual Deploy of srs-sharp: User should manually deply the SRS edge, then start srs-sharp to proxy the ports of SRS.
  2. Auto Deploy of srs-dolphin: User only need to start srs-dophin, which will auto manage the SRS.

Usage

Step 1: Prepare SRS:

cd ~ && git clone https://github.com/simple-rtmp-server/srs.git &&
cd ~/srs/trunk && ./configure --with-ffmpeg && make && ./objs/srs -c conf/srs.conf

Remark: We clone the SRS and Dolphin to user home, user can specify others.

Step 2: Clone the srs-dolphin:

cd ~ && git clone https://github.com/simple-rtmp-server/srs-dolphin.git

Step 3: Build and run the srs-dolphin:

cd ~/srs-dolphin/trunk && make && 
./objs/srs_dolphin -w 4 -p 19350 -x 8088 \
    -b ~/srs/trunk/objs/srs -c conf/dolphin.conf \
    -s 1936,1937,1938,1939 -y 8081,8082,8083,8084

Remark: User can specifies the SRS in other valid path.
Remark: The conf/dolphin.conf is a default conf for SRS by dolphin, user can use others.
Remark: Use the command to test your config for SRS in dolphin mode ~/srs/trunk/objs/srs -c conf/dolphin.conf -p 19350 -x 8088, it's ok when your SRS start normally.

Step 4: Publish stream

cd ~/srs/trunk &&
for ((;;)); do
    ./objs/ffmpeg/bin/ffmpeg -re -i ./doc/source.200kbps.768x320.flv \
        -vcodec copy -acodec copy -f flv -y rtmp://127.0.0.1:1935/live/livestream
done

Step 5: Play stream

Origin SRS RTMP stream: rtmp://127.0.0.1:1935/live/livestream
Edge Dolphin RTMP stream: rtmp://127.0.0.1:19350/live/livestream
Edge Dolphin HTTP-FLV stream: http://127.0.0.1:8088/live/livestream.flv

Remark: User can use SB to do the benchmark.

Features

  1. Multiple Processes for SRS edge.
  2. Delivery stream in RTMP.
  3. Delivery stream in HTTP FLV.
  4. [dev] Support HTTP API for Multiple Processes.
  5. [dev] Muktiple Processes for SRS origin.
  6. [dev] Auto fork new process when worker or SRS exit.
  7. [dev] Load balance proxy for RTMP and HTTP-FLV.

Winlin 2015.5


SRS进入20K时代,不仅仅是并发

SRS进入20K时代,不仅仅是并发 2015-05-29 winlin SRS 单进程SRS支持7.5k并发,如果单机需要单机100K并发,可以使用多进程SRS,即SRS-DO...
  • winlinvip
  • winlinvip
  • 2015年05月29日 11:29
  • 4202

boonex dolphin安装心得

由于项目需要,最近开始研究一款国外的社区软件,澳大利亚boonex公司的dolphin社区套件。尽管国内已经有很多不错的开源社区软件如discuz等,但dolphin提供了近40中模块插件来扩展社区功...
  • alucardpj
  • alucardpj
  • 2011年12月07日 23:52
  • 2408

srs代码学习(5)--一些与运营相关的技术点

和大规模运营相关的技术点。我想到的有下面四个 1)vhost 2) edge  3) forword 4) log trace  5)reload 下面来一个一个具体分析...
  • ddr77
  • ddr77
  • 2016年08月31日 10:33
  • 1746

SRS

SRS Overview SRS定位是运营级的互联网直播服务器集群,追求更好的概念完整性和最简单实现的代码。SRS提供了丰富的接入方案将RTMP流接入SRS,包括推送RTMP到SRS、推送RTS...
  • qq_34047841
  • qq_34047841
  • 2016年07月20日 15:50
  • 464

基于SRS的RTMP分发技术方案

一、采集 SRS支持两种方式得到RTMP直播源。 一种是使用FFmpeg, 设备或其它方式将流推送到SRS。 另一种方式是SRS本身带采集功能。 采集(Ingest)指的是将文件(fl...
  • ai2000ai
  • ai2000ai
  • 2017年05月26日 14:46
  • 1896

srs代码学习(6)--如何实现edge

sre集群的方式有两种一种是forword类型的。一种是edge-origin类型的。后者比前者要复杂的多。就从比较难的开始分析。 有实现edge,首先得在配置文件中做配置。配置方式如下 这个...
  • ddr77
  • ddr77
  • 2016年09月06日 10:51
  • 2034

srs之直播数据分析

本文转载 客服接到客户投诉,为毛直播看不了?为毛一直在卡?比较常见的答案是:农民工又挖断光纤了,黑客又攻击系统了。有毛线办法?看过FMS日志的都知道,里面没有任何有用的信息。俺们公司的大码农当年在某C...
  • zjqlovell
  • zjqlovell
  • 2016年03月03日 09:18
  • 2400

Android直播实现(二)srs流媒体服务器部署

前面介绍了Android端的编码、推流和播放 Android直播实现(一)Android端推流、播放但是作为android程序员,写好了推流器和播放器,没有服务器来测试还是很头疼的,这里就介绍一下...
  • Mr_Sk
  • Mr_Sk
  • 2017年05月02日 17:46
  • 6115

问什么是ESCON , FICON,DIRECTOR

ESCON——Enterprise Systems CONnection,管理系统连接。是IBM S/390的光纤通道,能在60千米距离内以17MB/s速率进行数据传输。ESCON允许外围设备跨大园区...
  • ranzi
  • ranzi
  • 2004年09月08日 21:12
  • 1727

面向对象的5个编码原则

一、多聚合,少继承.高内聚、低耦合 高内聚、低耦合 内聚:每个模块尽可能独立完成自己的功能,不依赖于模块外部的代码。 耦合:模块与模块之间接口的复杂程度,模块之间联系越复杂耦合度越高...
  • c364902709
  • c364902709
  • 2017年02月20日 23:49
  • 317
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:多实例srs:srs-srs-dolphin
举报原因:
原因补充:

(最多只允许输入30个字)