Skip to content

Releases: bluenviron/mediamtx

v1.15.4 "San Francisco"

21 Nov 01:21
6972113

Choose a tag to compare

Fixes and improvements

General

  • support multiple CORS origins (#5150)
  • add udpReadBufferSize parameter (#5129) this allows to set a global UDP read buffer, applied to every UDP socket.
  • extend udpReadBufferSize to WebRTC UDP sockets (#5130) this allows to decrease packet losses without touching system parameters.
  • recorder: prevent FMP4 durations from overflowing (#4711) (#5126) the timestamp difference between two samples was put inside an unsigned integer that, when negative, caused an overflow.

RTP

  • reorder packets before ingestion (#5194)

RTSP

HLS

Dependencies

  • code.cloudfoundry.org/bytefmt updated from v0.55.0 to v0.58.0
  • github.com/alecthomas/kong updated from v1.12.1 to v1.13.0
  • github.com/asticode/go-astits updated from v1.13.0 to v1.14.0
  • github.com/bluenviron/gohlslib/v2 updated from v2.2.3 to v2.2.4
  • github.com/bluenviron/gortsplib/v5 updated from v5.1.1 to v5.2.0
  • github.com/matthewhartstonge/argon2 updated from v1.4.1 to v1.4.3
  • github.com/pion/interceptor updated from v0.1.41 to v0.1.42
  • github.com/pion/rtp updated from v1.8.23 to v1.8.25
  • golang.org/x/crypto updated from v0.43.0 to v0.45.0
  • golang.org/x/sys updated from v0.37.0 to v0.38.0
  • golang.org/x/term updated from v0.36.0 to v0.37.0
  • github.com/pion/transport/v3 updated from v3.0.8 to v3.1.1
  • golang.org/x/mod updated from v0.29.0 to v0.30.0
  • golang.org/x/net updated from v0.46.0 to v0.47.0
  • golang.org/x/sync updated from v0.17.0 to v0.18.0
  • golang.org/x/text updated from v0.30.0 to v0.31.0
  • golang.org/x/tools updated from v0.38.0 to v0.39.0
  • hls.js updated from v1.6.13 to v1.6.15

Security

Binaries are compiled from source through the Release workflow without human intervention, preventing any external interference.

You can verify that binaries have been produced by the workflow by using GitHub Attestations:

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

v1.15.3

21 Oct 19:56
4ff80d7

Choose a tag to compare

Fixes and improvements

General

RTSP

RTMP

  • fix freeze when reading source (#5117) tracks were read without deadlines, freezing the server if they were not present. This patch also allows to close the server immediately during track reading.
  • client: fix compatibility with SRS (#4630) (bluenviron/gortmplib#9)

RPI Camera

Dependencies

  • code.cloudfoundry.org/bytefmt updated from v0.54.0 to v0.55.0
  • github.com/bluenviron/gortmplib updated from v0.1.0 to v0.1.1
  • github.com/bluenviron/gortsplib/v5 updated from v5.1.0 to v5.1.1
  • github.com/bluenviron/mediacommon/v2 updated from v2.5.0 to v2.5.1
  • github.com/pion/rtcp updated from v1.2.15 to v1.2.16
  • github.com/pion/webrtc/v4 updated from v4.1.4 to v4.1.6
  • github.com/pion/sctp updated from v1.8.39 to v1.8.40
  • github.com/pion/transport/v3 updated from v3.0.7 to v3.0.8
  • golang.org/x/mod updated from v0.28.0 to v0.29.0
  • golang.org/x/tools updated from v0.37.0 to v0.38.0
  • github.com/bluenviron/mediamtx-rpicamera updated from v2.5.0 to v2.5.1

Security

Binaries are compiled from source through the Release workflow without human intervention, preventing any external interference.

You can verify that binaries have been produced by the workflow by using GitHub Attestations:

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

v1.15.2

13 Oct 17:03
26b6be0

Choose a tag to compare

Fixes and improvements

General

  • add self-upgrader (#3501) (#5035) this allows to upgrade MediaMTX to latest version by running ./mediamtx --upgrade
  • on Windows, do not look for configuration in linux paths (#5036)
  • do not include recorder and HLS muxer in sent bytes (#4380) (#5039) in API (/paths/list, /paths/get) and metrics (paths_bytes_sent), the amount of sent bytes was increased even in case of writes to the recorder and HLS muxer, which are not generating network traffic. This fixes the issue.
  • add read and write timeouts in HTTP servers (#5056) this prevents zombie connections from piling up.
  • estimate absolute timestamp more precisely (#5078) When the absolute timestamp of incoming frames was not available, it was filled with the current timestamp, which is influenced by latency over time. This mechanism is replaced by an algorithm that detects when latency is the lowest, stores the current timestamp and uses it as reference throughout the rest of the stream.
  • prevent estimated absolute timestamp from drifting too much (#5080)
  • recorder: reset fMP4 sequence number during segment switch (#5082) It's useless to make sequence numbers unique across the entire stream.
  • replace incoming absolute timestamps of any source (#5081) Absolute timestamps are used to generate recording segments, so users should not be able to change them, unless explicitly allowed. Parameter useAbsoluteTimestamp allowed to re-enable absolute timestamps with RTSP and WebRTC, now it is extended to all protocols.
  • recorder: write additional infos inside segments (#5083) write stream ID, segment number, DTS, NTP in a dedicated box. This allows to improve the merge algorithm in the playback server.
  • playback: improve segment merging algorithm (#5084) * merge segments only if they belong to the same stream and are consecutive. * compute DTS without using NTP timestamp, increasing robustness against NTP fluctuations.

API

RTSP

HLS

  • improve web page performance (#5062) load hls.js in parallel with the page.

WebRTC

  • fix clippy audio when reading Opus (#3878) (#5047) Opus timestamp is now recomputed from scratch.
  • fix packet corruption when reading G711 (#5048) when a reader is reading a G711 track, stream units are modified globally, affecting every other reader. This fixes the issue.

Dependencies

  • code.cloudfoundry.org/bytefmt updated from v0.52.0 to v0.54.0
  • github.com/MicahParks/keyfunc/v3 updated from v3.6.2 to v3.7.0
  • github.com/bluenviron/gortsplib/v5 updated from v5.0.1 to v5.1.0
  • github.com/bluenviron/mediacommon/v2 updated from v2.4.3 to v2.5.0
  • github.com/go-git/go-git/v5 updated from v5.16.2 to v5.16.3
  • github.com/matthewhartstonge/argon2 updated from v1.4.0 to v1.4.1
  • github.com/pion/interceptor updated from v0.1.40 to v0.1.41
  • github.com/pion/rtp updated from v1.8.22 to v1.8.23
  • golang.org/x/crypto updated from v0.42.0 to v0.43.0
  • golang.org/x/sys updated from v0.36.0 to v0.37.0
  • golang.org/x/term updated from v0.35.0 to v0.36.0
  • github.com/pion/srtp/v3 updated from v3.0.7 to v3.0.8
  • github.com/quic-go/quic-go updated from v0.54.0 to v0.54.1
  • golang.org/x/net updated from v0.44.0 to v0.46.0
  • golang.org/x/text updated from v0.29.0 to v0.30.0
  • github.com/Masterminds/semver/v3 v3.4.0 added
  • github.com/minio/selfupdate v0.6.0 added
  • aead.dev/minisign v0.2.0 added

Security

Binaries are compiled from source through the Release workflow without human intervention, preventing any external interference.

You can verify that binaries have been produced by the workflow by using GitHub Attestations:

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

v1.15.1

25 Sep 13:35
ead4dcd

Choose a tag to compare

Fixes and improvements

General

  • fix authentication failure reason not being displayed (#5007)
  • fix reading JWT when it is passed through the password field (#5009) Usernames and passwords must be requested explicitly to clients, but they were not requested when JWT is meant to be passed as password. This fixes the issue.
  • stop accepting JWTs from query parameters unless allowed in conf (#5010) This is the first step into removing support for JWTs in query parameters, which is a security flaw.
  • docs: explain how to decrease JWT length in Keycloak (#5012) this prevents errors when passing JWT with FFmpeg and GStreamer.
  • log authentication errors of API, metrics, pprof (#4641) (#5015)
  • allow changing record parameters without disconnecting readers (#4663) (#5018)

API

  • fix crash in rtspsessions/list and /rtspsessions/get (#5030) (#5031) sometimes sessions have an empty associated path, and this caused a crash.

RTSP

Dependencies

  • code.cloudfoundry.org/bytefmt updated from v0.51.0 to v0.52.0
  • github.com/MicahParks/jwkset updated from v0.10.0 to v0.11.0
  • github.com/MicahParks/keyfunc/v3 updated from v3.6.1 to v3.6.2
  • github.com/bluenviron/gortsplib/v5 updated from v5.0.0 to v5.0.1
  • github.com/gin-gonic/gin updated from v1.10.1 to v1.11.0
  • github.com/bytedance/sonic updated from v1.13.2 to v1.14.0
  • github.com/bytedance/sonic/loader updated from v0.2.4 to v0.3.0
  • github.com/cloudwego/base64x updated from v0.1.5 to v0.1.6
  • github.com/gin-contrib/sse updated from v1.0.0 to v1.1.0
  • github.com/go-playground/validator/v10 updated from v10.26.0 to v10.27.0
  • github.com/klauspost/cpuid/v2 updated from v2.2.10 to v2.3.0
  • github.com/pelletier/go-toml/v2 updated from v2.2.3 to v2.2.4
  • github.com/ugorji/go/codec updated from v1.2.12 to v1.3.0
  • golang.org/x/arch updated from v0.16.0 to v0.20.0
  • google.golang.org/protobuf updated from v1.36.6 to v1.36.9
  • github.com/goccy/go-yaml v1.18.0 added
  • github.com/quic-go/qpack v0.5.1 added
  • github.com/quic-go/quic-go v0.54.0 added
  • go.uber.org/mock v0.5.0 added
  • golang.org/x/mod v0.28.0 added
  • golang.org/x/sync v0.17.0 added
  • golang.org/x/tools v0.37.0 added
  • hls.js updated from v1.6.12 to v1.6.13

Security

Binaries are compiled from source through the Release workflow without human intervention, preventing any external interference.

You can verify that binaries have been produced by the workflow by using GitHub Attestations:

ls mediamtx_* | xargs -L1 gh attestation verify --repo bluenviron/mediamtx

You can verify the binaries checksum by downloading checksums.sha256 and running:

cat checksums.sha256 | grep "$(ls mediamtx_*)" | sha256sum --check

v1.15.0

18 Sep 17:14
0ede14d

Choose a tag to compare

New major features

General

  • documentation has been moved to a dedicated website, https://mediamtx.org/ . The website content is based on markdown from the MediaMTX repository and can be edited through GitHub.

RTMP

  • support additional enhanced RTMP features (#4168) (#4321) (#4954). Support reading AV1, VP9, H265, Opus, AC-3, G711, LPCM, support reading multiple video or audio tracks at once.

RTSP

Fixes and improvements

General

API

  • add tunnel and profile to RTSP conns and sessions (#4985)

RTSP

RTMP

  • improve control message compatibility with non-standard cameras (#4909)
  • move implementation to gortmplib (#4968)

HLS

WebRTC

  • Add disablepictureinpicture param (#4883)

RPI Camera

Dependencies

  • Go updated from 1.24 to 1.25
  • code.cloudfoundry.org/bytefmt updated from v0.45.0 to v0.51.0
  • github.com/MicahParks/jwkset updated from v0.9.6 to v0.10.0
  • github.com/bluenviron/gohlslib/v2 updated from v2.2.2 to v2.2.3
  • github.com/bluenviron/gortsplib/v4 removed
  • github.com/bluenviron/mediacommon/v2 updated from v2.4.1 to v2.4.3
  • github.com/gookit/color updated from v1.5.4 to v1.6.0
  • github.com/matthewhartstonge/argon2 updated from v1.3.4 to v1.4.0
  • github.com/pion/rtp updated from v1.8.21 to v1.8.22
  • github.com/pion/sdp/v3 updated from v3.0.15 to v3.0.16
  • github.com/pion/webrtc/v4 updated from v4.1.3 to v4.1.4
  • github.com/stretchr/testify updated from v1.10.0 to v1.11.1
  • golang.org/x/crypto updated from v0.41.0 to v0.42.0
  • golang.org/x/sys updated from v0.35.0 to v0.36.0
  • golang.org/x/term updated from v0.34.0 to v0.35.0
  • github.com/pion/dtls/v3 updated from v3.0.6 to v3.0.7
  • github.com/pion/srtp/v3 updated from v3.0.6 to v3.0.7
  • github.com/pion/turn/v4 updated from v4.0.0 to v4.1.1
  • github.com/xo/terminfo updated from v0.0.0-20210125001918-ca9a967f8778 to v0.0.0-20220910002029-abceb7e1c41e
  • golang.org/x/net updated from v0.43.0 to v0.44.0
  • golang.org/x/text updated from v0.28.0 to v0.29.0
  • github.com/bluenviron/gortmplib v0.1.0 added
  • github.com/bluenviron/gortsplib/v5 v5.0.0 added
  • github.com/bluenviron/mediamtx-rpicamera updated from v2.4.4 to v2.5.0
  • hls.js updated from v1.6.9 to v1.6.12

Security

Binaries are compiled from source through the Release workflow without human intervention, preventing any external interference.

You can verify that binaries have been produced by the workflow by using GitHub Attestations:

ls mediamtx_* | xargs -L1 gh attestation verify --repo bluenviron/mediamtx

You can verify the binaries checksum by downloading checksums.sha256 and running:

cat checksums.sha256 | grep "$(ls mediamtx_*)" | sha256sum --check

v1.14.0

12 Aug 13:58
c80220e

Choose a tag to compare

New major features

RTP

WebRTC

Fixes and improvements

General

  • metrics: add paths_readers metric (#4473) (#4789)
  • metrics: add path and remoteAddr tags (#3941) (#3420) (#4794)
  • apidocs: add missing format to integers and floats (#4796)
  • metrics: add additional WebRTC metrics (#3304) (#4797, webrtc_sessions_rtp_packets_sent, webrtc_sessions_rtp_packets_lost, webrtc_sessions_rtp_packets_jitter, webrtc_sessions_rtcp_packets_received, webrtc_sessions_rtcp_packets_sent.
  • metrics: allow filtering metrics (#953) (#4809)
  • Add support for HTTP over unix sockets (#4241)
  • Add FreeBSD instructions (#4218)
  • prevent leakages by exiting gracefully with SIGTERM (#4352) (#4845)
  • allow setting UDP read buffer size (#3308) (#4846) new parameters: rtspUDPReadBufferSize, rtpUDPReadBufferSize, mpegtsUDPReadBufferSize
  • fix memory leak when reloading the configuration (#4855) When a path has a MPEG-TS, RTP or WebRTC source and the pathconfiguration is reloaded, a routine was left open because the reload channel was not handled. This fixes the issue.

API

  • add additional WebRTC statistics (#4795) rtpPacketsReceived, rtpPacketsSent, rtpPacketsLost, rtpPacketsJitter, rtcpPacketsReceived, rtcpPacketsSent
  • rename udpSource into mpegtsSource (#4842)

RTSP

WebRTC

  • remove custom forks of pion/webrtc and pion/ice (#4861) this fixes IPv6 reliability issues and allows to receive upstream updates in a more linear way.
  • speed up candidate extraction (#4801)
  • close WebRTC sessions when closing browser tabs (https://github.com/bluenviron/mediamtx/issues/4477) (#4849) This should decrease the delay before WebRTC sessions are marked as closed.
  • fix clock rate of outgoing RTCP receiver reports (#4852)
  • fix crash when loading an invalid configuration (#4856)
  • show SDP answers in logs (#4862)
  • solve domains in webrtcAdditionalHosts on server-side (#4817) (#4866)

MPEG-TS

  • support MPEG-TS over unix sockets (#4388) (#4389) (#4828)
  • listen on default multicast interface (#4565) (#4820) ... instead of listening on all multicast interfaces.

RPI Camera

  • add validity checks on rpiCameraProfile and rpiCameraLevel (#4783)
  • rename rpiCameraJPEGQuality in rpiCameraMJPEGQuality (#4784)
  • rename rpiCameraProfile into rpiCameraH264Profile, rpiCameraLevel into rpiCameraH264Level (#3965) (#4785)
  • allow setting software H264 profile and level (#3965) (#4786)
  • allow setting software H264 profile and level (#3965) (bluenviron/mediamtx-rpicamera#57)

Dependencies

  • code.cloudfoundry.org/bytefmt updated from v0.44.0 to v0.45.0
  • github.com/MicahParks/keyfunc/v3 updated from v3.4.0 to v3.6.1
  • github.com/alecthomas/kong updated from v1.12.0 to v1.12.1
  • github.com/bluenviron/gortsplib/v4 updated from v4.16.0 to v4.16.2
  • github.com/bluenviron/mediacommon/v2 updated from v2.4.0 to v2.4.1
  • github.com/golang-jwt/jwt/v5 updated from v5.2.3 to v5.3.0
  • github.com/matthewhartstonge/argon2 updated from v1.3.3 to v1.3.4
  • github.com/pion/ice/v4 updated from v4.0.7 to v4.0.10
  • github.com/pion/webrtc/v4 updated from v4.0.7 to v4.1.3
  • golang.org/x/crypto updated from v0.40.0 to v0.41.0
  • golang.org/x/sys updated from v0.34.0 to v0.35.0
  • golang.org/x/term updated from v0.33.0 to v0.34.0
  • github.com/pion/dtls/v3 updated from v3.0.4 to v3.0.6
  • github.com/pion/sctp updated from v1.8.36 to v1.8.39
  • golang.org/x/net updated from v0.42.0 to v0.43.0
  • golang.org/x/text updated from v0.27.0 to v0.28.0
  • github.com/bluenviron/mediamtx-rpicamera updated from v2.4.3 to v2.4.4
  • hls.js updated from v1.6.7 to v1.6.9

Security

Binaries have been produced by the Release workflow without human intervention.

You can verify that binaries have been produced by the workflow by using GitHub Attestations:

ls mediamtx_* | xargs -L1 gh attestation verify --repo bluenviron/mediamtx

You can verify the binaries checksum by downloading checksums.sha256 and running:

cat checksums.sha256 | grep "$(ls mediamtx_*)" | sha256sum --check

v1.13.1

21 Jul 11:57
0b901ad

Choose a tag to compare

Fixes and improvements

General

  • recorder: limit maximum part size (#4674) (#4760). this prevents RAM exhaustion.
  • fix generating timestamp of non-RTSP MPEG-4 video streams (#4758)

RTSP

  • fix reading with RTSP and hashed credentials (#4698) (#4700)

RTMP

  • fix compatibility with GStreamer rtmp2src / rtmp2sink (#1433) (#4718)

HLS

  • add query params to iOS streams (#4708)
  • fix endless loading in Firefox (#4706)
  • muxer: set Content-Type of audio-only segments to audio/mp4 (bluenviron/gohlslib#251)

WebRTC

  • fix endless loading in Firefox (#4707)
  • fix re-establishing connection in iframe (#4721). Prevent a bug in Firefox in which, when the page is loaded in an iframe and the iframe is deleted and recreated, WebRTC is unable to re-establish the connection.

UDP

SRT

Dependencies

  • code.cloudfoundry.org/bytefmt updated from v0.43.0 to v0.44.0
  • github.com/bluenviron/gohlslib/v2 updated from v2.2.1 to v2.2.2
  • github.com/bluenviron/gortsplib/v4 updated from v4.15.0 to v4.16.0
  • github.com/bluenviron/mediacommon/v2 updated from v2.3.0 to v2.4.0
  • github.com/golang-jwt/jwt/v5 updated from v5.2.2 to v5.2.3
  • github.com/matthewhartstonge/argon2 updated from v1.3.2 to v1.3.3
  • github.com/pion/rtp updated from v1.8.20 to v1.8.21
  • github.com/pion/sdp/v3 updated from v3.0.14 to v3.0.15
  • golang.org/x/crypto updated from v0.39.0 to v0.40.0
  • golang.org/x/sys updated from v0.33.0 to v0.34.0
  • golang.org/x/term updated from v0.32.0 to v0.33.0
  • golang.org/x/net updated from v0.41.0 to v0.42.0
  • golang.org/x/text updated from v0.26.0 to v0.27.0
  • hls.js updated from v1.6.6 to v1.6.7

Security

Binaries have been produced by the Release workflow without human intervention.

You can verify that binaries have been produced by the workflow by using GitHub Attestations:

ls mediamtx_* | xargs -L1 gh attestation verify --repo bluenviron/mediamtx

You can verify the binaries checksum by downloading checksums.sha256 and running:

cat checksums.sha256 | grep "$(ls mediamtx_*)" | sha256sum --check

v1.13.0

06 Jul 19:23
9d21847

Choose a tag to compare

New major features

RTSP

  • support encrypting UDP and UDP-multicast streams (#4690)

General

Fixes and improvements

General

  • recorder, playback: support changing codec parameters without switching segment (#4262) (#4582)
  • record: support storing timezone in recording segments (#3566) (#4597)
  • support assigning paths to different configurations without closing stream (#4576)
  • add attestation system to protect binaries (#4012) (#4629) this allows to prove that binaries were produced by GitHub Actions.
  • fix crash when ConfWatcher fails to initialize (#4689)

RTSP

  • support encrypted streams with SRTP and MIKEY (bluenviron/gortsplib#520) (bluenviron/gortsplib#809)
  • make RTP packet size compatible with RTSP/SRTP (#4692) when RTSP encryption is enabled, maximum RTP packet size is slightly decreased to make room for SRTP.
  • client: fix reading sources without server ports (#4253) (bluenviron/gortsplib#796) RTCP packets were sent out to nil addresses, due to the lack of server ports, causing an error.
  • client: prevent downgrading from RTSPS to RTSP during redirect (bluenviron/gortsplib#816)
  • client: when reading multicast streams, write unicast reports (bluenviron/gortsplib#817) Previously, receiver reports were broadcasted to all connected clients. Now they are sent to the server only.
  • client: when reading UDP streams, write reports to right IP (bluenviron/gortsplib#818) source IPs sent by the server were not taken into consideration. This fixes the issue.
  • set SSRC of outgoing packets (bluenviron/gortsplib#803) In client and server, each format now has a fixed, unique, known in advance SSRC, that is applied to outgoing packets belonging to each format. This is needed to support SRTP/MIKEY, that require each format to have a fixed, unique, and known in advance SSRC.
  • client: open firewall before sending PLAY request (bluenviron/gortsplib#821) this prevents losing some initial packets.
  • support KLV tracks (bluenviron/gortsplib#808)

RTMP

  • fix timeout when publishing with GLive T80 (#4002) (#4583)

HLS

WebRTC

  • fix writing tracks to some clients (#4602) some clients require PayloadType to be unique among all tracks, not only among tracks of same kind.

RPI Camera

  • fix RTP packet size (#4691) UDP max payload size was not applied.

Dependencies

  • code.cloudfoundry.org/bytefmt updated from v0.40.0 to v0.43.0
  • github.com/MicahParks/keyfunc/v3 updated from v3.3.11 to v3.4.0
  • github.com/alecthomas/kong updated from v1.11.0 to v1.12.0
  • github.com/bluenviron/gohlslib/v2 updated from v2.1.5 to v2.2.1
  • github.com/bluenviron/gortsplib/v4 updated from v4.14.1 to v4.15.0
  • github.com/bluenviron/mediacommon/v2 updated from v2.2.0 to v2.3.0
  • github.com/go-git/go-git/v5 updated from v5.16.0 to v5.16.2
  • github.com/matthewhartstonge/argon2 updated from v1.3.1 to v1.3.2
  • github.com/pion/interceptor updated from v0.1.38 to v0.1.40
  • github.com/pion/logging updated from v0.2.3 to v0.2.4
  • github.com/pion/rtp updated from v1.8.16 to v1.8.20
  • github.com/pion/sdp/v3 updated from v3.0.13 to v3.0.14
  • golang.org/x/crypto updated from v0.38.0 to v0.39.0
  • github.com/pion/srtp/v3 updated from v3.0.4 to v3.0.6
  • golang.org/x/net updated from v0.40.0 to v0.41.0
  • golang.org/x/text updated from v0.25.0 to v0.26.0
  • github.com/bluenviron/mediamtx-rpicamera updated from v2.4.2 to v2.4.3
  • hls.js updated from v1.6.2 to v1.6.6

Security

Binaries have been produced by the Release workflow without human intervention.

You can verify that binaries have been produced by the workflow by using GitHub Attestations:

ls mediamtx_* | xargs -L1 gh attestation verify --repo bluenviron/mediamtx

You can verify the binaries checksum by downloading checksums.sha256 and running:

cat checksums.sha256 | grep "$(ls mediamtx_*)" | sha256sum --check

v1.12.3

27 May 20:43
bcebc4d

Choose a tag to compare

Fixes and improvements

General

  • Feat: Add JWKS rotation API endpoint (#4463)
  • add authJWTJWKSFingerprint (https://github.com/bluenviron/mediamtx/issues/4409) (#4514)
  • do not ask for credentials when authentication method is JWT (#4450) (#4513)
  • support passing JWTs through the password field (#4516). This is safer than passing JWTs through query parameters, unfortunately support is limited.
  • parse HTTP username and password OR token, not both (#4517)
  • allow disabling JWT in HTTP query parameters (#4518)
  • allow using colon in path names (#4377) (#4519)
  • change recommended OBS settings (#4523)
  • playback: fix error 404 when seeking before start of segment (#4276) (#4533) (#4539)
  • playback: fix jerky video (#4555). this happened when recording has B-frames, playback format is fmp4 and starting position doesn't correspond to a IDR frame.
  • record: fix loss of audio samples during segment switch (#4556)
  • Fix: gracefully handle fMP4 segments with missing or partial moof/mdat (#4538)
  • recorder: fix duration of first part of a segment (#4562)
  • recorder: fix segment duration when audio is in advance (#4563)
  • recorder: improve fMP4 splitting algorithm (#4566)
  • delete paths that belong to a new configuration (#4013) (#4568)
  • av1: strip size when decoding bitstreams (bluenviron/mediacommon#197)

RTSP

  • fix authentication regression (#4557) since #4267 it was impossible to perform authentication when protocol is RTSP and credentials are hashed.
  • fix invalid TID=0 in writeAggregationUnit of rtph265 encoder (bluenviron/gortsplib#782)

RTMP

  • fix connect command when reading (#4512) when reading, the "connect" command should not contain fpad,capabilities, audioCodecs, videoCodecs, videoFunction.
  • support connecting to sources that require standard credentials (#4530)

HLS

WebRTC

  • prevent routine leaks (#4558) wait for all routines to exit before assuming a WebRTC connection is closed.
  • fix race condition after #4558 (#4564)

SRT

  • set source not ready when reader exits (#4467)

Dependencies

  • Go updated from 1.23 to 1.24
  • code.cloudfoundry.org/bytefmt updated from v0.39.0 to v0.40.0
  • github.com/MicahParks/jwkset updated from v0.9.5 to v0.9.6
  • github.com/alecthomas/kong updated from v1.10.0 to v1.11.0
  • github.com/bluenviron/gohlslib/v2 updated from v2.1.4 to v2.1.5
  • github.com/bluenviron/gortsplib/v4 updated from v4.14.0 to v4.14.1
  • github.com/bluenviron/mediacommon/v2 updated from v2.1.1 to v2.2.0
  • github.com/gin-gonic/gin updated from v1.10.0 to v1.10.1
  • github.com/matthewhartstonge/argon2 updated from v1.3.0 to v1.3.1
  • github.com/pion/interceptor updated from v0.1.37 to v0.1.38
  • github.com/pion/rtp updated from v1.8.15 to v1.8.16
  • github.com/pion/sdp/v3 updated from v3.0.11 to v3.0.13
  • golang.org/x/crypto updated from v0.37.0 to v0.38.0
  • golang.org/x/term updated from v0.31.0 to v0.32.0
  • golang.org/x/net updated from v0.39.0 to v0.40.0
  • golang.org/x/text updated from v0.24.0 to v0.25.0
  • github.com/bluenviron/mediamtx-rpicamera updated from v2.4.1 to v2.4.2

Security

Binaries have been produced by the Release workflow without human intervention.

SHA256 checksums:

  • mediamtx_v1.12.3_darwin_amd64.tar.gz edc850106758803f097ae821e60a9de71f13884fe1f9a634f4e7da9e27ad18ea
  • mediamtx_v1.12.3_darwin_arm64.tar.gz cc19f3b0ed502ed74c0952c65e5dfeeb95f368948ed0942b47ffbb38065f6e3a
  • mediamtx_v1.12.3_linux_amd64.tar.gz 450d1172bf6708cbd630eada115ccfc33453227e16750369113d1dfe34f876d8
  • mediamtx_v1.12.3_linux_arm64.tar.gz 61b37116e36417a1afb9395f9f0d0c63d97f30cbdb0e6a6dccf95d69289e97f4
  • mediamtx_v1.12.3_linux_armv6.tar.gz 6ff385cc93a0ca6a61401f1553ddfbebdb33b23efc12ff6aac36475446abf341
  • mediamtx_v1.12.3_linux_armv7.tar.gz 97c8e9167a8ba06dbe0c3cc86879b109b653d3c4699552dad69509b47d6cd36e
  • mediamtx_v1.12.3_windows_amd64.zip d87b5080e5d2f2061b0ea6f4b64945d88ecf8053021b6a121a05b53adb57d3bb

v1.12.2

06 May 15:30
de46a28

Choose a tag to compare

Fixes and improvements

RPI Camera

Dependencies

  • golang.org/x/sys updated from v0.32.0 to v0.33.0

Security

Binaries have been produced by the Release workflow without human intervention.

SHA256 checksums:

  • mediamtx_v1.12.2_darwin_amd64.tar.gz 572a766870f821196ec0977fda7993ac5a8c45ba34174b3a048f000e3fe1dd0b
  • mediamtx_v1.12.2_darwin_arm64.tar.gz df388cb70bcefe3822a63eb884576191120e63099d1fac4314d63d38b60eb238
  • mediamtx_v1.12.2_linux_amd64.tar.gz f0ec6e21c3cde41d02f186f58636f0ea8ee67c9d44dacf5b9391e85600f56e74
  • mediamtx_v1.12.2_linux_arm64.tar.gz 35803953e27a7b242efb1f25b4d48e3cc24999bcb43f6895383a85d6f8000651
  • mediamtx_v1.12.2_linux_armv6.tar.gz 765156e430b6664d1092116e33c5ba5c5fc711d0fe4a0e5805326852d0fa7523
  • mediamtx_v1.12.2_linux_armv7.tar.gz b10a5267113bc013339e3bfc7b60a3c32aeba1bf56f0e86be36f02b123ff1328
  • mediamtx_v1.12.2_windows_amd64.zip f83b9954f3b39f2aed5e93dd739ce2e3dbb276aa21c1759547ba6d858ca68671