Node-Media-Server is a Node.js media server that accepts incoming RTMP streams and delivers live video over HTTP-FLV and WebSocket-FLV for low-latency playback. It functions as a live RTMP streaming server, handling the ingestion and delivery of live video with sub-second latency for broadcasting workflows.
The server provides stream authentication using JSON Web Tokens, validating tokens on publish or play requests to restrict access to authorized clients. It includes a GOP cache that stores the most recent Group of Pictures in memory, allowing new viewers to start playback immediately without waiting for a keyframe. A REST API enables session management, allowing operators to query server status, list active sessions, and terminate streams programmatically.
The server can record incoming live streams as FLV files on disk for later replay or video-on-demand, and can serve static files from a local directory over HTTP. It supports delivering live video over HTTP, WebSocket, and RTMP, with real-time server statistics available through the REST API.