Skip to content

Releases: bluenviron/mediamtx

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

v1.10.0

03 Dec 09:17
212382e
Compare
Choose a tag to compare

New features

WebRTC

  • support publishing and reading H265 tracks (#4003). Please check the README for supported browsers.

Fixes and improvements

General

  • improve unsafe path handling (#3927)
  • fix crash when recording a stream with unsupported tracks (#3978) (#3996) (#3978)

WebRTC

  • include query parameters in session URL (#3920)
  • move JavaScript reader and publisher into portable classes (#3921)
  • restart ICE only on failed connection states (#3899)

RPI Camera

Dependencies

  • build(deps): bump github.com/go-git/go-billy/v5 from 5.5.0 to 5.6.0 (#3900)
  • build(deps): bump github.com/fsnotify/fsnotify from 1.7.0 to 1.8.0 (#3925)
  • build(deps): bump github.com/alecthomas/kong from 1.2.1 to 1.3.0 (#3926)
  • bump Golang to 1.23 (#3702)
  • build(deps): bump github.com/alecthomas/kong from 1.3.0 to 1.4.0 (#3940)
  • build(deps): bump golang.org/x/sys from 0.26.0 to 0.27.0 (#3948)
  • build(deps): bump golang.org/x/crypto from 0.28.0 to 0.29.0 (#3946)
  • build(deps): bump golang.org/x/term from 0.25.0 to 0.26.0 (#3947)
  • build(deps): bump github.com/gin-contrib/pprof from 1.5.0 to 1.5.1 (#3955)
  • build(deps): bump github.com/matthewhartstonge/argon2 (#3950)
  • build(deps): bump github.com/stretchr/testify from 1.9.0 to 1.10.0 (#3979)
  • bump mediamtx-rpicamera to v2.3.6 (#4004)

v1.9.3

20 Oct 14:44
6cd7487
Compare
Choose a tag to compare

Fixes and improvements

General

  • fix version reporting with --version (#3846) (#3847)
  • make better use of Gin middleware system (#3849)
  • pprof: fix required authentication action (#3850)
  • restore pprof service (#3848) (#3851)
  • fix setting version in Arch Linux package (#3852)
  • warn instead of exiting when it is not possible to get version from git (#3857)
  • fix wrong -dirty prefix in version (#3869)
  • h264: improve performance of SPS parser (bluenviron/mediacommon#152)
  • h264: fix memory filling up in case of malicious SPS (bluenviron/mediacommon#153). When CpbCntMinus1 is set to unreasonably high values, the RAM fills up.

RTSP

RPI Camera

Dependencies

  • bump hls.js to v1.5.17 (#3885)

v1.9.2

07 Oct 19:16
32d3fc5
Compare
Choose a tag to compare

Fixes and improvements

General

  • fix memory leak in case of errors during initialization of a reader (#3831)
  • log track ID when skipping tracks (#3798)
  • support using JWT in Authorization header with API, Metrics, PProf (#3630) (#3795)
  • show right server version when server is compiled from source (#3409)
  • add Unity instructions (#3837)
  • route original timestamps without converting to durations (#3839). This improves timestamp precision.
  • add instructions about SELinux distributions (#3673)

RTSP

HLS

WebRTC

  • fix crash in case of congestion (#3813) (#3815)
  • fix connection timeout when webrtcAdditionalHosts is filled with existing IP (#3835).

Dependencies

  • build(deps): bump github.com/MicahParks/jwkset from 0.5.19 to 0.5.20 (#3787)
  • build(deps): bump github.com/pion/interceptor from 0.1.30 to 0.1.31 (#3825)
  • build(deps): bump golang.org/x/term from 0.24.0 to 0.25.0 (#3827)
  • build(deps): bump github.com/pion/interceptor from 0.1.31 to 0.1.32 (#3830)
  • build(deps): bump golang.org/x/crypto from 0.27.0 to 0.28.0 (#3828)
  • build(deps): bump github.com/pion/interceptor from 0.1.32 to 0.1.37 (#3840)

v1.9.1

15 Sep 21:39
79bb340
Compare
Choose a tag to compare

Fixes and improvements

General

  • fix cleaning of recordings in case of multiple recordDeleteAfter values (#3557) (#3741)
  • prevent setting readTimeout / writeTimeout to zero (#3750)
  • warn users about skipped tracks when reading or publishing (#3753)
  • mpegts: allow interacting with streams with unsupported codecs (bluenviron/mediacommon#147)

RTSP

RTMP

  • support ingesting AV1, VP9, H265, MP3, PCM from other servers (#3751)

HLS

RPI Camera

  • throw an error when trying to run the 32-bit server on 64-bit os and vice-versa (#3721)
  • fix compatibility with Raspberry Pi 5 and Camera Module 3 (#3715) (#3746)

Dependencies

  • bump GitHub actions (#3699)
  • build(deps): bump golang.org/x/term from 0.23.0 to 0.24.0 (#3735)
  • build(deps): bump golang.org/x/crypto from 0.26.0 to 0.27.0 (#3744)
  • build(deps): bump github.com/alecthomas/kong from 0.9.0 to 1.1.0 (#3757)
  • build(deps): bump github.com/alecthomas/kong from 1.1.0 to 1.2.0 (#3760)
  • build(deps): bump github.com/alecthomas/kong from 1.2.0 to 1.2.1 (#3763)
  • build(deps): bump github.com/matthewhartstonge/argon2 (#3767)
  • bump actions/setup-go (#3773)
  • build(deps): bump github.com/MicahParks/keyfunc/v3 from 3.3.3 to 3.3.5 (#3775)

v1.9.0

26 Aug 15:59
35c52ff
Compare
Choose a tag to compare

New major features

Raspberry Pi Camera

  • support Raspberry Pi OS Bookworm by embedding libcamera and libfreetype into the server. It's not necessary anymore to install or update libcamera (#2581) (#3665)
  • support Raspberry Pi 5 by adding a H264 software encoder (#2581) (#3670)

Fixes and improvements

General

RTSP

WebRTC

  • fix 'duplicate payload type' error in read page (#3543) (#3679)

RPI Camera

  • update font and link it to IBM repository (#3647)
  • add rpiCameraFlickerPeriod (#3463) (#3667)
  • fix passing unsigned integers to component (#3672)

Dependencies

  • build(deps): bump golang.org/x/term from 0.22.0 to 0.23.0 (#3626)
  • build(deps): bump github.com/pion/interceptor from 0.1.29 to 0.1.30 (#3627)
  • bump hls.js to v1.5.14 (#3624). Co-authored-by: mediamtx-bot bot@mediamtx
  • build(deps): bump golang.org/x/sys from 0.23.0 to 0.24.0 (#3643)
  • build(deps): bump golang.org/x/crypto from 0.25.0 to 0.26.0 (#3628)
  • bump hls.js to v1.5.15 (#3681). Co-authored-by: mediamtx-bot bot@mediamtx
  • build(deps): bump github.com/bluenviron/mediacommon (#3697)
  • build(deps): bump github.com/bluenviron/gortsplib/v4 (#3698)

v1.8.5

04 Aug 12:27
53e9470
Compare
Choose a tag to compare

Fixes and improvements

General

API

  • apidocs: add missing authentication-related parameters (#3607)
  • apidocs: add missing fields in /list and SRT connections (#3610)

RTSP

Dependencies

  • bump hls.js to v1.5.13 (#3540). Co-authored-by: mediamtx-bot bot@mediamtx
  • build(deps): bump github.com/datarhei/gosrt (#3559)

v1.8.4

07 Jul 19:41
1a4fd9c
Compare
Choose a tag to compare

Fixes and improvements

General

  • allow using MTX_QUERY inside source (#3486). this allows to pass query parameters to sources
  • fix support for HTTP preflight requests (#1792) (#3535)
  • h264: fix DTS extraction of NVC4000 streams (bluenviron/mediacommon#136). (#3094)

RTSP

RTMP

  • fix publishing from DJI FlightHub Sync (#3301) (#3504)

WebRTC

  • support publishing H265 tracks (#3435) (#3492). IMPORTANT NOTE: this doesn't allow to read H265 tracks with WebRTC, just to publish them. The inability to read H265 tracks with WebRTC is not in any way related to the server but depends on browsers and on the fact that they are not legally entitled to embed a H265 decoder.

SRT

  • process connection requests in parallel (#3382) (#3534)

Dependencies

  • build(deps): bump github.com/gorilla/websocket from 1.5.2 to 1.5.3 (#3470)
  • build(deps): bump golang.org/x/sys from 0.21.0 to 0.22.0 (#3530)
  • build(deps): bump golang.org/x/crypto from 0.24.0 to 0.25.0 (#3532)
  • build(deps): bump golang.org/x/term from 0.21.0 to 0.22.0 (#3533)
  • bump dependencies (#3537)

v1.8.3

12 Jun 15:45
9554fc4
Compare
Choose a tag to compare

Fixes and improvements

General

API

  • add CORS headers on non-existing pages too (#1792) (#3410)
  • fix crash when itemsPerPage is zero and there are items (#3425)

RTMP

HLS

WebRTC

  • support reading, publishing and proxying surround Opus (#3371) (#3375)
  • support reading, publishing, proxying LPCM tracks (#3437)
  • support reading, publishing and proxying stereo PCMU/PCMA tracks (#3402)
  • support reading G711 16khz tracks (#2848) (#3445)
  • in answer, include only codecs that are actually in use (#3374)
  • allow configuring timeouts (#3404) (#3406)
  • show error in case setRemoteDescription fails (#3416)
  • show error when setLocalDescription or createOffer fail (#3417)
  • fix proxying PCMU tracks (#3427)
  • speed up gathering of incoming tracks (#3441)
  • fix supported AV1 profiles (#3442)
  • set fmtp of outgoing VP9 and multiopus tracks (#3446)
  • on browsers, display error messages from server (#3448)
  • fix error "Failed to setup RTCP mux" on some readers (#3381) (#3449)
  • support passing JWT through Authorization header (#3248) (#3458)
  • support passing username and password through Bearer Token (#3248) (#3459)

Dependencies

  • bump hls.js to v1.5.9 (#3407). Co-authored-by: mediamtx-bot bot@mediamtx
  • bump hls.js to v1.5.10 (#3421)
  • build(deps): bump golang.org/x/term from 0.20.0 to 0.21.0 (#3424)
  • build(deps): bump golang.org/x/crypto from 0.23.0 to 0.24.0 (#3423)
  • bump hls.js to v1.5.11 (#3426)
  • bump pion/webrtc and pion/ice (#3436)
  • bump pion/webrtc (#3447)
  • build(deps): bump github.com/gorilla/websocket from 1.5.1 to 1.5.2 (#3450)

v1.8.2

19 May 12:53
0ace308
Compare
Choose a tag to compare

Fixes and improvements

General

API

  • make replace paths idempotent (#3362). Don't return a 404 error if the path doesn't exist yet by @bouk

RTSP

HLS

WebRTC

  • fix returning code 404 when a stream does not exist (#3369)

Dependencies

  • build(deps): bump golang.org/x/crypto from 0.22.0 to 0.23.0 (#3330)
  • build(deps): bump github.com/gin-gonic/gin from 1.9.1 to 1.10.0 (#3334)
  • bump GitHub Actions OS (#3341)
  • build(deps): bump github.com/MicahParks/jwkset from 0.5.17 to 0.5.18 (#3363)
  • build(deps): bump github.com/MicahParks/keyfunc/v3 from 3.3.2 to 3.3.3 (#3364)