← Back to all sparks
S

SRS

MEETINGS
Velocity0.0

Simple Realtime Server, an open-source live streaming and WebRTC media server.

SRS 6.0 went stable by making H.265 work everywhere, not just in one protocol.

streaming-serverhevcwebrtcsrtself-hostedopen-source
Current state
SRS shipped 6.0 release 0 in December 2025, promoting the 6.0 line to stable in place of 5.0 at roughly 170,000 lines of code. The headline is H.265/HEVC carried across RTMP, HTTP-FLV, HLS, HTTP-TS and SRT, with DVR recording to both MP4 and FLV. WebRTC gained WHEP for playback, stereo Opus over SDP and a configurable AAC-to-Opus bitrate; SRT moved to libsrt 1.5.3 with round-trip latency reported down to 200ms.
Where it's heading
The eighteen months of alpha and beta tags before release 0 were overwhelmingly crash, leak and iterator fixes — smart-pointer conversions, use-after-free repairs in the HLS and bridge paths, RTC-to-RTMP stability. That is the signature of a project stabilizing an existing engine rather than extending it, with the codec work landing at the end. SRS is positioning as the self-hosted streaming server that speaks every ingest and egress protocol in one binary.
Prediction
With 6.0 now the stable line, the pattern from the 5.0 era points to a run of 6.0 patch releases carrying fixes rather than features. The entries give no indication of what the next major line targets.

Recent moves

  1. 7mo ago

    SRS 6.0 goes stable with H.265 across RTMP, HLS, TS and SRT

    ⚡ SPARK

    The release that ends the 6.0 beta run and replaces 5.0 as the stable line. HEVC support spans every major protocol at once, WHEP lands for WebRTC playback, and IP whitelisting arrives for HTTP-FLV, HLS, WebRTC and SRT — the payoff for eighteen months of stabilization tags.

    View source ↗
  2. 8mo ago

    6.0-b3: use-after-free and HLS cleanup fixes

    Two memory-safety repairs — a heap-use-after-free in the composite bridge iterator and an iterator bug in HLS context cleanup. The last beta before release 0, and purely defensive.

    View source ↗
  3. 9mo ago

    6.0-b2: configurable SRT stream IDs and a WHIP transcoding fix

    Adds a configurable SRT default_streamid, repairs WHIP with transcoding, and restricts Edge to RTMP and HTTP-FLV. Small operational controls of the kind that accumulate through a beta line rather than define it.

    View source ↗
  4. 10mo ago

    6.0-b1: RTC crash fixes, Windows binary dropped

    Sequence-number wraparound crashes, a timer race and a null-pointer crash in the RTC-to-RTMP path, plus removal of the Windows/Cygwin binary from the release. Stability work with no new capability.

    View source ↗
  5. 11mo ago

    6.0-b0: WebRTC recording sync fixed, forwarding configurable by env var

    Repairs audio/video synchronization in MP4 DVR recordings of WebRTC streams and brings H.264 B-frame detection back into spec, while allowing Forward to be configured through environment variables. The recording fix is the one users would have noticed.

    View source ↗
  6. 1y ago

    6.0-a2: first H.265 DVR support, plus leak fixes

    Mostly memory-leak and CI cleanup, but it carries DVR support for H.265 FLV fragments — the earliest visible piece of the HEVC work that becomes the 6.0 headline eight months later.

    View source ↗