Alessandro Ros
adf6ca9f90
delete paths that belong to a new configuration ( #4013 ) ( #4568 )
...
when a new configuration is pushed with either API or hot reloading,
the server now checks whether existing paths belong to a new
configuration. If they do, these paths are deleted.
2025-05-27 22:02:37 +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
db3c2f8cae
add authJWTJWKSFingerprint ( #4409 ) ( #4514 )
2025-05-10 16:12:35 +02:00
Dimitri Marechal
1827e062bd
add authJWTExclude to exclude actions when using JWT ( #3431 )
...
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
8ce49727d6
rpi: support exposing a secondary stream from the same camera ( #4426 )
2025-04-14 11:56:08 +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
8b98c02903
rtsp: route original absolute timestamp of packets ( #1300 ) ( #4378 )
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
Vyacheslav Kadyshev
1069e131b0
allow to customize syslog prefix ( #4356 )
...
Co-authored-by: Кадышев Вячеслав <v.kadyshev@dssl.ru>
2025-03-24 15:54:33 +01:00
Alessandro Ros
b64650ca4a
record: prevent recordDeleteAfter from deleting current segment ( #4331 )
2025-03-16 12:24:40 +01:00
Alessandro Ros
44136b3045
api: fix crash in /recordings/list ( #4040 ) ( #4291 )
...
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_highlevel (push) Waiting to run
The API crashed when
- '%path%' is not present in 'recordPath'
- 'all_others' is in 'paths'
- there's at least one recording segment
A recording segment without path is parsed as a segment with an empty
path. This path is then passed to FindPathConf(), that returns an error
in case of empty or invalid paths. This error is not checked for
performance reasons, leading to the crash.
This PR prevents empty or invalid paths from reaching FindPathConf().
2025-02-28 19:04:05 +01:00
Alessandro Ros
386be42784
rtsp: rewrite authentication around ServerConn.VerifyCredentials ( #4267 )
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-02-18 17:54:13 +01:00
Alessandro Ros
7ade2896e5
warn users when non-existent fields are used in conf ( #4261 )
2025-02-18 15:23:44 +01:00
Alessandro Ros
d822c2a200
rtsp: support using relative URLs in sourceRedirect ( #4260 )
2025-02-18 15:23:07 +01:00
Alessandro Ros
b950a0a601
rtsp: fix authentication when rtspAuthMethods is empty ( #4266 )
...
when rtspAuthMethods is nil, digest+SHA256 gets enabled, resulting in
the inability of FFmpeg and most clients to connect due to
compatibility issues.
2025-02-18 15:18:17 +01:00
Alessandro Ros
244da930a1
switch to mediacommon/v2 ( #4259 )
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_highlevel (push) Waiting to run
2025-02-17 14:54:58 +01:00
Jean-Philippe Bergeron
e8297478f3
Configurable webrtcSTUNGatherTimeout ( #4221 )
2025-02-07 16:34:17 +01:00
Alessandro Ros
ac0ddc9e8a
playback: improve /list response time ( #3637 ) ( #4096 )
...
Response times of the /list endpoint were slow because the duration of
each segment was computed from scratch by summing the duration of each
of its parts.
This is improved by storing the duration of the overall segment in the
header and using that, if available.
2025-01-03 13:08:46 +01:00
Alessandro Ros
b49acb1e00
accept durations expressed as days (i.e. '1d') ( #4094 )
2025-01-02 12:44:15 +01:00
Alessandro Ros
df3362aef8
warn users if deprecated parameters are being used ( #4080 )
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
2024-12-25 19:28:54 +01:00
Alessandro Ros
dfb792eb90
rtsp: rename encryption, protocols, serverKey, serverCert into rtspEncryption, rtspProtocols, rtspServerKey, rtspServerCert ( #4078 )
2024-12-25 18:26:14 +01:00
Alessandro Ros
d641392da5
fix race condition when checking configuration ( #4044 )
...
* simplify configuration parser
* fix race condition when checking configuration
2024-12-15 12:34:51 +01:00
Alessandro Ros
576a117c7c
bump Golang to 1.23 ( #3702 )
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
2024-11-04 14:02:05 +01:00
Alessandro Ros
1dd975504f
rpi: increase default camera bitrate to 5 Mbps ( #3896 )
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
2024-10-21 01:25:32 +02:00
Alessandro Ros
a532779e33
simplify Path.HasStaticSource() ( #3876 )
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
2024-10-14 14:47:51 +02:00
Alessandro Ros
4d0ce87f09
hls: support generating streams with multiple audio tracks ( #2728 ) ( #3793 )
2024-10-03 19:38:54 +02:00
Alessandro Ros
7b01f48d40
prevent setting readTimeout / writeTimeout to zero ( #3750 )
2024-09-09 12:36:53 +02:00
Alessandro Ros
73a300afd0
fix cleaning of recordings in case of multiple recordDeleteAfter values ( #3557 ) ( #3741 )
2024-09-08 20:33:18 +02:00
Alessandro Ros
0d1da6bd5b
allow to set the JWT claim key that contains permissions ( #3560 ) ( #3692 )
2024-08-26 12:43:28 +02:00
Alessandro Ros
3700d5e5b9
rpi: fix passing unsigned integers to component ( #3672 )
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_highlevel (push) Waiting to run
2024-08-21 00:08:54 +02:00
Alessandro Ros
41a3fd503d
rpi: add H264 software encoder ( #2581 ) ( #3670 )
...
This allows to use the RPI camera on the Raspberry Pi 5 too.
2024-08-21 00:05:40 +02:00
Alessandro Ros
f4051eb63d
rpi: add rpiCameraFlickerPeriod ( #3463 ) ( #3667 )
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
2024-08-19 11:22:54 +02:00
Alessandro Ros
adf740098a
raise error in case of duplicate params in the configuration ( #3593 ) ( #3651 )
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_highlevel (push) Waiting to run
2024-08-13 11:55:00 +02:00
Alessandro Ros
aade940296
Revert "enable runOnDemandRestart by default ( #3605 )" ( #3609 )
...
This reverts commit 547e56e82b .
2024-08-04 12:32:37 +02:00
Alessandro Ros
547e56e82b
enable runOnDemandRestart by default ( #3605 )
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_highlevel (push) Waiting to run
2024-08-03 20:51:54 +02:00
Alessandro Ros
9554fc4ba0
prevent mixing together legacy and current auth mechanism ( #3258 ) ( #3460 )
2024-06-12 17:38:55 +02:00
Jason Walton
1c2f95f609
webrtc: allow configuring timeouts ( #3404 ) ( #3406 )
...
* webrtc: allow configuring timeouts (#3404 )
* fix from code inspect
2024-05-30 13:36:58 +02:00
Bouke van der Bijl
6793a12aff
api: make replace paths idempotent ( #3362 )
...
Don't return a 404 error if the path doesn't exist yet
2024-05-19 14:40:50 +02:00
Alessandro Ros
f3ed659fab
rtsp: fix authentication when algorithm field is not supported ( #3116 ) ( #3314 )
2024-05-15 10:28:12 +02:00
Alessandro Ros
c0ad6e4dc5
raise an error in case recordPath is incompatible with the playback server ( #3356 )
2024-05-14 17:40:45 +02:00
xjr20042
6debb52abd
hls: make closeAfterInactivity configurable ( #3329 )
...
* HLS: make closeAfterInactivity configurable
* add `hlsMuxerCloseAfter` to `apidocs/openapi.yaml`
2024-05-09 10:08:15 +02:00
Alessandro Ros
575d3585fe
fix unexpected behavior of authInternalUsers or authHTTPExclude ( #3316 )
...
when some subfields of authInternalUsers or authHTTPExclude were not
set explicitly in the configuration file, default values were used in
their place. This is caused by a strange behavior of Go
(https://github.com/golang/go/issues/21092 )
2024-05-04 10:12:43 +02:00
Alessandro Ros
85dd81698b
support HTTPS, Allow-Origin and trusted proxies in API, playback server, metrics server and pprof server ( #2658 ) ( #2491 ) ( #3235 ) ( #3280 )
2024-04-21 17:10:35 +02:00
Alessandro Ros
9d82d4e783
api: fix crash when calling config/paths/patch on an empty path config ( #3265 )
2024-04-18 00:23:39 +02:00
Alessandro Ros
9a67eb8bb6
record: increase default part duration to 1s ( #3264 )
2024-04-18 00:11:28 +02:00
Alessandro Ros
0b5519d30c
deprecate path.playback parameter ( #3217 )
...
this has become useless after the introduction of the new
authentication system, that already allows to select which paths are
available for playback
2024-04-09 10:04:12 +02:00
lvyaoting
34b120fd33
fix typo in comment ( #3205 )
...
Signed-off-by: lvyaoting <lvyaoting@outlook.com>
2024-04-08 09:29:42 +02:00
Dan Bason
87c0535823
Add option for ICE servers to be client only ( #3164 )
...
* Add option for ICE servers to be client only
* add clientOnly to configuration file and API docs
---------
Co-authored-by: aler9 <46489434+aler9@users.noreply.github.com>
2024-04-06 18:32:53 +02:00
Alessandro Ros
c7dbb951f3
update golangci-lint ( #3149 )
2024-03-19 12:53:26 +01:00