mediamtx – bluenviron
即用型基于QUIC/SRT/WebRTC/RTSP/RTMP/LL-HLS/MPEG-TS/RTP的实时媒体服务器和媒体代理,支持读取、发布、代理、录制和播放实时音视频流。
关键指标一览
主题标签
README 详细介绍
<img src="https://img.shields.io/badge/website-mediamtx.org-1c94b5" alt="Website" class="ra0-md-img" loading="lazy" />
<img src="https://github.com/bluenviron/mediamtx/actions/workflows/test.yml/badge.svg?branch=main" alt="Test" class="ra0-md-img" loading="lazy" />
<img src="https://github.com/bluenviron/mediamtx/actions/workflows/lint.yml/badge.svg?branch=main" alt="Lint" class="ra0-md-img" loading="lazy" />
<img src="https://codecov.io/gh/bluenviron/mediamtx/branch/main/graph/badge.svg" alt="CodeCov" class="ra0-md-img" loading="lazy" />
<img src="https://img.shields.io/github/v/release/bluenviron/mediamtx" alt="Release" class="ra0-md-img" loading="lazy" />
<img src="https://img.shields.io/badge/docker-bluenviron/mediamtx-blue" alt="Docker Hub" class="ra0-md-img" loading="lazy" />
_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.
