Commit graph

587 commits

Author SHA1 Message Date
Alessandro Ros
b8dd7b9e52
add RTMPS metrics (#2783) 2023-12-03 16:59:35 +01:00
Alessandro Ros
ed72fa7db1
fix crash when requesting metrics and RTMP, SRT or WebRTC servers are not present anymore (#2782) 2023-12-03 16:42:12 +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
aade2eedb9
hls, webrtc: prevent XSS attack when appending slash to paths (#2766) (#2767) (#2772) 2023-12-01 20:54:18 +01:00
Alessandro Ros
4ccb245feb
webrtc: fix propagating query parameters when appending slash to paths (#2771) 2023-12-01 20:24:00 +01:00
Alessandro Ros
50e7b038c4
hls: fix appending slash when behind a reverse proxy (#2770) 2023-12-01 20:23:04 +01:00
Alessandro Ros
0e5e3324a7
rpicamera: allow to change bitrate and IDR period dynamically (#2703) (#2764) 2023-11-30 21:43:19 +01:00
Alessandro Ros
ce45498769
move hooks into dedicated package (#2746) 2023-11-26 22:06:07 +01:00
Alessandro Ros
c3d9be322d
allow using 'fallback' with static sources (#2606) (#2706) 2023-11-16 23:37:43 +01:00
Bohdan Cherniakh
4fa6c16c85
Add query as optional block for SRT publish and read (#2656) 2023-11-16 23:32:17 +01:00
Alessandro Ros
a760a98bcc
webrtc: fix crash when reading from path 'publish' (#2688) (#2692) 2023-11-13 14:36:18 +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
Alessandro Ros
83a3086de7
webrtc: prevent pion/webrtc from writing log lines (#2681) 2023-11-12 13:46:25 +01:00
Alessandro Ros
ef19552632
fix setting 'recordDeleteAfter' to zero (#2670) (#2671) 2023-11-10 13:51:52 +01:00
Alessandro Ros
cb04d28f6e
metrics: expose state of WebRTC sessions (#2662) 2023-11-08 12:01:39 +01:00
Alessandro Ros
f82c6e3654
tests: fix race condition in TestPathRunOnDemand (#2663) 2023-11-08 11:21:08 +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
faf7218fda
webrtc: restore compatibility when running behind a proxy, in a subpath (#2638) 2023-11-03 17:36: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
d41e4025de
hls: format code (#2634) 2023-11-03 09:42:37 +01:00
Dr. Ralf S. Engelschall
39a239caba
hls: bugfix, stability and resilience improvements in the webpage
- STABILITY: await MEDIA_ATTACHED event before performing "loadSource" on HLS
- STABILITY: await MANIFEST_PARSED event before performing "play" on video element
- RESILIENCE: on "MEDIA_ERROR" event perform "recoverMediaError" on HLS
2023-11-03 09:14:01 +01:00
Alessandro Ros
15f1c73314
hls: apply readTimeout to HLS sources (#2627) 2023-11-02 12:45:46 +01:00
Lukinoh
107a9a4281
webrtc: add options (width, height, framerate, audio capture) and store parameters in URL (#1837) (#2167) (#2584) 2023-11-02 12:24:28 +01:00
Alessandro Ros
43d41c070b
move static sources into dedicated package (#2616) 2023-10-31 14:19:04 +01:00
Alessandro Ros
e9528c0917
api: return empty list when page is empty (#2604) (#2614) 2023-10-30 19:53:16 +01:00
Alessandro Ros
ecee2af05c
webrtc: fix crash in case of errors during PATCH (#2609) (#2613) 2023-10-30 19:53:03 +01:00
Alessandro Ros
4c25529369
move rpicamera into internal/protocols (#2607) 2023-10-30 11:40:55 +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
64eb90738a
webrtc: return detailed errors in responses (#2594) 2023-10-28 14:08:34 +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
99bc327d67
move protocol-related code into internal/protocols (#2572) 2023-10-26 21:46:18 +02:00
Alessandro Ros
3ebc585539
restart recordings in case of errors (#2439) (#2571) 2023-10-26 21:40:44 +02:00
Alessandro Ros
28452acf56
move webrtc utilities into internal/webrtc (#2559) 2023-10-25 11:48:57 +02:00
Rui Lopes
9f5169ba26
webrtc: support WHIP/WHEP DELETE method (#2507) 2023-10-24 16:30: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
Aakash Singh
18733294c0
webrtc: expose ice servers on OPTIONS CORS requests (#2479)
the link header was getting ignored by browser fetch as it was not exposed by Access-Control-Expose-Headers
2023-10-09 18:26:34 +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
64f4185537
webrtc: optimize publish page for mobile devices (#2066) (#2472) 2023-10-06 23:31:36 +02:00
Alessandro Ros
3b4cac5af7
webrtc: disallow publishing screen on devices that don't support it (#2066) (#2471) 2023-10-06 23:00:15 +02:00
Alessandro Ros
412a48ac74
webrtc: fix reading Opus stereo tracks with Chrome (#2043) (#2470) 2023-10-06 22:09:08 +02:00