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.
Find a file
Alessandro Ros e05246d5ae
docs: explain how to decrease JWT length in Keycloak (#5012)
this prevents errors when passing JWT with FFmpeg and GStreamer.
2025-09-23 09:46:00 +02:00
.github docs: update (#5003) 2025-09-22 10:08:06 +02:00
api api: add tunnel and profile to RTSP conns and sessions (#4985) 2025-09-17 22:18:21 +02:00
docker bump Golang to 1.25 (#4870) 2025-09-12 10:20:19 +02:00
docs docs: explain how to decrease JWT length in Keycloak (#5012) 2025-09-23 09:46:00 +02:00
internal bump hls.js to v1.6.13 (#5024) 2025-09-23 09:36:32 +02:00
scripts docs: add linter (#4945) 2025-09-06 22:51:45 +02:00
.dockerignore rename apidocs into api (#4844) 2025-08-09 16:05:34 +02:00
.gitignore rename apidocs into api (#4844) 2025-08-09 16:05:34 +02:00
.golangci.yml switch to gortsplib/v5 (#4978) 2025-09-16 13:10:34 +02:00
go.mod build(deps): bump github.com/gin-gonic/gin from 1.10.1 to 1.11.0 (#5022) 2025-09-23 09:37:06 +02:00
go.sum build(deps): bump github.com/gin-gonic/gin from 1.10.1 to 1.11.0 (#5022) 2025-09-23 09:37:06 +02:00
LICENSE remove hls.js from the repository and restore plain MIT license (#3008) 2024-02-12 00:31:13 +01:00
logo.png rewrite readme (#2015) 2023-07-02 14:03:53 +02:00
main.go change repository owner (#1801) 2023-05-16 16:14:20 +02:00
Makefile bump golangci-lint to 2.5.0 (#5011) 2025-09-22 09:49:04 +02:00
mediamtx.yml stop accepting JWTs from query parameters unless allowed in conf (#5010) 2025-09-22 10:04:51 +02:00
README.md docs: update (#4994) 2025-09-18 18:41:51 +02:00
SECURITY.md docs: add security page (#4922) 2025-08-31 16:57:27 +02:00

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.

Features

  • Publish live streams to the server with SRT, WebRTC, RTSP, RTMP, HLS, MPEG-TS, RTP
  • Read live streams from the server with SRT, WebRTC, RTSP, RTMP, HLS
  • 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)
  • 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.