1480 Commits

Author SHA1 Message Date
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
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
bluenviron-bot
b192dbc492 bump hls.js to v1.6.13 (#5024) 2025-09-23 09:36:32 +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
Alessandro Ros
b517631b8f fix authentication failure reason not being displayed (#5007) 2025-09-22 09:48:51 +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
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
Alessandro Ros
e3b8af8933 switch to gortsplib/v5 (#4978) 2025-09-16 13:10:34 +02:00
dependabot[bot]
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 Ros
35aceaa4a9 send server name (SNI) when opening TLS connections (#4973) 2025-09-15 19:38:36 +02:00
Alessandro Ros
1b8897d30d rtmp: move implementation to gortmplib (#4968) 2025-09-13 11:50:36 +02:00
Alessandro Ros
e8b746b6d5 rtsp: fix memory leak when closing sessions (#4964) (#4678) (#4967) 2025-09-12 15:48:14 +02:00
Alessandro Ros
0c801564fd playback: fix crash during authentication errors (#4960) (#4966) 2025-09-12 15:24:51 +02:00
Alessandro Ros
57021467e9 rename formatprocessor into codecprocessor (#4962) 2025-09-12 10:24:11 +02:00
bluenviron-bot
8e359a1eea bump hls.js to v1.6.12 (#4957) 2025-09-12 08:53:53 +02:00
Alessandro Ros
9318107779 rtmp: support additional enhanced RTMP features (#4168) (#4321) (#4954)
* support reading AV1, VP9, H265, Opus, AC-3, G711, LPCM
* support reading multiple video or audio tracks at once
2025-09-11 23:18:46 +02:00
Alessandro Ros
e0f4748839 modernize code (#4947) 2025-09-07 16:08:47 +02:00
Alessandro Ros
736abc40b3 fix golangci_lint workflow (#4933) 2025-09-03 15:22:27 +02:00
hyesung913
cb16f68432 rtmp: improve control message compatibility with non-standard cameras (#4909)
* feat: improve RTMP control message compatibility with non-standard cameras

- Add flexible chunk stream ID validation for control messages
- Support common non-standard chunk stream IDs (2,3,4,5,6) used by various cameras
- Maintain backward compatibility with standard RTMP clients
- Fix connection issues with PTZ cameras using chunk stream ID 4

This resolves compatibility issues with IP cameras that don't strictly follow
RTMP spec while maintaining full support for standard RTMP implementations.
Previously, cameras using non-standard chunk stream IDs would fail with
'unexpected chunk stream ID' errors. Now MediaMTX provides nginx-rtmp level
compatibility with real-world camera implementations."

* add tests

* entirely remove control chunk stream ID validation

---------

Co-authored-by: Hyesung.Kim <hyesung.kim@xcath.com>
Co-authored-by: aler9 <46489434+aler9@users.noreply.github.com>
2025-09-03 15:11:32 +02:00
Alessandro Ros
a558c5681a improve documentation (#4918) 2025-08-31 14:15:58 +02:00
bluenviron-bot
9fce341fa2 bump hls.js to v1.6.11 (#4898) 2025-08-26 23:51:13 +02:00
Pooyan Khanjankhani
3c8d78194c refactor: remove duplicated http middleware (#4894) 2025-08-24 12:37:56 +02:00
bp0
fa6a20a5f9 hls, webrtc: Add disablepictureinpicture param (#4883)
ref: https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/video#disablepictureinpicture
2025-08-17 21:45:48 +02:00
bluenviron-bot
9ab48ea480 bump hls.js to v1.6.10 (#4877) 2025-08-15 10:57:24 +02:00
alex9long
262ce82d58 refactor: use the built-in max/min to simplify the code (#4867)
Signed-off-by: alex9long <alex9long@outlook.com>
2025-08-14 10:32:24 +02:00
Alessandro Ros
c80220eb7c webrtc: solve domains in webrtcAdditionalHosts on server-side (#4817) (#4866) 2025-08-12 15:49:38 +02:00
Alessandro Ros
b627128d0f remove context from webrtc.PeerConnection arguments (#4854)
contexts are useless since there's already PeerConnection.Close().
2025-08-12 15:19:59 +02:00
Alessandro Ros
5ae934887d remove custom forks of pion/webrtc and pion/ice (#4861)
this fixes IPv6 reliability issues and allows to receive upstream
updates in a more linear way.
2025-08-12 14:30:08 +02:00
Alessandro Ros
89993951ca fix arm32 / arm64 binaries (#4863) 2025-08-12 14:22:50 +02:00
Alessandro Ros
1a0f8e53f3 webrtc: show SDP answers in logs (#4862) 2025-08-12 14:11:42 +02:00
Alessandro Ros
afff90f00e restore Windows compatibility (#4860) 2025-08-12 13:00:45 +02:00
Alessandro Ros
03623799f5 use slices.Contains when possible (#4859) 2025-08-12 12:28:20 +02:00
Alessandro Ros
da08b128c4 webrtc: fix crash when loading an invalid configuration (#4856) 2025-08-11 19:16:00 +02:00
Alessandro Ros
61382e496b fix memory leak when reloading the configuration (#4855)
When a path has a MPEG-TS, RTP or WebRTC source and the path
configuration is reloaded, a routine was left open because the reload
channel was not handled. This fixes the issue.
2025-08-11 17:50:40 +02:00
Alessandro Ros
6d4dfff959 webrtc: fix clock rate of outgoing RTCP receiver reports (#4852) 2025-08-11 13:59:10 +02:00
Alessandro Ros
2b316cb1f7 fix race conditions in tests (#4853) 2025-08-11 13:48:03 +02:00
Alessandro Ros
462fb2bd0f allow setting UDP read buffer size (#3308) (#4846)
new parameters: rtspUDPReadBufferSize, rtpUDPReadBufferSize, mpegtsUDPReadBufferSize
2025-08-11 12:21:00 +02:00
dependabot[bot]
9e073cd34f build(deps): bump github.com/bluenviron/gortsplib/v4 (#4850)
Bumps [github.com/bluenviron/gortsplib/v4](https://github.com/bluenviron/gortsplib) from 4.16.0 to 4.16.1.
- [Commits](https://github.com/bluenviron/gortsplib/compare/v4.16.0...v4.16.1)

---
updated-dependencies:
- dependency-name: github.com/bluenviron/gortsplib/v4
  dependency-version: 4.16.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>
2025-08-11 11:05:29 +02:00
Alessandro Ros
19a47acca1 webrtc: close WebRTC sessions when closing browser tabs (#4477) (#4849)
This should decrease the delay before WebRTC sessions are marked as closed.
2025-08-11 10:48:37 +02:00
Alessandro Ros
2660e9629f prevent leakages by exiting gracefully with SIGTERM (#4352) (#4845) 2025-08-09 20:19:59 +02:00
Alessandro Ros
d0430d8ea5 support ingesting RTP streams (#1515) (#4843) 2025-08-09 16:12:10 +02:00
Alessandro Ros
1f3014aeac rename apidocs into api (#4844)
this is to follow standard Golang project layout
2025-08-09 16:05:34 +02:00
Alessandro Ros
69d37cc6c6 api: rename udpSource into mpegtsSource (#4842) 2025-08-08 22:04:26 +02:00
Alessandro Ros
7feff1d1dc support MPEG-TS over unix sockets (#4388) (#4389) (#4828) 2025-08-08 18:03:38 +02:00