Populars: Dades actualitzades el 27 d’octubre del 2026

Categories

Internet1.356
Comunicació321
Àudio i vídeo898
Gràfics i disseny539
Ofimàtica i productivitat1.124
Eines per a desenvolupadors3.134
Eines d’IA529
Seguretat i privadesa385
Eines del sistema3.114
Jocs523
Educació i ciència239
Xarxa i TI284

mediamtx: baixar versions anteriors

Ready-to-use SRT / WebRTC / RTSP / RTMP / LL-HLS media server and media proxy that allows to read, publish, proxy, record and playback video and audio streams.

Aquí hi ha 33 versions de mediamtx, des de 20 d’octubre del 2024 fins a l’actual, 1.21.3. Cadascuna enllaça amb els instal·ladors del mateix desenvolupador.

2024: 1 1 24 2025: 13 13 25 2026: 19 19 26

33 versions en 2 anys · unes 16 per any

VersióDataMidaFitxers
1.21.3Darrera versió 25 d’octubre del 2026 — 64 bits ZIP
Notes de la versió
New major features
TODO

Fixes and improvements
TODO

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.
1.21.2 8 d’octubre del 2026 — 64 bits ZIP
Notes de la versió
General
- fix dropping UDP packets during connection close (#6278) UDP packets were dropped in case of errors regardless of their size. Now they are dropped only if they are empty and there's an error.
- docs: fix youtube rtmps URL (#6286) The rtmps URL for Youtube was wrong. The fingerprint is not required anymore.
- prevent free access to playback server in case of legacy credentials (#6311) When legacy credentials are in use (readUser, readPass, publishUser, publishPass), access to the playback server is granted to anyone. Prevent this by granting access only to users using readUser, readPass.
- auth: skip JWKS fetch when no JWT is provided (#6274) authenticateJWT fetched the JWKS before checking whether the request carried a token at all. Every anonymous request, such as the first unauthenticatedRTSP DESCRIBE or HLS request that precedes a 401, caused an outbound request to the JWKS server while holding the manager's write lock. An unauthenticated client could therefore make the server contact the identity provider at will and, while that endpoint was slow or unreachable, stall JWT authentication for everybody. Return "JWT not provided" before touching the JWKS. Also check the JWKS response status code. A non-2xx reply was fed straight to the JSON decoder, so an error page surfaced as a confusing parse error,and an error reply that happened to hold valid JSON was cached as the key set for an hour. Reject it with the status code, as authenticateHTTP already does. Behavior for requests that carry a token against a healthy JWKS server is unchanged.
- rewindablereader: fix possible OOM (bluenviron/mediacommon#383) empty datagram packets might cause the allocation of unnecessary entries. Fix that.
- h264: revert bluenviron/mediacommon#142 (bluenviron/mediacommon#384) supporting standalone SEI units should not be necessary anymore since these are filtered out at the root (bluenviron/gortsplib#1184). In case of any issue that should arise after this change, open a bug report and we'll adjust things accordingly.
- h264: support SEI recovery point in DTS extractor (bluenviron/mediacommon#341) Treat a SEI recovery point message (payload type 6) as a random access point, similarly to a CRA in H265, so the DTS extractor can (re)initialize its state from the first coded frame that follows the recovery point.

API
- fix race condition when kicking RTSP sessions (#6260) (#6275)
- do not change passwords when their value is "" (#6141) (https://github.com/bluenviron/mediamtx/issues/6287) (#6292) some users call /config/global/get and passits content to /config/global/patch. Since the former now redacts passwords and replaces their value with "", this string is used as an effective password, breaking authentication. Now password values equal to "" are ignored by /config/global/patch, and the original password value is kept unchanged.
- fix deadlock when reloading the API (#6280) (#6279) (#6310) When the API is closing, a /config endpoint might be waiting on the server to
1.21.1 20 de setembre del 2026 — 64 bits ZIP
Notes de la versió
New major features
TODO

Fixes and improvements
TODO
1.21.0 5 de setembre del 2026 — 64 bits ZIP
Notes de la versió
New major features
Media-over-QUIC
- support forwarding streams (#6145)
API
- add /paths/static-sources/get endpoint (#6177) this allows to obtain details about static sources.
- add type-specific properties to forward destinations (#6178)
- add type-specific properties to static sources (#6184)

Fixes and improvements
General
- use internal/core/VERSION as single source of truth to get version (#6119)
- httpp: propagate Flush() through the response writer wrappers (#6126) handlerLogger's responseRecorder and handlerWriteTimeout's writeTimeoutWriter both wrap http.ResponseWriter but implement neither http.Flusher nor Unwrap(). Any handler that flushes mid-response has that flush silently dropped, and its output only reaches the client when the handler returns. That defeats the stated purpose of writeTimeoutWriter, whose own comment says it exists so one can "write long responses, splitted in chunks, without causing timeouts": the deadline is reset per Write(), but nothing ever leaves the buffer until the end. Found while adding a server-sent-events endpoint: events written and flushed at t=0.4s onlyreached the client at t=2.2s, when the handler returned. Adding Flush() plus Unwrap() (so http.ResponseController can reach through) fixes both. The new test drives a real listener throughboth wrappers and reads while the handler is still blocked, so it fails on the current code by hitting the read deadline.
- support setting read buffer size on macOS (#6128) (#6131)
- drop support for Debian Bullseye (#6137) Bullseye reached EOL on 31st august 2026.
- emit "closed" log message when a server is closed (#6152
1.20.1 18 d’agost del 2026 — 64 bits ZIP
Notes de la versió
New major features
TODO

Fixes and improvements
TODO

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.
1.20.0 5 d’agost del 2026 — 64 bits ZIP
Notes de la versió
New major features
TODO

Fixes and improvements
TODO

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.
1.19.3 23 de juliol del 2026 — 64 bits ZIP
Notes de la versió
New major features
TODO

Fixes and improvements
TODO

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.
1.19.2 28 de juny del 2026 — 64 bits ZIP
Notes de la versió
General
- playback: fix panic when MP4 muxer flushes with no samples (#5867)
- redact sensitive headers in HTTP debug logs (#5873)
- fix(recordstore): decode timezone offset minutes correctly (#5884)
- improve HTTP server performance (#5886) log incoming requests without cloning.
- prevent truncation of 64-bit values on 32-bit platforms (#5902)

RTSP
- add rtspScale parameter to inject Scale header on PLAY (#5800)
- client: switch automatically to TCP in case of H264 packetization-mode=0 (bluenviron/gortsplib#1086)
- support VP8 streams with multiple partitions (https://github.com/bluenviron/mediamtx/issues/5426) (bluenviron/gortsplib#1090)
- allow FU-A and STAP-A packets with H264 packetization-mode 0 (#5887) (bluenviron/gortsplib#1092)

WebRTC
- skip unresolvable webrtcAdditionalHosts entries instead of aborting (#5845)

RPI Camera
- support encoding primary stream with MJPEG (2/2) (#5892)
- support encoding secondary stream with H264 (2/2) (#4485) (#5898)
- add unified rpiCameraH264Profile, rpiCameraH264Level params (#5894) These replace rpiCameraHardwareH264Profile, rpiCameraHardwareH264Level, rpiCameraSoftwareH264Profile, rpiCameraSoftwareH264Level.
- fix race condition that prevents decoding the stream (bluenviron/mediamtx-rpicamera#109) (#5861) When a player immediately connects to a newly-created stream, SPS/PPS might not be available, neither in the SDP and neither in-band. Prevent the issue by always sending SPS/PPS in-band.
- improve performance by computing frame size once (bluenviron/mediamtx-rpicamera#111)
- fix wrong timestamp being passed to openh264 (bluenviron/mediamtx-rpicamera#114)

Dependencies
- code.cloudfoundry.org/bytefmt updated from v0.76.0 to v0.78.0
- github.com/abema/go-mp4 updated from v1.6.0 to v1.7.1
- github.com/bluenviron/gortsplib/v5 updated from v5.6.0 to v5.6.1
- github.com/bluenviron/mediacommon/v2 updated from v2.9.0 to v2.9.1
- github.com/matthewhartstonge/argon2 updated from v1.5.4 to v1.5.5
- github.com/pion/sdp/v3 updated from v3.0.18 to v3.0.19
- github.com/quic-go/webtransport-go updated from v0.10.0 to v0.11.0
- github.com/pion/srtp/v3 updated from v3.0.11 to v3.0.12
- github.com/bluenviron/mediamtx-rpicamera updated from v2.6.0 to v2.8.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.
1.19.1 10 de juny del 2026 — 64 bits ZIP
Notes de la versió
Fixes and improvements

General
- support using regexp groups in every part of a source URL (#5766) (#5779)
- improve anti-brute force mechanism (#5835) delay authentication failure responses by a random amount of time, use the same anti-brute force mechanism with all users.
- limit size of HTTP requests shown in debug logs (#5858)
- print body of selected HTTP responses when log level is debug (#5859)

Media-over-QUIC
- fix race condition when closing server (#5836) some sessions were hanging if they were concurrently being closed by the remote peer.
- rename moqHTTPS2Address into moqHTTP2Address, moqHTTPS3Address into moqHTTP3Address (#5841)

RTSP
- support PROXY protocol (#5754) Support PROXY protocol v1/v2 on RTMP, RTMPS, RTSP, and RTSPS TCP listeners so real client IPs are visible when running behind L4 proxies (nginx stream, HAProxy, AWS NLB).
- restore support for H264 packetization-mode 0 (#5846) (#5857) H264 streams with packetization-mode=0 cannot be routed with UDP since packets are too big. Inbound streams with packetization-mode=0 are blocked by the server since v1.19.0 but this caused compatibility issues with some cameras. The server is now able to receive such streams with TCP, and automatically remuxes them in streams with packetization-mode=1, which can be routed freely.

RTMP
- support PROXY protocol (#5754) Support PROXY protocol v1/v2 on RTMP, RTMPS, RTSP, and RTSPS TCP listeners so real client IPs are visible when running behind L4 proxies (nginx stream, HAProxy, AWS NLB).

Dependencies
- code.cloudfoundry.org/bytefmt updated from v0.74.0 to v0.76.0
- github.com/bluenviron/gortsplib/v5 updated from v5.5.4 to v5.6.0
- github.com/pion/ice/v4 updated from v4.2.7 to v4.2.8-0.20260604162030-72f5001c4596
- github.com/pion/webrtc/v4 updated from v4.2.14 to v4.2.15
- github.com/quic-go/quic-go updated from v0.59.0 to v0.60.0
- golang.org/x/crypto updated from v0.52.0 to v0.53.0
- golang.org/x/net updated from v0.55.0 to v0.56.0
- golang.org/x/sync updated from v0.20.0 to v0.21.0
- golang.org/x/sys updated from v0.45.0 to v0.46.0
- golang.org/x/term updated from v0.43.0 to v0.44.0
- github.com/pion/dtls/v3 updated from v3.1.3 to v3.1.4
- github.com/pion/stun/v3 updated from v3.1.4 to v3.1.5
- github.com/pion/turn/v5 updated from v5.0.7 to v5.0.9
- golang.org/x/text updated from v0.37.0 to v0.38.0
- github.com/pires/go-proxyproto v0.12.0 added
1.19.0 2 de juny del 2026 — 64 bits ZIP
Notes de la versió
New major features
TODO

Fixes and improvements
TODO
1.18.2 15 de maig del 2026 — 64 bits ZIP
Notes de la versió
New major features
TODO

Fixes and improvements
TODO
1.18.1 30 d’abril del 2026 — 64 bits ZIP
Notes de la versió
General
- prevent code injection in case of MTX_QUERY in hooks (#5707) When MTX_QUERY is used explicitly in hooks, for instance "curl http://something/?$MTX_QUERY", it can be used to inject arbitrary commands. MTX_QUERY is now url-encoded to prevent any abuse regardless of the configuration.
- use temporary redirects instead of permanent redirects (#5710) this prevents unwanted caching.

HLS
- prevent open redirect attacks (#5708)
- support reading and writing KLV (#5604)
- add hlsCDNSecret (#5716) this allows to serve HLS streams behind a CDN in a simplified way, compatible with the new HLS session system.
- add public attribute to cache-control header (bluenviron/gohlslib#349)
- allow caching non-low-latency playlists (bluenviron/gohlslib#350)

WebRTC
- prevent open redirect attacks (#5708)

RPI Camera
- Merge request->controls instead of overwriting (bluenviron/mediamtx-rpicamera#97) libcamera 0.7.0 is more strict about changing controls; assignment is no longer allowed since raspberrypi/libcamera@310cd8b Instead, we use the merge call with overwrite.
1.18.0 26 d’abril del 2026 — 64 bits ZIP
Notes de la versió
New major features
TODO

Fixes and improvements
TODO

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.
1.17.1 31 de març del 2026 — 64 bits ZIP
Notes de la versió
Fixes and improvements
General
- prevent directory traversal attacks (#5602) Path names are used as part of paths in several components: in the recorder, in the playback server and in every HTTP-based component (WebRTC, HLS, API). Special characters that allow to escape from the intended directory are now forbidden in order to prevent directory traversal attacks.

RTSP
- client: fill server name indication (SNI) of TLS connections (bluenviron/gortsplib#1038)

RTMP
- implement AbortMessage (#4673) (bluenviron/gortmplib#59)
- client: fill server name indication (SNI) of TLS connections (bluenviron/gortmplib#63)

WebRTC
- fix random absolute timestamps with Opus, G711 and LPCM (#5597) When rewriting audio RTP timestamps in WebRTC egress, NTP was derived using regenerated packet timestamps minus the incoming RTP base timestamp. That mixed timestamp domains and could shift absolute time by an arbitrary offset while still exposing mapping as available. Fix by using a consistent outgoing RTP domain in rewritten audio paths
- strip TWCC extension of incoming RTP packets (#5146) (#5605) The TWCC extension is used as part of the WebRTC congestion control algorithm placed between the publisher and the server. If this extension is routed untouched from the server to readers, it messes with the congestion control algorithm present between the server and each reader. Remove it.

RPI Camera
- restore Docker compatibility with armv6 devices (#5590) (#5595)
- restore compatibility with armv6 devices (#5590) (bluenviron/mediamtx-rpicamera#95)

Dependencies
- github.com/bluenviron/gortmplib updated from v0.3.0 to v0.3.1
- github.com/bluenviron/gortsplib/v5 updated from v5.5.0 to v5.5.1
- github.com/gin-contrib/pprof updated from v1.5.3 to v1.5.4
- github.com/go-git/go-git/v5 updated from v5.17.0 to v5.17.2
- github.com/pion/ice/v4 updated from v4.2.1 to v4.2.2
- github.com/pion/webrtc/v4 updated from v4.2.9 to v4.2.11
- github.com/pion/sctp updated from v1.9.2 to v1.9.4
- github.com/bluenviron/mediamtx-rpicamera updated from v2.5.4 to v2.5.5
1.17.0 17 de març del 2026 — 64 bits ZIP
Notes de la versió
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 (https://github.com/bluenviron/mediamtx/issues/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
- fix rtsps scheme not being used in requests (#5236) (#5544)
- support unwrapping MPEG-TS tracks (#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 (bluenviron/gortsplib#1009) (#5304) (bluenviron/gortsplib#1014)
- allocate a rtp sender for each server session (bluenviron/gortsplib#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 (#5198) (bluenviron/gortsplib#1023)

HLS
- muxer: support muxing KLS with MPEG-TS (bluenviron/gohlslib#327)
- client: fix deadlock when processing fMP4s (bluenviron/gohlslib#333) (bluenviron/gohlslib#334)

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
1.16.3 1 de març del 2026 — 64 bits ZIP
Notes de la versió
Fixes and improvements
General
- fill product version of Windows executable (#5167) (#5511)
- improve JSON decoder performance (#5526) avoid decoding JSON twice.
- fix panic when setting writeQueueSize to zero (#5360) (#5527)
- prevent using alwaysAvailableFile and alwaysAvailableTracks together (#5529)
- improve playback precision of alwaysAvailable offline segment (#5530)
- fix MPEG-4 audio configuration not matching error (#5468) (#5533) This happened when using alwaysAvailableFile and a MPEG-4 audio track.
- fix corrupted video with alwaysAvailableFile (#5534) when alwaysAvailableFile points to a file with a H265 or H264 track, server is started, an online stream is published and then closed, video was getting corrupted since the online video was overriding the parameters of the offline video.
- fix audio from alwaysAvailableFile not being streamed (#5535)
- fix alwaysAvailableFile restarting when a publisher fails (#5536) when a publisher try to start an online stream and there's an error, alwaysAvailableFile restarted without any reason.
- revert to Go 1.25 (#5521) (#5538) It seems like Go 1.26 is causing segmentation faults, related to channels, on Windows.
- inherit MPEG-4 audio type from alwaysAvailableFile (#5539)
- mpegts: properly compute PTS of async KLV frames (bluenviron/mediacommon#291) (bluenviron/mediacommon#311) Store last valid PTS as soon as possible, by parsing PES headers in advance, then use this PTS as timestamp of KLV frames without PTS.
HLS
- client: fix initial packet loss after astits upgrade (bluenviron/gohlslib#331)
Dependencies
- Go updated from 1.26 to 1.25
- github.com/asticode/go-astits updated from v1.14.0 to v1.15.0
- github.com/bluenviron/gohlslib/v2 updated from v2.2.6 to v2.2.8
- github.com/bluenviron/gortsplib/v5 updated from v5.3.2 to v5.4.0
- github.com/bluenviron/mediacommon/v2 updated from v2.8.0 to v2.8.2
- github.com/gin-gonic/gin updated from v1.11.0 to v1.12.0
- github.com/go-git/go-billy/v5 updated from v5.7.0 to v5.8.0
- github.com/go-git/go-git/v5 updated from v5.16.5 to v5.17.0
- github.com/bytedance/sonic updated from v1.14.0 to v1.15.0
- github.com/bytedance/sonic/loader updated from v0.3.0 to v0.5.0
- github.com/cloudflare/circl updated from v1.6.1 to v1.6.3
- github.com/gabriel-vasile/mimetype updated from v1.4.8 to v1.4.12
- github.com/go-playground/validator/v10 updated from v10.27.0 to v10.30.1
- github.com/quic-go/quic-go updated from v0.57.0 to v0.59.0
- github.com/ugorji/go/codec updated from v1.3.0 to v1.3.1
- golang.org/x/arch updated from v0.20.0 to v0.22.0
- golang.org/x/net updated from v0.50.0 to v0.51.0
- google.golang.org/protobuf updated from v1.36.9 to v1.36.10
- github.com/bytedance/gopkg v0.1.3 added
- go.mongodb.org/mongo-driver/v2 v2.5.0 added
Security
Binaries are compiled from source code 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 checksums of binaries by downloading checksums.sha256 and running:
cat checksums.sha256 | grep "$(ls mediamtx_*)" | sha256sum --check
1.16.2 22 de febrer del 2026 — 64 bits ZIP
Notes de la versió
Fixes and improvements
General
- support X-Forwarded-Proto in playback server (#4970) (#5445) allow reverse proxies to change the schema of URLs returned by the server through the X-Forwarded-Proto header.
- make config file YAML 1.2 compliant (#5345) (#5456)
- replace YAML parser (#5461) switch from the unmaintained gopkg.in/yaml to goccy/go-yaml
- deprecate unix+rtp (#5318) (#4999) (#5351) (#5470) Unix socket are stream-based connections, while RTP requires packet-based connections. While packet-based Unix sockets exist (unixgram), no client supports them. Consequently we are forced to deprecate unix+rtp.
- fix codec parameters not being loaded from alwaysAvailableFile (#5484)
- warn when alwaysAvailableFile is not MP4 (#5483)
- suggest using JWTs in query parameters for RTSP and RTMP (#5267) (#5493) In case of RTSP and RTMP, JWTs cannot be used as passwords since there's a size limit. Therefore, documentation is updated to suggest passing JWT through query parameters, and authJWTInHTTPQuery is updated to act on HTTP requests only.
- fix error 400 with parallel describe and publish requests (#5095) (#5502) When a path is dynamic, and the path receives multiple describe and publish requests in parallel, describe requests might cause the path to be deleted, and this might cause pending publish requests to fail, since the path has been deleted. This patch improves the situation by checking for pending requests before deleting a path.
- add integrated packet dumper (#5488) this allows to dump any incoming and outgoing packet, to disk, in pcapng format.
- log packet sizes if UDPMaxPayloadSize is exceeded (#4668)
- improve video/audio sync of alwaysAvailable (#5443) (#5508) store elapsed time once for the entire stream and start PTS of sub streams from there.
- improve pmp4 and fmp4 parser robustness (bluenviron/mediacommon#299)
- mp4: fix H265 + iOS compatibility (bluenviron/mediacommon#290) On iOS, H265 requires the hvc1 box instead of the hev1 box.
- h264: prevent Annex-B from decoding more NALUs than MaxNALUsPerAccessUnit (bluenviron/mediacommon#303)
- improve H264 and MPEG-4 video performance (#4971) (bluenviron/mediacommon#304)
- mp4: fill reserved fields properly (bluenviron/mediacommon#307)
- mpegts: parse Opus channel configuration (#5002) (bluenviron/mediacommon#309)
API
- add conns to RTSP Sessions (#5454) this allows to find connections associated with a RTSP session.
RTMP
- prevent legacy clients from reading multiple video/audio tracks (#5478)
- fix marshaling H264 VideoExCodedFrames (#4996) (bluenviron/gortmplib#46) These messages were marshaled wrongly, causing errors when trying to read H264 tracks with an ID >= 1.
- support reading H265 with video codec id 12 (#5105) (bluenviron/gortmplib#48)
HLS
- client: support storing and sending cookies (#5444)
WebRTC
- allow tuning WHEP timeouts (#5027) (#5479) add whepHandshakeTimeout, whepTrackGatherTimeout, whepSTUNGatherTimeout
- add whepBearerTokenParameter (#3796) (#5486) this allows to pass Authorization: Bearer to servers that require it.
SRT
- set timeout of idle peers to readTimeout (#5489)
RPI Camera
- fix cross-compilation (bluenviron/mediamtx-rpicamera#89)
- fix kernel warning when closing camera (#4988) (bluenviron/mediamtx-rpicamera#88) close camera and encoder handlers properly.
Dependencies
- Go updated from 1.25 to 1.26
- code.cloudfoundry.org/bytefmt updated from v0.63.0 to v0.64.0
- github.com/MicahParks/keyfunc/v3 updated from v3.7.0 to v3.8.0
- github.com/bluenviron/gohlslib/v2 updated from v2.2.5 to v2.2.6
- github.com/bluenviron/gortmplib updated from v0.2.1 to v0.3.0
- github.com/bluenviron/gortsplib/v5 updated from v5.3.1 to v5.3.2
- github.com/bluenviron/mediacommon/v2 updated from v2.7.1 to v2.8.0
- github.com/datarhei/gosrt updated from v0.9.0 to v0.10.0
- github.com/go-git/go-git/v5 updated from v5.16.4 to v5.16.5
- github.com/matthewhartstonge/argon2 updated from v1.4.5 to v1.4.6
- github.com/pion/ice/v4 updated from v4.2.0 to v4.2.1
- github.
1.16.1 7 de febrer del 2026 — 64 bits ZIP
Notes de la versió
New major features
TODO
Fixes and improvements
TODO
Security
Binaries are compiled from source code 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 checksums of binaries by downloading checksums.sha256 and running:
cat checksums.sha256 | grep "$(ls mediamtx_*)" | sha256sum --check
1.16.0 31 de gener del 2026 — 64 bits ZIP
Notes de la versió
New major features
TODO
Fixes and improvements
TODO
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
1.15.6 28 de desembre del 2025 — 64 bits ZIP
Notes de la versió
Fixes and improvements
General
- add structured logging (#5219)
- fix 1-minute offset when recording a H264 WebRTC track (#5275) (#5278)
- disable syslog logging on macOS (#5005) (#5295)
- set syslog priority and do not write level and date to syslog (#4923) (#5296) When writing log entries to syslog, pass the level (WARN, INFO, etc) directly to syslog. Avoid writing level and date. This provides a better integration and allows to use syslog search tools.
RTSP
- avoid setupping back channels (#5074) (#5289)
- Support URI format sent by HappyTime ONVIF and RTSP clients during (bluenviron/gortsplib#964)
- fix medias wrongly marked as back channels (#5074) (bluenviron/gortsplib#970) Some cameras mark medias as back channels even though they are not. Try to detect this by checking whether in full the SDP there are both back channels and standard channels, unmarking back channels otherwise.
- when there are back channels, add recvonly attribute to standard channels (bluenviron/gortsplib#971)
SRT
- fix broken connections in case of high latency (#3756) (#5282) When listening and accepting an incoming connection request, the response might be received by the peer with some delay due to latency. This causes the peer to send a second connection request, that is not detected as duplicate because the first connection request has already been removed from the map that is used to check for duplicates (connReqs), so it is treated as a brand new connection request, breaking the first connection. This patch fixes the issue by introducing another map (connByPeer) that is used to check whether a connection request is associated to an already-accepted connection.
Dependencies
- code.cloudfoundry.org/bytefmt updated from v0.58.0 to v0.59.0
- github.com/bluenviron/gortmplib updated from v0.1.2 to v0.2.0
- github.com/bluenviron/gortsplib/v5 updated from v5.2.1 to v5.2.2
- github.com/bluenviron/mediacommon/v2 updated from v2.5.3 to v2.6.0
- github.com/matthewhartstonge/argon2 updated from v1.4.3 to v1.4.4
- github.com/pion/ice/v4 updated from v4.0.13 to v4.1.0
- github.com/pion/rtp updated from v1.8.26 to v1.9.0
- github.com/pion/sdp/v3 updated from v3.0.16 to v3.0.17
- github.com/pion/webrtc/v4 updated from v4.1.7 to v4.2.1
- golang.org/x/crypto updated from v0.45.0 to v0.46.0
- golang.org/x/sys updated from v0.38.0 to v0.39.0
- golang.org/x/term updated from v0.37.0 to v0.38.0
- github.com/pion/dtls/v3 updated from v3.0.8 to v3.0.9
- github.com/pion/sctp updated from v1.8.41 to v1.9.0
- github.com/pion/stun/v3 updated from v3.0.1 to v3.0.2
- github.com/quic-go/qpack updated from v0.5.1 to v0.6.0
- github.com/quic-go/quic-go updated from v0.54.1 to v0.57.0
- go.uber.org/mock removed
- golang.org/x/mod removed
- golang.org/x/net updated from v0.47.0 to v0.48.0
- golang.org/x/sync removed
- golang.org/x/text updated from v0.31.0 to v0.32.0
- golang.org/x/time updated from v0.9.0 to v0.12.0
- golang.org/x/tools removed
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
1.15.5 7 de desembre del 2025 — 64 bits ZIP
Notes de la versió
Fixes and improvements
General
- apidocs: fix compatibility with OpenAPI 3.0 (#5210) double-precision numbers are now represented as double.
- playback: support concatenating segments with long gaps (#5172) Thanks to the new mtxi MP4 box, it's possible to check whether two segments are consecutive without involving dates or timestamps. When the new mtxi box is present in both segments, do not check if the end of the first segment corresponds to the start of the second segment.
- recorder: reset when absolute time drifts from stream time (#4778) (#5239) the server now detects when system time changes too much and restarts recordings when that happens.
- playback: fix crash (#5240) (#5250) when requesting a recording with the mp4 format, if there are two tracks and the second track has no samples, the server crashed. This fixes the issue.
- fix panic when changing log file to a nonexisting directory (#5132) (#5249)
- h264: fix regression in DTS extractor (#5207) (bluenviron/mediacommon#263)
- h264: increase MaxNALUsPerAccessUnit (bluenviron/mediacommon#262) Some parrot drones use slice-encoding with 45 independent slices, resulting in frames consisting of 48 NALUs.
- pmp4: fix crash when unmarshaling and there are no samples (#5240) (bluenviron/mediacommon#267)
- fmp4: Correctly parse trun v0 sample composition time offset (bluenviron/mediacommon#268)
- h265: fix DTS extraction with multiple slices (#5071) (bluenviron/mediacommon#269)
API
- always reply with JSON in case of success or failure (#5252) Reply with "status": "ok" in case of success, and with "status": "error" in case of error. This makes the API more accessible and user friendly.
RTSP
- fix crash when setupping tracks between stream changes (#5253) (#5257)
- Allow 1 byte of extra padding at mikey message (bluenviron/gortsplib#953)
RTMP
- prevent dropping initial video and audio frames (bluenviron/gortmplib#26)
Dependencies
- github.com/bluenviron/gortmplib updated from v0.1.1 to v0.1.2
- github.com/bluenviron/gortsplib/v5 updated from v5.2.0 to v5.2.1
- github.com/bluenviron/mediacommon/v2 updated from v2.5.1 to v2.5.3
- github.com/go-git/go-billy/v5 updated from v5.6.2 to v5.7.0
- github.com/go-git/go-git/v5 updated from v5.16.3 to v5.16.4
- github.com/pion/ice/v4 updated from v4.0.10 to v4.0.13
- github.com/pion/rtp updated from v1.8.25 to v1.8.26
- github.com/pion/webrtc/v4 updated from v4.1.6 to v4.1.7
- github.com/pion/dtls/v3 updated from v3.0.7 to v3.0.8
- github.com/pion/mdns/v2 updated from v2.0.7 to v2.1.0
- github.com/pion/sctp updated from v1.8.40 to v1.8.41
- github.com/pion/srtp/v3 updated from v3.0.8 to v3.0.9
- github.com/pion/stun/v3 updated from v3.0.0 to v3.0.1
- github.com/pion/turn/v4 updated from v4.1.1 to v4.1.3
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
1.15.4 21 de novembre del 2025 — 64 bits ZIP
Notes de la versió
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
- support RTSP responses with empty status message (bluenviron/gortsplib#807) (bluenviron/gortsplib#928)
- server: fix timeout when reading with Media Foundation (#5090) (bluenviron/gortsplib#932)
- fix SP payload of MIKEY messages (bluenviron/gortsplib#827) (bluenviron/gortsplib#935) fill PayloadSPPolicyParamTypeAuthTagLen andPayloadSPPolicyParamTypeSessionAuthKeyLen properly.
- support formats with dynamic SSRC (bluenviron/gortsplib#687) (bluenviron/gortsplib#940)
- improve performance by decoding RTP header once (bluenviron/gortsplib#941)
HLS
- muxer: prevent FMP4 durations from overflowing (#5126) (bluenviron/gohlslib#290)
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
1.15.3 21 d’octubre del 2025 — 64 bits ZIP
Notes de la versió
New major features
TODO
Fixes and improvements
TODO
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
1.15.2 13 d’octubre del 2025 — 64 bits ZIP
Notes de la versió
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
- add /info endpoint (#945) (#5045)
RTSP
- Fix: invalid SDP: sdp: invalid syntax c=IN (bluenviron/gortsplib#906)
- server: add idle timeout (bluenviron/gortsplib#912) this prevents idle connections and sessions from stacking up.
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_*)" | sha256s
1.15.1 25 de setembre del 2025 — 64 bits ZIP
Notes de la versió
New major features
TODO
Fixes and improvements
TODO
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
1.15.0 18 de setembre del 2025 — 64 bits ZIP
Notes de la versió
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
- support RTSP-over-HTTP (bluenviron/gortsplib#433) (bluenviron/gortsplib#768) (bluenviron/gortsplib#887)
- support RTSP-over-WebSocket (bluenviron/gortsplib#891) (bluenviron/gortsplib#898)
Fixes and improvements
General
- refactor: use the built-in max/min to simplify the code (#4867)
- refactor: remove duplicated http middleware (#4894)
- playback: fix crash during authentication errors (#4960) (#4966)
- send server name (SNI) when opening TLS connections (#4973)
- h264: fix DTS extractor compatibility with Apple VT HEVC Hardware Encoder (#4892) (bluenviron/mediacommon#236)
- h265: fix DTS extractor compatibility with Apple VT HEVC Hardware Encoder (#4892) (bluenviron/mediacommon#238)
- ac3: fix support for bsid different than 8 (#4705) (bluenviron/mediacommon#244)
- improve performance when dealing with AV1 (bluenviron/mediacommon#243)
- h265: fix DTS extractor with libx265 (bluenviron/mediacommon#245)
- update readme (bluenviron/mediacommon#246)
- h265: fix DTS extractor regression after bluenviron/mediacommon#245 (bluenviron/mediacommon#247) IDR frames which are also B-frames are supported again.
API
- add tunnel and profile to RTSP conns and sessions (#4985)
RTSP
- switch to gortsplib/v5 (#4978)
- fix memory leak when closing sessions (https://github.com/bluenviron/mediamtx/issues/4964) (#4678) (#4967)
- support reading streams tunneled with HTTP or WebSocket (#4986)
- fix encoding and decoding of NTP fractional part (bluenviron/gortsplib#869) (bluenviron/gortsplib#870)
- Fix typo when identifying KLV packets as SMPTE336M-encoded (bluenviron/gortsplib#877)
- Fix SDP parsing for repeat time field with no offsets (bluenviron/gortsplib#880)
- client: fix crash when opening UDP listeners (bluenviron/gortsplib#893)
- server: fix panic due to regression in bluenviron/gortsplib#887 (bluenviron/gortsplib#892)
- server: prevent using UDP when tunneling through HTTP (bluenviron/gortsplib#896)
RTMP
- improve control message compatibility with non-standard cameras (#4909)
- move implementation to gortmplib (#4968)
HLS
- Add disablepictureinpicture param (#4883)
- improve performance when dealing with av1 (bluenviron/gohlslib#279)
WebRTC
- Add disablepictureinpicture param (#4883)
RPI Camera
- fix race condition when reloading parameters (bluenviron/mediamtx-rpicamera#63)
- decrease GPU consumption (bluenviron/mediamtx-rpicamera#64) stop allocating useless buffers.
- use openh264 as software H264 encoder (bluenviron/mediamtx-rpicamera#65 prevents license issues.
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-ca9a967f8
1.14.0 12 d’agost del 2025 — 64 bits ZIP
Notes de la versió
New major features
TODO
Fixes and improvements
TODO
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
1.13.1 21 de juliol del 2025 — 64 bits ZIP
Notes de la versió
New major features
TODO
Fixes and improvements
TODO
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
1.13.0 6 de juliol del 2025 — 64 bits ZIP
Notes de la versió
New major features
RTSP
- support encrypting UDP and UDP-multicast streams (#4690)
General
- support routing KLV metadata (#2693) (#4670)
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. Thisfixes 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
- muxer: fix race condition when closing (bluenviron/gohlslib#236)
- client: fix race condition with non-low-latency streams (bluenviron/gohlslib#237)
- Support Verkada EXTINF Tags (bluenviron/gohlslib#244)
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_*)"
1.12.3 27 de maig del 2025 — 64 bits ZIP
Notes de la versió
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
- fix toggling hlsAlwaysRemux after server is started (#4503)
- muxer: return error when timestamp is impossible to handle (bluenviron/gohlslib#233)
- muxer: remove useless computation in MPEG-TS variant (bluenviron/gohlslib#234)
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
1.12.0 14 d’abril del 2025 — 64 bits ZIP
Notes de la versió
New major features
RTSP
- support routing absolute timestamps (#1300) (#4378)
HLS
- support routing absolute timestamps (#1300) (#4372)
WebRTC
- support routing absolute timestamps (#1300) (#4415)
RPI Camera
- support exposing a secondary stream from the same camera (#4426)
- support routing absolute timestamps (#1300) (#4382)
Fixes and improvements
General
- record: fix crash when recordDeleteAfter is 0 and API is called (#4250) (#4254)
- warn users when non-existent fields are used in conf (#4261)
- change error message when stream is not found (#4301). Switch from 'no one is publishing to path' to 'no stream is available. on path' since the stream might be provided from a static source too.
- record: prevent recordDeleteAfter from deleting current segment (#4331)
- allow to customize syslog prefix (#4356). Co-authored-by: Кадышев Вячеслав v.kadyshev@dssl.ru
- count and log all discarded frames, decode errors, lost packets (#4363). Discarded frames, decode errors and lost packets were logged individually, then there was a mechanism that prevented more than 1 log entry per second from being printed, resulting in inaccurate reports. Now discarded frames, decode errors and lost packets are accurately counted, and their count is printed once every second.
- prevent unmarshalers from returning empty byte arrays (bluenviron/mediacommon#186)
API
- fix crash in /recordings/list (#4040) (#4291). The API crashed when: * '%path%' is not present in 'recordPath' * 'all_others' is in 'paths' * there's at least one recording segment. A recording segment without path is parsed as a segment with an empty path. This path is then passed to FindPathConf(), that returns an error in case of empty or invalid paths. This error is not checked for performance reasons, leading to the crash. This PR prevents empty or invalid paths from reaching FindPathConf().
RTSP
- fix authentication when rtspAuthMethods is empty (#4266). when rtspAuthMethods is nil, digest+SHA256 gets enabled, resulting in the inability of FFmpeg and most clients to connect due to compatibility issues.
- support using relative URLs in sourceRedirect (#4260)
- emit log message when remuxing RTP packets (#4422)
- prevent decoders from returning empty NALUs (#4346) (bluenviron/gortsplib#726)
- fix wrong size being reported in error messages (bluenviron/gortsplib#740)
- improve NALU size limit errors (bluenviron/gortsplib#741)
- improve AV1 decoder efficiency (bluenviron/gortsplib#744)
- improve AV1 compression (bluenviron/gortsplib#746)
HLS
- fix race condition when getting absolute time (#4375)
- fix reading streams with non-standard clock rates (#4376)
WebRTC
- fix connecting to TCP-only sources (#4293)
- make client always provide UDP candidates (#4298)
- fix codec collision in Chrome (#4394). Fix error "A BUNDLE group contains a codec collision for. payload_type='96. All codecs must share the same type, encoding name, clock rate and parameters. (INVALID_PARAMETER)"
RPI Camera
- make sure all parameters are 32-bit (#4425)
- fix cameras being picked randomly regardless of ID (#3994) (bluenviron/mediamtx-rpicamera#39)
Dependencies
- build(deps): bump golang.org/x/crypto from 0.32.0 to 0.33.0 (#4245)
- build(deps): bump github.com/alecthomas/kong from 1.7.0 to 1.8.0 (#4246)
- build(deps): bump github.com/alecthomas/kong from 1.8.0 to 1.8.1 (#4255)
- build(deps): bump github.com/datarhei/gosrt from 0.8.0 to 0.9.0 (#4271)
- build(deps): bump golang.org/x/crypto from 0.33.0 to 0.35.0 (#4279)
- build(deps): bump github.com/go-git/go-git/v5 from 5.13.2 to 5.14.0 (#4286)
- bump pion/webrtc (#4295)
- bump code.cloudfoundry.org/bytefmt (#4296)
- build(deps): bump github.com/pion/rtp from 1.8.11 to 1.8.12 (#4303)
- build(deps): bump code.cloudfoundry.org/bytefmt from 0.30.0 to 0.31.0 (#4308)
- bump mediamtx-rpicamera to v2.3.7 (#4312). Co-authored-by: mediamtx-bot bot@mediamtx
- build(deps): bump golang.org/x/crypto from 0.35.0 to 0.36.0 (#4314)
- build(deps): bump github.com/matthewhartstonge/
1.11.3 7 de febrer del 2025 — 64 bits ZIP
Notes de la versió
Fixes and improvements
General
- fix freeze when getting metrics and a RTSP connection is being created (#4179) (#4216)
- fix removing empty recording folders (#4227) (#4231)
RTSP
- fix compatibility with AVOID encoders (https://github.com/bluenviron/mediamtx/issues/4183) (bluenviron/gortsplib#688)
- server: fix panic during PAUSE due to race condition (bluenviron/gortsplib#689) (bluenviron/gortsplib#692)
WebRTC
- Configurable webrtcSTUNGatherTimeout (#4221)
- fix detecting closure of some sessions (#4204) (#4212)
Dependencies
- build(deps): bump github.com/pion/logging from 0.2.2 to 0.2.3 (#4205)
- build(deps): bump github.com/alecthomas/kong from 1.6.1 to 1.7.0 (#4208)
- build(deps): bump golang.org/x/sys from 0.29.0 to 0.30.0 (#4224)
- build(deps): bump golang.org/x/term from 0.28.0 to 0.29.0 (#4223)
- build(deps): bump github.com/bluenviron/gortsplib/v4 (#4236)
Security
Binaries have been produced by the Release workflow without human intervention.
SHA256 checksums:
- mediamtx_v1.11.3_darwin_amd64.tar.gz e0cfd7a4ee85a06c6ac2f76673441a8d793cfdd4f2a71a28f87e03f88b7748ab
- mediamtx_v1.11.3_darwin_arm64.tar.gz d7dc40c84f0099deb604f6cac39c6d58ef4d8d0d18645af3ea07e6da779b06c2
- mediamtx_v1.11.3_linux_amd64.tar.gz b2e65c0be00434b13e01feb64e85af4bc65fa3c62d1b9aa2d4139bd28d795cba
- mediamtx_v1.11.3_linux_arm64v8.tar.gz 6ae3e3d78a770ed28ae26f8e8b474387e9d44ee88d419a245e48530062bdb629
- mediamtx_v1.11.3_linux_armv6.tar.gz d1bd235a42bdee4c1f196f9802ba7b280352d12159476512b348769cf346e244
- mediamtx_v1.11.3_linux_armv7.tar.gz fc0cae3707a2561931b92add8d9b0f1f9a7e126b063b9c9c21c6edc1b906ebc0
- mediamtx_v1.11.3_windows_amd64.zip f9c690556fbe0eb8d409aea5c1ae48af16d985a80db12a58c2793e15e0f3c4de
1.9.3 20 d’octubre del 2024 — 64 bits ZIP

El més popular a Llenguatges i SDK

Mostra-ho tot
  1. Go Programming LanguageLlenguatges i SDK
  2. LLVMLlenguatges i SDK · LLVM
  3. DenoLlenguatges i SDK · Deno Land Inc.
  4. CMakeLlenguatges i SDK · Kitware
  5. YarnLlenguatges i SDK · Yarn Contributors
  6. CcacheLlenguatges i SDK · Joel Rosdahl
  7. sbtLlenguatges i SDK · Lightbend, Inc.
  8. BOINCLlenguatges i SDK · Space Sciences Laboratory, U.C. Berkeley
  9. Dart SDKLlenguatges i SDK · Google
  10. NVM for WindowsLlenguatges i SDK · Ecor Ventures LLC

Etiquetes

Comparteix