Commit Graph

1028 Commits

Author SHA1 Message Date
Alessandro Ros
89560c19a0
rtmp: fix parsing error caused by extended timestamps (#2393) (#2556) (#2384) (#1550) (#2564) (#2808) 2023-12-16 17:17:42 +01:00
Alessandro Ros
0c131a2e92
rpi: pass log level to libcamera (#2617) (#2811) 2023-12-15 12:10:16 +01:00
Alessandro Ros
22414bb38c
rtmp: return error in case of extended chunk stream IDs (#2806) 2023-12-14 11:38:47 +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
15e6c199b4
always use 'all_others' or 'all' after every other path configuration (#2798) 2023-12-10 19:28:02 +01:00
Alessandro Ros
11988249df
move servers into internal/servers (#2792) 2023-12-08 19:17:17 +01:00
github-actions[bot]
3891e7eb26
bump hls-js to v1.4.13 (#2791)
Co-authored-by: mediamtx-bot <bot@mediamtx>
2023-12-08 10:33:30 +01:00
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
5da2ded815
record: rename recFormat into format (#2776) 2023-12-02 15:03:37 +01:00
Neeraj Kanhere
47bd7352f0
support unix timestamp in filenames of recorded segments (#2774)
* added support for %s to use unix timestamp in filenames

* fix lint errors

* add tests

* update documentation

---------

Co-authored-by: aler9 <46489434+aler9@users.noreply.github.com>
2023-12-02 14:36:13 +01:00
Alessandro Ros
3e12f83732
hls, webrtc: fix appending slash to paths that contain slashes (#2773) 2023-12-01 21:14:45 +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
81c803ba64
webrtc: fix bad quality when converting Opus from WebRTC to LL-HLS (#2499) (#2740) 2023-11-24 22:07:33 +01:00
Alessandro Ros
dc453620fe
record: fix invalid segment duration in case of offsets between video/audio (#2477) (#2715) 2023-11-23 13:36:07 +01:00
Eng Zer Jun
f335fc67f9
test: use t.Setenv to set env vars in tests (#2722)
This commit replaces `os.Setenv` with `t.Setenv` in tests. The
environment variable is automatically restored to its original value
when the test and all its subtests complete.

Reference: https://pkg.go.dev/testing#T.Setenv

Signed-off-by: Eng Zer Jun <engzerjun@gmail.com>
2023-11-20 17:34:56 +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
3277765851
apidocs: add missing recording settings to PathConf (#2705) 2023-11-16 22:47:01 +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
2fe31a2421
record: allow using special characters in recording path (#2674) 2023-11-10 16:07:21 +01:00
Alessandro Ros
d51baa04f7
record: fix deleting segments in case of relative paths (#2526) (#2673) 2023-11-10 16:03:04 +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
1d1d64cb89
rename sourceProtocol into rtspTransport, sourceAnyPortEnable into rtspAnyPort (#2644) 2023-11-04 11:12:22 +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
Alessandro Ros
68b862c7f6
webrtc: allow using sourceFingerprint with WebRTC sources (#2618) (#2626) 2023-11-02 12:38:20 +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
a2c092ea44
formatprocessor: add fuzz tests (#2612) 2023-10-30 19:52:45 +01:00
Alessandro Ros
7fb3b749d5
rtmp: fix publishing screen with iOS StreamLabs (#2352) (#2611) 2023-10-30 11:45:05 +01:00
Alessandro Ros
4c25529369
move rpicamera into internal/protocols (#2607) 2023-10-30 11:40:55 +01:00