Skip to content

Releases: bluenviron/mediamtx

v1.4.1

24 Dec 11:20
e6fec31
Compare
Choose a tag to compare

Fixes and improvements

RTMP

  • fix parsing error caused by extended timestamps (#2393) (#2556) (#2384) (#1550) (#2564) (#2808)
  • return error in case of extended chunk stream IDs (#2806)
  • rtmp, srt: fix output of 'is reading from' log entry (#2820)
  • change default RTMPS port to 1936 when it is omitted in source (#2821)

HLS

  • bump hls-js to v1.4.14 (#2825)

WebRTC

  • support Chrome versions older than M72 (#2621) (#2814)

SRT

  • rtmp, srt: fix output of 'is reading from' log entry (#2820)

RPI Camera

Dependencies

  • build(deps): bump github.com/pion/rtcp from 1.2.12 to 1.2.13 (#2801)
  • build(deps): bump github.com/google/uuid from 1.4.0 to 1.5.0 (#2804)
  • build(deps): bump golang.org/x/crypto from 0.16.0 to 0.17.0 (#2823)

v1.4.0

10 Dec 20:30
d261bfe
Compare
Choose a tag to compare

New features

  • support using static sources in paths with regular expressions (#824) (#2799). This allows to proxy requests to other servers by using regular expressions.

Fixes and improvements

General

  • support unix timestamp in filenames of recorded segments (#2774) by @neerajkanhere
  • fix crash when requesting metrics and RTMP, SRT or WebRTC servers are not present anymore (#2782)
  • add RTMPS metrics (#2783)
  • always use 'all_others' or 'all' after every other path configuration (#2798)

RTSP

HLS

  • bump hls-js to v1.4.13 (#2791). . Co-authored-by: mediamtx-bot bot@mediamtx
  • fix appending slash when behind a reverse proxy (#2770)
  • hls, webrtc: prevent XSS attack when appending slash to paths (#2766) (#2767) (#2772)
  • hls, webrtc: fix appending slash to paths that contain slashes (#2773)

RPI Camera

  • allow to change bitrate and IDR period dynamically (#2703) (#2764)

WebRTC

  • hls, webrtc: prevent XSS attack when appending slash to paths (#2766) (#2767) (#2772)
  • hls, webrtc: fix appending slash to paths that contain slashes (#2773)
  • fix propagating query parameters when appending slash to paths (#2771)

Dependencies

  • build(deps): bump golang.org/x/crypto from 0.15.0 to 0.16.0 (#2751)
  • build(deps): bump github.com/bluenviron/gortsplib/v4 from 4.6.0 to 4.6.1 (#2785)

v1.3.1

26 Nov 19:31
d640dcf
Compare
Choose a tag to compare

Fixes and improvements

General

SRT

  • Add query as optional block for SRT publish and read (#2656)

HLS

WebRTC

  • fix crash when reading from path 'publish' (#2688) (#2692)
  • fix bad quality when converting Opus from WebRTC to LL-HLS (#2499) (#2740)

API

  • apidocs: add missing recording settings to PathConf (#2705)

Dependencies

  • build(deps): bump github.com/bluenviron/gortsplib/v4 from 4.5.0 to 4.6.0 (#2702)
  • build(deps): bump github.com/bluenviron/mediacommon from 1.5.0 to 1.5.1 (#2711)
  • build(deps): bump github.com/bluenviron/gohlslib from 1.0.5 to 1.0.6 (#2736)

v1.3.0

12 Nov 23:22
7a1e155
Compare
Choose a tag to compare

New features

General

  • metrics: add paths_bytes_sent, srt_conns, srt_conns_bytes_received, srt_conns_bytes_sent (#2620) (#2619) (#2629) by @rse
  • metrics: expose state of WebRTC sessions (#2662)
  • add runOnUnDemand hook (#2645)

WebRTC

  • improve connectivity mechanism: add webrtcAdditionalHosts and allow to use DNS names in place of IPs; always use a fixed UDP port; allow to disable UDP; do not use a STUN server by default (#2686)
  • add options (width, height, framerate, audio capture) and store parameters in URL (#1837) (#2167) (#2584) by @Lukinoh

Fixes and improvements

General

  • fix crash when publishing to a path with 'runOnDemand' from outside 'runOnDemand' (#2636) (#2637)
  • tests: fix race condition in TestPathRunOnDemand (#2663)
  • fix setting 'recordDeleteAfter' to zero (#2670) (#2671)
  • record: fix deleting segments in case of relative paths (#2526) (#2673)
  • record: allow using special characters in recording path (#2674)

RTSP

RTMP

  • fix publishing screen with iOS StreamLabs (#2352) (#2611)

WebRTC

  • fix crash in case of errors during PATCH (#2609) (#2613)
  • allow using sourceFingerprint with WebRTC sources (#2618) (#2626)
  • restore compatibility when running behind a proxy, in a subpath (#2638)
  • prevent pion/webrtc from writing log lines (#2681)

API

  • return empty list when page is empty (#2604) (#2614)

HLS

  • apply readTimeout to HLS sources (#2627)
  • HLS.js usage: bugfix, stability improvements and resilience improvement (#2631)
  • muxer: fix discontinuity in part ID (bluenviron/gohlslib#107). . (#2317). . this prevented Low-Latency HLS from running smoothly on Safari

SRT

  • fix race condition when disposing late packets (#2648)

Dependencies

  • build(deps): bump github.com/pion/interceptor from 0.1.24 to 0.1.25 (#2622)
  • build(deps): bump github.com/gorilla/websocket from 1.5.0 to 1.5.1 (#2652)
  • build(deps): bump github.com/pion/rtcp from 1.2.10 to 1.2.11 (#2669)
  • build(deps): bump golang.org/x/term from 0.13.0 to 0.14.0 (#2667)
  • build(deps): bump golang.org/x/crypto from 0.14.0 to 0.15.0 (#2668)
  • build(deps): bump github.com/pion/rtcp from 1.2.11 to 1.2.12 (#2676)
  • build(deps): bump github.com/pion/rtp from 1.8.2 to 1.8.3 (#2677)
  • build(deps): bump github.com/pion/webrtc/v3 from 3.2.21 to 3.2.22 (#2675)

v1.2.1

28 Oct 13:15
4b4d57f
Compare
Choose a tag to compare

Fixes and improvements

General

  • add environment variable MTX_QUERY to some hooks (#2483) (#2522)
  • bump Go to 1.21 (#2546)
  • fix crash when setting deprecated settings with environment (#2529) (#2550)
  • restart recordings in case of errors (#2439) (#2571)
  • fix hot reloading on Windows when letter case changes (#2586) by @jsbohnert

RTSP

WebRTC

  • fix compatibility with Alexa offers (#2544)
  • support WHIP/WHEP DELETE method (#2507) by @rgl
  • improve stability by reordering incoming packets (#2570)
  • return detailed errors in responses (#2594)

RTMP

  • fix compatibility with nginx-rtmp-module (#2383) (#2520)

RPI Camera

  • Fix Raspberry Pi Camera 3 auto focus (#2326) (#2552)
  • Switch default autofocus mode to 'continuous' (#2591)

API

  • return full configuration in config/paths/list and config/paths/get (#2535) (#2595)
  • add path name to config/paths/list and config/paths/get (#2535) (#2596)
  • return 500 instead of 404 in case of non-existing items (#2582)
  • send error messages in response body (#2518) (#2583)

Dependencies

  • build(deps): bump github.com/pion/interceptor from 0.1.22 to 0.1.23 (#2515)
  • build(deps): bump github.com/pion/interceptor from 0.1.23 to 0.1.24 (#2530)
  • build(deps): bump github.com/fsnotify/fsnotify from 1.6.0 to 1.7.0 (#2553)
  • build(deps): bump github.com/google/uuid from 1.3.1 to 1.4.0 (#2569)

v1.2.0

14 Oct 21:05
c25b51c
Compare
Choose a tag to compare

New features

  • add a new configuration setting pathDefaults that allows to change the default parameters of all paths. Existing configurations are fully compatible with the new configuration schema, but the API has been bumped to /v3 in order to support this change (#2455)
  • allow setting different recording parameters for each path (#2410) (#2457)
  • support recording to MPEG-TS (#2505)
  • support recording LPCM tracks (#2475)
  • add runOnRecordSegmentComplete and rclone integration (#2404) (#2428)
  • add runOnRecordSegmentCreate hook (#2451) (#2503)

Fixes and improvements

General

  • rename 'all' path configuration into 'all_others' (#2443)
  • allow to start/stop recording without disconnecting clients (#2395) (#2434)
  • move 'srtReadPassphrase' into the right section (#2435)
  • print path of configuration file (#2441)
  • fix 'fragment sequence discontinuity' warning when reading record segments with VLC (#2476)
  • h264: support empty NALUs inside AVCC (bluenviron/mediacommon#84). . (#2375)
  • h265: fix DTS extraction of streams with short_term_ref_pic_set_sps_flag=1 (bluenviron/mediacommon#95). . (#2417)

RTSP

RTMP

  • fix compatibility issue with some DJI drones (#2375) (#2409)

HLS

WebRTC

  • Supports webrtc interface filtering on server (#2460) by @PieterFabry
  • add Location header to CORS-allowed headers (#2453) by @rgl
  • print lost packets (#2468)
  • fix reading Opus stereo tracks with Chrome (#2043) (#2470)
  • disallow publishing screen on devices that don't support it (#2066) (#2471)
  • optimize publish page for mobile devices (#2066) (#2472)
  • expose ice servers on OPTIONS CORS requests (#2479) by @sainak

API

  • return 400 in case of non-existent config fields (#2425)
  • save errors in logs (#2426)
  • fix crash when retrieving RTMP and SRT connections (#2430) by @p4xx07
  • apidocs: remove invalid value from PathSourceOrReader (#2450)

Dependencies

  • build(deps): bump github.com/abema/go-mp4 from 0.13.0 to 1.0.0 (#2413)
  • build(deps): bump github.com/pion/rtp from 1.8.1 to 1.8.2 (#2415)
  • build(deps): bump github.com/pion/webrtc/v3 from 3.2.20 to 3.2.21 (#2414)
  • build(deps): bump github.com/abema/go-mp4 from 1.0.0 to 1.1.0 (#2421)
  • build(deps): bump github.com/pion/interceptor from 0.1.19 to 0.1.20 (#2437)
  • build(deps): bump github.com/abema/go-mp4 from 1.1.0 to 1.1.1 (#2447)
  • build(deps): bump github.com/pion/interceptor from 0.1.20 to 0.1.21 (#2456)
  • build(deps): bump golang.org/x/crypto from 0.13.0 to 0.14.0 (#2465)
  • build(deps): bump github.com/pion/interceptor from 0.1.21 to 0.1.22 (#2482)
  • build(deps): bump github.com/alecthomas/kong from 0.8.0 to 0.8.1 (#2493)
  • build(deps): bump golang.org/x/net from 0.15.0 to 0.17.0 (#2501)

v1.1.1

24 Sep 16:13
b1f74c3
Compare
Choose a tag to compare

Fixes and improvements

General

  • fix default value of some settings (#2367): rtmpServerKey, rtmpServerCert, recordPath, rpiCameraExposure,. rpiCameraAWB, rpiCameraDenoise, rpiCameraMetering, rpiCameraAfMode,. rpiCameraAfRange, rpiCameraAfSpeed were not set correctly when missing in the configuration file.
  • fix crash when processing H265 (#2378) (#2381)
  • normalize configuration (#2399)
  • rename 'external commands' into 'hooks' (#2400)

Recording

  • support recording AC-3 tracks (#2376)
  • support recording M-JPEG tracks (#2391)
  • update recordDeleteAfter documentation (#2361) (#2362)
  • automatically set 'record: yes' when not specified (#2366)
  • fix race condition wen record agent is closing (#2369)

RTSP

SRT

  • support AC-3 tracks in SRT and UDP; support recording AC-3 tracks (#2376)
  • Support SRT encryption passphrases on configured paths (#2385)

UDP

  • support AC-3 tracks in SRT and UDP; support recording AC-3 tracks (#2376)

RPI Camera

  • rpi camera: add additional checks on configuration (#2368)

WebRTC

  • fix ETag header name according to specification (#2396) (#2401)

v1.1.0

16 Sep 21:32
bedfa96
Compare
Choose a tag to compare

New features

  • Add native recording. This allows to record streams without using FFmpeg in a fault tolerant, browser compatible format (#1399) (#2255).

  • Add additional custom commands: runOnDisconnect, runOnNotReady, runOnUnread (#1464) (#2355)

  • Add additional environment variables to custom commands (#1414) (#2356). New variables: MTX_CONN_TYPE, MTX_CONN_ID, MTX_SOURCE_TYPE, MTX_SOURCE_ID, MTX_READER_TYPE, MTX_READ_ID

Fixes and improvements

General

  • print the reason why a source is started or stopped (#2322)
  • search for configuration file in various paths, print paths if configuration is not found (#1993) (#2276) (#2357)

Codecs

RTSP

RTMP

HLS

  • bump hls-js to v1.4.12 (#2283)

SRT

  • support publishing and reading MPEG-1/2/4 video with SRT and UDP/MPEG-TS (#2277)

UDP

  • fix reading two streams with same port and different multicast IP (#2133) (#2332)
  • support publishing and reading MPEG-1/2/4 video with SRT and UDP/MPEG-TS (#2277)

API

  • apidocs: mark discrete parameters as integers (#2331) (#2354)

Dependencies

  • build(deps): bump golang.org/x/term from 0.11.0 to 0.12.0 (#2294)
  • build(deps): bump github.com/pion/webrtc/v3 from 3.2.17 to 3.2.18 (#2292)
  • build(deps): bump golang.org/x/crypto from 0.12.0 to 0.13.0 (#2299)
  • build(deps): bump github.com/pion/ice/v2 from 2.3.10 to 2.3.11 (#2300)
  • build(deps): bump golang.org/x/net from 0.14.0 to 0.15.0 (#2301)
  • build(deps): bump github.com/pion/webrtc/v3 from 3.2.18 to 3.2.19 (#2328)
  • build(deps): bump github.com/pion/interceptor from 0.1.18 to 0.1.19 (#2329)
  • build(deps): bump github.com/pion/webrtc/v3 from 3.2.19 to 3.2.20 (#2340)

v1.0.3

01 Sep 21:25
ffa3442
Compare
Choose a tag to compare

Fixes and improvements

  • fix regression introduced in v1.0.1 that prevented multiple readers from accessing the same stream (#2281) (#2282)

v1.0.2

01 Sep 18:20
966bec8
Compare
Choose a tag to compare

Fixes and improvements

General

  • fix changing log level with hot reloading or API (#2278)

RTSP

SRT

  • fix memory leak during reader disconnection (#2273)

RTMP

  • fix RTMPE handshake error when a public key starts with zero (#2269)