Commit Graph

86 Commits

Author SHA1 Message Date
Alessandro Ros 4ec12a6c8b
add runOnRecordSegmentCreate hook (#2451) (#2503) 2023-10-14 16:48:02 +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 4ba2dc1b34
apidocs: remove invalid value from PathSourceOrReader (#2450) 2023-10-03 13:00:46 +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 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 f786f64690
apidocs: mark discrete parameters as integers (#2331) (#2354) 2023-09-15 22:49:58 +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 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 7d7cedc509
apidocs: remove sourceReady from docs (#2163) 2023-08-06 21:23:19 +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 dd91abae9b
api: add transport to RTSP sessions (#2151) 2023-08-05 17:10:48 +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 0d18076201
api: add 'readyTime' to paths (#2049) (#2082) 2023-07-19 14:06:13 +02:00
Alessandro Ros f7a30e7b38
api: return 404 when a path configuration is not found (#2067) (#2074)
this involves /v2/config/paths/edit and /v2/config/paths/remove
2023-07-19 00:22:52 +02:00
Alessandro Ros 69fd7a6077
apidocs: fix source/reader types (#2027) 2023-07-05 21:21:14 +02:00
Volodymyr Borodin 47317ea8e5
api: add path to RTMP connections, RTSP sessions, WebRTC sessions (#1962) (#2022)
* api: add path to rtmp response

* add 'path' to RTSP and WebRTC sessions too

* add tests

---------

Co-authored-by: aler9 <46489434+aler9@users.noreply.github.com>
2023-07-05 21:20:26 +02:00
Alessandro Ros 1a748bb971
webrtc: allow using special characters in ICE server credentials (#1953) (#2000) 2023-06-30 16:47:10 +02:00
Alessandro Ros f1b975707a
api: return 404 in /get and /kick endpoints (#1994) (#1995)
when an entity is not found
2023-06-27 23:55:31 +02:00
Alessandro Ros f162ce1f07
update documentation (#1900) 2023-06-02 11:54:10 +02:00
Alessandro Ros af324c9e91
rpi camera: allow using decimal FPS (#1743) (#1873) 2023-05-28 17:29:37 +02:00
Alessandro Ros cefa16849e
apidocs: fix method of /get endpoints (#1835) 2023-05-19 00:20:22 +02:00
Alessandro Ros b93eed64bc
api: add /get endpoints (#1577) (#1823)
this allows to get entities by ID or name after /list endpoints were
changed in v0.23.0.
2023-05-18 15:07:47 +02:00
Alessandro Ros 586df289e2
bump API prefix from /v1 to /v2 (#1815) 2023-05-17 15:44:30 +02:00
Alessandro Ros 0fdc322bd9
fix API docs (#1810) 2023-05-16 20:54:06 +02:00
Alessandro Ros 9c79197f36
api: add pagination to all /list endpoints (#1808) 2023-05-16 19:48:13 +02:00
Alessandro Ros a14246d776
webrtc: support publishing with WHIP and reading with WHEP (#1800) 2023-05-16 15:59: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 1688e5d2e5
support publishing with WebRTC (#1659) (#1786) 2023-05-14 14:18:03 +02:00
Alessandro Ros 053f2ec282
rename repository and executable (#1641) 2023-04-01 19:52:06 +02:00
Alessandro Ros 3c9eed5fae
rpicamera: add text overlay with current time (#1288) (#1604) 2023-03-31 17:33:30 +02:00
Alessandro Ros 5b61983fa6
add option to set max size of outgoing UDP packets (#1588) (#1601) 2023-03-31 11:53:49 +02:00
Alessandro Ros c1bcd0c7eb
hls muxer: add option to dump segments on disk (#1322) (#1567) 2023-03-20 00:22:21 +01:00
Alessandro Ros e2370800ba
apidocs: make linter return an exit code in case of errors (#1564) 2023-03-12 12:18:18 +01:00
James Shopland bb6fb4ac76
apidocs: Update OpenAPI schema to use int data type for input parameter (#1488)
add additional hint of format type
2023-02-21 23:35:57 +01:00
aler9 ea158caed8 apidocs: add new RPI camera parameters 2023-02-10 12:23:45 +01:00
aler9 b18d30914d fix API docs 2023-01-07 13:50:29 +01:00
aler9 e7e8d5ce20 api: add more attributes to WebRTC connections
new attributes: peerConnectionEstablished, localCandidate, remoteCandidate
2023-01-07 13:48:03 +01:00
aler9 b26f848613 webrtc: add webrtcICEUDPMuxAddress 2022-12-30 17:23:41 +01:00
andrew-ld b27c363ecf
(webrtc) added support for ice mux tcp and nat1to1ips (#1323)
* add webrtcp static tcp mux port

* add ice nat1 host configuration and cleanup

* typo

* rename config keys

* apply codecov suggestions

* apply review suggestions

* typo

* dont use deepequal for WebRTCICETCPMuxAddress

* unexport NewPeerConnection()

* remove Dockerfile

* use an empty list instead of nil value in webrtcICEHostNAT1To1IPs

* drop webrtcICETCPMuxEnable and enable TCP mux when webrtcICETCPMuxAddress is filled

* run go mod tidy

Co-authored-by: aler9 <46489434+aler9@users.noreply.github.com>
2022-12-30 15:39:20 +01:00
aler9 f394c9f8a8 api: add ID to WebRTC readers (#1318) 2022-12-21 12:50:02 +01:00