wss-sosen / srs-stack

SRS Stack is a one-click, open-source video solution for creating online services on cloud or self-hosting. Built with SRS, FFmpeg, and WebRTC, it supports various protocols and offers features like authentication, multi-platform streaming, recording, virtual live events, automatic HTTPS, and HTTP Open API.

Home Page:https://discord.gg/bQUPDRqy79

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

SRS-Stack

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.

Note: For more details on the SRS Stack, please visit the following link.

Usage

Run srs-stack in one docker:

docker run --rm -it -p 2022:2022 -p 2443:2443 -p 1935:1935 \
  -p 8080:8080 -p 8000:8000/udp -p 10080:10080/udp --name srs-stack \
  -v $HOME/data:/data ossrs/srs-stack:5

Note: Please use -e REACT_APP_LOCALE=zh and registry.cn-hangzhou.aliyuncs.com/ossrs/srs-stack:5 in China.

Note: All data will be saved in $HOME/data directory, please change it to your directory.

Then open http://localhost:2022 in browser.

You have the option to modify the volumes for srs-stack and direct them to different directories.

  • /data The global data directory.
    • .well-known The directory for Let's Encrypt ACME challenge.
    • config The .env for password, srs/redis/nginx/prometheus config, and SSL files.
    • dvr The dvr storage directory, save dvr files.
    • lego The LEGO Let's Encrypt ACME challenge directory.
    • record The record storage directory, save record files.
    • redis The redis data directory, the publish secret and record configuration.
    • signals The signals storage directory, save signal files.
    • upload The upload storage directory, save upload files.
    • vlive The storage directory for virtual live, save video files.
    • vod The storage directory for VoD, save video files.
    • nginx-cache The storage directory for nginx cache, save cache files.

You can use environment variables to modify the settings.

  • MGMT_PASSWORD: The mgmt administrator password.
  • REACT_APP_LOCALE: The i18n config for ui, en or zh, default to en.

Note: The MGMT_PASSWORD is also saved in /data/config/.env, you can modify it by yourself.

To access additional environment variables, please refer to the Environments section.

Sponsor

Would you like additional assistance from us? By becoming a sponsor or backer of SRS, we can provide you with the support you need:

  • Backer: $5 per month, online text chat support through Discord.
  • Sponsor: $100 per month, online meeting support, 1 meeting per month in 1 hour.

Please visit OpenCollective to become a backer or sponsor, and send us a direct message on Discord. We are currently providing support to the developers listed below:

We at SRS aim to establish a non-profit, open-source community that assists developers worldwide in creating your own high-quality streaming and RTC platforms to support your businesses.

FAQ

  1. English FAQ
  2. 中文 FAQ

Tutorials

  • Getting Started: Blog, EN, CN.
  • Support WordPress Plugin: Blog, EN, CN or WordPress Plugin.
  • Support Automatic HTTPS: Blog, EN, CN.
  • Support aaPanel to install on any linux: Blog, EN, CN.
  • Support DVR to local disk: Blog, EN, CN.
  • Support Virtual Live Streaming: CN.
  • Support build small HLS deliver CDN by Nginx.
  • Support Live Streaming: CN.
  • Support Realtime SRT Streaming: CN.
  • Support DVR to Tencent Cloud Storage or VoD: CN.
  • Support Typecho Plugin: CN.

Other more use scenarios is on the way, please read this post.

Features

The features that we're developing:

  • A mgmt support authentication and automatic updates.
  • Run SRS in docker, query status by docker and SRS API.
  • Support publish by RTMP/WebRTC, play by RTMP/HTTP-FLV/HLS/WebRTC.
  • SRS container use docker logs json-file and rotate for logging.
  • Support high-resolution and realtime(200~500ms) live streaming by SRT.
  • Run SRS hooks in docker, to callback by SRS server.
  • Support publish by SRT, play by RTMP/HTTP-FLV/HLS/WebRTC/SRT.
  • Change redis port and use randomly password.
  • Support integrity with tencent cloud VoD.
  • Forward stream to multiple platforms.
  • Support WordPress Plugin: SrsPlayer.
  • Support aaPanel to install on any linux.
  • Support DVR to local disk.
  • Support upgrade to latest version manually.
  • Support HTTPS by let's encrypt with LEGO.
  • Support virtual live streaming, covert file or other resource to live.
  • Support self-host HLS CDN, to serve 10k+ viewers.
  • Support Typecho Plugin: Typecho-Plugin-SrsPlayer.
  • Support DVR to TencentCloud storage.
  • Support limit the streaming duration to limit the fee.
  • Support GB28181 by SRS 5.0 container.
  • Support live streaming transcoding by FFmpeg, see #2869.
  • Support WebRTC face to face chat, see #2857.
  • Support WebRTC video chat room, see #2924.
  • Support a set of tools for developer, see #2891.
  • Collect logs of mgmt and containers together.
  • Stop, restart and upgrade containers.
  • Support logrotate to manage the logs.
  • Enhance prometheus API with authentication.
  • Integrate with prometheus and node-exporter.

License

SRS Stack is an open-source project, licensed under the AGPL-3.0-or-later license.

Developer

For development, please refer to the Environments about the API and architecture.

2022.11

About

SRS Stack is a one-click, open-source video solution for creating online services on cloud or self-hosting. Built with SRS, FFmpeg, and WebRTC, it supports various protocols and offers features like authentication, multi-platform streaming, recording, virtual live events, automatic HTTPS, and HTTP Open API.

https://discord.gg/bQUPDRqy79

License:GNU Affero General Public License v3.0


Languages

Language:JavaScript 45.3%Language:Go 24.6%Language:HTML 17.0%Language:Shell 8.5%Language:Python 4.1%Language:Dockerfile 0.2%Language:Makefile 0.2%Language:CSS 0.0%