v1.15.0

bluenviron/mediamtxv1.15.0Sep 18, 2025by github-actions[bot]

AI Summary

A major release including documentation migration to a website, RTSP-over-HTTP/WebSocket support, enhanced RTMP codec support, and a library upgrade.

Key Highlights

  • Documentation moved to mediamtx.org
  • RTSP-over-HTTP and RTSP-over-WebSocket support
  • Enhanced RTMP features (AV1, VP9, H265, Opus, AC-3, G711, LPCM, multiple tracks)
  • Switch to gortsplib/v5 (removal of v4)

Breaking Changes

  • Switch to gortsplib/v5 (v4 removed)

New Features

  • Documentation website
  • RTSP-over-HTTP
  • RTSP-over-WebSocket
  • Enhanced RTMP features

Full Release Notes

## New major features

General

* documentation has been moved to a dedicated website, https://mediamtx.org/ . The website content is based on markdown from the MediaMTX repository and can be edited through GitHub.

RTMP

* support additional enhanced RTMP features (https://github.com/bluenviron/mediamtx/issues/4168) (https://github.com/bluenviron/mediamtx/issues/4321) (https://github.com/bluenviron/mediamtx/issues/4954). Support reading AV1, VP9, H265, Opus, AC-3, G711, LPCM, support reading multiple video or audio tracks at once.

RTSP

*  support RTSP-over-HTTP (https://github.com/bluenviron/gortsplib/issues/433) (https://github.com/bluenviron/gortsplib/issues/768)  (https://github.com/bluenviron/gortsplib/issues/887)
* support RTSP-over-WebSocket (https://github.com/bluenviron/gortsplib/issues/891) (https://github.com/bluenviron/gortsplib/issues/898)

## Fixes and improvements

General

* refactor: use the built-in max/min to simplify the code (https://github.com/bluenviron/mediamtx/issues/4867)
* refactor: remove duplicated http middleware (https://github.com/bluenviron/mediamtx/issues/4894)
* playback: fix crash during authentication errors (https://github.com/bluenviron/mediamtx/issues/4960) (https://github.com/bluenviron/mediamtx/issues/4966)
* send server name (SNI) when opening TLS connections (https://github.com/bluenviron/mediamtx/issues/4973)
* h264: fix DTS extractor compatibility with Apple VT HEVC Hardware Encoder (https://github.com/bluenviron/mediamtx/issues/4892) (https://github.com/bluenviron/mediacommon/issues/236)
* h265: fix DTS extractor compatibility with Apple VT HEVC Hardware Encoder (https://github.com/bluenviron/mediamtx/issues/4892) (https://github.com/bluenviron/mediacommon/issues/238)
* ac3: fix support for bsid different than 8 (https://github.com/bluenviron/mediamtx/issues/4705) (https://github.com/bluenviron/mediacommon/issues/244)
* improve performance when dealing with AV1 (https://github.com/bluenviron/mediacommon/issues/243)
* h265: fix DTS extractor with libx265 (https://github.com/bluenviron/mediacommon/issues/245)
* update readme (https://github.com/bluenviron/mediacommon/issues/246)
* h265: fix DTS extractor regression after https://github.com/bluenviron/mediacommon/issues/245 (https://github.com/bluenviron/mediacommon/issues/247) IDR frames which are also B-frames are supported again.

API

* add tunnel and profile to RTSP conns and sessions (https://github.com/bluenviron/mediamtx/issues/4985)

RTSP

* switch to gortsplib/v5 (https://github.com/bluenviron/mediamtx/issues/4978)
* fix memory leak when closing sessions (https://github.com/bluenviron/mediamtx/issues/4964) (https://github.com/bluenviron/mediamtx/issues/4678) (https://github.com/bluenviron/mediamtx/issues/4967)
* support reading streams tunneled with HTTP or WebSocket (https://github.com/bluenviron/mediamtx/issues/4986)
* fix encoding and decoding of NTP fractional part (https://github.com/bluenviron/gortsplib/issues/869) (https://github.com/bluenviron/gortsplib/issues/870)
* Fix typo when identifying KLV packets as SMPTE336M-encoded (https://github.com/bluenviron/gortsplib/issues/877)
* Fix SDP parsing for repeat time field with no offsets (https://github.com/bluenviron/gortsplib/issues/880)
* client: fix crash when opening UDP listeners (https://github.com/bluenviron/gortsplib/issues/893)
* server: fix panic due to regression in https://github.com/bluenviron/gortsplib/issues/887 (https://github.com/bluenviron/gortsplib/issues/892)
* server: prevent using UDP when tunneling through HTTP (https://github.com/bluenviron/gortsplib/issues/896)

RTMP

* improve control message compatibility with non-standard cameras (https://github.com/bluenviron/mediamtx/issues/4909)
* move implementation to gortmplib (https://github.com/bluenviron/mediamtx/issues/4968)

HLS

* Add disablepictureinpicture param (https://github.com/bluenviron/mediamtx/issues/4883)
* improve performance when dealing with av1 (https://github.com/bluenviron/gohlslib/issues/279)

WebRTC

* Add disablepictureinpicture param (https://github.com/bluenviron/mediamtx/issues/4883)

RPI Camera

* fix race condition when reloading parameters (https://github.com/bluenviron/mediamtx-rpicamera/issues/63)
* decrease GPU consumption (https://github.com/bluenviron/mediamtx-rpicamera/issues/64) stop allocating useless buffers.
* use openh264 as software H264 encoder (https://github.com/bluenviron/mediamtx-rpicamera/issues/65) this prevents license issues.

Dependencies

* Go updated from 1.24 to 1.25
* code.cloudfoundry.org/bytefmt updated from v0.45.0 to v0.51.0
* github.com/MicahParks/jwkset updated from v0.9.6 to v0.10.0
* github.com/bluenviron/gohlslib/v2 updated from v2.2.2 to v2.2.3
* github.com/bluenviron/gortsplib/v4 removed
* github.com/bluenviron/mediacommon/v2 updated from v2.4.1 to v2.4.3
* github.com/gookit/color updated from v1.5.4 to v1.6.0
* github.com/matthewhartstonge/argon2 updated from v1.3.4 to v1.4.0
* github.com/pion/rtp updated from v1.8.21 to v1.8.22
* github.com/pion/sdp/v3 updated from v3.0.15 to v3.0.16
* github.com/pion/webrtc/v4 updated from v4.1.3 to v4.1.4
* github.com/stretchr/testify updated from v1.10.0 to v1.11.1
* golang.org/x/crypto updated from v0.41.0 to v0.42.0
* golang.org/x/sys updated from v0.35.0 to v0.36.0
* golang.org/x/term updated from v0.34.0 to v0.35.0
* github.com/pion/dtls/v3 updated from v3.0.6 to v3.0.7
* github.com/pion/srtp/v3 updated from v3.0.6 to v3.0.7
* github.com/pion/turn/v4 updated from v4.0.0 to v4.1.1
* github.com/xo/terminfo updated from v0.0.0-20210125001918-ca9a967f8778 to v0.0.0-20220910002029-abceb7e1c41e
* golang.org/x/net updated from v0.43.0 to v0.44.0
* golang.org/x/text updated from v0.28.0 to v0.29.0
* github.com/bluenviron/gortmplib v0.1.0 added
* github.com/bluenviron/gortsplib/v5 v5.0.0 added
* github.com/bluenviron/mediamtx-rpicamera updated from v2.4.4 to v2.5.0
* hls.js updated from v1.6.9 to v1.6.12

## Security

Binaries are compiled from source through the [Release workflow](https://github.com/bluenviron/mediamtx/actions/workflows/release.yml) without human intervention, preventing any external interference.

You can verify that binaries have been produced by the workflow by using [GitHub Attestations](https://docs.github.com/en/actions/security-for-github-actions/using-artifact-attestations/using-artifact-attestations-to-establish-provenance-for-builds):

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

You can verify the binaries checksum by downloading `checksums.sha256` and running:

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