Commit Graph
1510 Commits
Author SHA1 Message Date
ade0cddeb3 support multiple CORS origins (#5150)
Co-authored-by: aler9 <46489434+aler9@users.noreply.github.com>
2025-11-21 02:00:46 +01:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
4b80f5fbf5 build(deps): bump github.com/pion/rtp from 1.8.23 to 1.8.25 (#5138)
Bumps [github.com/pion/rtp](https://github.com/pion/rtp) from 1.8.23 to 1.8.25.
- [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.23...v1.8.25)

---
updated-dependencies:
- dependency-name: github.com/pion/rtp
  dependency-version: 1.8.25
  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-11-18 04:12:41 +01:00
Alessandro RosandGitHub 3f599d236f rtp: reorder packets before ingestion (#5194) 2025-11-14 17:19:48 +01:00
Alessandro RosandGitHub 2d02ca0df7 webrtc: use rtpReceiver and rtpSender to count packets (#5193) 2025-11-14 17:10:50 +01:00
Alessandro RosandGitHub d02fb4ed8e move constant (#5190) 2025-11-12 18:09:53 +01:00
Alessandro RosandGitHub ff187b6d8a update golangci-lint configuration (#5182) 2025-11-11 23:57:52 +01:00
Alessandro RosandGitHub ac1d4360b2 tests: fix race condition (#5187) 2025-11-11 21:12:01 +01:00
Alessandro RosandGitHub 8858bf1db9 simplify code with ptrOf (#5179) 2025-11-11 12:01:03 +01:00
Alessandro RosandGitHub 5be9b0eb97 rename variable (#5173) 2025-11-09 22:19:17 +01:00
bluenviron-botandGitHub 2cd62af900 bump hls.js to v1.6.14 (#5147) 2025-11-02 16:58:58 +01:00
Alessandro RosandGitHub 1ef5db5b3c extend udpReadBufferSize to WebRTC UDP sockets (#5130)
this allows to decrease packet losses without touching system parameters.
2025-10-29 11:45:15 +01:00
Alessandro RosandGitHub adc4a6ceb6 add udpReadBufferSize parameter (#5129)
this allows to set a global UDP read buffer, applied to every UDP socket.
2025-10-29 11:28:22 +01:00
Alessandro RosandGitHub c42642ac3c recorder: prevent FMP4 durations from overflowing (#4711) (#5126)
The timestamp difference between two samples was put inside an unsigned
integer, and, when negative, caused an overflow.
2025-10-26 15:52:13 +01:00
bluenviron-botandGitHub 4ff80d773b bump mediamtx-rpicamera to v2.5.1 (#5121) 2025-10-21 21:50:28 +02:00
Alessandro RosandGitHub d209454693 rtmp: fix freeze when reading source (#5117)
Tracks were read without deadlines, freezing the server if they are not
present. This patch also allows to close the server immediately during
track reading.
2025-10-21 18:04:18 +02:00
Alessandro RosandGitHub f126a7e7d6 playback: improve segment merging algorithm (#5084)
* merge segments only if they belong to the same stream and are
consecutive. * compute DTS without using NTP timestamp, increasing
robustness against NTP fluctuations.
2025-10-13 17:00:21 +02:00
Alessandro RosandGitHub 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 RosandGitHub 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 RosandGitHub 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 RosandGitHub 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 RosandGitHub a9d84103d0 prevent estimated absolute timestamp from drifting too much (#5080) 2025-10-12 17:53:22 +02:00
Alessandro RosandGitHub 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 RosandGitHub f5f03562d3 rewrite Unit definition (#5079)
Stream units now share the same struct, with a specialized payload.
2025-10-11 12:18:51 +02:00
Alessandro RosandGitHub 6415285427 hls: improve web page performance (#5062)
load hls.js in parallel with the page.
2025-10-05 18:00:14 +02:00
Alessandro RosandGitHub 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
Alessandro RosandGitHub 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 RosandGitHub 2690ef8e71 api: add /info endpoint (#945) (#5045) 2025-09-30 10:39:27 +02:00
Alessandro RosandGitHub 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 RosandGitHub 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 RosandGitHub ada39d22cd on Windows, do not look for configuration in linux paths (#5036) 2025-09-27 13:36:04 +02:00
Alessandro RosandGitHub 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 RosandGitHub 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 RosandGitHub e1f5d06612 allow changing record parameters without disconnecting readers (#4663) (#5018) 2025-09-23 10:31:05 +02:00
Alessandro RosandGitHub f987695d9d rtsp: log authentication failure reason (#4641) (#5017) 2025-09-23 10:18:13 +02:00
Alessandro RosandGitHub 5240bcb8ff log authentication errors of API, metrics, pprof (#4641) (#5015) 2025-09-23 09:51:22 +02:00
bluenviron-botandGitHub b192dbc492 bump hls.js to v1.6.13 (#5024) 2025-09-23 09:36:32 +02:00
Alessandro RosandGitHub 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 RosandGitHub 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
Alessandro RosandGitHub b517631b8f fix authentication failure reason not being displayed (#5007) 2025-09-22 09:48:51 +02:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
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-botandGitHub d6cb547321 bump mediamtx-rpicamera to v2.5.0 (#4993) 2025-09-18 13:06:12 +02:00
Alessandro RosandGitHub f81c50ee68 rtsp: support reading streams tunneled with HTTP or WebSocket (#4986) 2025-09-17 22:31:20 +02:00
Alessandro RosandGitHub 558d1c3818 api: add tunnel and profile to RTSP conns and sessions (#4985) 2025-09-17 22:18:21 +02:00
Alessandro RosandGitHub e3b8af8933 switch to gortsplib/v5 (#4978) 2025-09-16 13:10:34 +02:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
ebd9eb6665 build(deps): bump github.com/bluenviron/mediacommon/v2 (#4975)
Bumps [github.com/bluenviron/mediacommon/v2](https://github.com/bluenviron/mediacommon) from 2.4.2-0.20250909112826-017d0bbe41db to 2.4.2.
- [Commits](https://github.com/bluenviron/mediacommon/commits/v2.4.2)

---
updated-dependencies:
- dependency-name: github.com/bluenviron/mediacommon/v2
  dependency-version: 2.4.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-15 22:56:28 +02:00
Alessandro RosandGitHub 35aceaa4a9 send server name (SNI) when opening TLS connections (#4973) 2025-09-15 19:38:36 +02:00
Alessandro RosandGitHub 1b8897d30d rtmp: move implementation to gortmplib (#4968) 2025-09-13 11:50:36 +02:00
Alessandro RosandGitHub e8b746b6d5 rtsp: fix memory leak when closing sessions (#4964) (#4678) (#4967) 2025-09-12 15:48:14 +02:00
Alessandro RosandGitHub 0c801564fd playback: fix crash during authentication errors (#4960) (#4966) 2025-09-12 15:24:51 +02:00
Alessandro RosandGitHub 57021467e9 rename formatprocessor into codecprocessor (#4962) 2025-09-12 10:24:11 +02:00