mediamtx v1.19.0

v1.19.0
Added 5
  • Support reading and publishing with Media-over-QUIC protocol
  • Support reading and writing FLAC in RTMP
  • Support reading and publishing FLAC in HLS
  • Add user agent field to RTMP, RTSP, WebRTC, and HLS
  • Add --check-version command line flag to check whether a new version is available without upgrading
Changed 3
  • Use file name suffix for OS-specific code wherever possible
  • RTSP client trigger TCP timeout only if nothing is received, now a keepalive response from the server is enough
  • Use timestamp of frame in RPI Camera text overlay
Fixed 8
  • Fix hot reloading when metrics server is reloaded for SRT server
  • Fix hot reloading when RTMPS server is reloaded for API server
  • RTSP SDP support non-standard 'meta' media type
  • RTMP client add FLAC fourCC support
  • Do not exit in case of undocumented Flash control messages in RTMP
  • HLS muxer fix race condition when generating playlist
  • HLS muxer use coherent version in all playlists
  • WebRTC fix connectivity after network changes
Removed 1
  • RTSP forbid H264 packetization mode zero
New major features

Media-over-QUIC

  • support reading and publishing with Media-over-QUIC (https://github.com/bluenviron/mediamtx/issues/5815) Media-over-QUIC is a streaming protocol built upon cutting edge protocols (QUIC, HTTP3) and browser APIs (WebTransport, WebCodecs). It's slightly faster than WebRTC, has an advanced data recovery mechanism, it supports additional codecs (FLAC) and is less complicated to route. Check the documentation for instructions and details.

RTMP

HLS

Fixes and improvements

General

RTSP

RTMP

HLS

WebRTC

RPI Camera

Dependencies

  • code.cloudfoundry.org/bytefmt updated from v0.72.0 to v0.74.0
  • github.com/abema/go-mp4 updated from v1.5.0 to v1.6.0
  • github.com/bluenviron/gohlslib/v2 updated from v2.3.2 to v2.4.0
  • github.com/bluenviron/gortmplib updated from v0.3.2 to v0.4.0
  • github.com/bluenviron/gortsplib/v5 updated from v5.5.3 to v5.5.4
  • github.com/bluenviron/mediacommon/v2 updated from v2.8.3 to v2.9.0
  • github.com/go-git/go-git/v5 updated from v5.19.0 to v5.19.1
  • github.com/matthewhartstonge/argon2 updated from v1.5.3 to v1.5.4
  • github.com/pion/ice/v4 updated from v4.2.5 to v4.2.7
  • github.com/pion/transport/v4 updated from v4.0.1 to v4.0.2
  • github.com/pion/webrtc/v4 updated from v4.2.12 to v4.2.14
  • golang.org/x/crypto updated from v0.51.0 to v0.52.0
  • golang.org/x/net updated from v0.54.0 to v0.55.0
  • golang.org/x/sys updated from v0.44.0 to v0.45.0
  • github.com/pion/dtls/v3 updated from v3.1.2 to v3.1.3
  • github.com/pion/sctp updated from v1.9.5 to v1.10.0
  • github.com/pion/srtp/v3 updated from v3.0.10 to v3.0.11
  • github.com/pion/stun/v3 updated from v3.1.2 to v3.1.4
  • github.com/pion/turn/v5 updated from v5.0.3 to v5.0.7
  • github.com/quic-go/webtransport-go v0.10.0 added
  • golang.org/x/sync v0.20.0 added
  • github.com/dunglas/httpsfv v1.1.0 added
  • github.com/bluenviron/mediamtx-rpicamera updated from v2.5.7 to v2.6.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