Ready-to-use SRT / WebRTC / RTSP / RTMP / LL-HLS media server and media proxy that allows to read, publish, proxy, record and playback video and audio streams.
  • Go 96.2%
  • JavaScript 1.7%
  • HTML 1.1%
  • Makefile 0.5%
  • Dockerfile 0.4%
  • Other 0.1%
Find a file
Alessandro Ros c05c14d9af
Some checks failed
lint / go (push) Has been cancelled
lint / go_mod (push) Has been cancelled
lint / conf (push) Has been cancelled
lint / go2api (push) Has been cancelled
lint / docslinks (push) Has been cancelled
lint / docsorder (push) Has been cancelled
lint / docs (push) Has been cancelled
lint / api_docs (push) Has been cancelled
test / test_64 (push) Has been cancelled
test / test_32 (push) Has been cancelled
test / test_e2e (push) Has been cancelled
webrtc: support WHIP ICE restarts (#5183) (#5770)
2026-05-15 19:15:42 +02:00
.github bump Ubuntu to 24.04 (#5769) 2026-05-14 19:32:37 +02:00
api hls: add hlsCDNSecret (#5716) 2026-04-30 15:52:11 +02:00
docker docs: update (#5756) 2026-05-14 21:22:17 +02:00
docs docs: update (#5756) 2026-05-14 21:22:17 +02:00
internal webrtc: support WHIP ICE restarts (#5183) (#5770) 2026-05-15 19:15:42 +02:00
scripts docs: add architecture page (#5638) 2026-04-04 22:13:54 +02:00
.dockerignore
.gitignore
.golangci.yml dump unencrypted TLS sessions (#5624) 2026-04-04 14:46:43 +02:00
go.mod build(deps): bump github.com/bluenviron/gohlslib/v2 from 2.3.1 to 2.3.2 (#5772) 2026-05-14 21:37:14 +02:00
go.sum build(deps): bump github.com/bluenviron/gohlslib/v2 from 2.3.1 to 2.3.2 (#5772) 2026-05-14 21:37:14 +02:00
LICENSE
logo.png
main.go
Makefile bump golangci-lint to 2.12.2 (#5727) 2026-05-10 17:54:18 +02:00
mediamtx.yml hls: add hlsCDNSecret (#5716) 2026-04-30 15:52:11 +02:00
README.md docs: reorganize documentation (#5639) 2026-04-04 22:37:19 +02:00
SECURITY.md

MediaMTX

Website Test Lint CodeCov Release Docker Hub


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.