git404hub

what is srs fr?

ossrs/srs — explained in plain English

Analysis updated 2026-05-18

28,789C++Audience · developerComplexity · 4/5LicenseSetup · hard

tl;dr

Self-hosted media server that receives live video streams and delivers them to viewers across multiple protocols (RTMP, HLS, WebRTC, DASH) and devices.

vibe map

mindmap
  root((SRS))
    What it does
      Receive streams
      Deliver to viewers
      Multi-protocol support
    Ingest protocols
      RTMP
      SRT
    Delivery formats
      HLS
      WebRTC
      RTMP
      HTTP-FLV
      MPEG-DASH
    Encoding support
      H.264 H.265 AV1
      AAC Opus G.711
      FFmpeg transcoding
    Deployment
      Self-hosted
      Docker
      Cloud VMs
    Use cases
      Live events
      Video platforms
      Low-latency streaming

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

what do people make with this?

VIBE 1

Run a live streaming platform where broadcasters send video via OBS and viewers watch in their browser.

VIBE 2

Build a low-latency video chat or live event system using WebRTC delivery to reduce streaming delay.

VIBE 3

Set up a video-on-demand service that transcodes and distributes content across multiple formats and devices.

VIBE 4

Deploy a multi-server streaming cluster to handle high viewer loads by distributing traffic across edge nodes.

what's the stack?

C++RTMPHLSWebRTCFFmpegSRTDocker

how it stacks up fr

ossrs/srsgabime/spdlogdmlc/xgboost
Stars28,78928,72028,351
LanguageC++C++C++
Setup difficultyhardeasyeasy
Complexity4/52/53/5
Audiencedeveloperdeveloperdata

Figures from each repo's GitHub metadata at analysis time.

how do i run it?

Difficulty · hard time til it works · 1day+

Requires Docker, FFmpeg compilation, WebRTC stack setup, and multiple protocol implementations, no single quick-start path.

Use freely for any purpose including commercial, as long as you keep the copyright notice.

in plain english

SRS (Simple Realtime Server) is a self-hosted media server written in C++ that handles live video streaming. Its job is to receive a video stream from a broadcaster and deliver it to many viewers simultaneously, acting as the hub between a video source and an audience. The server supports a wide range of streaming protocols. On the ingest side, it accepts streams sent via RTMP (the protocol used by broadcasting tools like OBS) and SRT. On the delivery side, it can serve those streams to viewers in multiple formats: RTMP for desktop players, HLS (HTTP Live Streaming, which plays in browsers and mobile apps), HTTP-FLV (a browser-compatible format), MPEG-DASH (an adaptive streaming format), and WebRTC (for low-latency real-time communication in browsers). This flexibility means the same single incoming stream can be delivered in whatever format different viewers' devices need. For video and audio encoding, SRS handles H.264, H.265, AV1, VP9, AAC, Opus, and G.711. It can also transcode streams using FFmpeg, forward streams to other servers, and cluster into edge-origin configurations to distribute load across multiple machines. A streaming platform, a live event broadcaster, or a developer building a video-on-demand or live chat product who needs a lightweight, open-source alternative to managed streaming services would deploy SRS on their own server. It can be run from source, via Docker, or on cloud virtual machines.

prompts (copy fr)

prompt 1
How do I set up SRS to accept RTMP streams from OBS and deliver them as HLS to web browsers?
prompt 2
Show me how to configure SRS to transcode incoming streams with FFmpeg and serve them in multiple formats simultaneously.
prompt 3
What's the simplest way to deploy SRS in Docker and test it with a sample RTMP stream?
prompt 4
How do I cluster multiple SRS instances together so one origin server feeds content to edge servers for load distribution?
prompt 5
Can you explain how to use SRS for low-latency WebRTC streaming instead of HLS?

Frequently asked questions

what is srs fr?

Self-hosted media server that receives live video streams and delivers them to viewers across multiple protocols (RTMP, HLS, WebRTC, DASH) and devices.

What language is srs written in?

Mainly C++. The stack also includes C++, RTMP, HLS.

What license does srs use?

Use freely for any purpose including commercial, as long as you keep the copyright notice.

How hard is srs to set up?

Setup difficulty is rated hard, with roughly 1day+ to a first successful run.

Who is srs for?

Mainly developer.

peek the repo → explain another one

This repo across BitVibe Labs

double-check against the repo, no cap.