Commit Graph

59 Commits

Author SHA1 Message Date
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 65d90f7cc6
allow using MTX_QUERY inside source (#3486)
this allows to pass query parameters to sources, for instance:

source: rtsp://my_host/my_path?$MTX_QUERY
sourceOnDemand: true
2024-06-18 22:10:26 +02:00
Alessandro Ros caa9fa6ca0
webrtc, hls: support passing JWT through Authorization header (#3248) (#3458) 2024-06-11 23:33:01 +02:00
Alessandro Ros 3eabe6ac54
expose MTX_SEGMENT_DURATION to runOnRecordSegmentComplete (#3440) (#2983) (#3456)
* improve tests

* add duration to OnSegmentComplete

* expose MTX_SEGMENT_DURATION to runOnRecordSegmentComplete

* add tests
2024-06-11 18:30:40 +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
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 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 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
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 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 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
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 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
Neeraj Kanhere 47bd7352f0
support unix timestamp in filenames of recorded segments (#2774)
* added support for %s to use unix timestamp in filenames

* fix lint errors

* add tests

* update documentation

---------

Co-authored-by: aler9 <46489434+aler9@users.noreply.github.com>
2023-12-02 14:36:13 +01:00
Alessandro Ros d640dcf14d
fix missing comment in conf (#2745) 2023-11-26 20:24:52 +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 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 4f876ed207
fix crash when publishing to a path with 'runOnDemand' from outside 'runOnDemand' (#2636) (#2637) 2023-11-03 16:54:25 +01:00
Alessandro Ros 870238607c
update docs (#2630) 2023-11-02 13:55:01 +01:00
Alessandro Ros c42fa76afd
rpi: switch default autofocus mode to 'continuous' (#2591) 2023-10-28 12:32:39 +02:00
Alessandro Ros 3a5bb06e26
add environment variable MTX_QUERY to some hooks (#2483) (#2522) 2023-10-18 11:50:26 +02:00
Alessandro Ros 95ab9375c7
support recording to MPEG-TS (#2505) 2023-10-14 22:52:10 +02:00
Alessandro Ros 4ec12a6c8b
add runOnRecordSegmentCreate hook (#2451) (#2503) 2023-10-14 16:48:02 +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
PieterFabry 3c4039b81f
Supports webrtc interface filtering on server (#2460)
* Supports webrtc interface filtering on server

* test(#2707): Fixed testing for build

* lint(#2707): Fixed lint issues for build

* normalize setting name

* move instructions in the configuration file

---------

Co-authored-by: Pieter Fabry <pieterfabry@observe.tech>
Co-authored-by: aler9 <46489434+aler9@users.noreply.github.com>
2023-10-07 17:51:01 +02:00
Alessandro Ros eb975027b2
add runOnRecordSegmentComplete and rclone integration (#2404) (#2428) 2023-09-29 18:24:10 +02:00
Alessandro Ros 2d929e1132
move 'srtReadPassphrase' into the right section (#2435) 2023-09-28 19:40:24 +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 cadc6b3ea7
rename 'external commands' into 'hooks' (#2400) 2023-09-23 12:49:08 +02:00
Alessandro Ros 338456423e
update recordDeleteAfter documentation (#2361) (#2362) 2023-09-17 12:59:11 +02:00
Alessandro Ros 64d9060560
add additional environment variables to custom commands (#1414) (#2356)
new variables: MTX_CONN_TYPE, MTX_CONN_ID, MTX_SOURCE_TYPE, MTX_SOURCE_ID, MTX_READER_TYPE, MTX_READ_ID
2023-09-16 21:41:49 +02:00
Alessandro Ros ed77560811
add runOnDisconnect, runOnNotReady, runOnUnread (#1464) (#2355) 2023-09-16 19:21:48 +02:00
Alessandro Ros 73ddb21e63
implement native recording (#1399) (#2255)
* implement native recording (#1399)

* support saving VP9 tracks

* support saving MPEG-1 audio tracks

* switch segment when codec parameters change

* allow to disable recording on a path basis

* allow disabling recording cleaner

* support recording MPEG-1/2/4 video tracks

* add microseconds to file names

* add tests
2023-09-16 17:27:07 +02:00
Alessandro Ros 5fb7f4e846
force all readers to use an asynchronous writer (#2265)
needed by #2255
2023-08-30 11:24:14 +02:00
Alessandro Ros bf8e69ea89
rename readBufferCount into writeQueueSize (#2248) 2023-08-26 13:25:21 +02:00
Alessandro Ros 1133c734ab
support publishing AV1/H265 with OBS 30 (#2217) (#2234) 2023-08-22 22:56:23 +02:00
Alessandro Ros 61d300396d
remove 'disable' from names of configuration parameters (#2101) 2023-08-06 21:40:08 +02:00
Alessandro Ros d6058ae469
rename disablePublisherOverride into overridePublisher (#2164) 2023-08-06 21:29:16 +02:00
Alessandro Ros d00b22b5e5
support setting a maximum number of readers per path (#1286) (#2154) 2023-08-05 17:41:54 +02:00
Alessandro Ros bc3084ae7b
support proxying WebRTC streams (#2142) 2023-08-03 23:12:05 +02:00
Alessandro Ros b4e3033ea3
support publishing, reading, proxying with SRT (#2068) 2023-07-31 21:20:09 +02:00
Alessandro Ros 6d342082c2
rpi camera: add rpiCameraHDR parameter (#1876) (#2083) 2023-07-19 14:55:21 +02:00