Commit graph

1370 commits

Author SHA1 Message Date
Alessandro Ros
5d4653ba4e
rtsp: fix authentication regression (#4557)
since #4267 it was impossible to perform authentication when protocol
is RTSP and credentials are hashed.
2025-05-26 11:08:27 +02:00
Tarık Erkan
e6a7a87c7f
Fix: gracefully handle fMP4 segments with missing or partial moof/mdat (#4538)
Some checks are pending
code_lint / golangci_lint (push) Waiting to run
code_lint / mod_tidy (push) Waiting to run
code_lint / api_docs (push) Waiting to run
code_test / test_64 (push) Waiting to run
code_test / test_32 (push) Waiting to run
code_test / test_e2e (push) Waiting to run
2025-05-25 21:29:53 +02:00
Alessandro Ros
fff3b9b315
record: fix loss of audio samples during segment switch (#4556) 2025-05-25 21:29:33 +02:00
Alessandro Ros
01e6fedc36
playback: fix jerky video (#4555)
this happened when recording has B-frames, playback format is fmp4 and starting position doesn't correspond to a IDR frame.
2025-05-25 21:09:23 +02:00
Alessandro Ros
9a3bbda8f8
playback: fix error 404 when seeking before start of segment (#4276) (#4533) (#4539)
Fixes #4276
Replaces #4533
2025-05-25 18:50:19 +02:00
Alessandro Ros
fad64a87bd
bump golangci-lint (#4550) 2025-05-23 15:10:21 +02:00
Alessandro Ros
e707a9237d
improve tests, documentation (#4549) 2025-05-23 13:25:17 +02:00
Alessandro Ros
1b9dfbd367
rtmp: support connecting to sources that require standard credentials (#4530)
Some checks are pending
code_lint / golangci_lint (push) Waiting to run
code_lint / mod_tidy (push) Waiting to run
code_lint / api_docs (push) Waiting to run
code_test / test_64 (push) Waiting to run
code_test / test_32 (push) Waiting to run
code_test / test_e2e (push) Waiting to run
2025-05-15 14:23:03 +02:00
Alessandro Ros
3b3b898358
fix error message (#4522) 2025-05-12 22:10:13 +02:00
Alessandro Ros
5013d585fc
allow using colon in path names (#4377) (#4519) 2025-05-11 10:55:14 +02:00
Alessandro Ros
74bfb988d7
allow disabling JWT in HTTP query parameters (#4518) 2025-05-11 10:21:08 +02:00
Alessandro Ros
c17a6de2a6
parse HTTP username and password OR token, not both (#4517) 2025-05-11 10:20:57 +02:00
Alessandro Ros
f97213ae6e
support passing JWTs through the password field (#4516)
Some checks are pending
code_lint / golangci_lint (push) Waiting to run
code_lint / mod_tidy (push) Waiting to run
code_lint / api_docs (push) Waiting to run
code_test / test_64 (push) Waiting to run
code_test / test_32 (push) Waiting to run
code_test / test_e2e (push) Waiting to run
This is safer than passing JWTs through query parameters, unfortunately support is limited.
2025-05-10 22:54:24 +02:00
Alessandro Ros
c8348db52d
rename jwtRefresh into jwksRefresh (#4515)
Some checks are pending
code_lint / golangci_lint (push) Waiting to run
code_lint / mod_tidy (push) Waiting to run
code_lint / api_docs (push) Waiting to run
code_test / test_64 (push) Waiting to run
code_test / test_32 (push) Waiting to run
code_test / test_e2e (push) Waiting to run
2025-05-10 21:14:20 +02:00
Alessandro Ros
d3976fbc15
do not ask for credentials when authentication method is JWT (#4450) (#4513) 2025-05-10 16:20:22 +02:00
Alessandro Ros
db3c2f8cae
add authJWTJWKSFingerprint (#4409) (#4514) 2025-05-10 16:12:35 +02:00
Alessandro Ros
a85d8f1391
rtmp: fix connect command when reading (#4512)
when reading, the "connect" command should not contain fpad,
capabilities, audioCodecs, videoCodecs, videoFunction.
2025-05-10 15:26:48 +02:00
github-actions[bot]
fd0f08e94a
bump mediamtx-rpicamera to v2.4.2 (#4511)
Co-authored-by: mediamtx-bot <bot@mediamtx>
2025-05-10 14:45:25 +02:00
Dan Nicholls
7360981aa7
Feat: Add JWKS rotation API endpoint (#4463)
Some checks are pending
code_lint / golangci_lint (push) Waiting to run
code_lint / mod_tidy (push) Waiting to run
code_lint / api_docs (push) Waiting to run
code_test / test_64 (push) Waiting to run
code_test / test_32 (push) Waiting to run
code_test / test_e2e (push) Waiting to run
Co-authored-by: aler9 <46489434+aler9@users.noreply.github.com>
2025-05-10 13:44:02 +02:00
Alessandro Ros
defee1eed9
hls: fix toggling hlsAlwaysRemux after server is started (#4503)
Some checks are pending
code_lint / golangci_lint (push) Waiting to run
code_lint / mod_tidy (push) Waiting to run
code_lint / api_docs (push) Waiting to run
code_test / test_64 (push) Waiting to run
code_test / test_32 (push) Waiting to run
code_test / test_e2e (push) Waiting to run
When hlsAlwaysRemux was switched from false to true, through API or hot
reloading, muxers of existing paths were not created. This fixes the
issue.
2025-05-09 22:50:11 +02:00
Alessandro Ros
de46a288ac
rpi: fix regression in RPI Docker image (#4494) (#4495) 2025-05-06 17:25:22 +02:00
github-actions[bot]
ba2a29322b
bump mediamtx-rpicamera to v2.4.1 (#4488)
Some checks are pending
code_lint / golangci_lint (push) Waiting to run
code_lint / mod_tidy (push) Waiting to run
code_lint / api_docs (push) Waiting to run
code_test / test_64 (push) Waiting to run
code_test / test_32 (push) Waiting to run
code_test / test_e2e (push) Waiting to run
Co-authored-by: mediamtx-bot <bot@mediamtx>
2025-05-04 18:47:37 +02:00
Alessandro Ros
15fff95246
ensure unmarshaled entities can be marshaled back (#4484) 2025-05-04 11:34:05 +02:00
Alessandro Ros
d61994eeae
rpi: fix using camera when /usr/sbin is not in PATH (#4479) 2025-05-01 19:04:01 +02:00
Alessandro Ros
e83239fd0d
rpi: fix missing clock rate in secondary stream (#4476) (#4478)
Some checks are pending
code_lint / golangci_lint (push) Waiting to run
code_lint / mod_tidy (push) Waiting to run
code_lint / api_docs (push) Waiting to run
code_test / test_64 (push) Waiting to run
code_test / test_32 (push) Waiting to run
code_test / test_e2e (push) Waiting to run
2025-05-01 15:14:04 +02:00
Alessandro Ros
a0f5315549
support filtering interface and source IP in UDP sources (#4178) (#4464) 2025-04-28 22:22:55 +02:00
Alessandro Ros
a348007607
support parsing JWT claims encoded as strings (#3696) (#4465) 2025-04-28 22:22:42 +02:00
Dimitri Marechal
1827e062bd
add authJWTExclude to exclude actions when using JWT (#3431)
Some checks failed
code_lint / golangci_lint (push) Has been cancelled
code_lint / mod_tidy (push) Has been cancelled
code_lint / api_docs (push) Has been cancelled
code_test / test_64 (push) Has been cancelled
code_test / test_32 (push) Has been cancelled
code_test / test_e2e (push) Has been cancelled
* Added authJWTExclude to allow exclusion of actions while using the JWT authentication method

* add test

---------

Co-authored-by: aler9 <46489434+aler9@users.noreply.github.com>
2025-04-25 19:55:11 +02:00
Alessandro Ros
77c77c7f2f
webrtc: prevent payload type conflict in read page (#4456)
Some checks failed
code_lint / golangci_lint (push) Has been cancelled
code_lint / mod_tidy (push) Has been cancelled
code_lint / api_docs (push) Has been cancelled
code_test / test_64 (push) Has been cancelled
code_test / test_32 (push) Has been cancelled
code_test / test_e2e (push) Has been cancelled
2025-04-21 15:24:01 +02:00
Alessandro Ros
0c501e2507
webrtc: improve JavaScript classes (#4455)
* add close() method

* move support functions into classes as static methods

* convert arrow functions into standard functions

* make most methods private

* add JSDocs
2025-04-21 15:01:46 +02:00
Xiaobo Liu
44aa4ba50f
webrtc: simplify webrtcTurnSecretExpiration (#4453) 2025-04-21 14:21:45 +02:00
Alessandro Ros
dd9a5caa7b
fix getting version from .git folder (#4430)
Some checks failed
code_lint / golangci_lint (push) Has been cancelled
code_lint / mod_tidy (push) Has been cancelled
code_lint / api_docs (push) Has been cancelled
code_test / test_64 (push) Has been cancelled
code_test / test_32 (push) Has been cancelled
code_test / test_e2e (push) Has been cancelled
2025-04-14 12:31:48 +02:00
Alessandro Ros
189c2085db
fix cross-compilation of arm/arm64 (#4429) 2025-04-14 12:20:11 +02:00
Alessandro Ros
8ce49727d6
rpi: support exposing a secondary stream from the same camera (#4426) 2025-04-14 11:56:08 +02:00
Alessandro Ros
14f1daa02a
move static source handler into dedicated package (#4427)
Some checks are pending
code_lint / golangci_lint (push) Waiting to run
code_lint / mod_tidy (push) Waiting to run
code_lint / api_docs (push) Waiting to run
code_test / test_64 (push) Waiting to run
code_test / test_32 (push) Waiting to run
code_test / test_e2e (push) Waiting to run
2025-04-13 21:35:12 +02:00
Alessandro Ros
4280eec265
rpi: make sure all parameters are 32-bit (#4425) 2025-04-13 19:13:26 +02:00
Alessandro Ros
b564dc9ff1
rtsp: emit log message when remuxing RTP packets (#4422)
Some checks are pending
code_lint / golangci_lint (push) Waiting to run
code_lint / mod_tidy (push) Waiting to run
code_lint / api_docs (push) Waiting to run
code_test / test_64 (push) Waiting to run
code_test / test_32 (push) Waiting to run
code_test / test_e2e (push) Waiting to run
2025-04-13 10:21:46 +02:00
Alessandro Ros
14eb9f6175
improve tests (#4423) 2025-04-13 10:00:52 +02:00
Alessandro Ros
517ba4124c
restore support for using unix timestamp in record path (#4330) (#4417) 2025-04-12 12:16:08 +02:00
Alessandro Ros
77a3c7ae6e
webrtc: route original absolute timestamp of packets (#1300) (#4415) 2025-04-12 11:34:27 +02:00
Alessandro Ros
49bcd35afd
bump gortsplib (#4416) 2025-04-12 11:29:37 +02:00
github-actions[bot]
e7388e1125
bump hls.js to v1.6.2 (#4411)
Some checks are pending
code_lint / golangci_lint (push) Waiting to run
code_lint / mod_tidy (push) Waiting to run
code_lint / api_docs (push) Waiting to run
code_test / test_64 (push) Waiting to run
code_test / test_32 (push) Waiting to run
code_test / test_e2e (push) Waiting to run
Co-authored-by: mediamtx-bot <bot@mediamtx>
2025-04-11 11:14:42 +02:00
github-actions[bot]
070ffe739b
bump hls.js to v1.6.1 (#4398)
Some checks failed
code_lint / golangci_lint (push) Has been cancelled
code_lint / mod_tidy (push) Has been cancelled
code_lint / api_docs (push) Has been cancelled
code_test / test_64 (push) Has been cancelled
code_test / test_32 (push) Has been cancelled
code_test / test_e2e (push) Has been cancelled
2025-04-05 18:33:56 +02:00
Alessandro Ros
f9bee5f54f
rename high-level tests into E2E tests (#4395) 2025-04-04 14:43:35 +02:00
Alessandro Ros
848a8b1031
webrtc: fix codec collision in Chrome (#4394)
Fix error "A BUNDLE group contains a codec collision for
payload_type='96. All codecs must share the same type, encoding name,
clock rate and parameters. (INVALID_PARAMETER)"
2025-04-04 14:31:37 +02:00
Alessandro Ros
a05da3a205
rpi: route original absolute timestamp of packets (#1300) (#4382)
Some checks failed
code_lint / golangci_lint (push) Has been cancelled
code_lint / mod_tidy (push) Has been cancelled
code_lint / api_docs (push) Has been cancelled
code_test / test_64 (push) Has been cancelled
code_test / test_32 (push) Has been cancelled
code_test / test_highlevel (push) Has been cancelled
2025-03-31 13:18:56 +02:00
Alessandro Ros
8b98c02903
rtsp: route original absolute timestamp of packets (#1300) (#4378)
Some checks failed
code_lint / golangci_lint (push) Has been cancelled
code_lint / mod_tidy (push) Has been cancelled
code_lint / api_docs (push) Has been cancelled
code_test / test_64 (push) Has been cancelled
code_test / test_32 (push) Has been cancelled
code_test / test_highlevel (push) Has been cancelled
2025-03-29 19:08:42 +01:00
Alessandro Ros
4bbedc4955
hls: fix reading streams with non-standard clock rates (#4376) 2025-03-29 17:14:02 +01:00
Alessandro Ros
ee8a47844a
hls: fix race condition when getting absolute time (#4375) 2025-03-29 17:10:31 +01:00
github-actions[bot]
6250d6c485
bump hls.js to v1.6.0 (#4374)
Some checks failed
code_lint / golangci_lint (push) Has been cancelled
code_lint / mod_tidy (push) Has been cancelled
code_lint / api_docs (push) Has been cancelled
code_test / test_64 (push) Has been cancelled
code_test / test_32 (push) Has been cancelled
code_test / test_highlevel (push) Has been cancelled
2025-03-28 08:48:10 +01:00