v0.20.1
bluenviron/mediamtxv0.20.1Oct 25, 2022by github-actions[bot]
AI Summary
Enhances HLS source compatibility with fMP4 segments and separate audio playlists, and adds extensive configuration parameters for Raspberry Pi Camera.
Key Highlights
- HLS source support for fMP4 segments and separate audio
- Raspberry Pi Camera configuration parameters (flip, brightness, gain, etc.)
- Change default resolution to 1920x1080
- Support streams with EXT-X-BYTERANGE
Breaking Changes
- Change default resolution to 1920x1080
New Features
- HLS source improvements (fMP4, separate audio)
- Raspberry Pi Camera configuration parameters
Full Release Notes
### New minor features
* HLS source
* the client has been improved in order to support a wider variety of external HLS streams, in particular: streams with fMP4 segments, streams with audio in separate playlist, streams that use EXT-X-BYTERANGE (#1179) (#1094)
* Raspberry Pi Camera
* many camera parameters have been added to the configuration file: rpiCameraHFlip, rpiCameraVFlip, rpiCameraBrightness, rpiCameraContrast, rpiCameraSaturation, rpiCameraSharpness, rpiCameraExposure, rpiCameraAWB, rpiCameraDenoise, rpiCameraShutter, rpiCameraMetering, rpiCameraGain, rpiCameraEV, rpiCameraROI, rpiCameraTuningFile, rpiCameraMode (#1198) (#1111)
### Fixes and improvements
* General
* Fix reading H264 streams that uses Annex-B encoding with a variable delimiter (https://github.com/aler9/gortsplib/commit/b3c70f56f7a1dc2f712230b9264bd7754a8092d2)
* prepend SPS and PPS once when remuxing H264 stream. This allows to support H264 streams that have multiple IDR NALUs in the same group (8aa719eda5b7806a74ccbb9031ecbf93919f7d6f)
* impose a limit on the number of H264 NALUs during Annex-B and AVCC unmarshaling (https://github.com/aler9/gortsplib/commit/e97d29084ef2bfa87998fd1577da6d5fa05b1475)
* RTSP server
* send RTCP sender reports to TCP clients too. This allows Nvidia Deepstream to compute the NTP timestamp of frames (https://github.com/aler9/gortsplib/commit/0cfbb1fb30be974b7c4b36dfa34b3a2ad464e18a)
* when a H264 track has no SPS / PPS yet, do not insert a empty sprop-parameter-sets inside the SPS (https://github.com/aler9/gortsplib/pull/129)
* RTSP source
* support cameras that sends invalid RTCP packets with TCP (#1085)
* support cameras with invalid SSRC in transport header (#1118)
* HLS source
* in case of live feeds, playback now starts from the end of the stream (#1179)
* variants with unsupported codecs are now skipped (#1179)
* HLS Muxer
* use segment IDs as segment names when hlsVariant is mpegts, this prevents conflicts that were previously caused by the fact that the timestamp was used as segment name (42b6e1f922f169a4e8cc9d52643d795f10f1a631)
* add WWW-Authenticate header when external authentication is enabled (1e788f81fd46c7e8f5314bd4ae04989debfff52c)
* change m3u8 Content-Type to application/x-mpegURL (680b34890230054da4ad2cd3cf6bf166d3b0ee6a)
* print only tracks that are effectively being converted (c9de689a72e9f2531004d11d75f5706cf9080f8d)
* fix compatibility with grafov/m3u8 (dfef3833111cc35e2f896c728c7287a9a4fc43d7)
* Raspberry Pi Camera
* change default resolution to 1920x1080 (532592c0991c5466c986bb6cacb6c48f3d4e13c3)
* use exact frame timestamps (4f6121b1c423cecf3b805d0c99dba04c272ddb26)
* API
* always encode timestamps wth RFC3339 (#1093)
* mark RTMPS connections as rtmpsConns instead of rtmpConns (#1099)
* apidocs
* add missing methods rtmpsconns/*(3e529f436a7e2efc2761ad3a2699c98b551f859f)