github bluenviron/mediamtx v1.17.0

6 hours ago

New major features

WebRTC

  • support publishing multiple video/audio renditions (#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 (#5307) (#5333) (#1726) (#5585)
  • add user field to RTSP, RTMP, SRT, WebRTC conns and sessions (#5104) (#5565)
  • add RTSP reported lost packets (#5198) (#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 (#5581)
  • add new stats (#5582) - RTSPSession.outboundRTPPacketsDiscarded - Path.inboundFramesInError - SRTConn.outboundFramesDiscarded - WebRTCSession.outboundFramesDiscarded - RTMPConn.outboundFramesDiscarded - HLSMuxer.outboundFramesDiscarded

Fixes and improvements

General

  • avoid buffering HTTP response body in loggerWriter (#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 (#5569)
  • metrics: add two missing SRT stats (#5580)

API

  • add deprecated fields to the OpenAPI definition (#5575)
  • add missing enums and move all enums in dedicated components (#5576)

RTSP

HLS

WebRTC

  • fix panic with WHIP POST authentication failures (#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, 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

Don't miss a new mediamtx release

NewReleases is sending notifications on new releases.