SRS

SRS Stack makes it easy for you to create an online video service with just one click, either on cloud platforms like DigitalOcean or AWS or by self-hosting. This open-source, simple video solution is made using Go, Reactjs, SRS, FFmpeg, and WebRTC. It supports protocols like RTMP, WebRTC, HLS, HTTP-FLV, and SRT. It offers features like authentication, streaming on multiple platforms, recording, virtual live events, automatic HTTPS, and an easy-to-use HTTP Open API.

Features

  • Publish live streams with WebRTC, RTMP or SRT
  • Play Live streams with RTMP, SRT, HTTP-FLV, WebRTC and HLS
  • WebRTC to RTMP Adapter, vice versa
  • Web Management Dashboard
  • Stream authentication for publisher
  • Open Source SRS Media Server
  • Automatic HTTPS by letsencrypt
  • Multi-Platform streaming.
  • Record live stream to MP4 file.

Tutorials

Software Included

Package Version License
SRS Stack 5.9.27 AGPL-3.0-or-later
SRS 5.0 MIT
Docker 20.10 Apache-2.0
Nginx 1.18.0 Custom
Redis 5.0 BSD-3-Clause
FFmpeg 4.2 GPL-2.0

Creating an App using the Control Panel

Click the Deploy to DigitalOcean button to create a Droplet based on this 1-Click App. If you aren’t logged in, this link will prompt you to log in with your DigitalOcean account.

Deploy to DO

Creating an App using the API

In addition to creating a Droplet from the SRS 1-Click App using the control panel, you can also use the DigitalOcean API. As an example, to create a 4GB SRS Droplet in the SFO2 region, you can use the following curl command. You need to either save your API access token) to an environment variable or substitute it in the command below.

curl -X POST -H 'Content-Type: application/json' \
         -H 'Authorization: Bearer '$TOKEN'' -d \
        '{"name":"choose_a_name","region":"sfo2","size":"s-2vcpu-4gb","image": "ossrs-srs"}' \
        "https://api.digitalocean.com/v2/droplets"

Getting Started After Deploying SRS

Please follow the steps to configure SRS.

Step 1

Create a droplet from the image available in the Marketplace.

Step 2

After you created a Droplet, you can navigate to http://your_droplet_public_ipv4/mgmt to initialize it.

Note: If you forget the password, you can find it at /data/config/.env as env MGMT_PASSWORD

Step 3

Follow the guide in SRS, to publish stream and play it.

Step 4 (Optional)

If wants to publish by WebRTC, you must setup the HTTPS.

Add a domain to your droplet. This is required because most browsers require HTTPS in order to allow you to use the camera and microphone in a website, and it’s not possible to enable HTTPS just with an IP.

Then navigate to System / HTTPS and input your domain, click the Submit to request a HTTPS cert from letsencrypt.