v0.23.0
bluenviron/mediamtxv0.23.0May 16, 2023by github-actions[bot]
AI Summary
A major feature release introducing WebRTC support for publishing and reading streams, enhanced RTMP capabilities with H265 and AV1, and API pagination.
Key Highlights
- Full WHIP/WHEP support for publishing and reading streams
- Support for H265 and AV1 tracks in Enhanced RTMP
- API pagination added to all /list endpoints
- Added darwin/arm64 binary support
Breaking Changes
- API pagination added to /list endpoints
New Features
- Support publishing streams with WebRTC
- Support reading AV1 tracks with WebRTC
- Support for MPEG-2 audio (MP3) tracks
- Compatibility restored with OBS 29.1
Full Release Notes
## New features General * add darwin/arm64 binary (#1789) by @a-wing RTMP * support publishing H265 and AV1 tracks with Enhanced RTMP (#1393) (#1446) (#1621) (#1756) . This restores compatibility with OBS 29.1. * support publishing, reading and proxying MPEG-2 audio (MP3) tracks (#1102) (#1736) WebRTC * support publishing streams with WebRTC and the WHIP specification (#1659) (#1786). You can publish streams by either opening ` `http://localhost:8889/mystream/publish` inside the browser or using the WHIP URL `http://localhost:8889/mystream/whip`. * support reading streams with WebRTC and the WHEP specification (#1800). You can read streams by either opening `http://localhost:8889/mystream` inside the browser or using the WHEP URL `http://localhost:8889/mystream/whep`. * support reading AV1 tracks with WebRTC (#1768) API * add pagination to all /list endpoints (#1808) (**BREAKING CHANGE**) ## Fixes and improvements General * change repository owner (#1801) * print warning in case no key frames are being received (#1763) * return error in case of string-to-int overflows (#1776) * allow external authentication to return an error by using the HTTP body (#1756) * mpeg4audio: fix crash when unmarshaling specially-crafted ADTS packets (https://github.com/bluenviron/mediacommon/issues/4) * mpeg4audio: fix number of channels of PS object types (https://github.com/bluenviron/5) * build(deps): bump github.com/pion/webrtc/v3 from 3.1.59 to 3.1.62 (#1721) * build(deps): bump golang.org/x/crypto from 0.8.0 to 0.9.0 (#1783) WebRTC * validate ICE servers in configuration (#1798) * remove pion/ice replacement (#1803) * discard empty RTP packets coming from Chrome (#1804) * return 404 when a stream is not present (#1805) RTSP * Allow sending Range header to RTSP sources (#1780) by @Jordy84 * handle additional fields of MPEG4-generic: streamtype, mode, profile-level-id (https://github.com/bluenviron/gortsplib/issues/250) * fix parsing of MP4A-LATM formats with no channels and object (https://github.com/bluenviron/gortsplib/issues/254) (https://github.com/aler9/mediamtx/issues/1716) * infer object, sample rate, clock of MPEG4AudioLATM from config (https://github.com/bluenviron/gortsplib/issues/255) * support fragmented MPEG-2 audio frames (https://github.com/bluenviron/gortsplib/issues/259) * rtpmpeg2audio: improve decoder robustness (https://github.com/bluenviron/gortsplib/issues/262) * fix timeout with some cameras by decreasing interval between keepalives (https://github.com/bluenviron/gortsplib/issues/265) (https://github.com/aler9/mediamtx/issues/1403) * print number of lost packets even when using TCP (https://github.com/bluenviron/gortsplib/issues/269) * add 32-bit tests; return errors in case of string-to-int overflows (https://github.com/bluenviron/gortsplib/issues/276) * fix compatibility with Mercury cameras (https://github.com/bluenviron/gortsplib/issues/271) (https://github.com/bluenviron/gortsplib/issues/275) * rtptime: fix time encoding on arm32 (https://github.com/bluenviron/gortsplib/issues/274) (https://github.com/bluenviron/gortsplib/issues/277) * server: remove dashes from session ID (https://github.com/bluenviron/gortsplib/issues/278) HLS * bump hls.js (#1807) * show index page even if stream is not present (#1806) * muxer: print error in case generation of init.mp4 fails (https://github.com/bluenviron/gohlslib/issues/30) * add 32-bit tests; return errors in case of string-to-int overflows (https://github.com/bluenviron/gohlslib/issues/39) * force some integers to be unsigned (https://github.com/bluenviron/gohlslib/issues/40) Raspberry Pi Camera * allow setting rpiCameraSaturation to 0 (#1651) (#1772) Metrics * fix: metrics listener address sanitization (#1774) by @tnyeanderson API * fix type of RTMPS readers (#1784) . it was wrongly set to RTMP.