v1.6.0
bluenviron/mediamtxv1.6.0Mar 4, 2024by github-actions[bot]
AI Summary
This major release introduces a comprehensive new authentication system covering playback, API, metrics, and PPROF, improving internal and HTTP-based authentication. It also includes significant fixes for RTSP, RTMP, HLS, and WebRTC protocols, along with dependency updates.
Key Highlights
- New authentication system with JWT support and improved permissions
- RTSP security improvements including SHA-256 digest support
- RTMP performance and security improvements via new AMF0 encoder
- HLS performance and bug fixes
- Windows build fixes for compilation
New Features
- New authentication system
- RTSP SHA-256 digest support
- RTMP AMF0 encoder
- HLS performance improvements
- SRT metrics
Full Release Notes
## New major features * New authentication system (https://github.com/bluenviron/mediamtx/issues/1341) (https://github.com/bluenviron/mediamtx/issues/1992) (https://github.com/bluenviron/mediamtx/issues/2205) (https://github.com/bluenviron/mediamtx/issues/3081). This is a new authentication system that covers all the features exposed by the server, including playback, API, metrics and PPROF, improves internal authentication by adding permissions, improves HTTP-based authentication by adding the ability to exclude certain actions from being authenticated, adds an additional method (JWT-based authentication). ## Fixes and improvements General * stop logging HTTP requests twice (https://github.com/bluenviron/mediamtx/issues/2993) * remove hls.js from the repository and restore plain MIT license (https://github.com/bluenviron/mediamtx/issues/3008) * fix compilation with Windows and git autocrlf (https://github.com/bluenviron/mediamtx/issues/3010) (https://github.com/bluenviron/mediamtx/issues/3011) * fix double 'v' in automatic hls.js bump commits (https://github.com/bluenviron/mediamtx/issues/3020) * remove double 'v' from hls.js bump messages (https://github.com/bluenviron/mediamtx/issues/3040) * in hooks, allow replacing placeholders with environment (https://github.com/bluenviron/mediamtx/issues/3044) * when stopping hooks, stop all their subprocesses too (https://github.com/bluenviron/mediamtx/issues/3004) (https://github.com/bluenviron/mediamtx/issues/3087) * mpegts: emit decode error instead of exiting in case of parse errors (https://github.com/bluenviron/mediacommon/issues/110) RTSP * add random value to timestamp of tracks from other protocols (https://github.com/bluenviron/mediamtx/issues/3071) * fix infinite loop when parsing specially-crafted headers (https://github.com/bluenviron/gortsplib/issues/521) * add fuzz tests to all headers (https://github.com/bluenviron/gortsplib/issues/522) * split headers.Authenticate and headers.Authorization (https://github.com/bluenviron/gortsplib/issues/523) * support authenticating with SHA-256 digest (https://github.com/bluenviron/gortsplib/issues/524) * change rtptime.Encoder signature and initialize time to a random value (https://github.com/bluenviron/gortsplib/issues/525) RTMP * add new AMF0 encoder and encoder (https://github.com/bluenviron/mediamtx/issues/3069). This improves performance, security and removes a dependency. HLS * in logs, store both ip and port of incoming requests (https://github.com/bluenviron/mediamtx/issues/3013) * when alwaysRemux is true, prevent clients from creating muxers (https://github.com/bluenviron/mediamtx/issues/3015) * fix crash when muxer is being recreated, improve performance (https://github.com/bluenviron/mediamtx/issues/3017) * stop spamming 'stream doesn't contain any supported codec' when hlsAlwaysRemux is true (https://github.com/bluenviron/mediamtx/issues/3018) * client: fix race condition when decoding time of MPEG-TS streams (https://github.com/bluenviron/gohlslib/issues/141) * client: fix race condition when reading absolute time (https://github.com/bluenviron/gohlslib/issues/142) WebRTC * return an error when proxying stream with no tracks (https://github.com/bluenviron/mediamtx/issues/3042) SRT * add additional metrics (https://github.com/bluenviron/mediamtx/issues/2962) by @nerdbaggy Dependencies * build(deps): bump golang.org/x/crypto from 0.18.0 to 0.19.0 (https://github.com/bluenviron/mediamtx/issues/3002) * bump hls-js to v1.5.4 (https://github.com/bluenviron/mediamtx/issues/2999). Co-authored-by: mediamtx-bot <bot@mediamtx> * bump hls-js to vv1.5.5 (https://github.com/bluenviron/mediamtx/issues/3019). Co-authored-by: mediamtx-bot <bot@mediamtx> * build(deps): bump github.com/bluenviron/mediacommon from 1.9.1 to 1.9.2 (https://github.com/bluenviron/mediamtx/issues/3030) * bump hls.js to v1.5.6 (https://github.com/bluenviron/mediamtx/issues/3038). Co-authored-by: mediamtx-bot <bot@mediamtx> * bump hls.js to v1.5.7 (https://github.com/bluenviron/mediamtx/issues/3072). Co-authored-by: mediamtx-bot <bot@mediamtx> * build(deps): bump golang.org/x/crypto from 0.19.0 to 0.20.0 (https://github.com/bluenviron/mediamtx/issues/3078) * build(deps): bump github.com/stretchr/testify from 1.8.4 to 1.9.0 (https://github.com/bluenviron/mediamtx/issues/3090) * build(deps): bump github.com/pion/rtcp from 1.2.13 to 1.2.14 (https://github.com/bluenviron/mediamtx/issues/3089)