f87d9e659e1cd982b04711c022e3a4f14becbe6a
sessions are now tracked through cookies or query parameters. This provides the ability to inspect sessions through logs, metrics and API, allows more precise tracking of outbound bytes, decreases load on external HTTP authentication URLs since they are now called once per session and not once per request.
MediaMTX is a ready-to-use and zero-dependency real-time media server and media proxy that allows to publish, read, proxy, record and playback video and audio streams. It has been conceived as a "media router" that routes media streams from one end to the other, with a focus on efficiency and portability.
Features
- Publish live streams to the server with SRT, WebRTC, RTSP, RTMP, HLS, MPEG-TS, RTP, using FFmpeg, GStreamer, OBS Studio, Python , Golang, Unity, web browsers, Raspberry Pi Cameras and more.
- Read live streams from the server with SRT, WebRTC, RTSP, RTMP, HLS, using FFmpeg, GStreamer, VLC, OBS Studio, Python , Golang, Unity, web browsers and more.
- Streams are automatically converted from a protocol to another
- Serve several streams at once in separate paths
- Reload the configuration without disconnecting existing clients (hot reloading)
- Serve always-available streams even when the publisher is offline
- Record streams to disk in fMP4 or MPEG-TS format
- Playback recorded streams
- Authenticate users with internal, HTTP or JWT authentication
- Forward streams to other servers
- Proxy requests to other servers
- Control the server through the Control API
- Extract metrics from the server in a Prometheus-compatible format
- Monitor performance to investigate CPU and RAM consumption
- Run hooks (external commands) when clients connect, disconnect, read or publish streams
- Compatible with Linux, Windows and macOS, does not require any dependency or interpreter, it's a single executable
- ...and many others.
Languages
Go
89.6%
JavaScript
5.8%
HTML
2.3%
Python
0.9%
CSS
0.7%
Other
0.7%