
MediaMTX
A single-file server that receives, converts, and relays live video and audio streams.
- Stars
- 20.6k
- Forks
- 2.4k
- Licence
- MIT
- Language
- Go
- Last update
- 4 days ago
- Type
- App
What it is
MediaMTX is a live media server and proxy that accepts video and audio streams over many protocols, such as RTSP, RTMP, WebRTC, SRT and HLS, and passes them on in other formats. It can also record streams to disk and play them back. It is described as a single executable with no dependencies, which is why people use it as a simple hub between cameras, encoders and viewers.
- Convert an RTSP camera feed into HLS or WebRTC so a web page can play it
- Accept an RTMP stream from OBS Studio and republish it over SRT or RTSP
- Record live streams to disk in fMP4 or MPEG-TS and play them back later
- Keep a fallback stream available when the original publisher goes offline
- Expose Prometheus-format metrics from the server for monitoring
Great for
- People routing IP camera streams to viewers in a browser or media player
- Streamers who want to send one stream to several protocols or destinations
- Developers who need a local test server for RTSP, RTMP or WebRTC streams
- Users who want to record live streams to disk in fMP4 or MPEG-TS
Not ideal for
- Users who want a hosted service with no server to run, since this is self-hosted software
- Anyone needing a full-featured video editing or transcoding pipeline, as the README describes routing and proxying rather than editing
- Beginners with no interest in network ports, configuration files or protocols, because setup assumes familiarity with streaming concepts
How to get it
- 1
Download the app
Clone the repository
git clone https://github.com/bluenviron/mediamtx - 2
Run it
- Download the release archive for your operating system from the GitHub releases page
- Extract the archive and run the mediamtx executable
- Publish a test stream to the server using a supported tool such as FFmpeg or OBS Studio
- Read the stream back over a supported protocol such as RTSP or HLS
- 3
Get the most out of it
- Use the Control API to manage the server programmatically
- Enable Prometheus-compatible metrics to monitor the server
- Set up always-available streams so viewers see content when a publisher is offline
- Configure authentication with internal, HTTP or JWT options
- Use hooks to run external commands when clients connect or publish
Downloads
Strengths
- Supports many streaming protocols in one program, with automatic conversion between them
- Ships as a single executable for Linux, Windows and macOS with no required dependencies
- Offers configuration reload without disconnecting existing clients
Trade-offs
- Configuration covers many protocols and options, so the learning curve can be steep for newcomers
- The README is truncated here, so detailed limits and performance figures are not confirmed in this entry
- Being a media server, it needs network access and appropriate firewall or port setup to be useful
How it compares
| Project | Stars | Type | Level | Updated | Best for |
|---|---|---|---|---|---|
| mediamtx (this) | 20.6k | App | intermediate | 4 days ago | People routing IP camera streams to viewers in a browser or media player |
| go2rtc | 14.6k | App | intermediate | 11 days ago | Home users connecting IP cameras to a browser or Home Assistant |
| livego | 10.2k | App | intermediate | 11 months ago | Developers who want to self-host a basic live streaming endpoint |
| srs | 29.4k | App | intermediate | 7 days ago | Developers building live streaming backends that need several delivery protocols |
| owncast | 11.6k | App | intermediate | 11 days ago | Streamers who want control over their content, interface and moderation |
| webrtc | 16.9k | Library | advanced | 5 days ago | Go developers who need to add WebRTC connections to a server or application |
Stats synced from GitHub. The assessment above was drafted with AI from the project's README on 2026-10-29 and may miss recent changes — check the README before relying on a command. MIT licence: free to use, modify and distribute, including commercially, as long as you keep the copyright notice.