v1.17.0
bluenviron/mediamtxv1.17.0Mar 17, 2026by github-actions[bot]
AI Summary
This release introduces WebRTC simulcast support for multiple video/audio renditions, enhances the API with track details and user fields, and improves RTSP and HLS functionality.
Key Highlights
- WebRTC support for multiple video/audio renditions (simulcast) via OBS Studio
- API enhancements including track details, user field for connections, and new statistics
- RTSP improvements: support for unwrapping MPEG-TS tracks and reporting lost RTP packets
- General performance fix: avoid buffering HTTP response body in loggerWriter
New Features
- WebRTC simulcast support
- API track details
- API user field for connections
- RTSP MPEG-TS track unwrapping
- RTSP reported lost packets
Full Release Notes
## New major features WebRTC * support publishing multiple video/audio renditions (https://github.com/bluenviron/mediamtx/issues/5573) this allows to receive multiple video tracks from OBS Studio with the new WebRTC Simulcast feature introduced in v32.1.0. API * provide track details (https://github.com/bluenviron/mediamtx/issues/5307) (https://github.com/bluenviron/mediamtx/issues/5333) (https://github.com/bluenviron/mediamtx/issues/1726) (https://github.com/bluenviron/mediamtx/issues/5585) * add user field to RTSP, RTMP, SRT, WebRTC conns and sessions (https://github.com/bluenviron/mediamtx/issues/5104) (https://github.com/bluenviron/mediamtx/issues/5565) * add RTSP reported lost packets (https://github.com/bluenviron/mediamtx/issues/5198) (https://github.com/bluenviron/mediamtx/issues/5579) The new outboundRtpPacketsReportedLost property allows to track RTP packets that have been reported lost by readers. Furthermore, stats now have a "inbound" or "outbound" prefix to improve readability. * rename WebRTC stats to match RTSP ones (https://github.com/bluenviron/mediamtx/issues/5581) * add new stats (https://github.com/bluenviron/mediamtx/issues/5582) - RTSPSession.outboundRTPPacketsDiscarded - Path.inboundFramesInError - SRTConn.outboundFramesDiscarded - WebRTCSession.outboundFramesDiscarded - RTMPConn.outboundFramesDiscarded - HLSMuxer.outboundFramesDiscarded ## Fixes and improvements General * avoid buffering HTTP response body in loggerWriter (https://github.com/bluenviron/mediamtx/issues/5552) loggerWriter was shadow-copying every response byte into a bytes.Buffer to report the body size, causing the entire response to be accumulated in memory for the lifetime of each request. Replace the buffer with a plain int counter since dump() only ever reported the byte count anyway. * optionally validate JWT iss and aud claims (https://github.com/bluenviron/mediamtx/issues/5569) * metrics: add two missing SRT stats (https://github.com/bluenviron/mediamtx/issues/5580) API * add deprecated fields to the OpenAPI definition (https://github.com/bluenviron/mediamtx/issues/5575) * add missing enums and move all enums in dedicated components (https://github.com/bluenviron/mediamtx/issues/5576) RTSP * fix rtsps scheme not being used in requests (https://github.com/bluenviron/mediamtx/issues/5236) (https://github.com/bluenviron/mediamtx/issues/5544) * support unwrapping MPEG-TS tracks (https://github.com/bluenviron/mediamtx/issues/5476) this allows to use MPEG-TS tracks with other protocols and with the recording system * client: fix support for hostnames in source and dest headers (https://github.com/bluenviron/gortsplib/issues/1009) (https://github.com/bluenviron/mediamtx/issues/5304) (https://github.com/bluenviron/gortsplib/issues/1014) * allocate a rtp sender for each server session (https://github.com/bluenviron/gortsplib/issues/1021) this produces more realistic statistics and in the future will allow to implement per-session statistics and packet retransmission. * store reported lost RTP packets in stats (https://github.com/bluenviron/mediamtx/issues/5198) (https://github.com/bluenviron/gortsplib/issues/1023) HLS * muxer: support muxing KLS with MPEG-TS (https://github.com/bluenviron/gohlslib/issues/327) * client: fix deadlock when processing fMP4s (https://github.com/bluenviron/gohlslib/issues/333) (https://github.com/bluenviron/gohlslib/issues/334) WebRTC * fix panic with WHIP POST authentication failures (https://github.com/bluenviron/mediamtx/issues/5566) Dependencies * code.cloudfoundry.org/bytefmt updated from v0.64.0 to v0.67.0 * github.com/abema/go-mp4 updated from v1.4.1 to v1.5.0 * github.com/bluenviron/gohlslib/v2 updated from v2.2.8 to v2.2.9 * github.com/bluenviron/gortsplib/v5 updated from v5.4.0 to v5.5.0 * github.com/bluenviron/mediacommon/v2 updated from v2.8.2 to v2.8.3 * golang.org/x/crypto updated from v0.48.0 to v0.49.0 * golang.org/x/sys updated from v0.41.0 to v0.42.0 * golang.org/x/term updated from v0.40.0 to v0.41.0 * golang.org/x/net updated from v0.51.0 to v0.52.0 * golang.org/x/text updated from v0.34.0 to v0.35.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 ```