Skip to content

Releases: bluenviron/mediamtx

v1.13.1

21 Jul 11:57
0b901ad
Compare
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
Compare
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
Compare
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
Compare
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

v1.12.1

04 May 18:23
66f36d9
Compare
Choose a tag to compare

Fixes and improvements

General

  • add authJWTExclude to exclude actions when using JWT (#3431)
  • support parsing JWT claims encoded as strings (#3696) (#4465)
  • support filtering interface and source IP in UDP sources (#4178) (#4464)
  • support customizing official Docker images (#4471)
  • remove v8 suffix from arm64 binaries (#4472)
  • fix recordPath documentation (#4480)
  • h265: fix crash in DTS extractor with malicious payload (bluenviron/mediacommon#191)
  • fmp4: block tracks with invalid timescale (bluenviron/mediacommon#192)

RTSP

WebRTC

  • simplify webrtcTurnSecretExpiration (#4453)
  • improve JavaScript classes (#4455)* add close() method* move support functions into classes as static methods* convert arrow functions into standard functions* make most methods private* add JSDocs
  • prevent payload type conflict in read page (#4456)

RPI Camera

Dependencies

  • code.cloudfoundry.org/bytefmt updated from v0.36.0 to v0.39.0
  • github.com/MicahParks/keyfunc/v3 updated from v3.3.10 to v3.3.11
  • github.com/bluenviron/gortsplib/v4 updated from v4.13.0 to v4.14.0
  • github.com/bluenviron/mediacommon/v2 updated from v2.1.0 to v2.1.1
  • github.com/go-git/go-git/v5 updated from v5.15.0 to v5.16.0
  • github.com/matthewhartstonge/argon2 updated from v1.2.1 to v1.3.0
  • github.com/pion/rtp updated from v1.8.13 to v1.8.15
  • github.com/bluenviron/mediamtx-rpicamera updated from v2.4.0 to v2.4.1

Security

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

SHA256 checksums:

  • mediamtx_v1.12.1_darwin_amd64.tar.gz 2919ecc2738703fbac3411301cf7876c43fb1dff73e334e49d7c1d893e705328
  • mediamtx_v1.12.1_darwin_arm64.tar.gz e7f7da716ae00c5363db98ab72c661978e439803e5983442ced3222571a8dcb4
  • mediamtx_v1.12.1_linux_amd64.tar.gz 3fa66f5ffa546d74875b24c18984500a865b58309cd44eaca24c65ce4375d880
  • mediamtx_v1.12.1_linux_arm64.tar.gz e0d2d16e7bf22d43290231f781659d291db5600ed146e7b3f33257c5f162f1e0
  • mediamtx_v1.12.1_linux_armv6.tar.gz ce75093f6ad276b89c2d3223d0337cca17e53b7ed2c2631aa5bd5e22c0c8b00e
  • mediamtx_v1.12.1_linux_armv7.tar.gz 0189a4edb9d798bd4793b4c9bb38f1e78073cb2dcee8d15db3774263ff2975de
  • mediamtx_v1.12.1_windows_amd64.zip 890924df75226377fcad61037791ac92103f140710b23c3050b0f8ed5e908388

v1.12.0

14 Apr 10:36
dd9a5ca
Compare
Choose a tag to compare

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

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

Dependencies

  • code.cloudfoundry.org/bytefmt updated from v0.0.0 to v0.36.0
  • github.com/MicahParks/jwkset updated from v0.8.0 to v0.9.5
  • github.com/alecthomas/kong updated from v1.7.0 to v1.10.0
  • github.com/bluenviron/gohlslib/v2 updated from v2.1.3 to v2.1.4
  • github.com/bluenviron/gortsplib/v4 updated from v4.12.3 to v4.13.0
  • github.com/bluenviron/mediacommon removed
  • github.com/datarhei/gosrt updated from v0.8.0 to v0.9.0
  • github.com/fsnotify/fsnotify updated from v1.8.0 to v1.9.0
  • github.com/gin-contrib/pprof updated from v1.5.2 to v1.5.3
  • github.com/go-git/go-git/v5 updated from v5.13.2 to v5.15.0
  • github.com/golang-jwt/jwt/v5 updated from v5.2.1 to v5.2.2
  • github.com/matthewhartstonge/argon2 updated from v1.1.1 to v1.2.1
  • github.com/pion/ice/v4 updated from v4.0.5 to v4.0.7
  • github.com/pion/rtp updated from v1.8.11 to v1.8.13
  • github.com/pion/sdp/v3 updated from v3.0.10 to v3.0.11
  • golang.org/x/crypto updated from v0.32.0 to v0.37.0
  • golang.org/x/sys updated from v0.30.0 to v0.32.0
  • golang.org/x/term updated from v0.29.0 to v0.31.0
  • github.com/Microsoft/go-winio updated from v0.6.1 to v0.6.2
  • github.com/ProtonMail/go-crypto updated from v1.1.5 to v1.1.6
  • github.com/bytedance/sonic updated from v1.12.6 to v1.13.2
  • github.com/bytedance/sonic/loader updated from v0.2.1 to v0.2.4
  • github.com/cloudflare/circl updated from v1.3.7 to v1.6.1
  • github.com/cloudwego/base64x updated from v0.1.4 to v0.1.5
  • github.com/cloudwego/iasm removed
  • github.com/cyphar/filepath-securejoin updated from v0.3.6 to v0.4.1
  • github.com/gabriel-vasile/mimetype updated from v1.4.7 to v1.4.8
  • github.com/gin-contrib/sse updated from v0.1.0 to v1.0.0
  • github.com/go-playground/validator/v10 updated from v10.23.0 to v10.26.0
  • github.com/goccy/go-json updated from v0.10.4 to v0.10.5
  • github.com/golang/groupcache updated from v0.0.0-20210331224755-41bb18bfe9da to v0.0.0-20241129210726-2c02b8208cf8
  • github.com/klauspost/cpuid/v2 updated from v2.2.9 to v2.2.10
  • github.com/pion/sctp updated from v1.8.35 to v1.8.36
  • github.com/skeema/knownhosts updated from v1.3.0 to v1.3.1
  • golang.org/x/arch updated from v0.12.0 to v0.16.0
  • golang.org/x/mod removed
  • golang.org/x/net updated from v0.34.0 to v0.39.0
  • golang.org/x/sync removed
  • golang.org/x/text updated from v0.21.0 to v0.24.0
  • golang.org/x/tools removed
  • google.golang.org/protobuf updated from v1.36.1 to v1.36.6
  • github.com/bluenviron/mediacommon/v2 v2.1.0 added
  • github.com/bluenviron/mediamtx-rpicamera updated from v2.3.6 to v2.4.0
  • hls.js updated from v1.5.20 to v1.6.2

Security

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

SHA256 checksums:

  • mediamtx_v1.12.0_darwin_amd64.tar.gz 1d408db2ecb2a363da02ab71797bd13b182ebff36d986d8bc7226581f6e45943
  • mediamtx_v1.12.0_darwin_arm64.tar.gz dbd3c20557d81bf6d32038cc1d8390652a83a6418cc28f76ba03bd8dbe554317
  • mediamtx_v1.12.0_linux_amd64.tar.gz 8bbf936e70a8abc80fdb2d0d67c1b53df6a3bfcf4d819ac730a4b0fddcc793bf
  • mediamtx_v1.12.0_linux_arm64v8.tar.gz fdeb6e1649f82949c33c7619403147dabadf5a3fb178cf29805d3ea0fa5a2886
  • mediamtx_v1.12.0_linux_armv6.tar.gz 4028650e05223806a969843dcdc9f1605a1c3543906a3e45518855ca5274ba96
  • mediamtx_v1.12.0_linux_armv7.tar.gz 0b96fb21da1abbf612518daf3978055cb608157cecad2d076b47f644a6aac28b
  • mediamtx_v1.12.0_windows_amd64.zip 1cca94d874b3fe5b32547159ce2070a3e87d0bf746aeb53e077ca4680a372d6e

v1.11.3

07 Feb 19:29
b66efd6
Compare
Choose a tag to compare

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

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

v1.11.2

24 Jan 11:35
a8b8f67
Compare
Choose a tag to compare

Fixes and improvements

General

  • playback: improve performance (#4152)
  • playback: fix filtering when start date is earlier than first segment (#4173)
  • av1: refactor Bitstream; fix marshaling OBUs with size field (#3886) (bluenviron/mediacommon#172)

RTSP

HLS

WebRTC

  • fix connectivity regression (#4161) (#4174). when webrtcLocalTCPAddress is filled, webrtcAdditionalHosts is not. empty and webrtcIPsFromInterfaces is false, connectivity was impossible. to achieve.
  • fix setting video width, height and rate when publishing a camera with browser (https://github.com/bluenviron/mediamtx/issues/4167) (#4171)
  • fix connectivity regression on Windows (#4150) (#4175). When MediaMTX is running on Windows and the machine has an IPv6, connectivity was impossible to achieve.
  • disable UDP when not needed (#4176)

Dependencies

  • build(deps): bump github.com/MicahParks/jwkset from 0.7.0 to 0.8.0 (#4155)
  • build(deps): bump github.com/abema/go-mp4 from 1.4.0 to 1.4.1 (#4154)
  • build(deps): bump github.com/pion/rtp from 1.8.10 to 1.8.11 (#4162)
  • build(deps): bump github.com/MicahParks/keyfunc/v3 from 3.3.8 to 3.3.10 (#4156)
  • build(deps): bump github.com/bluenviron/gortsplib/v4 (#4181)
  • bump hls.js to v1.5.20 (#4185)
  • build(deps): bump github.com/go-git/go-git/v5 from 5.13.1 to 5.13.2 (#4190)
  • build(deps): bump github.com/bluenviron/mediacommon (#4193)
  • build(deps): bump github.com/bluenviron/gohlslib/v2 from 2.1.2 to 2.1.3 (#4194)

Security

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

SHA256 checksums:

  • mediamtx_v1.11.2_darwin_amd64.tar.gz b6da12ac198c35cdeb29f41514491e88d94e083d038b448b6ddc7ed055151e95
  • mediamtx_v1.11.2_darwin_arm64.tar.gz 3042f3607b9fcbe1d56df47e12b0b71132eedbf5772e1b4082f679facd533808
  • mediamtx_v1.11.2_linux_amd64.tar.gz 08796713a1250f8f328e3a812b6cdd4f2925f323b003999929e2beb82dfa4c23
  • mediamtx_v1.11.2_linux_arm64v8.tar.gz 3003d91cada7c298995a92d5bcddf9a439eda8e0f9a8dd6607188557e90155e0
  • mediamtx_v1.11.2_linux_armv6.tar.gz b1510ea1d0fade23e98c1f742a1da5f02ce2947441455bfe19f9aa785a0b3421
  • mediamtx_v1.11.2_linux_armv7.tar.gz af1a8da1f45f0abcf79f7f4fafe149aa4545f02e79945120623dda970a1d082d
  • mediamtx_v1.11.2_windows_amd64.zip 31c8d6fb9caa3218fc19fd7a31f9e8393794945f103e676784a89dca55541d69

v1.11.1

13 Jan 22:27
a8d1908
Compare
Choose a tag to compare

Fixes and improvements

General

  • playback: fix extraneous list entry when start time is specified (#4129)
  • playback: in /list, always return 404 when there are no timespans (#4131)
  • fix closing some custom commands on Windows (#3981)

RTMP

  • fix compatibility with DJI Osmo Action 4 (#3802) (#4116)

HLS

WebRTC

  • fix MTX_QUERY not set when reading or publishing (#4138) (#3937) (#4141)
  • switch to recvonly transceivers (#4059) (#4108). This fixes compatibility with devices that support decoding AV1 but don't support encoding it. This was previously impossible to achieve due to a bug that prevented video from being displayed when recvonly transceivers were in use and audio was not present.
  • fix reconnecting to server after a failure (#4022)

Dependencies

  • build(deps): bump golang.org/x/term from 0.27.0 to 0.28.0 (#4115)
  • build(deps): bump golang.org/x/crypto from 0.31.0 to 0.32.0 (#4113)
  • build(deps): bump github.com/pion/rtp from 1.8.9 to 1.8.10 (#4051)
  • build(deps): bump github.com/alecthomas/kong from 1.6.0 to 1.6.1 (#4119)
  • build(deps): bump github.com/abema/go-mp4 from 1.3.0 to 1.4.0 (#4122)
  • build(deps): bump github.com/MicahParks/jwkset from 0.5.20 to 0.6.0 (#4125)
  • build(deps): bump github.com/MicahParks/keyfunc/v3 from 3.3.5 to 3.3.7 (#4126)
  • build(deps): bump github.com/go-git/go-billy/v5 from 5.6.1 to 5.6.2 (#4133)
  • build(deps): bump github.com/MicahParks/jwkset from 0.6.0 to 0.7.0 (#4134)
  • build(deps): bump github.com/MicahParks/keyfunc/v3 from 3.3.7 to 3.3.8 (#4135)
  • bump hls.js to v1.5.19 (#4140)
  • build(deps): bump github.com/pion/sdp/v3 from 3.0.9 to 3.0.10 (#4144)
  • bump pion/webrtc to v4 (#4145)
  • build(deps): bump github.com/bluenviron/gohlslib/v2 from 2.1.1 to 2.1.2 (#4146)

Security

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

SHA256 checksums:

  • mediamtx_v1.11.1_darwin_amd64.tar.gz a921b730ca3c484d61299437a2c19b76e4ab5397eaa350a804ab55f68fb35d28
  • mediamtx_v1.11.1_darwin_arm64.tar.gz f81fe3d7f08e2bb078fa8aaad6ffb390ecb533fa1f51691d094c68050412dd25
  • mediamtx_v1.11.1_linux_amd64.tar.gz d1e013826a0c643163b57e90b4efd6f42e1398aef5e0ef299e04fdda2dfc246f
  • mediamtx_v1.11.1_linux_arm64v8.tar.gz 6e098570a14a9fd4d99d1af636d556ca27566932b46c801b1891159f2ca2b4ea
  • mediamtx_v1.11.1_linux_armv6.tar.gz 48c54dd42d91e9ad38fae0350d700e85388a2a2d3624faaa98a989d182627971
  • mediamtx_v1.11.1_linux_armv7.tar.gz 6a3181a10ab4ec3fe3cc28baaeae41e08c111e903fb85755b3c991449d7e18db
  • mediamtx_v1.11.1_windows_amd64.zip 2cb8395f0a18c564431de0ef44722e0baa12e4cc81b654284cc0125d3ad74d71

v1.11.0

03 Jan 13:06
21b5031
Compare
Choose a tag to compare

New major features

RTMP

  • support additional Enhanced-RTMP features (#3685) (#4088), including: support publishing Opus and AC-3 tracks, support publishing more than 2 tracks. This is compatible with OBS multitrack video and OBS VOD audio track.

API

  • api, metrics: add additional RTSP statistics (#3312) (#4073)
  • add 'session' field to RTSPConn (#3974) (#4074)

Fixes and improvements

General

  • fix race condition when checking configuration (#4044). * simplify configuration parser. * fix race condition when checking configuration
  • fix recording timestamp with some audio codecs (#3969) (#4041) (#4062). When a stream contained an Opus, MPEG-4 audio or AC3 track, timestamp in. the segment file name was increasing at twice the speed.
  • fix MTX_CONN_TYPE value with RTSP connections (#3967) (#4075)
  • warn users if deprecated parameters are being used (#4080)
  • playback: allow filtering timespans by start and end date (#3637) (#3489) (#4085)
  • accept durations expressed as days (i.e. '1d') (#4094)
  • generate and show binary checksums in releases (#4012) (#4095)
  • playback: improve /list response time (#3637) (#4096). Response times of the /list endpoint were slow because the duration of each segment was computed from scratch by summing the duration of each of its parts. This is improved by storing the duration of the overall segment in the header and using that, if available.
  • playback: improve /list performance (#3663) (#4102). Segments are now parsed in parallel.
  • h264: Fix AnnexB parser when NALUs end with a 0 byte (bluenviron/mediacommon#159)
  • codecs/av1: rewrite LEB128 implementation (bluenviron/mediacommon#161). According to the specification, a LEB128 cannot be greater than 2^32.
  • codecs/av1: support AMD hardware encoder (#3902) (bluenviron/mediacommon#162)
  • mpegts: prevent wrong results in codec comparisons (bluenviron/mediacommon#167)

API

  • api, metrics: fix RTC lowercase in webRTCSession and webRTCSource (#4076)

RTSP

RTMP

HLS

SRT

  • fix compatibility with Blackmagic Design hardware (#3701) (#4087)

Dependencies

  • build(deps): bump github.com/bluenviron/gortsplib/v4 (#4007)
  • build(deps): bump github.com/alecthomas/kong from 1.4.0 to 1.5.1 (#4008)
  • build(deps): bump golang.org/x/term from 0.26.0 to 0.27.0 (#4016)
  • build(deps): bump golang.org/x/crypto from 0.29.0 to 0.30.0 (#4019)
  • build(deps): bump github.com/alecthomas/kong from 1.5.1 to 1.6.0 (#4029)
  • build(deps): bump github.com/datarhei/gosrt from 0.7.0 to 0.8.0 (#3992)
  • build(deps): bump github.com/bluenviron/gohlslib/v2 from 2.0.0 to 2.1.0 (#4033)
  • build(deps): bump golang.org/x/crypto from 0.30.0 to 0.31.0 (#4034)
  • build(deps): bump github.com/matthewhartstonge/argon2 (#4039)
  • build(deps): bump github.com/pion/rtcp from 1.2.14 to 1.2.15 (#4048)
  • build(deps): bump github.com/bluenviron/mediacommon (#4047)
  • bump hls.js to v1.5.18 (#4052). Co-authored-by: mediamtx-bot bot@mediamtx
  • build(deps): bump github.com/matthewhartstonge/argon2 (#4068)
  • build(deps): bump github.com/matthewhartstonge/argon2 (#4070)
  • build(deps): bump github.com/abema/go-mp4 from 1.2.0 to 1.3.0 (#4072)
  • build(deps): bump github.com/gin-contrib/pprof from 1.5.1 to 1.5.2 (#4071)
  • build(deps): bump github.com/go-git/go-git/v5 from 5.12.0 to 5.13.0 (#4091)
  • build(deps): bump github.com/go-git/go-billy/v5 from 5.6.0 to 5.6.1 (#4090)
  • build(deps): bump github.com/bluenviron/gohlslib/v2 from 2.1.0 to 2.1.1 (#4099)
  • build(deps): bump github.com/bluenviron/gortsplib/v4 (#4097)
  • build(deps): bump github.com/go-git/go-git/v5 from 5.13.0 to 5.13.1 (#4100)

Security

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

SHA256 checksums:

  • mediamtx_v1.11.0_darwin_amd64.tar.gz 278eb585eb9121e16b5eb72e64f67f3614fba901c8365341b487f6bfee3da526
  • mediamtx_v1.11.0_darwin_arm64.tar.gz 7ad7643f831e2dfc3463c24484e5038f69115eba9a861d3854392b3b77df1d22
  • mediamtx_v1.11.0_linux_amd64.tar.gz c6c752d1fb0a8308d718f057a19b455485f5a8320ad4964afe927b592d8e170d
  • mediamtx_v1.11.0_linux_arm64v8.tar.gz 12b438df60f6eb844b48887122c6c16335faa0ebfa1bf91a2363910e2732e7fb
  • mediamtx_v1.11.0_linux_armv6.tar.gz 38d22b6c65ce52037bce66e07655eeeb0c8d844027f8a64c512bcc90ba467370
  • mediamtx_v1.11.0_linux_armv7.tar.gz f284e20a80d01863985fc1e84f74f98aa3c67979af25a5e24a6cc4d382c265a4
  • mediamtx_v1.11.0_windows_amd64.zip fa9335346f1e97d79eb658fd3579d9af0e71a1ee062b5b9b8000f6e90b966282