v1.3.0

bluenviron/mediamtxv1.3.0Nov 12, 2023by github-actions[bot]

AI Summary

Introduces metrics for SRT and WebRTC sessions, and improves WebRTC connectivity and configuration options.

Key Highlights

  • New SRT and WebRTC session metrics
  • WebRTC `webrtcAdditionalHosts` support for DNS names
  • WebRTC options for width, height, framerate, and audio capture
  • New `runOnUnDemand` hook

Breaking Changes

  • rename sourceProtocol into rtspTransport, sourceAnyPortEnable into rtspAnyPort

New Features

  • SRT metrics
  • WebRTC session state
  • WebRTC additional hosts
  • WebRTC options
  • runOnUnDemand hook

Full Release Notes

## New features

General

* metrics: add paths_bytes_sent, srt_conns, srt_conns_bytes_received, srt_conns_bytes_sent (https://github.com/bluenviron/mediamtx/issues/2620) (https://github.com/bluenviron/mediamtx/issues/2619) (https://github.com/bluenviron/mediamtx/issues/2629) by @rse
* metrics: expose state of WebRTC sessions (https://github.com/bluenviron/mediamtx/issues/2662)
* add runOnUnDemand hook (https://github.com/bluenviron/mediamtx/issues/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 (https://github.com/bluenviron/mediamtx/issues/2686)
* add options (width, height, framerate, audio capture) and store parameters in URL (https://github.com/bluenviron/mediamtx/issues/1837) (https://github.com/bluenviron/mediamtx/issues/2167) (https://github.com/bluenviron/mediamtx/issues/2584) by @Lukinoh 

## Fixes and improvements

General

* fix crash when publishing to a path with 'runOnDemand' from outside 'runOnDemand' (https://github.com/bluenviron/mediamtx/issues/2636) (https://github.com/bluenviron/mediamtx/issues/2637)
* tests: fix race condition in TestPathRunOnDemand (https://github.com/bluenviron/mediamtx/issues/2663)
* fix setting 'recordDeleteAfter' to zero (https://github.com/bluenviron/mediamtx/issues/2670) (https://github.com/bluenviron/mediamtx/issues/2671)
* record: fix deleting segments in case of relative paths (https://github.com/bluenviron/mediamtx/issues/2526) (https://github.com/bluenviron/mediamtx/issues/2673)
* record: allow using special characters in recording path (https://github.com/bluenviron/mediamtx/issues/2674)

RTSP

* rename sourceProtocol into rtspTransport, sourceAnyPortEnable into rtspAnyPort (https://github.com/bluenviron/mediamtx/issues/2644)
* server: fix crash in case of requests with nil URL (https://github.com/bluenviron/gortsplib/issues/458) by @database64128

RTMP

* fix publishing screen with iOS StreamLabs (https://github.com/bluenviron/mediamtx/issues/2352) (https://github.com/bluenviron/mediamtx/issues/2611)

WebRTC

* fix crash in case of errors during PATCH (https://github.com/bluenviron/mediamtx/issues/2609) (https://github.com/bluenviron/mediamtx/issues/2613)
* allow using sourceFingerprint with WebRTC sources (https://github.com/bluenviron/mediamtx/issues/2618) (https://github.com/bluenviron/mediamtx/issues/2626)
* restore compatibility when running behind a proxy, in a subpath (https://github.com/bluenviron/mediamtx/issues/2638)
* prevent pion/webrtc from writing log lines (https://github.com/bluenviron/mediamtx/issues/2681)

API

* return empty list when page is empty (https://github.com/bluenviron/mediamtx/issues/2604) (https://github.com/bluenviron/mediamtx/issues/2614)

HLS

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

SRT

* fix race condition when disposing late packets (https://github.com/bluenviron/mediamtx/issues/2648)

Dependencies

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