v1.14.0

bluenviron/mediamtxv1.14.0Aug 12, 2025by github-actions[bot]

AI Summary

Adds RTP ingestion support, restores IPv6 support in WebRTC, and improves metrics and Unix socket support.

Key Highlights

  • Support ingesting RTP streams
  • Restore IPv6 support in WebRTC (remove custom forks)
  • Add HTTP over Unix sockets
  • Add FreeBSD instructions

New Features

  • RTP ingestion
  • IPv6 WebRTC support
  • HTTP over Unix sockets

Full Release Notes

## New major features

RTP

* support ingesting RTP streams (https://github.com/bluenviron/mediamtx/issues/1515) (https://github.com/bluenviron/mediamtx/issues/4843)

WebRTC

* restore IPv6 support (https://github.com/bluenviron/mediamtx/issues/3227) (https://github.com/bluenviron/mediamtx/issues/4816)

## Fixes and improvements

General

* metrics: add paths_readers metric (https://github.com/bluenviron/mediamtx/issues/4473) (https://github.com/bluenviron/mediamtx/issues/4789)
* metrics: add path and remoteAddr tags (https://github.com/bluenviron/mediamtx/issues/3941) (https://github.com/bluenviron/mediamtx/issues/3420) (https://github.com/bluenviron/mediamtx/issues/4794)
* apidocs: add missing format to integers and floats (https://github.com/bluenviron/mediamtx/issues/4796)
* metrics: add additional WebRTC metrics (https://github.com/bluenviron/mediamtx/issues/3304) (https://github.com/bluenviron/mediamtx/issues/4797)webrtc_sessions_rtp_packets_received, webrtc_sessions_rtp_packets_sent, webrtc_sessions_rtp_packets_lost, webrtc_sessions_rtp_packets_jitter, webrtc_sessions_rtcp_packets_received, webrtc_sessions_rtcp_packets_sent.
* metrics: allow filtering metrics (https://github.com/bluenviron/mediamtx/issues/953) (https://github.com/bluenviron/mediamtx/issues/4809)
* Add support for HTTP over unix sockets (https://github.com/bluenviron/mediamtx/issues/4241)
* Add FreeBSD instructions (https://github.com/bluenviron/mediamtx/issues/4218)
* prevent leakages by exiting gracefully with SIGTERM (https://github.com/bluenviron/mediamtx/issues/4352) (https://github.com/bluenviron/mediamtx/issues/4845)
* allow setting UDP read buffer size (https://github.com/bluenviron/mediamtx/issues/3308) (https://github.com/bluenviron/mediamtx/issues/4846) new parameters: rtspUDPReadBufferSize, rtpUDPReadBufferSize, mpegtsUDPReadBufferSize
* fix memory leak when reloading the configuration (https://github.com/bluenviron/mediamtx/issues/4855) When a path has a MPEG-TS, RTP or WebRTC source and the pathconfiguration is reloaded, a routine was left open because the reload channel was not handled. This fixes the issue.

API

* add additional WebRTC statistics (https://github.com/bluenviron/mediamtx/issues/4795) rtpPacketsReceived, rtpPacketsSent, rtpPacketsLost, rtpPacketsJitter, rtcpPacketsReceived, rtcpPacketsSent
* rename udpSource into mpegtsSource (https://github.com/bluenviron/mediamtx/issues/4842)

RTSP

* client: use server interface as multicast interface (https://github.com/bluenviron/gortsplib/issues/762) (https://github.com/bluenviron/gortsplib/issues/847) this fixes most errors "found no interface that is multicast-capable and can communicate with IP".
* client: prevent setting up undesired back channels (https://github.com/bluenviron/gortsplib/issues/856)

WebRTC

* remove custom forks of pion/webrtc and pion/ice (https://github.com/bluenviron/mediamtx/issues/4861) this fixes IPv6 reliability issues and allows to receive upstream updates in a more linear way.
* speed up candidate extraction (https://github.com/bluenviron/mediamtx/issues/4801)
* close WebRTC sessions when closing browser tabs (https://github.com/bluenviron/mediamtx/issues/4477) (https://github.com/bluenviron/mediamtx/issues/4849) This should decrease the delay before WebRTC sessions are marked as closed.
* fix clock rate of outgoing RTCP receiver reports (https://github.com/bluenviron/mediamtx/issues/4852)
* fix crash when loading an invalid configuration (https://github.com/bluenviron/mediamtx/issues/4856)
* show SDP answers in logs (https://github.com/bluenviron/mediamtx/issues/4862)
* solve domains in webrtcAdditionalHosts on server-side (https://github.com/bluenviron/mediamtx/issues/4817) (https://github.com/bluenviron/mediamtx/issues/4866)

MPEG-TS

*  support MPEG-TS over unix sockets (https://github.com/bluenviron/mediamtx/issues/4388) (https://github.com/bluenviron/mediamtx/issues/4389) (https://github.com/bluenviron/mediamtx/issues/4828)
* listen on default multicast interface (https://github.com/bluenviron/mediamtx/issues/4565) (https://github.com/bluenviron/mediamtx/issues/4820) ... instead of listening on all multicast interfaces.

RPI Camera

* add validity checks on rpiCameraProfile and rpiCameraLevel (https://github.com/bluenviron/mediamtx/issues/4783)
* rename rpiCameraJPEGQuality in rpiCameraMJPEGQuality (https://github.com/bluenviron/mediamtx/issues/4784)
* rename rpiCameraProfile into rpiCameraH264Profile, rpiCameraLevel into rpiCameraH264Level (https://github.com/bluenviron/mediamtx/issues/3965) (https://github.com/bluenviron/mediamtx/issues/4785)
* allow setting software H264 profile and level (https://github.com/bluenviron/mediamtx/issues/3965)  (https://github.com/bluenviron/mediamtx/issues/4786)
* allow setting software H264 profile and level (https://github.com/bluenviron/mediamtx/issues/3965) (https://github.com/bluenviron/mediamtx-rpicamera/issues/57)

Dependencies

* code.cloudfoundry.org/bytefmt updated from v0.44.0 to v0.45.0
* github.com/MicahParks/keyfunc/v3 updated from v3.4.0 to v3.6.1
* github.com/alecthomas/kong updated from v1.12.0 to v1.12.1
* github.com/bluenviron/gortsplib/v4 updated from v4.16.0 to v4.16.2
* github.com/bluenviron/mediacommon/v2 updated from v2.4.0 to v2.4.1
* github.com/golang-jwt/jwt/v5 updated from v5.2.3 to v5.3.0
* github.com/matthewhartstonge/argon2 updated from v1.3.3 to v1.3.4
* github.com/pion/ice/v4 updated from v4.0.7 to v4.0.10
* github.com/pion/webrtc/v4 updated from v4.0.7 to v4.1.3
* golang.org/x/crypto updated from v0.40.0 to v0.41.0
* golang.org/x/sys updated from v0.34.0 to v0.35.0
* golang.org/x/term updated from v0.33.0 to v0.34.0
* github.com/pion/dtls/v3 updated from v3.0.4 to v3.0.6
* github.com/pion/sctp updated from v1.8.36 to v1.8.39
* golang.org/x/net updated from v0.42.0 to v0.43.0
* golang.org/x/text updated from v0.27.0 to v0.28.0
* github.com/bluenviron/mediamtx-rpicamera updated from v2.4.3 to v2.4.4
* hls.js updated from v1.6.7 to v1.6.9

## Security

Binaries have been produced by the [Release workflow](https://github.com/bluenviron/mediamtx/actions/workflows/release.yml) without human intervention.

You can verify that binaries have been produced by the workflow by using [GitHub Attestations](https://docs.github.com/en/actions/security-for-github-actions/using-artifact-attestations/using-artifact-attestations-to-establish-provenance-for-builds):

```
ls mediamtx_* | xargs -L1 gh attestation verify --repo bluenviron/mediamtx
```

You can verify the binaries checksum by downloading `checksums.sha256` and running:

```
cat checksums.sha256 | grep "$(ls mediamtx_*)" | sha256sum --check
```