Releases: bluenviron/mediamtx
Releases · bluenviron/mediamtx
v0.18.3
v0.18.2
Fixes and improvements
- General: add limit on AU (AAC units) and NALU (H264 units) sizes in order to prevent RAM exhaustion
- RTSP source: support AUs wrapped inside ADTS (#855)
- RTSP source: fix timeout that happens when there's a UDP->TCP switch and Content-Base contains an absolute URL (#897)
- HLS muxer: fix PCR insertion when stream is audio only
- HLS muxer: update primary playlist in case SPS/PPS changed
- HLS muxer: remove progressive flag; add liveSyncDurationCount, liveMaxLatencyDurationCount to hls.js
- HLS muxer: upgrade hls.js
v0.18.1
Fixes and improvements
- RTSP server: change default RTSPS port (#867)
- RTSP server: fix reading with ffplay and stateless ipv6
- RTSP server: fix reading with multicast when host is macOS (#895)
- RTSP source: support AAC tracks with custom sizelength, indexlength and indexdeltalength
- RTSP source: fix parsing of transport header with dahua rtsp server (bluenviron/gortsplib#121)
- HLS muxer: add EXT-X-INDEPENDENT-SEGMENTS tag
- HLS muxer: do not increase version number of MPEG-TS tables unless there's a reason (asticode/go-astits#38)
- HLS muxer: fix crash in case of null SPS
- HLS muxer: add EXT-X-VERSION to primary playlist
v0.18.0
New major features
- General: support H264 streams with dynamic SPS / PTS, i.e. streams with a resolution that changes over time. This is particularly useful when dealing with IP cameras, whose resolution can be changed into their settings page
- RTSP server/source: parse all incoming RTP/RTCP packets. This allowed to solve a series of long-standing issues that required a deeper understanding on what exactly is routed by the server, including:
- remove padding from outgoing RTP packets, saving bandwidth
- generate RTCP sender reports automatically; stop routing RTCP packets from publishers to readers
- automatically remux oversized RTP/H264 packets into smaller packets; remove parameter
readBufferSize
since it is not necessary anymore - fix computation of RTCP sender report timestamps, RTCP receiver report timestamps and timestamp of the RTP-Info header, in case of H264 streams with B-frames. This prevents timing issues with FFmpeg and a lot of other software (#622)
Fixes and improvements
- General: fix panic that happened when integer keys are used in config maps (#865)
- General: (breaking change) remove
runOnPublish
; it is replaced by the more genericrunOnReady
- General: add upper limit on H264 NALU size and AAC AU size in order to prevent RAM exhaustion
- RTSP server: set timeout in Session header only when client is playing
- RTSP server: remove Session header from ANNOUNCE responses, supporting some additional clients (#840)
- RTSP server: set multicast TTL to 16 (#873)
- RTSP source: skip tracks with an invalid clock rate (#832)
- RTSP source: support servers that sends UDP packets with a different IP
- RTSP source: support IOI trk-101 (bluenviron/gortsplib#116)
- HLS muxer: fix blank screen on iOS / Android in case of video-only streams (#816)
- HLS muxer: fix format of EXT-X-PROGRAM-DATE-TIME
- HLS muxer: fix computation of last PTS of segments
- HLS muxer: fix (again) DTS computation
- HLS source: support segments with relative URLs
- HLS source: fix freeze that happened during a video decoding error
- HLS source: ignore Annex-B decode errors
- RTMP server: always send H264 configuration before IDR frames
v0.17.17
Fixes and improvements
v0.17.16
v0.17.15
New minor features
- HLS: add new parameter hlsSegmentMaxSize that prevents RAM exhaustion
Fixes and improvements
- General: do not print raw bytes into logs; print hex dump instead
- General: send query values to external authentication service
- General: save regexp groups in G1, G2 env variables instead of 1, 2 (#642)
- General: on Linux/macOS, launch external commands directly without using the shell
- RTSP source: fix memory leak that happened when a PLAY request failed
- RTSP source: send keepalive requests within the session timeout. This fixes a lot of timeouts with the UDP protocol (#702)
- RTSP source: fix crash in case a PLAY request fails before receiving the response
- RTSP server: send session timeout to clients through the session header (#702)
- RTSP server: allow again H264 tracks without SPS or PPS in the SDP (#787)
- HLS muxer: create first segment only after the first IDR is received
- HLS muxer: set audio codec mime according to mpeg4 type
- HLS muxer, RTMP server: support H264 tracks that contains extra data in sprop-parameter-set
v0.17.14
New minor features
- Add new parameter 'runOnReady'. This is called when a stream is ready, whether it is published or proxied, and allows to save to disk proxied streams. It replaces 'runOnPublish'. (#752)
Fixes and improvements
- General: fix freeze when server is shut down and runOnPublish is not empty
- RTSP source: fix error 'invalid transport header: encoding/hex: invalid byte: U+0020' with some Hikvision cameras
- RTSP source: fix '401 Unauthorized' error when automatically switching protocol with some Hikvision cameras
- HLS server, RTMP server: fix timestamp decoding in case of an overflow followed by a negative time difference
v0.17.13
v0.17.12
New minor features
- support external authentication (#504) (#517)
- make regexp groups available to custom commands (#642)
Fixes and improvements
- General: do not wait for external commands to exit during runtime
- General: print a message when a custom command exits suddently
- HLS, RTMP: compute duration correctly in case of an RTP overflow
- HLS, RTMP: fix DTS generation, avoid non-increasing DTS
- HLS: upgrade hls.js and enable progressive mode