SRS logo

SRS

High-efficiency real-time video server supporting all major streaming protocols.

SRS delivers low-latency, cross-platform streaming with RTMP, WebRTC, HLS, HTTP-FLV, SRT, MPEG-DASH, and GB28181, runnable via Docker on x86, ARM, and more.

SRS banner

Overview

Overview

SRS (Simple Realtime Server) is a lightweight, high‑efficiency video server designed for developers who need real‑time streaming across a wide range of protocols. It runs on Linux and macOS and supports diverse CPU architectures including x86_64, ARMv7, AARCH64, M1, RISCV, LOONGARCH, and MIPS.

Deployment & Usage

The server can be started instantly with a Docker image that exposes the standard RTMP, HTTP‑FLV, HLS, and WebRTC ports. Streams can be ingested from FFmpeg or OBS and played back with VLC, srs-player, or any compatible client. Advanced features such as clustering, HTTP API, DVR, and transcoding are available for more complex deployments, and optional Discord‑based support is offered for backers.

Community & Extensibility

SRS is released under the MIT license and benefits from an active community that contributes documentation in English and Chinese. Its modular design allows developers to extend functionality or integrate custom workflows while keeping the core server fast and reliable.

Highlights

Native support for RTMP, WebRTC, HLS, HTTP-FLV, SRT, MPEG-DASH, GB28181
Runs on Linux/macOS across x86_64, ARMv7, AARCH64, M1, RISCV, LOONGARCH, MIPS
Docker-ready image with pre-configured ports for quick start
Extensible via HTTP API, clustering, DVR and transcoding modules

Pros

  • Low latency streaming across many protocols
  • Broad architecture support including ARM and RISC‑V
  • Simple Docker deployment reduces setup time
  • Active community and optional Discord support

Considerations

  • Advanced features may require manual configuration
  • Documentation split between English and Chinese can be fragmented
  • Enterprise-grade clustering still in development
  • No built-in GUI; relies on external players

Managed products teams compare with

When teams consider SRS, these hosted platforms usually appear on the same shortlist.

Agora Interactive Live Streaming logo

Agora Interactive Live Streaming

Real-time interactive live video with sub-second latency.

Amazon IVS logo

Amazon IVS

Managed low-latency live streaming on AWS.

Ant Media Server logo

Ant Media Server

Ultra-low latency live streaming server with WebRTC, HLS, SRT, and RTMP

Looking for a hosted option? These are the services engineering teams benchmark against before choosing open source.

Fit guide

Great for

  • Developers building custom live‑streaming platforms
  • Edge devices needing lightweight RTMP/WebRTC gateway
  • Educational labs experimenting with multiple streaming protocols
  • Startups requiring quick Docker‑based deployment

Not ideal when

  • Organizations that need a fully managed SaaS streaming service
  • Projects requiring out‑of‑the‑box analytics dashboards
  • Teams without Linux/macOS expertise for custom builds
  • Use cases demanding native Windows binaries

How teams use it

Live gaming broadcast

Stream game footage via OBS to RTMP, then deliver to viewers through HLS and WebRTC with sub-second latency.

Surveillance camera gateway

Ingest GB28181 streams, convert to RTMP or HTTP-FLV for web-based monitoring dashboards.

Online education platform

Provide low-latency classroom streams using WebRTC while archiving sessions via DVR for later playback.

Multi-protocol CDN edge node

Accept incoming SRT or RTMP streams, repackage to MPEG-DASH and serve to heterogeneous client devices.

Tech snapshot

C++93%
JavaScript3%
HTML2%
Shell1%
Go1%
Python1%

Tags

videoc-plus-plusdashmedia-serverlow-latencyliveaudioprometheus-exporterrtmphlslive-streamingcserver-sidesrthevcmultimediawebrtcvideo-conferencingstreamingvideo-streaming

Frequently asked questions

What operating systems does SRS support?

Linux and macOS are officially supported; binaries are available for x86_64, ARMv7, AARCH64, M1, RISCV, LOONGARCH, and MIPS.

Can I run SRS without Docker?

Yes, you can compile from source on any supported platform, but Docker provides the quickest start-up experience.

How is real-time latency achieved?

SRS uses native RTMP/WebRTC pipelines and minimal buffering, delivering sub-second latency when configured appropriately.

Is there commercial support?

Optional support is offered through a $5/month Discord backer tier, providing direct text chat assistance.

Where can I find protocol documentation?

Comprehensive guides for RTMP, HLS, HTTP-FLV, SRT, MPEG-DASH, and WebRTC are available in the project's English and Chinese wiki.

Project at a glance

Active
Stars
28,407
Watchers
28,407
Forks
5,640
LicenseMIT
Repo age10 years old
Last commitlast month
Primary languageC++

Last synced yesterday