Commit Graph

221 Commits

Author SHA1 Message Date
Alessandro Ros 576a117c7c
bump Golang to 1.23 (#3702) 2024-11-04 14:02:05 +01:00
Alessandro Ros 1dd975504f
rpi: increase default camera bitrate to 5 Mbps (#3896) 2024-10-21 01:25:32 +02:00
Alessandro Ros a532779e33
simplify Path.HasStaticSource() (#3876) 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) 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) 2024-08-19 11:22:54 +02:00
Alessandro Ros adf740098a
raise error in case of duplicate params in the configuration (#3593) (#3651) 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) 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
Alessandro Ros dd3b268346
do not switch to legacy authentication system when readUser, readPass, publishUser, publishPass are present but are empty (#3113) 2024-03-06 18:04:08 +01:00
Alessandro Ros 9c6ba7e2c7
New authentication system (#1341) (#1992) (#2205) (#3081)
This is a new authentication system that covers all the features exposed by the server, including playback, API, metrics and PPROF, improves internal authentication by adding permissions, improves HTTP-based authentication by adding the ability to exclude certain actions from being authenticated, adds an additional method (JWT-based authentication).
2024-03-04 14:20:34 +01:00
Alessandro Ros b6db3121b5
rtsp: add random value to timestamp of tracks from other protocols (#3071) 2024-02-26 00:41:05 +01:00
Alessandro Ros c7bdcea741
move RTSP tests into internal/servers/rtsp (#3049) 2024-02-20 19:35:35 +01:00
Alessandro Ros 9e5de737f0
move SRT tests into internal/servers/srt (#3037) 2024-02-17 20:42:41 +01:00
Alessandro Ros 0f733bab26
add rpiCameraAWBGains (#2858) (#2954) 2024-01-28 21:48:21 +01:00
Alessandro Ros 57c2d5aecb
add playback server (#2452) (#2906)
* add playback server

* add playback switch

* update readme
2024-01-23 20:52:05 +01:00
Alessandro Ros 7b9617f2e7
api: return 404 when an entity is not found (#2582) (#2920) 2024-01-18 23:28:56 +01:00
Sijmen 397c58a882
Add Argon2 credential hash support (#2888)
* Add argon2 credential hash support

* update README, tests and documentation

---------

Co-authored-by: aler9 <46489434+aler9@users.noreply.github.com>
2024-01-13 12:49:08 +01:00
Alessandro Ros 7437ee7a09
update golangci-lint (#2868) 2024-01-03 21:13:20 +01:00
Alessandro Ros d261bfe773
support static sources in paths with regular expressions (#824) (#2799)
This allows to proxy requests to other servers by using regular
expressions.
2023-12-10 21:23:41 +01:00
Eng Zer Jun f335fc67f9
test: use `t.Setenv` to set env vars in tests (#2722)
This commit replaces `os.Setenv` with `t.Setenv` in tests. The
environment variable is automatically restored to its original value
when the test and all its subtests complete.

Reference: https://pkg.go.dev/testing#T.Setenv

Signed-off-by: Eng Zer Jun <engzerjun@gmail.com>
2023-11-20 17:34:56 +01:00
Alessandro Ros c3d9be322d
allow using 'fallback' with static sources (#2606) (#2706) 2023-11-16 23:37:43 +01:00
Alessandro Ros 3277765851
apidocs: add missing recording settings to PathConf (#2705) 2023-11-16 22:47:01 +01:00
Alessandro Ros 7a1e155531
update dependencies (#2687) 2023-11-13 00:09:42 +01:00
Alessandro Ros 687d8685ef
webrtc: improve connectivity mechanism (#2686) 2023-11-12 23:55:28 +01:00
Alessandro Ros 813611057d
add runOnUnDemand hook (#2645) 2023-11-04 13:07:51 +01:00
Alessandro Ros 1d1d64cb89
rename sourceProtocol into rtspTransport, sourceAnyPortEnable into rtspAnyPort (#2644) 2023-11-04 11:12:22 +01:00
Alessandro Ros 4b4d57f18e
api: add path name to config/paths/list and config/paths/get (#2535) (#2596) 2023-10-28 15:06:06 +02:00
Alessandro Ros bbb989ee87
api: return full configuration in config/paths/list and config/paths/get (#2535) (#2595) 2023-10-28 14:53:23 +02:00
Alessandro Ros c42fa76afd
rpi: switch default autofocus mode to 'continuous' (#2591) 2023-10-28 12:32:39 +02:00
Alessandro Ros 6d27d690dc
update docs (#2590) 2023-10-28 11:52:31 +02:00
Alessandro Ros 4dc6e338dd
fix crash when setting deprecated settings with environment (#2529) (#2550) 2023-10-23 20:07:28 +02:00