Commit graph

88 commits

Author SHA1 Message Date
Alessandro Ros
c3d9be322d
allow using 'fallback' with static sources (#2606) (#2706) 2023-11-16 23:37:43 +01:00
Alessandro Ros
7a1e155531
update dependencies (#2687) 2023-11-13 00:09:42 +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
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
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
Alessandro Ros
442a48363c
allow to start/stop recording without disconnecting clients (#2395) (#2434) 2023-09-28 19:39:56 +02:00
Alessandro Ros
61b77a3ff9
api: return 400 in case of non-existent config fields (#2425) 2023-09-27 14:56:31 +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
3a7d86ec03
normalize configuration (#2399) 2023-09-23 12:48:34 +02:00
Alessandro Ros
8fd7019f2a
rpi camera: add additional checks on configuration (#2368) 2023-09-19 11:49:44 +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
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
cf86dbb303
switch to gortsplib/v4 (#2244) 2023-08-26 18:54:28 +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
ce0924ac72
udp: support using domain names instead of IPs (#2150) 2023-08-05 16:40:51 +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
Alessandro Ros
37586b2300
api: allow to edit properties of path config "all" (#2067) (#2075) 2023-07-19 13:33:05 +02:00
Alessandro Ros
af324c9e91
rpi camera: allow using decimal FPS (#1743) (#1873) 2023-05-28 17:29:37 +02:00
Jordy84
596765c14c
Allow sending Range header to RTSP sources (#1780)
* Enable Range headers using path config

* Use enum instead of strings

* Comments added to new code

* Wrong comment format

* Made CreateRangeHeader func private

* reorder configuration

* handle errors inside createRangeHeader()

* add tests

* update API docs

---------

Co-authored-by: Jordy Boezaard <jordy@boezaard.com>
Co-authored-by: aler9 <46489434+aler9@users.noreply.github.com>
2023-05-14 17:02:03 +02:00
Alessandro Ros
d8678cef90
unify authentication mechanisms (#1775) 2023-05-08 17:04:14 +02:00
Alessandro Ros
e998688757
allow setting rpiCameraSaturation to 0 (#1651) (#1772) 2023-05-06 23:00:42 +02:00
Alessandro Ros
2dffccf9c1
update gortsplib, gohlslib (#1637) 2023-04-01 18:39:12 +02:00
Alessandro Ros
3c9eed5fae
rpicamera: add text overlay with current time (#1288) (#1604) 2023-03-31 17:33:30 +02:00
Alessandro Ros
bca3013bd0
general: add Clone() method to Conf and PathConf (#1633)
this allows to detect errors during cloning
2023-03-31 16:22:08 +02:00
Alessandro Ros
fb1c16d606
support reading UDP/MPEG-TS streams (#1490)
* support reading UDP/MPEG-TS streams

* support reading H265 and Opus tracks inside UDP/MPEG-TS streams

* improve timestamp precision of Opus packets
2023-03-21 11:12:43 +01:00
Alessandro Ros
32d6cb4435
rpicamera: support two CSI cameras at once (#1573) (#1574) 2023-03-20 00:22:44 +01:00
Alessandro Ros
b461f15a4c
rpicamera: support changing parameters without interrupting the stream (#1463) 2023-02-13 12:12:04 +01:00
Azsde
4841189456
Add support for libcamera Autofocus parameters (#1417)
* [DEV #1416] Add support for libcamera Autofocus parameters

* [DEVMINOR] Fix Go formatting

* [DEV] Support AF window parameter for rpiCamera

* [DEV] Update default .yml file to add rpiCameraAfWindow parameter
2023-02-10 12:20:50 +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
532592c099 rpicamera: change default resolution to 1920x1080 2022-10-25 11:29:04 +02:00
aler9
7013b75daf rpicamera: add rpiCameraMode parameter (#1111) 2022-10-25 11:23:44 +02:00
Alessandro Ros
8825fddd89
Add additional Raspberry Pi Camera parameters (#1198)
* rpicamera: add rpiCameraHFlip and rpiCameraVFlip parameters

* rpicamera: add rpiCameraBrightness, rpiCameraContrast,
rpiCameraSaturation, rpiCameraSharpness, rpiCameraExposure,
rpiCameraAWB, rpiCameraDenoise, rpiCameraShutter, rpiCameraMetering,
rpiCameraGain, rpiCameraEV, rpiCameraROI, rpiCameraTuningFile

* support float values in config file
2022-10-24 15:08:30 +02:00