Commit Graph

136 Commits

Author SHA1 Message Date
Alessandro Ros
95f1f79b35 api: fix crash when changing settings of an on-demand source that is idle (#3246) (#3249) 2024-04-15 17:44:54 +02:00
Alessandro Ros
1ae3240b91 hls: fix crash when muxer is being recreated, improve performance (#3017) 2024-02-13 23:32:15 +01:00
Alessandro Ros
b6eaa6bc18 move test utilities into 'test' (#3016)
* move test utilities into 'test'

* rename newEmptyTimer into emptyTimer
2024-02-13 18:49:27 +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
514036d41a treat different RTSP formats as different tracks in logs and API (#2907) 2024-01-15 12:08:14 +01:00
Alessandro Ros
7437ee7a09 update golangci-lint (#2868) 2024-01-03 21:13:20 +01:00
Alessandro Ros
1341421412 move api, metrics and pprof into dedicated packages (#2843) 2023-12-26 13:41:15 +01:00
Alessandro Ros
0c131a2e92 rpi: pass log level to libcamera (#2617) (#2811) 2023-12-15 12:10:16 +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
Alessandro Ros
11988249df move servers into internal/servers (#2792) 2023-12-08 19:17:17 +01:00
Alessandro Ros
20123fd5b9 record: rename segmentPath into path (#2777) 2023-12-02 15:35:21 +01:00
Alessandro Ros
7c8e593b0b record: normalize decoding and encoding of segment paths (#2775) 2023-12-02 15:15:17 +01:00
Alessandro Ros
ce45498769 move hooks into dedicated package (#2746) 2023-11-26 22:06:07 +01:00
Alessandro Ros
7a1e155531 update dependencies (#2687) 2023-11-13 00:09:42 +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
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
43d41c070b move static sources into dedicated package (#2616) 2023-10-31 14:19:04 +01:00
Alessandro Ros
3ebc585539 restart recordings in case of errors (#2439) (#2571) 2023-10-26 21:40:44 +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
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
442a48363c allow to start/stop recording without disconnecting clients (#2395) (#2434) 2023-09-28 19:39:56 +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
f07886db5f print the reason why a source is started or stopped (#2322)
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-09 23:37:56 +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
30a69a7722 fix maxReaders limit in case of multiple tracks (#2246) (#2264) 2023-08-30 10:58:24 +02:00
Alessandro Ros
30b7245bb9 limit logging of decode errors (#2253)
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-26 23:34:39 +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
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)
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-03 23:12:05 +02:00
Alessandro Ros
72b1d233df normalize channels and methods (#2127)
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
needed by #2068
2023-07-30 23:53:39 +02:00
Alessandro Ros
e3d4856b4f update gortsplib (#2126) 2023-07-30 23:39:24 +02:00
Alessandro Ros
db3862cf0d move stream in a dedicated package (#2121)
needed by #2068
2023-07-30 22:34:35 +02:00
Alessandro Ros
0137734294 webrtc, hls: show IP in logs in case of failed authentication (#2099) 2023-07-23 20:06:16 +02:00
Alessandro Ros
36298f8bc8 webrtc: send session ID to external auth server (#1981) (#2098) 2023-07-23 19:31:34 +02:00
Alessandro Ros
0d18076201 api: add 'readyTime' to paths (#2049) (#2082) 2023-07-19 14:06:13 +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
f79c4783c7 rename environment variable RTSP_PATH into MTX_PATH (#1967) 2023-06-21 16:08:37 +02:00
Alessandro Ros
d3354a0c99 fix 'runOnDemandRestart: yes' (#1947) 2023-06-21 13:25:26 +02:00
Alessandro Ros
128f2d3e20 print error that caused an external command to exit (#1869)
Some checks failed
apidocs
code
mod-tidy
test32
test64
test_highlevel
2023-05-27 19:28:07 +02:00