v1.8.3

bluenviron/mediamtxv1.8.3Jun 12, 2024by github-actions[bot]

AI Summary

A significant WebRTC-focused release adding support for surround audio, LPCM tracks, and G711 audio. It also improves HLS query parameter propagation and adds JWT support to WebRTC and HLS.

Key Highlights

  • WebRTC support for reading, publishing, and proxying surround Opus
  • WebRTC support for reading, publishing, and proxying LPCM tracks
  • HLS support for passing JWT through Authorization header
  • HLS propagate query parameters to media playlist, segments and parts

New Features

  • Support reading G711 16khz tracks
  • Allow configuring WebRTC timeouts
  • Fix supported AV1 profiles in WebRTC

Full Release Notes

## Fixes and improvements

General

* fix error in timestamp of Opus packets coming from SRT / HLS / MPEG-TS (https://github.com/bluenviron/mediamtx/issues/3388)
* expose MTX_SEGMENT_DURATION to runOnRecordSegmentComplete (https://github.com/bluenviron/mediamtx/issues/3440) (https://github.com/bluenviron/mediamtx/issues/2983) (https://github.com/bluenviron/mediamtx/issues/3456)
* prevent mixing together legacy and current auth mechanism (https://github.com/bluenviron/mediamtx/issues/3258) (https://github.com/bluenviron/mediamtx/issues/3460)
* mpegts: fix compatibility with QuickTime (https://github.com/bluenviron/mediacommon/issues/131) (https://github.com/bluenviron/mediamtx/issues/3206)
* mpegts: automatically strip AUD from H264 and H265 (https://github.com/bluenviron/mediacommon/issues/132)
* h264: filter out invalid NALUs from Annex-B (https://github.com/bluenviron/mediacommon/issues/133)
* h264: improve performance of AVCC unmarshaler (https://github.com/bluenviron/mediacommon/issues/134)
* h265: support ScalingListDataPresentFlag (https://github.com/bluenviron/mediacommon/issues/135)

API

* add CORS headers on non-existing pages too (https://github.com/bluenviron/mediamtx/issues/1792) (https://github.com/bluenviron/mediamtx/issues/3410)
* fix crash when itemsPerPage is zero and there are items (https://github.com/bluenviron/mediamtx/issues/3425)

RTMP

* fix error when publishing AAC audio tracks (https://github.com/bluenviron/mediamtx/issues/3414) by @suzp1984

HLS

* propagate query parameters to media playlist, segments and parts (https://github.com/bluenviron/gohlslib/issues/165) (https://github.com/bluenviron/mediamtx/issues/3275)
* support passing JWT through Authorization header (https://github.com/bluenviron/mediamtx/issues/3248) (https://github.com/bluenviron/mediamtx/issues/3458)

WebRTC

* support reading, publishing and proxying surround Opus (https://github.com/bluenviron/mediamtx/issues/3371) (https://github.com/bluenviron/mediamtx/issues/3375)
* support reading, publishing, proxying LPCM tracks (https://github.com/bluenviron/mediamtx/issues/3437)
* support reading, publishing and proxying stereo PCMU/PCMA tracks (https://github.com/bluenviron/mediamtx/issues/3402)
* support reading G711 16khz tracks (https://github.com/bluenviron/mediamtx/issues/2848) (https://github.com/bluenviron/mediamtx/issues/3445)
* in answer, include only codecs that are actually in use (https://github.com/bluenviron/mediamtx/issues/3374)
* allow configuring timeouts (https://github.com/bluenviron/mediamtx/issues/3404) (https://github.com/bluenviron/mediamtx/issues/3406)
* show error in case setRemoteDescription fails (https://github.com/bluenviron/mediamtx/issues/3416)
* show error when setLocalDescription or createOffer fail (https://github.com/bluenviron/mediamtx/issues/3417)
* fix proxying PCMU tracks (https://github.com/bluenviron/mediamtx/issues/3427)
* speed up gathering of incoming tracks (https://github.com/bluenviron/mediamtx/issues/3441)
* fix supported AV1 profiles (https://github.com/bluenviron/mediamtx/issues/3442)
* set fmtp of outgoing VP9 and multiopus tracks (https://github.com/bluenviron/mediamtx/issues/3446)
* on browsers, display error messages from server (https://github.com/bluenviron/mediamtx/issues/3448)
* fix error "Failed to setup RTCP mux" on some readers (https://github.com/bluenviron/mediamtx/issues/3381) (https://github.com/bluenviron/mediamtx/issues/3449)
* support passing JWT through Authorization header (https://github.com/bluenviron/mediamtx/issues/3248) (https://github.com/bluenviron/mediamtx/issues/3458)
* support passing username and password through Bearer Token (https://github.com/bluenviron/mediamtx/issues/3248) (https://github.com/bluenviron/mediamtx/issues/3459)

Dependencies

* bump hls.js to v1.5.9 (https://github.com/bluenviron/mediamtx/issues/3407). Co-authored-by: mediamtx-bot <bot@mediamtx>
* bump hls.js to v1.5.10 (https://github.com/bluenviron/mediamtx/issues/3421)
* build(deps): bump golang.org/x/term from 0.20.0 to 0.21.0 (https://github.com/bluenviron/mediamtx/issues/3424)
* build(deps): bump golang.org/x/crypto from 0.23.0 to 0.24.0 (https://github.com/bluenviron/mediamtx/issues/3423)
* bump hls.js to v1.5.11 (https://github.com/bluenviron/mediamtx/issues/3426)
* bump pion/webrtc and pion/ice (https://github.com/bluenviron/mediamtx/issues/3436)
* bump pion/webrtc (https://github.com/bluenviron/mediamtx/issues/3447)
* build(deps): bump github.com/gorilla/websocket from 1.5.1 to 1.5.2 (https://github.com/bluenviron/mediamtx/issues/3450)