mediamtx v1.17.0

v1.17.0
Added 5
  • Support publishing multiple video/audio renditions in WebRTC
  • Provide track details in API
  • Add user field to RTSP, RTMP, SRT, WebRTC connections and sessions
  • Add RTSP reported lost packets tracking with outboundRtpPacketsReportedLost property
  • Add new stats for RTSPSession.outboundRTPPacketsDiscarded, Path.inboundFramesInError, SRTConn.outboundFramesDiscarded, WebRTCSession.outboundFramesDiscarded, RTMPConn.outboundFramesDiscarded, and HLSMuxer.outboundFramesDiscarded
Changed 6
  • Rename WebRTC stats to match RTSP ones
  • Add inbound or outbound prefix to stats for improved readability
  • Optionally validate JWT iss and aud claims
  • Add deprecated fields to OpenAPI definition
  • Add missing enums and move all enums in dedicated components in OpenAPI
  • Add two missing SRT stats to metrics
Fixed 9
  • Avoid buffering HTTP response body in loggerWriter by replacing buffer with plain int counter
  • Fix rtsps scheme not being used in requests
  • Support unwrapping MPEG-TS tracks for use with other protocols and recording system
  • Fix client support for hostnames in source and dest headers
  • Allocate an RTP sender for each server session
  • Store reported lost RTP packets in stats
New major features

WebRTC

API

Fixes and improvements

General

API

RTSP

HLS

WebRTC

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
View original

Upgraded? How did it go?

Discussion