Repolode
ossrs

ossrs/srs

SRS is a high-performance real-time media server supporting RTMP, WebRTC, HLS, HTTP-FLV, SRT, MPEG-DASH and GB28181 streaming.

Open-source alternative to:Wowza Streaming Engine

Stars
29,433
Forks
5,707
Open issues
11
Last commit
8 days ago

What is it?

SRS (Simple Realtime Server) is a media server for live streaming and real-time audio and video. It accepts streams over RTMP, WebRTC, SRT and GB28181, and delivers them through HLS, HTTP-FLV, HTTP-TS and MPEG-DASH, so one ingest pipeline can serve desktop players, browsers and mobile clients.

It runs on Linux and macOS across x86_64, ARM, RISC-V, LoongArch and MIPS, and natively on Windows x64. Supported codecs include H.264, H.265, AV1, VP9, AAC, Opus and G.711. It is distributed as a Docker image, and the project also documents an HTTP API and Prometheus exporter for operations.

SRS is released under the MIT license. Its getting-started guide covers pushing a stream from FFmpeg or OBS and playing it back in VLC or a browser-based player.

Key features

  • 01Ingests and distributes RTMP, WebRTC, SRT and GB28181 streams.
  • 02Delivers live content over HLS, HTTP-FLV, HTTP-TS and MPEG-DASH.
  • 03Supports H.264, H.265, AV1, VP9, AAC, Opus and G.711 codecs.
  • 04Runs on Linux, macOS and Windows x64 across many CPU architectures.
  • 05Provides an HTTP API and Prometheus exporter for management and monitoring.

Use cases

  • Building a live streaming platform that accepts OBS or FFmpeg publishers.
  • Converting between RTMP and WebRTC for low-latency browser playback.
  • Receiving GB28181 camera streams and redistributing them over web protocols.
  • Running a self-hosted streaming backend in Docker.

Quick start

  1. 1

    Run SRS with Docker

    docker run --rm -it -p 1935:1935 -p 1985:1985 -p 8080:8080 -p 8000:8000/udp -p 10080:10080/udp ossrs/srs:6
  2. 2

    Open the verification page in a browser

  3. 3

    Stream a test file with FFmpeg

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

Things to know

  • Some third-party libraries are distributed under their own licenses.

Topics

FAQ

What is srs?
SRS is a high-performance real-time media server supporting RTMP, WebRTC, HLS, HTTP-FLV, SRT, MPEG-DASH and GB28181 streaming. SRS (Simple Realtime Server) is a media server for live streaming and real-time audio and video. It accepts streams over RTMP, WebRTC, SRT and GB28181, and delivers them through HLS, HTTP-FLV, HTTP-TS and MPEG-DASH, so one ingest pipeline can serve desktop players, browsers and mobile clients.
Is srs free to use? What license does it have?
srs is open source under the MIT license. Check the license terms before using it in commercial products.
Is srs still maintained?
Actively maintained. The last commit to srs was on Oct 31, 2026.
What can I use srs for?
Building a live streaming platform that accepts OBS or FFmpeg publishers. Converting between RTMP and WebRTC for low-latency browser playback. Receiving GB28181 camera streams and redistributing them over web protocols. Running a self-hosted streaming backend in Docker.
How do I install srs?
Run SRS with Docker: docker run --rm -it -p 1935:1935 -p 1985:1985 -p 8080:8080 -p 8000:8000/udp -p 10080:10080/udp ossrs/srs:6 Open the verification page in a browser Stream a test file with FFmpeg: ffmpeg -re -i ./doc/source.flv -c copy -f flv -y rtmp://localhost/live/livestream
Where can I get srs?
The source code and installation instructions are on GitHub: https://github.com/ossrs/srs

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects