finds.dev

illuspas/Node-Media-Server

A Node.js implementation of RTMP/HTTP-FLV Media Server

View on GitHubHomepage ↗

★ 6,240JavaScriptApache-2.0updated Oct 2026

// the take

A pure-Node.js RTMP and HTTP/WS-FLV live streaming server, now in its v4 line with native support for HEVC/VP9/AV1 inside the enhanced RTMP container. It's aimed at people who want to self-host a streaming ingest/relay server without reaching for nginx-rtmp or wrapping ffmpeg, and who are comfortable running a single Node process.

Handles modern codecs (HEVC, VP9, AV1) and multitrack audio natively in JS via the Enhanced RTMP v2 spec, which is unusual for a server this size. v4.2+ added real operational features that most hobby media servers skip: JWT auth with scrypt-hashed passwords and login rate limiting, a REST API, relay tasks (RTSP pull / RTMP pull-push) with persistence, and a working React/TS webadmin for streams, records, and history. There's an actual test suite exercising protocol-level behavior (flv parsing, rtmp relay, store crash recovery), not just smoke tests.

No WebRTC, SRT, or HLS output — the protocols most people reach for sub-second or wide-compatibility delivery today — those are reserved for the separate commercial NodeMediaServer v3, so the open-source server is RTMP/FLV-only. It's a single Node process with no mention of clustering or worker threads; the commercial version explicitly markets 'multi-core ultra-high concurrency' as a differentiator, which is a signal the free version doesn't scale past one core under load. v4 is a hard breaking change from v2/v3 with no migration tooling, and the README's compatibility table shows real client fragmentation (OBS can't do HEVC, NodePlayer.js/NodeMediaClient can't do VP9/AV1), so server-side codec support doesn't translate to actual interop without checking your specific client first.

We read the README, the directory tree and a key source file in October 2026. Nobody pays to be listed. How we judge →

// at a glance

Stars
6,240
Forks
1,532
Language
JavaScript
License
Apache-2.0
Last commit
21 Oct 2026

// nearby

If Node-Media-Server isn't quite it.

All repos →