Commit Graph

54 Commits

Author SHA1 Message Date
Alessandro Ros 1dd975504f
rpi: increase default camera bitrate to 5 Mbps (#3896) 2024-10-21 01:25:32 +02:00
Alessandro Ros 7b01f48d40
prevent setting readTimeout / writeTimeout to zero (#3750) 2024-09-09 12:36:53 +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 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 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
Alessandro Ros c0ad6e4dc5
raise an error in case recordPath is incompatible with the playback server (#3356) 2024-05-14 17:40:45 +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 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
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 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
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 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 c42fa76afd
rpi: switch default autofocus mode to 'continuous' (#2591) 2023-10-28 12:32:39 +02:00
Alessandro Ros 95ab9375c7
support recording to MPEG-TS (#2505) 2023-10-14 22:52:10 +02:00
Alessandro Ros 6c727b4472
rename 'all' path configuration into 'all_others' (#2443) 2023-10-09 18:13:44 +02:00
Alessandro Ros 8a633d2b79
allow setting different recording parameters for each path (#2410) (#2457) 2023-10-07 23:48:37 +02:00
Alessandro Ros 9a01ab7fd5
allow changing default path settings; bump API in order to allow so (#2455) 2023-10-07 23:32:15 +02:00
rmcnew 75f518a827
Support SRT encryption passphrases on configured paths (#2385)
* Support SRT encryption passphrases on configured paths

* Fix namespace; make passphrase use more clear

* Updates from Alessandro's feedback and lint output

* Fix lint findings

* Update lint.yml

* Update lint.yml

* Fix lint findings

* Add SRT passphrase tests for conf/path

* Reformat test to pass lint

* More changes to pass lint

* More changes to pass lint

* Use safeConf to prevent race conditions

* update API docs

* split configuration checks from connection checks

* add tests

* rename publishSRTPassphrase into srtPublishPassphrase, readSRTPassphrase into srtReadPassphrase

* remove redundant alias

---------

Co-authored-by: aler9 <46489434+aler9@users.noreply.github.com>
2023-09-23 12:55:45 +02:00
Alessandro Ros b86dc979ca
fix default value of some settings (#2367)
rtmpServerKey, rtmpServerCert, recordPath, rpiCameraExposure,
rpiCameraAWB, rpiCameraDenoise, rpiCameraMetering, rpiCameraAfMode,
rpiCameraAfRange, rpiCameraAfSpeed were not set correctly when missing
in the configuration file.
2023-09-19 11:49:11 +02:00
Alessandro Ros ac10102329
automatically set 'record: yes' when not specified (#2366) 2023-09-18 22:34:38 +02:00
Alessandro Ros f2f417e451
search for configuration file in various paths, print paths if configuration is not found (#1993) (#2276) (#2357) 2023-09-16 22:14:13 +02:00
Alessandro Ros cf86dbb303
switch to gortsplib/v4 (#2244) 2023-08-26 18:54:28 +02:00
Alessandro Ros bf8e69ea89
rename readBufferCount into writeQueueSize (#2248) 2023-08-26 13:25:21 +02:00
Alessandro Ros d6058ae469
rename disablePublisherOverride into overridePublisher (#2164) 2023-08-06 21:29:16 +02:00
Alessandro Ros b42154fa6a
return an error in case the random number generator fails (#2120) 2023-07-30 22:30:41 +02:00
Alessandro Ros f79c4783c7
rename environment variable RTSP_PATH into MTX_PATH (#1967) 2023-06-21 16:08:37 +02:00
Alessandro Ros 39c072edd6
change repository owner (#1801) 2023-05-16 16:14:20 +02:00
Alessandro Ros 71310c5eb0
webrtc: validate ICE servers in configuration (#1798) 2023-05-15 10:51:00 +02:00
Alessandro Ros e998688757
allow setting rpiCameraSaturation to 0 (#1651) (#1772) 2023-05-06 23:00:42 +02:00
Alessandro Ros 053f2ec282
rename repository and executable (#1641) 2023-04-01 19:52:06 +02:00
Alessandro Ros f5fd89d3b4
change name of configuration file (#1640) 2023-04-01 19:32:10 +02:00
Alessandro Ros 2dffccf9c1
update gortsplib, gohlslib (#1637) 2023-04-01 18:39:12 +02:00
Alessandro Ros 32d6cb4435
rpicamera: support two CSI cameras at once (#1573) (#1574) 2023-03-20 00:22:44 +01:00
Alessandro Ros c778c049ce
switch to gortsplib v2 (#1301)
Fixes #1103

gortsplib/v2 supports multiple formats inside a single track (media). This allows to apply the resizing algorithm to single formats inside medias.

For instance, if a media contains a a proprietary format and an H264 format, and the latter has oversized packets, they can now be resized.
2022-12-13 20:54:17 +01:00
aler9 062fb600e8 return an error when rpiCamera in used in two paths (#1257) 2022-12-12 11:49:11 +01:00
aler9 f1fb00b80f update golangci-lint 2022-09-17 21:19:45 +02:00
aler9 2d12c37074 use require.EqualError() in tests 2021-11-03 17:52:47 +01:00
aler9 509bed355a update gortsplib 2021-10-22 18:41:10 +02:00
aler9 b21efeb28f restore logLevel: debug 2021-10-05 20:36:15 +02:00
aler9 b70a4bfe5b fix regression that prevented setting config slices with env variables (#612) 2021-10-04 08:58:23 +02:00
aler9 1f540a2aaf return error in case of non-existent parameters in the configuration file 2021-09-27 16:40:49 +02:00
aler9 6921a402d1 decode the configuration when decoding JSON 2021-09-27 16:40:49 +02:00
aler9 ca9645c2f9 api: decode durations from strings instead of numbers
This allows to use human-readable durations with the API,
for instance: "5s" instead of 5000000000
2021-09-26 23:21:37 +02:00
aler9 cd9792fec0 conf: rewrite tests 2021-05-09 17:51:38 +02:00