Skip to content

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

License

Notifications You must be signed in to change notification settings

pigzjq/srs-dolphin

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 

Repository files navigation

srs-dolphin

The dolphin is a MultipleProcess for SRS.

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 - 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 -p 19350 -w 4 -s 1936,1937,1938,1939 \
    -b ../../srs/trunk/objs/srs -c conf/dolphin.conf

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.

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 stream: rtmp://127.0.0.1:1935/live/livestream
Edge Dolphin stream: rtmp://127.0.0.1:19350/live/livestream

Remark: User can use SB to do the benchmark.

Features

  1. [dev] Multiple Processes for SRS edge.
  2. [dev] Delivery stream in RTMP.
  3. [dev] Delivery stream in HTTP FLV.

Winlin 2015.5

About

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

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 95.9%
  • Makefile 4.1%