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)