Commit Graph
234 Commits
Author SHA1 Message Date
Alessandro RosandGitHub b64650ca4a record: prevent recordDeleteAfter from deleting current segment (#4331) 2025-03-16 12:24:40 +01:00
Alessandro RosandGitHub 44136b3045 api: fix crash in /recordings/list (#4040) (#4291)
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 RosandGitHub 386be42784 rtsp: rewrite authentication around ServerConn.VerifyCredentials (#4267) 2025-02-18 17:54:13 +01:00
Alessandro RosandGitHub 7ade2896e5 warn users when non-existent fields are used in conf (#4261) 2025-02-18 15:23:44 +01:00
Alessandro RosandGitHub d822c2a200 rtsp: support using relative URLs in sourceRedirect (#4260) 2025-02-18 15:23:07 +01:00
Alessandro RosandGitHub 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 RosandGitHub 244da930a1 switch to mediacommon/v2 (#4259) 2025-02-17 14:54:58 +01:00
Jean-Philippe BergeronandGitHub e8297478f3 Configurable webrtcSTUNGatherTimeout (#4221) 2025-02-07 16:34:17 +01:00
Alessandro RosandGitHub 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 RosandGitHub b49acb1e00 accept durations expressed as days (i.e. '1d') (#4094) 2025-01-02 12:44:15 +01:00
Alessandro RosandGitHub df3362aef8 warn users if deprecated parameters are being used (#4080) 2024-12-25 19:28:54 +01:00
Alessandro RosandGitHub dfb792eb90 rtsp: rename encryption, protocols, serverKey, serverCert into rtspEncryption, rtspProtocols, rtspServerKey, rtspServerCert (#4078) 2024-12-25 18:26:14 +01:00
Alessandro RosandGitHub 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 RosandGitHub 576a117c7c bump Golang to 1.23 (#3702) 2024-11-04 14:02:05 +01:00
Alessandro RosandGitHub 1dd975504f rpi: increase default camera bitrate to 5 Mbps (#3896) 2024-10-21 01:25:32 +02:00
Alessandro RosandGitHub a532779e33 simplify Path.HasStaticSource() (#3876) 2024-10-14 14:47:51 +02:00
Alessandro RosandGitHub 4d0ce87f09 hls: support generating streams with multiple audio tracks (#2728) (#3793) 2024-10-03 19:38:54 +02:00
Alessandro RosandGitHub 7b01f48d40 prevent setting readTimeout / writeTimeout to zero (#3750) 2024-09-09 12:36:53 +02:00
Alessandro RosandGitHub 73a300afd0 fix cleaning of recordings in case of multiple recordDeleteAfter values (#3557) (#3741) 2024-09-08 20:33:18 +02:00
Alessandro RosandGitHub 0d1da6bd5b allow to set the JWT claim key that contains permissions (#3560) (#3692) 2024-08-26 12:43:28 +02:00
Alessandro RosandGitHub 3700d5e5b9 rpi: fix passing unsigned integers to component (#3672) 2024-08-21 00:08:54 +02:00
Alessandro RosandGitHub 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 RosandGitHub f4051eb63d rpi: add rpiCameraFlickerPeriod (#3463) (#3667) 2024-08-19 11:22:54 +02:00
Alessandro RosandGitHub adf740098a raise error in case of duplicate params in the configuration (#3593) (#3651) 2024-08-13 11:55:00 +02:00
Alessandro RosandGitHub aade940296 Revert "enable runOnDemandRestart by default (#3605)" (#3609)
This reverts commit 547e56e82b.
2024-08-04 12:32:37 +02:00
Alessandro RosandGitHub 547e56e82b enable runOnDemandRestart by default (#3605) 2024-08-03 20:51:54 +02:00
Alessandro RosandGitHub 9554fc4ba0 prevent mixing together legacy and current auth mechanism (#3258) (#3460) 2024-06-12 17:38:55 +02:00
Jason WaltonandGitHub 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 BijlandGitHub 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 RosandGitHub f3ed659fab rtsp: fix authentication when algorithm field is not supported (#3116) (#3314) 2024-05-15 10:28:12 +02:00
Alessandro RosandGitHub c0ad6e4dc5 raise an error in case recordPath is incompatible with the playback server (#3356) 2024-05-14 17:40:45 +02:00
xjr20042andGitHub 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 RosandGitHub 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 RosandGitHub 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 RosandGitHub 9d82d4e783 api: fix crash when calling config/paths/patch on an empty path config (#3265) 2024-04-18 00:23:39 +02:00
Alessandro RosandGitHub 9a67eb8bb6 record: increase default part duration to 1s (#3264) 2024-04-18 00:11:28 +02:00
Alessandro RosandGitHub 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
lvyaotingandGitHub 34b120fd33 fix typo in comment (#3205)
Signed-off-by: lvyaoting <lvyaoting@outlook.com>
2024-04-08 09:29:42 +02:00
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 RosandGitHub c7dbb951f3 update golangci-lint (#3149) 2024-03-19 12:53:26 +01:00
Alessandro RosandGitHub 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 RosandGitHub 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 RosandGitHub b6db3121b5 rtsp: add random value to timestamp of tracks from other protocols (#3071) 2024-02-26 00:41:05 +01:00
Alessandro RosandGitHub c7bdcea741 move RTSP tests into internal/servers/rtsp (#3049) 2024-02-20 19:35:35 +01:00
Alessandro RosandGitHub 9e5de737f0 move SRT tests into internal/servers/srt (#3037) 2024-02-17 20:42:41 +01:00
Alessandro RosandGitHub 0f733bab26 add rpiCameraAWBGains (#2858) (#2954) 2024-01-28 21:48:21 +01:00
Alessandro RosandGitHub 57c2d5aecb add playback server (#2452) (#2906)
* add playback server

* add playback switch

* update readme
2024-01-23 20:52:05 +01:00
Alessandro RosandGitHub 7b9617f2e7 api: return 404 when an entity is not found (#2582) (#2920) 2024-01-18 23:28:56 +01:00
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 RosandGitHub 7437ee7a09 update golangci-lint (#2868) 2024-01-03 21:13:20 +01:00