Commit Graph

620 Commits

Author SHA1 Message Date
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
1204f76eb7
update golangci-lint (#3300) 2024-04-28 18:20:08 +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
Rafael Scheidt
2bd8ac7e19
fix support for JWT authentication in API, metrics, playback, pprof (#3253)
Co-authored-by: Rafael Scheidt <rafaelscheidt@Rafaels-MacBook-Air.local>
Co-authored-by: aler9 <46489434+aler9@users.noreply.github.com>
2024-04-18 23:55:48 +02:00
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
c7dbb951f3
update golangci-lint (#3149) 2024-03-19 12:53:26 +01:00
Alessandro Ros
24cc62e344
hls: decrease number of idle connections kept open after a reconnection (#3128) 2024-03-10 11:51:15 +01: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
Alessandro Ros
b6db3121b5
rtsp: add random value to timestamp of tracks from other protocols (#3071) 2024-02-26 00:41:05 +01:00
Alessandro Ros
c7bdcea741
move RTSP tests into internal/servers/rtsp (#3049) 2024-02-20 19:35:35 +01:00
Alessandro Ros
34dbcfb508
move WebRTC tests into internal/servers/webrtc (#3043) 2024-02-18 22:15:08 +01:00
Alessandro Ros
a52f550ee6
webrtc: return an error when proxying stream with no tracks (#3042) 2024-02-18 21:58:11 +01:00
Alessandro Ros
9e5de737f0
move SRT tests into internal/servers/srt (#3037) 2024-02-17 20:42:41 +01:00
Alessandro Ros
ad58efe47d
move RTMP tests into internal/servers/rtmp (#3035) 2024-02-16 23:27:27 +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
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
0332ba59a0
api: add endpoints for recording management (#2901) (#2988) 2024-02-04 23:51:51 +01:00
Alessandro Ros
0f733bab26
add rpiCameraAWBGains (#2858) (#2954) 2024-01-28 21:48:21 +01:00
Alessandro Ros
6f6f8e0994
prevent multiple crashes when reloading the configuration (#2945) 2024-01-26 13:04:06 +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
514036d41a
treat different RTSP formats as different tracks in logs and API (#2907) 2024-01-15 12:08:14 +01:00
Sijmen
397c58a882
Add Argon2 credential hash support (#2888)
* Add argon2 credential hash support

* update README, tests and documentation

---------

Co-authored-by: aler9 <46489434+aler9@users.noreply.github.com>
2024-01-13 12:49:08 +01:00
dependabot[bot]
120791b415
build(deps): bump github.com/bluenviron/mediacommon from 1.7.0 to 1.7.1 (#2897)
Bumps [github.com/bluenviron/mediacommon](https://github.com/bluenviron/mediacommon) from 1.7.0 to 1.7.1.
- [Commits](https://github.com/bluenviron/mediacommon/compare/v1.7.0...v1.7.1)

---
updated-dependencies:
- dependency-name: github.com/bluenviron/mediacommon
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-13 11:28:12 +01:00
Alessandro Ros
7437ee7a09
update golangci-lint (#2868) 2024-01-03 21:13:20 +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
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
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
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