mirror of
https://github.com/bluenviron/mediamtx.git
synced 2026-08-18 05:20:56 -07:00
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
golang
hls
media-server
obs-studio
rtcp
rtmp
rtmp-proxy
rtmp-server
rtp
rtsp
rtsp-proxy
rtsp-relay
rtsp-server
srt
streaming
webrtc
webrtc-proxy
- Go 93.2%
- JavaScript 4.1%
- HTML 1.9%
- Makefile 0.4%
- Dockerfile 0.3%
- Other 0.1%
|
Some checks are pending
lint / go (push) Waiting to run
lint / go_mod (push) Waiting to run
lint / conf (push) Waiting to run
lint / docslinks (push) Waiting to run
lint / docsorder (push) Waiting to run
lint / apidocs (push) Waiting to run
lint / other (push) Waiting to run
test / test_64 (push) Waiting to run
test / test_32 (push) Waiting to run
test / test_e2e (push) Waiting to run
|
||
|---|---|---|
| .github | ||
| api | ||
| docker | ||
| docs | ||
| internal | ||
| scripts | ||
| .dockerignore | ||
| .gitignore | ||
| .golangci.yml | ||
| go.mod | ||
| go.sum | ||
| LICENSE | ||
| logo.png | ||
| main.go | ||
| Makefile | ||
| mediamtx.yml | ||
| README.md | ||
| SECURITY.md | ||
MediaMTX is a ready-to-use and zero-dependency live media server and media proxy that allows to publish, read, proxy, record and playback real-time 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 streams to the server with Media-over-QUIC, SRT, WebRTC, RTSP, RTMP, HLS, MPEG-TS, RTP, using FFmpeg, GStreamer, OBS Studio, Python , Golang, Unity, Web browsers, Raspberry Pi Cameras and more.
- Read streams from the server with Media-over-QUIC, 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 from disk
- 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.