v1.1.0

bluenviron/mediamtxv1.1.0Sep 16, 2023by github-actions[bot]

AI Summary

Introduces native recording capabilities and new custom commands for stream events. It also improves RTSP compatibility and adds support for publishing MPEG-1/2/4 video via SRT and UDP.

Key Highlights

  • Add native recording support for fault-tolerant, browser-compatible formats.
  • Add new custom commands: runOnDisconnect, runOnNotReady, runOnUnread.
  • Improve RTSP client compatibility with Revotech cameras and various timeout/race condition fixes.
  • Support publishing and reading MPEG-1/2/4 video via SRT and UDP.
  • Add new environment variables for custom commands (e.g., MTX_CONN_TYPE).

New Features

  • Native recording
  • New custom commands
  • Custom command environment variables
  • MPEG-1/2/4 video support over SRT and UDP
  • Support for Revotech cameras

Full Release Notes

## New features

* Add native recording. This allows to record streams without using FFmpeg in a fault tolerant, browser compatible format (https://github.com/bluenviron/mediamtx/issues/1399) (https://github.com/bluenviron/mediamtx/issues/2255).

* Add additional custom commands: runOnDisconnect, runOnNotReady, runOnUnread (https://github.com/bluenviron/mediamtx/issues/1464) (https://github.com/bluenviron/mediamtx/issues/2355)

* Add additional environment variables to custom commands (https://github.com/bluenviron/mediamtx/issues/1414) (https://github.com/bluenviron/mediamtx/issues/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 (https://github.com/bluenviron/mediamtx/issues/2322)
* search for configuration file in various paths, print paths if configuration is not found (https://github.com/bluenviron/mediamtx/issues/1993) (https://github.com/bluenviron/mediamtx/issues/2276) (https://github.com/bluenviron/mediamtx/issues/2357)

Codecs

* mpegts: readd PCR to outgoing packets (https://github.com/bluenviron/mediacommon/issues/74). . this is needed to read H265 tracks with VLC+VDPAU hardware encoder. (and is probably needed by other combinations too)
* h265: cleanup DTS extractor (https://github.com/bluenviron/mediacommon/issues/75)

RTSP

* normalize debug logging of requests / responses (https://github.com/bluenviron/mediamtx/issues/2321)
* rtptime: fix crash in case of packets from tracks with invalid clock rate (https://github.com/bluenviron/gortsplib/issues/400)
* fix unability to get PTS of H265 streams (https://github.com/bluenviron/gortsplib/issues/401)
* fix compatibility with Revotech cameras (https://github.com/bluenviron/gortsplib/issues/402) (https://github.com/bluenviron/gortsplib/issues/404)
* client: fix enforcing timeout to responses (https://github.com/bluenviron/gortsplib/issues/406)
* client: fix race condition that can lead to crash (https://github.com/bluenviron/gortsplib/issues/407)
* client: log every incoming response (https://github.com/bluenviron/gortsplib/issues/409)
* client: accept responses only if their CSeq corresponds to requests (https://github.com/bluenviron/gortsplib/issues/410)
* server: stop sending multicast packets when all multicast readers have disconnected (https://github.com/bluenviron/gortsplib/issues/411)
* client: support cameras that don't reply to keepalives (https://github.com/bluenviron/gortsplib/issues/412). . (https://github.com/bluenviron/mediamtx/issues/2302)
* fix reading and writing multicast packets in case of multiple interfaces (https://github.com/bluenviron/gortsplib/issues/413). . (https://github.com/bluenviron/mediamtx/issues/2029)
* fix wrong encoding when frame size equals packet size (https://github.com/bluenviron/gortsplib/issues/416)
* optimize multicast on Linux by listening on a single IP (https://github.com/bluenviron/gortsplib/issues/417). . (https://github.com/bluenviron/mediamtx/issues/2133)

RTMP

* fix compatibility with RTMP Dahua cameras (https://github.com/bluenviron/mediamtx/issues/2289) (https://github.com/bluenviron/mediamtx/issues/769) (https://github.com/bluenviron/mediamtx/issues/2298)

HLS

* bump hls-js to v1.4.12 (https://github.com/bluenviron/mediamtx/issues/2283)

SRT

* support publishing and reading MPEG-1/2/4 video with SRT and UDP/MPEG-TS (https://github.com/bluenviron/mediamtx/issues/2277)

UDP

* fix reading two streams with same port and different multicast IP (https://github.com/bluenviron/mediamtx/issues/2133) (https://github.com/bluenviron/mediamtx/issues/2332)
* support publishing and reading MPEG-1/2/4 video with SRT and UDP/MPEG-TS (https://github.com/bluenviron/mediamtx/issues/2277)

API

* apidocs: mark discrete parameters as integers (https://github.com/bluenviron/mediamtx/issues/2331) (https://github.com/bluenviron/mediamtx/issues/2354)


Dependencies

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