Skip to content

v4_EN_Home

winlin edited this page Jan 4, 2022 · 77 revisions

HOME > EN

Remark: SRS4 is developing and not stable.

SRS Overview

SRS is a simple, high efficiency and realtime video server, supports RTMP/WebRTC/HLS/HTTP-FLV/SRT.

SRS Overview

Note: See https://www.processon.com/view/link/619f29791efad425fd699fd2

Getting Started

Get SRS source, recommend CentOS7:

git clone -b 4.0release https://gitee.com/ossrs/srs.git

Note: Recommend docker, or K8s

Build SRS in srs/trunk:

cd srs/trunk
./configure
make

Run SRS server:

./objs/srs -c conf/srs.conf

Check SRS by http://localhost:8080/ or:

# Check the process status
./etc/init.d/srs status

# Check the SRS logs
tail -n 30 -f ./objs/srs.log

Publish stream by FFmpeg or OBS :

ffmpeg -re -i ./doc/source.flv -c copy -f flv rtmp://localhost/live/livestream

Play stream by:

Note that if convert RTMP to WebRTC, please use rtmp2rtc.conf:

Note: Please set CANDIDATE if need to enable WebRTC, please read CANDIDATE

Please read more information about SRS.

Docker

Run SRS docker, the available images is here :

docker run --rm -it -p 1935:1935 -p 1985:1985 -p 8080:8080 \
    ossrs/srs:4 ./objs/srs -c conf/docker.conf

If need to enable WebRTC, please set the CANDIDATE and expose UDP/8000 :

docker run --rm -it -p 1935:1935 -p 1985:1985 -p 8080:8080 \
    --env CANDIDATE="192.168.1.10" -p 8000:8000/udp \
    ossrs/srs:4 ./objs/srs -c conf/docker.conf

Note: About CANDIDATE, please read CANDIDATE

Note: If convert RTMP to WebRTC, please use rtmp2rtc.conf

Please read more information about SRS.

K8s

Highly recommend that you Deploy to Cloud Platforms.

SRS provides a set of template repository for fast deploy:

Please read more information about SRS.

Effective SRS

SRS is industrial-strength live streaming cluster, for the best conceptual integrity and the simplest implementation. SRS provides variety of inputs, for example, Push RTMP to SRS, Push RTSP/UDP/FLV to SRS, Pull Stream to SRS. SRS can transform the RTMP to other protocols or deliveries, for example, RTMP Transcode, Snapshot, Forward to Other Servers, Transmux to HTTP-FLV, Transmux to HLS, Transmux to HDS, Transmux SRT, DVR to FLV/MP4. SRS canbe used in CDN for large stream clusters, for example, RTMP ClusterOriginCluster, VHOST, Reload, HTTP-FLV Cluster. Futhermore, SRS provides apis, for example, HTTP Callback, Security, HTTP API. There're lots of Applications in both CDN and origin servers.

Note: Please read https://www.processon.com/view/link/619f25c37d9c083e98adb37e for details.

Note: Use K8S to deploy Edge ClusterOrigin Cluster

Deployment Guides:

We illustrate and explain how to deploy SRS for typical use scenarios.

Cluster Guides:

The examples here are aimed for deploying and maintaining origin/edge cluster.

Integration Guides:

Develop Guide

Migrate From NGINX-RTMP:

If you are a user of nginx-rtmp, there is a tendency to use SRS as nginx-rtmp that you already know. Be aware of this bias and try to avoid it.

  • NG EXEC: Fork/Exec external program when got some event.

User Guides:

  • Quick Start: A quick introduction of SRS, please start here.
  • Milestones: The milestone and product design。
  • Why SRS: Why you should choose SRS? What's the roadmap?
  • GIT Mirrors: The GIT mirrors of SRS to get SRS faster.
  • Main Features: The features list of SRS. Some features is introduced from specified version; while some features are experiment.
  • Releases: The released versions of SRS.
  • Docs: The detail tech docs of SRS.
  • Compare: The comparation of SRS to other servers.
  • Performance: The performance benchmark.

Join Us:

Questions or need help?

For any help, contact us.

Winlin 2020.01

Welcome to SRS wiki!

SRS 5.0 wiki

Please select your language:

SRS 4.0 wiki

Please select your language:

SRS 3.0 wiki

Please select your language:

SRS 2.0 wiki

Please select your language:

SRS 1.0 wiki

Please select your language:

Clone this wiki locally