MediaMTX is a ready-to-use live media server and proxy designed to route real-time video and audio between publishers and viewers.
It can sit at the centre of a streaming setup, accepting media from cameras, encoders, applications or browsers and making the same streams available through different delivery protocols. The software is distributed as a single executable without runtime dependencies, making it suitable for compact self-hosted installations as well as more complex streaming infrastructures.
This is free and open source software.
Key Features
- Publishes streams through Media-over-QUIC, SRT, WebRTC, RTSP, RTMP, HLS, MPEG-TS and RTP.
- Reads streams through Media-over-QUIC, SRT, WebRTC, RTSP, RTMP and HLS.
- Automatically converts streams from one supported protocol to another.
- Accepts publishers including FFmpeg, GStreamer, OBS Studio, web browsers, applications and Raspberry Pi cameras.
- Serves multiple independent streams through separate configurable paths.
- Reloads configuration without disconnecting existing clients.
- Can keep streams available when their original publisher is offline.
- Records streams to disk in fragmented MP4 or MPEG-TS format.
- Provides playback of previously recorded streams.
- Authenticates users internally or through HTTP and JWT authentication.
- Forwards streams to other media servers.
- Proxies streams supplied by remote servers.
- Exposes a Control API for managing and inspecting the server.
- Exports Prometheus-compatible metrics.
- Provides facilities for monitoring CPU and memory consumption.
- Runs external commands when clients connect, disconnect, publish or read streams.
Website: github.com/bluenviron/mediamtx
Support:
Developer: bluenviron
License: MIT License
MediaMTX is written in Go. Learn Go with our recommended free books and free tutorials.
Related Software
| WebRTC Tools | |
|---|---|
| mediasoup | Server-side WebRTC library, specifically a Selective Forwarding Unit (SFU |
| Pion | Modern stack for web real-time communication |
| Jitsi | Innovative voice and video conferencing |
| LiveKit | End-to-end stack for WebRTC |
| SRS | Real-time media server |
| OpenVidu | Platform to develop WebRTC real-time applications |
| Janus | Gneral purpose WebRTC server |
| BigBlueButton | Virtual classroom platform |
| aiortc | Library for WebRTC and ORTC |
| MiroTalk SFU | Self-hosted WebRTC videoconferencing platform |
| MiroTalk P2P | Self-hosted WebRTC video conferencing application |
| coturn | Implementation of TURN and STUN Server |
| Galene | Easy to deploy videoconference server |
| Nextcloud Talk | Chat, video and audio calls for Nextcloud |
| Selkies | Remote desktop and application streaming platform |
| libpeer | Portable WebRTC library for IoT/embedded devices |
| libdatachannel | WebRTC network library |
| Kurento | WebRTC media server |
| str0m | Sans I/O WebRTC implementation |
| Elixir WebRTC | Elixir implementation of the W3C WebRTC API |
| Gryt | Self-hostable, WebRTC-based voice communication app |
| PairUX | Collaborative screen sharing with simultaneous remote control |
Read our verdict in the software roundup.
Explore our carefully curated directory of recommended free and open source software, covering every major software category.The directory forms part of our extensive collection of articles for Linux enthusiasts. It includes hundreds of detailed reviews, together with free and open source alternatives to proprietary software from companies such as Google, Microsoft, Apple, Adobe, IBM, Cisco, Oracle, and Autodesk. LinuxLinks also covers interesting projects worth exploring, Linux-compatible hardware, free programming books and tutorials, and much more. Know a useful free and open source Linux application that we haven’t covered? Tell us about it using our submission form. |


Please read our Comment Policy before commenting.