Commit Graph

2790 Commits

Author SHA1 Message Date
Alessandro Ros
7bca38badb add self-upgrader (#3501) (#5035)
this allows to upgrade MediaMTX to latest version by running

./mediamtx --upgrade
2025-10-13 13:06:47 +02:00
Alessandro Ros
02e2b9d640 recorder: write additional infos inside segments (#5083)
write stream ID, segment number, DTS, NTP in a dedicated box. This
allows to improve the merge algorithm in the playback server.
2025-10-13 12:34:44 +02:00
Alessandro Ros
ccaccc51b4 replace incoming absolute timestamps of any source (#5081)
Absolute timestamps are used to generate recording segments, so users
should not be able to change them, unless explicitly allowed.

Parameter useAbsoluteTimestamp allowed to re-enable absolute timestamps
with RTSP and WebRTC, now it is extended to all protocols.
2025-10-13 12:23:51 +02:00
Alessandro Ros
75420552b9 recorder: reset fMP4 sequence number during segment switch (#5082)
It's useless to make sequence numbers unique across the entire stream.
2025-10-12 17:59:28 +02:00
Alessandro Ros
a9d84103d0 prevent estimated absolute timestamp from drifting too much (#5080) 2025-10-12 17:53:22 +02:00
Alessandro Ros
0cdae40fe3 estimate absolute timestamp more precisely (#5078)
When the absolute timestamp of incoming frames was not available, it
was filled with the current timestamp, which is influenced by latency
over time.

This mechanism is replaced by an algorithm that detects when latency is
the lowest, stores the current timestamp and uses it as reference
throughout the rest of the stream.
2025-10-12 11:02:14 +02:00
Alessandro Ros
f5f03562d3 rewrite Unit definition (#5079)
Stream units now share the same struct, with a specialized payload.
2025-10-11 12:18:51 +02:00
dependabot[bot]
e2294836f5 build(deps): bump code.cloudfoundry.org/bytefmt from 0.53.0 to 0.54.0 (#5070)
Bumps [code.cloudfoundry.org/bytefmt](https://github.com/cloudfoundry/bytefmt) from 0.53.0 to 0.54.0.
- [Release notes](https://github.com/cloudfoundry/bytefmt/releases)
- [Commits](https://github.com/cloudfoundry/bytefmt/compare/v0.53.0...v0.54.0)

---
updated-dependencies:
- dependency-name: code.cloudfoundry.org/bytefmt
  dependency-version: 0.54.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-11 12:12:51 +02:00
dependabot[bot]
0fe7799ebf build(deps): bump github.com/pion/rtp from 1.8.22 to 1.8.23 (#5065)
Bumps [github.com/pion/rtp](https://github.com/pion/rtp) from 1.8.22 to 1.8.23.
- [Release notes](https://github.com/pion/rtp/releases)
- [Changelog](https://github.com/pion/rtp/blob/master/.goreleaser.yml)
- [Commits](https://github.com/pion/rtp/compare/v1.8.22...v1.8.23)

---
updated-dependencies:
- dependency-name: github.com/pion/rtp
  dependency-version: 1.8.23
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-11 12:12:34 +02:00
dependabot[bot]
4178b6f3ce build(deps): bump golang.org/x/term from 0.35.0 to 0.36.0 (#5072)
Bumps [golang.org/x/term](https://github.com/golang/term) from 0.35.0 to 0.36.0.
- [Commits](https://github.com/golang/term/compare/v0.35.0...v0.36.0)

---
updated-dependencies:
- dependency-name: golang.org/x/term
  dependency-version: 0.36.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-11 12:04:27 +02:00
dependabot[bot]
b42b9dc66b build(deps): bump github.com/go-git/go-git/v5 from 5.16.2 to 5.16.3 (#5067)
Bumps [github.com/go-git/go-git/v5](https://github.com/go-git/go-git) from 5.16.2 to 5.16.3.
- [Release notes](https://github.com/go-git/go-git/releases)
- [Commits](https://github.com/go-git/go-git/compare/v5.16.2...v5.16.3)

---
updated-dependencies:
- dependency-name: github.com/go-git/go-git/v5
  dependency-version: 5.16.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-11 12:04:19 +02:00
dependabot[bot]
807320c3ff build(deps): bump github.com/quic-go/quic-go from 0.54.0 to 0.54.1 (#5077)
Bumps [github.com/quic-go/quic-go](https://github.com/quic-go/quic-go) from 0.54.0 to 0.54.1.
- [Release notes](https://github.com/quic-go/quic-go/releases)
- [Commits](https://github.com/quic-go/quic-go/compare/v0.54.0...v0.54.1)

---
updated-dependencies:
- dependency-name: github.com/quic-go/quic-go
  dependency-version: 0.54.1
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-11 12:03:58 +02:00
Alessandro Ros
7ecbe736c6 docs: update (#5061) 2025-10-05 18:07:39 +02:00
Alessandro Ros
6415285427 hls: improve web page performance (#5062)
load hls.js in parallel with the page.
2025-10-05 18:00:14 +02:00
Alessandro Ros
7634370818 add read and write timeouts in HTTP servers (#5056)
this prevents zombie connections from piling up.
2025-10-04 10:01:21 +02:00
dependabot[bot]
b7c1bdb7bc build(deps): bump code.cloudfoundry.org/bytefmt from 0.52.0 to 0.53.0 (#5051)
Bumps [code.cloudfoundry.org/bytefmt](https://github.com/cloudfoundry/bytefmt) from 0.52.0 to 0.53.0.
- [Release notes](https://github.com/cloudfoundry/bytefmt/releases)
- [Commits](https://github.com/cloudfoundry/bytefmt/compare/v0.52.0...v0.53.0)

---
updated-dependencies:
- dependency-name: code.cloudfoundry.org/bytefmt
  dependency-version: 0.53.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-03 09:37:53 +02:00
dependabot[bot]
14c20ede9c build(deps): bump github.com/pion/interceptor from 0.1.40 to 0.1.41 (#5050)
Bumps [github.com/pion/interceptor](https://github.com/pion/interceptor) from 0.1.40 to 0.1.41.
- [Release notes](https://github.com/pion/interceptor/releases)
- [Changelog](https://github.com/pion/interceptor/blob/master/.goreleaser.yml)
- [Commits](https://github.com/pion/interceptor/compare/v0.1.40...v0.1.41)

---
updated-dependencies:
- dependency-name: github.com/pion/interceptor
  dependency-version: 0.1.41
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-03 09:37:45 +02:00
Alessandro Ros
691d7290fb webrtc: fix packet corruption when reading G711 (#5048)
when a reader is reading a G711 track, stream units are modified
globally, affecting every other reader. This fixes the issue.
2025-09-30 10:42:24 +02:00
Alessandro Ros
2690ef8e71 api: add /info endpoint (#945) (#5045) 2025-09-30 10:39:27 +02:00
Alessandro Ros
2024783eec webrtc: fix clippy audio when reading Opus (#3878) (#5047)
Opus timestamp is now recomputed from scratch.
2025-09-30 10:35:56 +02:00
Alessandro Ros
cd80814009 do not include recorder and HLS muxer in sent bytes (#4380) (#5039)
in API (/paths/list, /paths/get) and metrics (paths_bytes_sent), the
amount of sent bytes was increased even in case of writes to the
recorder and HLS muxer, which are not generating network traffic. This
fixes the issue.
2025-09-29 09:28:04 +02:00
Alessandro Ros
ada39d22cd on Windows, do not look for configuration in linux paths (#5036) 2025-09-27 13:36:04 +02:00
Alessandro Ros
8e6cc4fab4 docs: mention mandatory /whep suffix (#4585) (#5037) 2025-09-27 13:35:29 +02:00
dependabot[bot]
ead4dcd6f8 build(deps): bump github.com/bluenviron/gortsplib/v5 from 5.0.0 to 5.0.1 (#5032)
Bumps [github.com/bluenviron/gortsplib/v5](https://github.com/bluenviron/gortsplib) from 5.0.0 to 5.0.1.
- [Commits](https://github.com/bluenviron/gortsplib/compare/v5.0.0...v5.0.1)

---
updated-dependencies:
- dependency-name: github.com/bluenviron/gortsplib/v5
  dependency-version: 5.0.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
v1.15.1
2025-09-25 15:28:34 +02:00
dependabot[bot]
79292cf18a build(deps): bump github.com/MicahParks/keyfunc/v3 from 3.6.1 to 3.6.2 (#5021)
Bumps [github.com/MicahParks/keyfunc/v3](https://github.com/MicahParks/keyfunc) from 3.6.1 to 3.6.2.
- [Release notes](https://github.com/MicahParks/keyfunc/releases)
- [Commits](https://github.com/MicahParks/keyfunc/compare/v3.6.1...v3.6.2)

---
updated-dependencies:
- dependency-name: github.com/MicahParks/keyfunc/v3
  dependency-version: 3.6.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-25 15:21:21 +02:00
dependabot[bot]
93ad9a4289 build(deps): bump code.cloudfoundry.org/bytefmt from 0.51.0 to 0.52.0 (#5028)
Bumps [code.cloudfoundry.org/bytefmt](https://github.com/cloudfoundry/bytefmt) from 0.51.0 to 0.52.0.
- [Release notes](https://github.com/cloudfoundry/bytefmt/releases)
- [Commits](https://github.com/cloudfoundry/bytefmt/compare/v0.51.0...v0.52.0)

---
updated-dependencies:
- dependency-name: code.cloudfoundry.org/bytefmt
  dependency-version: 0.52.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-25 11:23:30 +02:00
Alessandro Ros
d6e6954a12 api: fix crash in rtspsessions/list and /rtspsessions/get (#5030) (#5031)
sometimes sessions have an empty associated path, and this caused a
crash.
2025-09-25 10:57:03 +02:00
Alessandro Ros
6b57c5187b webrtc: add authentication parameters to publisher.js and reader.js (#5026)
add user, pass and token configuration parameters.
2025-09-24 18:28:53 +02:00
Alessandro Ros
5203a0f04b docs: add leading zeros to usage pages (#5025) 2025-09-23 10:31:36 +02:00
Alessandro Ros
e1f5d06612 allow changing record parameters without disconnecting readers (#4663) (#5018) 2025-09-23 10:31:05 +02:00
Alessandro Ros
f987695d9d rtsp: log authentication failure reason (#4641) (#5017) 2025-09-23 10:18:13 +02:00
Alessandro Ros
5240bcb8ff log authentication errors of API, metrics, pprof (#4641) (#5015) 2025-09-23 09:51:22 +02:00
Alessandro Ros
e05246d5ae docs: explain how to decrease JWT length in Keycloak (#5012)
this prevents errors when passing JWT with FFmpeg and GStreamer.
2025-09-23 09:46:00 +02:00
dependabot[bot]
7b02c28d5a build(deps): bump github.com/gin-gonic/gin from 1.10.1 to 1.11.0 (#5022)
Bumps [github.com/gin-gonic/gin](https://github.com/gin-gonic/gin) from 1.10.1 to 1.11.0.
- [Release notes](https://github.com/gin-gonic/gin/releases)
- [Changelog](https://github.com/gin-gonic/gin/blob/master/CHANGELOG.md)
- [Commits](https://github.com/gin-gonic/gin/compare/v1.10.1...v1.11.0)

---
updated-dependencies:
- dependency-name: github.com/gin-gonic/gin
  dependency-version: 1.11.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-23 09:37:06 +02:00
dependabot[bot]
eb4f4fbbbd build(deps): bump github.com/MicahParks/jwkset from 0.10.0 to 0.11.0 (#5023)
Bumps [github.com/MicahParks/jwkset](https://github.com/MicahParks/jwkset) from 0.10.0 to 0.11.0.
- [Release notes](https://github.com/MicahParks/jwkset/releases)
- [Commits](https://github.com/MicahParks/jwkset/compare/v0.10.0...v0.11.0)

---
updated-dependencies:
- dependency-name: github.com/MicahParks/jwkset
  dependency-version: 0.11.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-23 09:36:44 +02:00
bluenviron-bot
b192dbc492 bump hls.js to v1.6.13 (#5024) 2025-09-23 09:36:32 +02:00
Alessandro Ros
400af1a267 docs: update (#5003) 2025-09-22 10:08:06 +02:00
Alessandro Ros
85f57b90db stop accepting JWTs from query parameters unless allowed in conf (#5010)
This is the first step into removing support for JWTs in
query parameters, which is a security flaw.
2025-09-22 10:04:51 +02:00
Alessandro Ros
68b4c20627 fix reading JWT when it is passed through the password field (#5009)
Usernames and passwords must be requested explicitly to clients, but
they were not requested when JWT is meant to be passed as password.
This fixes the issue.
2025-09-22 10:00:33 +02:00
bluenviron-bot
232466053c bump golangci-lint to 2.5.0 (#5011) 2025-09-22 09:49:04 +02:00
Alessandro Ros
b517631b8f fix authentication failure reason not being displayed (#5007) 2025-09-22 09:48:51 +02:00
Alessandro Ros
868fd43108 update issue / discussion templates (#5006) 2025-09-21 16:33:57 +02:00
Alessandro Ros
0ede14d1a1 docs: update (#4995) v1.15.0 2025-09-18 19:09:11 +02:00
Alessandro Ros
0b635617c7 docs: update (#4994) 2025-09-18 18:41:51 +02:00
dependabot[bot]
ef087a6487 build(deps): bump github.com/bluenviron/gortmplib (#4992)
Bumps [github.com/bluenviron/gortmplib](https://github.com/bluenviron/gortmplib) from 0.0.0-20250916095243-72b6eaffb6a4 to 0.1.0.
- [Commits](https://github.com/bluenviron/gortmplib/commits/v0.1.0)

---
updated-dependencies:
- dependency-name: github.com/bluenviron/gortmplib
  dependency-version: 0.1.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-18 13:16:05 +02:00
dependabot[bot]
253df883c2 build(deps): bump github.com/bluenviron/mediacommon/v2 (#4990)
Bumps [github.com/bluenviron/mediacommon/v2](https://github.com/bluenviron/mediacommon) from 2.4.2 to 2.4.3.
- [Commits](https://github.com/bluenviron/mediacommon/compare/v2.4.2...v2.4.3)

---
updated-dependencies:
- dependency-name: github.com/bluenviron/mediacommon/v2
  dependency-version: 2.4.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-18 13:10:42 +02:00
bluenviron-bot
d6cb547321 bump mediamtx-rpicamera to v2.5.0 (#4993) 2025-09-18 13:06:12 +02:00
dependabot[bot]
fbd94ebb82 build(deps): bump github.com/matthewhartstonge/argon2 (#4991)
Bumps [github.com/matthewhartstonge/argon2](https://github.com/matthewhartstonge/argon2) from 1.3.4 to 1.4.0.
- [Release notes](https://github.com/matthewhartstonge/argon2/releases)
- [Changelog](https://github.com/matthewhartstonge/argon2/blob/main/CHANGELOG.md)
- [Commits](https://github.com/matthewhartstonge/argon2/compare/v1.3.4...v1.4.0)

---
updated-dependencies:
- dependency-name: github.com/matthewhartstonge/argon2
  dependency-version: 1.4.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-18 12:14:51 +02:00
Alessandro Ros
f81c50ee68 rtsp: support reading streams tunneled with HTTP or WebSocket (#4986) 2025-09-17 22:31:20 +02:00
Alessandro Ros
558d1c3818 api: add tunnel and profile to RTSP conns and sessions (#4985) 2025-09-17 22:18:21 +02:00