v1.19.2

bluenviron/mediamtxv1.19.2Jun 28, 2026by github-actions[bot]

AI Summary

Patch release addressing performance, RPI camera capabilities, and stability issues.

Key Highlights

  • Fixes panic in MP4 muxer when flushing with no samples.
  • Enhanced HTTP server performance by avoiding request cloning.
  • RPI camera now supports primary stream MJPEG and secondary stream H264.
  • Unified RPI camera H264 profile and level parameters.
  • Fixes race condition preventing immediate decoding of new streams.

New Features

  • RPI Camera primary stream MJPEG encoding
  • RPI Camera secondary stream H264 encoding
  • Unified rpiCameraH264Profile and rpiCameraH264Level parameters

Full Release Notes

## Fixes and improvements

General

* playback: fix panic when MP4 muxer flushes with no samples (https://github.com/bluenviron/mediamtx/issues/5867)
* redact sensitive headers in HTTP debug logs (https://github.com/bluenviron/mediamtx/issues/5873)
* fix(recordstore): decode timezone offset minutes correctly (https://github.com/bluenviron/mediamtx/issues/5884)
* improve HTTP server performance (https://github.com/bluenviron/mediamtx/issues/5886) log incoming requests without cloning.
* prevent truncation of 64-bit values on 32-bit platforms (https://github.com/bluenviron/mediamtx/issues/5902)

RTSP

* add rtspScale parameter to inject Scale header on PLAY (https://github.com/bluenviron/mediamtx/issues/5800)
* client: switch automatically to TCP in case of H264 packetization-mode=0 (https://github.com/bluenviron/gortsplib/issues/1086)
* support VP8 streams with multiple partitions (https://github.com/bluenviron/mediamtx/issues/5426) (https://github.com/bluenviron/gortsplib/issues/1090)
* allow FU-A and STAP-A packets with H264 packetization-mode 0 (https://github.com/bluenviron/mediamtx/issues/5887) (https://github.com/bluenviron/gortsplib/issues/1092)

WebRTC

* skip unresolvable webrtcAdditionalHosts entries instead of aborting (https://github.com/bluenviron/mediamtx/issues/5845)

RPI Camera

* support encoding primary stream with MJPEG (2/2) (https://github.com/bluenviron/mediamtx/issues/5892)
* support encoding secondary stream with H264 (2/2) (https://github.com/bluenviron/mediamtx/issues/4485) (https://github.com/bluenviron/mediamtx/issues/5898)
* add unified rpiCameraH264Profile, rpiCameraH264Level params (https://github.com/bluenviron/mediamtx/issues/5894) These replace rpiCameraHardwareH264Profile, rpiCameraHardwareH264Level, rpiCameraSoftwareH264Profile, rpiCameraSoftwareH264Level.
* fix race condition that prevents decoding the stream (https://github.com/bluenviron/mediamtx-rpicamera/issues/109) (https://github.com/bluenviron/mediamtx/issues/5861) When a player immediately connects to a newly-created stream, SPS/PPS might not be available, neither in the SDP and neither in-band. Prevent the issue by always sending SPS/PPS in-band.
* improve performance by computing frame size once (https://github.com/bluenviron/mediamtx-rpicamera/issues/111)
* fix wrong timestamp being passed to openh264 (https://github.com/bluenviron/mediamtx-rpicamera/issues/114)

Dependencies

* code.cloudfoundry.org/bytefmt updated from v0.76.0 to v0.78.0
* github.com/abema/go-mp4 updated from v1.6.0 to v1.7.1
* github.com/bluenviron/gortsplib/v5 updated from v5.6.0 to v5.6.1
* github.com/bluenviron/mediacommon/v2 updated from v2.9.0 to v2.9.1
* github.com/matthewhartstonge/argon2 updated from v1.5.4 to v1.5.5
* github.com/pion/sdp/v3 updated from v3.0.18 to v3.0.19
* github.com/quic-go/webtransport-go updated from v0.10.0 to v0.11.0
* github.com/pion/srtp/v3 updated from v3.0.11 to v3.0.12
* github.com/bluenviron/mediamtx-rpicamera updated from v2.6.0 to v2.8.0

## Security

Binaries are compiled from source code by the [Release workflow](https://github.com/bluenviron/mediamtx/actions/workflows/release.yml), 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](https://docs.github.com/en/actions/concepts/security/artifact-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
```