Commit Graph

87 Commits

Author SHA1 Message Date
Alessandro Ros
e1f5d06612 allow changing record parameters without disconnecting readers (#4663) (#5018) 2025-09-23 10:31:05 +02:00
Alessandro Ros
b517631b8f fix authentication failure reason not being displayed (#5007) 2025-09-22 09:48:51 +02:00
Alessandro Ros
0b901ade3e remove PathManager.StartPublisher and StopPublisher (#4766)
simplify path manager usage.
2025-07-21 13:52:55 +02:00
Alessandro Ros
1083eea307 make RTP packet size compatible with RTSP/SRTP (#4692)
when RTSP encryption is enabled, maximum RTP packet size is slightly
decreased to make room for SRTP.
2025-07-05 15:42:58 +02:00
Jeremías Robles
f9ce572691 support assigning paths to different configurations without closing stream (#4576)
Co-authored-by: aler9 <46489434+aler9@users.noreply.github.com>
2025-06-03 21:03:30 +02:00
Alessandro Ros
adf6ca9f90 delete paths that belong to a new configuration (#4013) (#4568)
when a new configuration is pushed with either API or hot reloading,
the server now checks whether existing paths belong to a new
configuration. If they do, these paths are deleted.
2025-05-27 22:02:37 +02:00
Alessandro Ros
defee1eed9 hls: fix toggling hlsAlwaysRemux after server is started (#4503)
When hlsAlwaysRemux was switched from false to true, through API or hot
reloading, muxers of existing paths were not created. This fixes the
issue.
2025-05-09 22:50:11 +02:00
Alessandro Ros
b49acb1e00 accept durations expressed as days (i.e. '1d') (#4094) 2025-01-02 12:44:15 +01:00
Alessandro Ros
73a300afd0 fix cleaning of recordings in case of multiple recordDeleteAfter values (#3557) (#3741) 2024-09-08 20:33:18 +02:00
Alessandro Ros
f4051eb63d rpi: add rpiCameraFlickerPeriod (#3463) (#3667) 2024-08-19 11:22:54 +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
Alessandro Ros
1ae3240b91 hls: fix crash when muxer is being recreated, improve performance (#3017) 2024-02-13 23:32:15 +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
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
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
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
0e5e3324a7 rpicamera: allow to change bitrate and IDR period dynamically (#2703) (#2764) 2023-11-30 21:43:19 +01:00
Alessandro Ros
43d41c070b move static sources into dedicated package (#2616) 2023-10-31 14:19:04 +01: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
3a5bb06e26 add environment variable MTX_QUERY to some hooks (#2483) (#2522) 2023-10-18 11:50:26 +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
442a48363c allow to start/stop recording without disconnecting clients (#2395) (#2434) 2023-09-28 19:39:56 +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
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
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
0137734294 webrtc, hls: show IP in logs in case of failed authentication (#2099) 2023-07-23 20:06:16 +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
ffa012ab3c make sure components are closed in a specific order (#2065)
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-07-17 00:33:34 +02:00
Alessandro Ros
f1b975707a api: return 404 in /get and /kick endpoints (#1994) (#1995)
when an entity is not found
2023-06-27 23:55:31 +02:00
Alessandro Ros
89ebc83993 update golangci-lint (#1870) 2023-05-28 17:18:16 +02:00
Alessandro Ros
65f617aa7c api: allow using paths/list when a path is being deleted (#1849)
Some checks failed
apidocs
code
mod-tidy
test32
test64
test_highlevel
2023-05-20 11:11:26 +02:00
Alessandro Ros
6cb3ff0d55 api: sort results of /list endpoints (#1828) 2023-05-18 20:17:04 +02:00
Alessandro Ros
b93eed64bc api: add /get endpoints (#1577) (#1823)
this allows to get entities by ID or name after /list endpoints were
changed in v0.23.0.
2023-05-18 15:07:47 +02:00
Alessandro Ros
9c79197f36 api: add pagination to all /list endpoints (#1808) 2023-05-16 19:48:13 +02:00
Alessandro Ros
39c072edd6 change repository owner (#1801) 2023-05-16 16:14:20 +02:00
Alessandro Ros
a14246d776 webrtc: support publishing with WHIP and reading with WHEP (#1800) 2023-05-16 15:59:37 +02:00
Alessandro Ros
1688e5d2e5 support publishing with WebRTC (#1659) (#1786) 2023-05-14 14:18:03 +02:00
Alessandro Ros
d8678cef90 unify authentication mechanisms (#1775) 2023-05-08 17:04:14 +02:00
Alessandro Ros
225220ddd5 print warning in case no key frames are being received (#1763) 2023-05-04 20:16:41 +02:00
Alessandro Ros
053f2ec282 rename repository and executable (#1641) 2023-04-01 19:52:06 +02:00
Alessandro Ros
bca3013bd0 general: add Clone() method to Conf and PathConf (#1633)
this allows to detect errors during cloning
2023-03-31 16:22:08 +02:00