mediamtx

command module
v1.15.6 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 28, 2025 License: MIT Imports: 2 Imported by: 0

README

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.

Documentation

Overview

main executable.

Directories

Path Synopsis
internal
api
Package api contains the API server.
Package api contains the API server.
auth
Package auth contains the authentication system.
Package auth contains the authentication system.
certloader
Package certloader contains a certicate loader.
Package certloader contains a certicate loader.
codecprocessor
Package codecprocessor contains codec-specific processing.
Package codecprocessor contains codec-specific processing.
conf
Package conf contains the struct that holds the configuration of the software.
Package conf contains the struct that holds the configuration of the software.
conf/decrypt
Package decrypt contains the Decrypt function.
Package decrypt contains the Decrypt function.
conf/env
Package env contains a function to load configuration from environment.
Package env contains a function to load configuration from environment.
conf/jsonwrapper
Package jsonwrapper contains a JSON unmarshaler.
Package jsonwrapper contains a JSON unmarshaler.
conf/yamlwrapper
Package yamlwrapper contains a YAML unmarshaler.
Package yamlwrapper contains a YAML unmarshaler.
confwatcher
Package confwatcher contains a configuration watcher.
Package confwatcher contains a configuration watcher.
core
Package core contains the main struct of the software.
Package core contains the main struct of the software.
core/test_on_demand command
This is used for testing purposes.
This is used for testing purposes.
core/versiongetter command
Package main contains an utility to get the server version
Package main contains an utility to get the server version
counterdumper
Package counterdumper contains a counter that that periodically invokes a callback if the counter is not zero.
Package counterdumper contains a counter that that periodically invokes a callback if the counter is not zero.
defs
Package defs contains shared definitions.
Package defs contains shared definitions.
externalcmd
Package externalcmd allows to launch external commands.
Package externalcmd allows to launch external commands.
hooks
Package hooks contains hook implementations.
Package hooks contains hook implementations.
logger
Package logger contains a logger implementation.
Package logger contains a logger implementation.
metrics
Package metrics contains the metrics provider.
Package metrics contains the metrics provider.
ntpestimator
Package ntpestimator contains a NTP estimator.
Package ntpestimator contains a NTP estimator.
playback
Package playback contains the playback server.
Package playback contains the playback server.
pprof
Package pprof contains a pprof exporter.
Package pprof contains a pprof exporter.
protocols/hls
Package hls contains HLS utilities.
Package hls contains HLS utilities.
protocols/httpp
Package httpp contains HTTP utilities.
Package httpp contains HTTP utilities.
protocols/mpegts
Package mpegts contains MPEG-ts utilities.
Package mpegts contains MPEG-ts utilities.
protocols/rtmp
Package rtmp provides RTMP utilities.
Package rtmp provides RTMP utilities.
protocols/rtsp
Package rtsp provides RTSP utilities.
Package rtsp provides RTSP utilities.
protocols/tls
Package tls contains TLS utilities.
Package tls contains TLS utilities.
protocols/udp
Package udp contains utilities to work with the UDP protocol.
Package udp contains utilities to work with the UDP protocol.
protocols/unix
Package unix contains utilities to work with Unix sockets.
Package unix contains utilities to work with Unix sockets.
protocols/webrtc
Package webrtc contains WebRTC utilities.
Package webrtc contains WebRTC utilities.
protocols/websocket
Package websocket provides WebSocket connectivity.
Package websocket provides WebSocket connectivity.
protocols/whip
Package whip contains a WHIP/WHEP client.
Package whip contains a WHIP/WHEP client.
recordcleaner
Package recordcleaner contains the recording cleaner.
Package recordcleaner contains the recording cleaner.
recorder
Package recorder contains the recorder.
Package recorder contains the recorder.
recordstore
Package recordstore contains utilities to store/retrieve recordings to/from disk.
Package recordstore contains utilities to store/retrieve recordings to/from disk.
restrictnetwork
Package restrictnetwork contains Restrict().
Package restrictnetwork contains Restrict().
rlimit
Package rlimit contains a function to raise rlimit.
Package rlimit contains a function to raise rlimit.
servers/hls
Package hls contains a HLS server.
Package hls contains a HLS server.
servers/hls/hlsjsdownloader command
Package main contains an utility to download hls.js
Package main contains an utility to download hls.js
servers/rtmp
Package rtmp contains a RTMP server.
Package rtmp contains a RTMP server.
servers/rtsp
Package rtsp contains a RTSP server.
Package rtsp contains a RTSP server.
servers/srt
Package srt contains a SRT server.
Package srt contains a SRT server.
servers/webrtc
Package webrtc contains a WebRTC server.
Package webrtc contains a WebRTC server.
staticsources
Package staticsources contains static source implementations.
Package staticsources contains static source implementations.
staticsources/hls
Package hls contains the HLS static source.
Package hls contains the HLS static source.
staticsources/mpegts
Package mpegts contains the MPEG-TS static source.
Package mpegts contains the MPEG-TS static source.
staticsources/rpicamera
Package rpicamera contains the Raspberry Pi Camera static source.
Package rpicamera contains the Raspberry Pi Camera static source.
staticsources/rpicamera/mtxrpicamdownloader command
Package main contains an utility to download hls.js
Package main contains an utility to download hls.js
staticsources/rtmp
Package rtmp contains the RTMP static source.
Package rtmp contains the RTMP static source.
staticsources/rtp
Package rtp contains the RTP static source.
Package rtp contains the RTP static source.
staticsources/rtsp
Package rtsp contains the RTSP static source.
Package rtsp contains the RTSP static source.
staticsources/srt
Package srt contains the SRT static source.
Package srt contains the SRT static source.
staticsources/webrtc
Package webrtc contains the WebRTC static source.
Package webrtc contains the WebRTC static source.
stream
Package stream contains the Stream object.
Package stream contains the Stream object.
test
Package test contains test utilities.
Package test contains test utilities.
unit
Package unit contains the unit definition.
Package unit contains the unit definition.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL