Skip to content

Releases: bluenviron/mediamtx

v0.21.3

20 May 08:44
Compare
Choose a tag to compare
update gortsplib

v0.21.2

26 Jan 09:54
Compare
Choose a tag to compare

New features

General

  • Send additional fields to the external authentication URL (#1408) b02d3b8

Fixes and improvements

General

RTSP server

RTSP source

HLS Muxer

RTMP Server

v0.21.1

08 Jan 21:13
Compare
Choose a tag to compare

New features

RTMP server

  • Support publishing with RTMP and H265 (tested with OBS Studio) (#1333) (#1279) ad52b3f

HLS muxer

HLS source

  • support proxying any number of tracks 3f7009f
  • support proxying H265 and Opus tracks f837ba6

API

WebRTC

  • allow connectivity inside a container or behind a NAT by adding parameters webrtcICEHostNAT1To1IPs, webrtcICEUDPMuxAddress, webrtcICETCPMuxAddress by @andrew-ld (#1323) b27c363 b26f848

Fixes and improvements

General

RTSP server

RTSP source

WebRTC

  • fix connection in case of high latency bab5cae
  • print ICE candidate descriptions c42e2a5
  • fix HTTP status code of index page 5a01430
  • fix freeze on Firefox 777860f
  • fix timeout in case of H264 tracks ec1f957
  • keep the WebSocket connection open in order to signal shutdowns b20abbe

HLS source

  • support MPEG-TS streams with metadata tracks 0c6385f
  • download first playlist once 241c81d
  • fix crash in case of invalid EXT-X-MEDIA-SEQUENCE 3154176
  • skip unsupported tracks fa1c072

HLS muxer

  • restore support for EXT-X-PRELOAD-HINT 242fa0b
  • add workaround for bug on latest iPhone iOS 37baa33
  • avoid an infinite loop when hlsAlwaysRemux is true 7420ef1

Raspberry Pi Camera

v0.21.0

19 Dec 23:02
Compare
Choose a tag to compare

New major features

WebRTC

RTSP

Fixes and improvements

RTSP server / source

  • update H265 track parameters when resolution, VPS, SPS or PPS change 39da300
  • fix handling of oversized H264 RTP packets ffbdf51
  • implement resizing of oversized H265 RTP packets 6524130
  • fix freeze when reading a stream with both HLS and RTSP 0772db5
  • fix support for LPCM tracks with no explicit channel count (#1292)
  • fix overriding of previously-received RTP packets that leaded to crashes bluenviron/gortsplib@ffe8c87

HLS Muxer

  • hls muxer: ask credentials again after failed attemps 478607a

API

  • apidocs: add missing config parameters 7a5c426

v0.20.4

12 Dec 13:07
Compare
Choose a tag to compare

Fixes and improvements

Raspberry Pi Camera

  • add docker images with libcamera included (#110)
  • return an error when rpiCamera in used in two paths (#1257)

RTSP server

RTSP source

v0.20.3

08 Dec 23:20
Compare
Choose a tag to compare

New minor features

API / Metrics

  • Add number of bytes received and sent (#1235)
  • Add metrics of RTSP connections (#1233)

Fixes and improvements

v0.20.2

03 Nov 20:54
4c96a68
Compare
Choose a tag to compare

Fixes and improvements

General

  • Decode the content of RTP packets once and only when needed. This allows to save CPU when there's no need to decode RTP packets (for instance, when all streaming happens with RTSP) and when there are multiple RTMP readers, since previously RTP packets were decoded by each reader individually (#1218)
  • add license file to binaries and docker images (#1138)
  • try to fix DTS extraction of nvenc H264 streams (#1002)

Raspberry Pi Camera

  • allow to use the Raspberry Pi Camera when running the server inside Docker (#1212) (#1110)
  • fix compatibility with latest version of libcamera - please upgrade libcamera by running apt update && apt upgrade before using this version (#1195)
  • avoid hanging during encode errors (#1133)

RTSP server

RTSP source

HLS source

  • skip packets received before the 1st packet of the leading track; make sure that the initial DTS is zero (7981522)
  • ignore data from unrecognized tracks in MPEG-TS segments (cc0d8f7)

api docs

  • add missing rpicamera params (8cec54c)

v0.20.1

25 Oct 12:26
Compare
Choose a tag to compare

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 (bluenviron/gortsplib@b3c70f5)
    • prepend SPS and PPS once when remuxing H264 stream. This allows to support H264 streams that have multiple IDR NALUs in the same group (8aa719e)
    • impose a limit on the number of H264 NALUs during Annex-B and AVCC unmarshaling (bluenviron/gortsplib@e97d290)
  • RTSP server

    • send RTCP sender reports to TCP clients too. This allows Nvidia Deepstream to compute the NTP timestamp of frames (bluenviron/gortsplib@0cfbb1f)
    • when a H264 track has no SPS / PPS yet, do not insert a empty sprop-parameter-sets inside the SPS (bluenviron/gortsplib#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 (42b6e1f)
    • add WWW-Authenticate header when external authentication is enabled (1e788f8)
    • change m3u8 Content-Type to application/x-mpegURL (680b348)
    • print only tracks that are effectively being converted (c9de689)
    • fix compatibility with grafov/m3u8 (dfef383)
  • Raspberry Pi Camera

    • change default resolution to 1920x1080 (532592c)
    • use exact frame timestamps (4f6121b)
  • API

    • always encode timestamps wth RFC3339 (#1093)
    • mark RTMPS connections as rtmpsConns instead of rtmpConns (#1099)
  • apidocs

    • add missing methods rtmpsconns/*(3e529f4)

v0.20.0

16 Aug 16:54
Compare
Choose a tag to compare

New major features

  • Add native support for the raspberry Pi camera. Please take a look at the README in order to enable this feature (#1057)
  • Support the RTMPS protocol (#1089)
  • API: add "created" field to RTSP sessions, RTMP connections, HLS muxers (092a2be)
  • API: add published track list to /v1/paths/list (101ea25)

Fixes and improvements

  • General: bump golang to 1.18, node to 16 (8267f4c)
  • General: print track codecs into logs (cb8aec8)
  • General: fix deadlock when sourceOnDemand is true and source exits (f5a031d)
  • General: support HE-AAC v1 and HE-AAC v2 tracks (#1068)
  • API: return static sources in paths/list even if sourceOnDemand is true (7067c02)
  • RTSP server: Return 501 and keep connection open in case of unhandled methods (#1066)
  • RTSP server: fix freeze caused by race condition (bluenviron/gortsplib@8883050)
  • RTMP server / source: improve performance. Reuse existing structs instead of allocating them during every read() (0db2d3e)
  • RTMP server: set right command ID when replying to a play request (a19a20a)
  • RTMP server: fix reading metadata from onMetadata when there's no audio (4990e98)
  • RTMP server: stop inserting a AV_SEQHDR message before every IDR (51e0bbd)

v0.19.3

24 Jul 15:27
Compare
Choose a tag to compare

Fixes and improvements

  • General: print log to stdout instead of stderr (#1042)
  • General: use more efficient bit reader / writer
  • General: prefer POC method over SEI method for extracting H264 DTS (bluenviron/gortsplib@793cea6)
  • RTSP server / source: implement packet reordering for UDP / Multicast transports (bluenviron/gortsplib#132)
  • RTSP server / source: support streams that encode NALUs into Annex-B (#1029)
  • RTSP server / source: accept RTP/H264 packets even if the server is unable to parse them (#1049)
  • RTSP server / source: add limit on nalus per group (bluenviron/gortsplib@e3c9f0c)
  • RTSP source: avoid sending/receiving invalid packet when reading with multicast (bluenviron/gortsplib@fb39087)
  • RTSP source: support ADTS-encoded, fragmented AUs (bluenviron/gortsplib@570be5c)
  • RTSP source: fix RTSPS default port (bluenviron/gortsplib@36c6d0b)
  • RTMP server / source: rewrite implementation of connections from scratch. This slightly improve efficiency and allows to rapidly fix eventual bugs (#1047)
  • RTMP server: fix rtmp -> rtsp audio conversion (822a896)
  • HLS muxer: create only 7 initial gaps (#999)
  • HLS muxer: when hlsAlwaysRemux is on, automatically recreate muxers in case of errors 8a4743f