mediamtx v1.19.1

v1.19.1
Added 3
  • Support using regexp groups in every part of a source URL
  • Print body of selected HTTP responses when log level is debug
  • Support PROXY protocol v1/v2 on RTMP, RTMPS, RTSP, and RTSPS TCP listeners so real client IPs are visible when running behind L4 proxies
Changed 3
  • Improve anti-brute force mechanism by delaying authentication failure responses by a random amount of time and using the same mechanism with all users
  • Limit size of HTTP requests shown in debug logs
  • Rename moqHTTPS2Address into moqHTTP2Address and moqHTTPS3Address into moqHTTP3Address
Fixed 2
  • Fix race condition when closing Media-over-QUIC server where some sessions were hanging if concurrently being closed by the remote peer
  • Restore support for H264 packetization-mode 0 by receiving such streams with TCP and automatically remuxing them into streams with packetization-mode 1
Fixes and improvements

General

Media-over-QUIC

RTSP

  • support PROXY protocol (https://github.com/bluenviron/mediamtx/issues/5754) Support PROXY protocol v1/v2 on RTMP, RTMPS, RTSP, and RTSPS TCP listeners so real client IPs are visible when running behind L4 proxies (nginx stream, HAProxy, AWS NLB).
  • restore support for H264 packetization-mode 0 (https://github.com/bluenviron/mediamtx/issues/5846) (https://github.com/bluenviron/mediamtx/issues/5857) H264 streams with packetization-mode=0 cannot be routed with UDP since packets are too big. Inbound streams with packetization-mode=0 are blocked by the server since v1.19.0 but this caused compatibility issues with some cameras. The server is now able to receive such streams with TCP, and automatically remuxes them in streams with packetization-mode=1, which can be routed freely.

RTMP

Dependencies

  • code.cloudfoundry.org/bytefmt updated from v0.74.0 to v0.76.0
  • github.com/bluenviron/gortsplib/v5 updated from v5.5.4 to v5.6.0
  • github.com/pion/ice/v4 updated from v4.2.7 to v4.2.8-0.20260604162030-72f5001c4596
  • github.com/pion/webrtc/v4 updated from v4.2.14 to v4.2.15
  • github.com/quic-go/quic-go updated from v0.59.0 to v0.60.0
  • golang.org/x/crypto updated from v0.52.0 to v0.53.0
  • golang.org/x/net updated from v0.55.0 to v0.56.0
  • golang.org/x/sync updated from v0.20.0 to v0.21.0
  • golang.org/x/sys updated from v0.45.0 to v0.46.0
  • golang.org/x/term updated from v0.43.0 to v0.44.0
  • github.com/pion/dtls/v3 updated from v3.1.3 to v3.1.4
  • github.com/pion/stun/v3 updated from v3.1.4 to v3.1.5
  • github.com/pion/turn/v5 updated from v5.0.7 to v5.0.9
  • golang.org/x/text updated from v0.37.0 to v0.38.0
  • github.com/pires/go-proxyproto v0.12.0 added
Security

Binaries are compiled from source code by the Release workflow, which is a fully-visible process that prevents any change or external interference in produced artifacts.

Checksums of binaries are also published in a public blockchain by using GitHub Attestations, and they can be verified by running:

ls mediamtx_* | xargs -L1 gh attestation verify --repo bluenviron/mediamtx

You can verify checksums of binaries by downloading checksums.sha256 and running:

cat checksums.sha256 | grep "$(ls mediamtx_*)" | sha256sum --check
View original

Upgraded? How did it go?

Discussion