Commit Graph

119 Commits

Author SHA1 Message Date
Vyacheslav Kadyshev
1069e131b0 allow to customize syslog prefix (#4356)
Co-authored-by: Кадышев Вячеслав <v.kadyshev@dssl.ru>
2025-03-24 15:54:33 +01:00
Jean-Philippe Bergeron
e8297478f3 Configurable webrtcSTUNGatherTimeout (#4221) 2025-02-07 16:34:17 +01:00
Alessandro Ros
dfb792eb90 rtsp: rename encryption, protocols, serverKey, serverCert into rtspEncryption, rtspProtocols, rtspServerKey, rtspServerCert (#4078) 2024-12-25 18:26:14 +01:00
Alessandro Ros
8a808ac0f6 api: add 'session' field to RTSPConn (#3974) (#4074) 2024-12-25 16:17:53 +01:00
Alessandro Ros
57addb1cc2 api, metrics: add additional RTSP statistics (#3312) (#4073) 2024-12-25 15:43:41 +01: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
f4051eb63d rpi: add rpiCameraFlickerPeriod (#3463) (#3667) 2024-08-19 11:22:54 +02:00
Alessandro Ros
44a879170f apidocs: add missing fields in /list and SRT connections (#3610) 2024-08-04 12:52:36 +02:00
Alessandro Ros
c80bb53b0f apidocs: add missing authentication-related parameters (#3607) 2024-08-04 12:32:16 +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
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
Spencer Lowe
e5e029a7f4 srt: add additional metrics (#2962)
* first attempt at the srt metrics

* Updated variables to better match mediamtx

* Prometheus metrics for SRT

* Update readme for SRT metrics

* Switch openapi to number from float

* SRT metrics metrics response fix

* Make the metric test less strict, and nolint line length on the SRT metrics struct

* remove nolint

* move BytesSent and BytesReceived into APISRTConnMetrics

* merge APISRTConn and APISRTConnMetrics

* improve tests

---------

Co-authored-by: slowe <slowe@clairglobal.com>
Co-authored-by: aler9 <46489434+aler9@users.noreply.github.com>
2024-02-16 14:22:30 +01:00
Alessandro Ros
0332ba59a0 api: add endpoints for recording management (#2901) (#2988) 2024-02-04 23:51:51 +01:00
Alessandro Ros
5e27304935 apidocs: group operations by using tags (#2987) 2024-02-04 21:22:13 +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
Alessandro Ros
7b9617f2e7 api: return 404 when an entity is not found (#2582) (#2920) 2024-01-18 23:28:56 +01:00
Alessandro Ros
598fadc9fb api: add 'query' field to RTMP, RTSP, SRT and WebRTC clients (#2689) (#2844) 2023-12-26 13:59:53 +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
Dr. Ralf S. Engelschall
4bf0d10079 metrics: add paths_bytes_sent, srt_conns, srt_conns_bytes_received, srt_conns_bytes_sent (#2620) (#2619) (#2629)
* add missing Prometheus exports (#2620, #2619):
paths_bytes_sent, srt_conns, srt_conns_bytes_received, srt_conns_bytes_sent

* protect Stream.BytesSent()

* add tests

---------

Co-authored-by: aler9 <46489434+aler9@users.noreply.github.com>
2023-11-08 11:20:16 +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
cde19097bd api: send error messages in response body (#2518) (#2583) 2023-10-27 20:43:34 +02:00
Alessandro Ros
07ff79f553 api: return 500 instead of 404 in case of non-existing items (#2582)
This is needed to differentiate between calls to non-existent andpoints
and calls to valid endpoints, but with an ID pointing to a non-existing
item, and to return JSON in the latter case.
2023-10-27 20:23:46 +02:00
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)
Some checks reported warnings
test / test64 (push) Has been cancelled
test / test32 (push) Has been cancelled
test / test_highlevel (push) Has been cancelled
lint / code (push) Has been cancelled
lint / mod-tidy (push) Has been cancelled
lint / apidocs (push) Has been cancelled
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)
Some checks reported warnings
lint / code (push) Has been cancelled
lint / mod-tidy (push) Has been cancelled
lint / apidocs (push) Has been cancelled
test / test64 (push) Has been cancelled
test / test32 (push) Has been cancelled
test / test_highlevel (push) Has been cancelled
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)
Some checks reported warnings
lint / code (push) Has been cancelled
lint / mod-tidy (push) Has been cancelled
lint / apidocs (push) Has been cancelled
test / test64 (push) Has been cancelled
test / test32 (push) Has been cancelled
test / test_highlevel (push) Has been cancelled
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)
Some checks reported warnings
lint / code (push) Has been cancelled
lint / mod-tidy (push) Has been cancelled
lint / apidocs (push) Has been cancelled
test / test64 (push) Has been cancelled
test / test32 (push) Has been cancelled
test / test_highlevel (push) Has been cancelled
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