Commit graph

650 commits

Author SHA1 Message Date
Alessandro Ros
8f6267deb8
bump pion/webrtc to v4 (#4145) 2025-01-13 23:19:29 +01:00
Alessandro Ros
d4c29f8283
webrtc: switch to recvonly transceivers (#4059) (#4108)
Some checks are pending
code_lint / golangci_lint (push) Waiting to run
code_lint / mod_tidy (push) Waiting to run
code_lint / api_docs (push) Waiting to run
code_test / test_64 (push) Waiting to run
code_test / test_32 (push) Waiting to run
code_test / test_highlevel (push) Waiting to run
This fixes compatibility with devices that support decoding AV1 but
don't support encoding it.

This was previously impossible to achieve due to a bug that prevented
video from being displayed when recvonly transceivers were in use and
audio was not present.
2025-01-04 16:36:03 +01:00
Alessandro Ros
b49acb1e00
accept durations expressed as days (i.e. '1d') (#4094) 2025-01-02 12:44:15 +01:00
Alessandro Ros
8cbbbc05c3
rtmp: support additional Enhanced-RTMP features (#3685) (#4088)
new features:
* support publishing Opus and AC-3 tracks
* support publishing more than 2 tracks. This is compatible with OBS multitrack video and OBS VOD audio track
2025-01-02 12:44:01 +01:00
Alessandro Ros
df3362aef8
warn users if deprecated parameters are being used (#4080)
Some checks failed
code_lint / golangci_lint (push) Has been cancelled
code_lint / mod_tidy (push) Has been cancelled
code_lint / api_docs (push) Has been cancelled
code_test / test_64 (push) Has been cancelled
code_test / test_32 (push) Has been cancelled
code_test / test_highlevel (push) Has been cancelled
2024-12-25 19:28:54 +01:00
Alessandro Ros
dfb792eb90
rtsp: rename encryption, protocols, serverKey, serverCert into rtspEncryption, rtspProtocols, rtspServerKey, rtspServerCert (#4078) 2024-12-25 18:26:14 +01:00
Alessandro Ros
8cb584b514
api, metrics: fix RTC lowercase in webRTCSession and webRTCSource (#4076) 2024-12-25 17:47:24 +01:00
Alessandro Ros
28970b323e
fix MTX_CONN_TYPE value with RTSP connections (#3967) (#4075) 2024-12-25 17:42:19 +01:00
Alessandro Ros
8a808ac0f6
api: add 'session' field to RTSPConn (#3974) (#4074) 2024-12-25 16:17:53 +01:00
Alessandro Ros
57addb1cc2
api, metrics: add additional RTSP statistics (#3312) (#4073) 2024-12-25 15:43:41 +01:00
dependabot[bot]
cf01683168
build(deps): bump github.com/datarhei/gosrt from 0.7.0 to 0.8.0 (#3992)
Some checks are pending
code_lint / golangci_lint (push) Waiting to run
code_lint / mod_tidy (push) Waiting to run
code_lint / api_docs (push) Waiting to run
code_test / test_64 (push) Waiting to run
code_test / test_32 (push) Waiting to run
code_test / test_highlevel (push) Waiting to run
* build(deps): bump github.com/datarhei/gosrt from 0.7.0 to 0.8.0

Bumps [github.com/datarhei/gosrt](https://github.com/datarhei/gosrt) from 0.7.0 to 0.8.0.
- [Commits](https://github.com/datarhei/gosrt/compare/v0.7.0...v0.8.0)

---
updated-dependencies:
- dependency-name: github.com/datarhei/gosrt
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* fix tests

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: aler9 <46489434+aler9@users.noreply.github.com>
2024-12-11 00:42:16 +01:00
Alessandro Ros
6188ee1886
fix wrong -dirty prefix in version (#3869)
Some checks are pending
code_lint / golangci_lint (push) Waiting to run
code_lint / mod_tidy (push) Waiting to run
code_lint / api_docs (push) Waiting to run
code_test / test_64 (push) Waiting to run
code_test / test_32 (push) Waiting to run
code_test / test_highlevel (push) Waiting to run
2024-10-12 22:24:40 +02:00
Alessandro Ros
f231837591
warn instead of exiting when it is not possible to get version from git (#3857)
Some checks failed
code_lint / golangci_lint (push) Has been cancelled
code_lint / mod_tidy (push) Has been cancelled
code_lint / api_docs (push) Has been cancelled
code_test / test_64 (push) Has been cancelled
code_test / test_32 (push) Has been cancelled
code_test / test_highlevel (push) Has been cancelled
2024-10-09 21:57:05 +02:00
database64128
737ab9d59a
fix setting version in Arch Linux package (#3852) 2024-10-09 21:26:11 +02:00
Alessandro Ros
1a6547f13b
restore pprof service (#3848) (#3851)
Some checks are pending
code_lint / golangci_lint (push) Waiting to run
code_lint / mod_tidy (push) Waiting to run
code_lint / api_docs (push) Waiting to run
code_test / test_64 (push) Waiting to run
code_test / test_32 (push) Waiting to run
code_test / test_highlevel (push) Waiting to run
2024-10-08 17:06:47 +02:00
Alessandro Ros
c8cdb77fe0
fix version reporting with --version (#3846) (#3847)
Some checks are pending
code_lint / golangci_lint (push) Waiting to run
code_lint / mod_tidy (push) Waiting to run
code_lint / api_docs (push) Waiting to run
code_test / test_64 (push) Waiting to run
code_test / test_32 (push) Waiting to run
code_test / test_highlevel (push) Waiting to run
2024-10-08 09:41:38 +02:00
Alessandro Ros
23002d9f5f
route original timestamps without converting to durations (#3839)
This improves timestamp precision.
2024-10-07 17:59:32 +02:00
Alessandro Ros
c71694741e
show right server version when server is compiled from source (#3409)
Some checks are pending
code_lint / golangci_lint (push) Waiting to run
code_lint / mod_tidy (push) Waiting to run
code_lint / api_docs (push) Waiting to run
code_test / test_64 (push) Waiting to run
code_test / test_32 (push) Waiting to run
code_test / test_highlevel (push) Waiting to run
2024-10-05 23:10:14 +02:00
Alessandro Ros
4c3ac34425
fix memory leak in case of errors during initialization of a reader (#3831)
Some checks are pending
code_lint / golangci_lint (push) Waiting to run
code_lint / mod_tidy (push) Waiting to run
code_lint / api_docs (push) Waiting to run
code_test / test_64 (push) Waiting to run
code_test / test_32 (push) Waiting to run
code_test / test_highlevel (push) Waiting to run
2024-10-05 00:49:44 +02:00
Alessandro Ros
79bb340994
remove debug instruction (#3780) 2024-09-15 23:35:47 +02:00
Alessandro Ros
65d04c33e1
bump gortsplib (#3779) 2024-09-15 23:32:33 +02:00
Alessandro Ros
6a38c87a5b
hls, webrtc: add FromStream / ToStream (#3752)
Some checks failed
code_lint / golangci_lint (push) Has been cancelled
code_lint / mod_tidy (push) Has been cancelled
code_lint / api_docs (push) Has been cancelled
code_test / test_64 (push) Has been cancelled
code_test / test_32 (push) Has been cancelled
code_test / test_highlevel (push) Has been cancelled
2024-09-09 12:59:23 +02: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
0d1da6bd5b
allow to set the JWT claim key that contains permissions (#3560) (#3692) 2024-08-26 12:43:28 +02:00
Alessandro Ros
f4051eb63d
rpi: add rpiCameraFlickerPeriod (#3463) (#3667)
Some checks failed
code_lint / golangci_lint (push) Has been cancelled
code_lint / mod_tidy (push) Has been cancelled
code_lint / api_docs (push) Has been cancelled
code_test / test_64 (push) Has been cancelled
code_test / test_32 (push) Has been cancelled
code_test / test_highlevel (push) Has been cancelled
2024-08-19 11:22:54 +02:00
Alessandro Ros
012cc6c701
simplify tests (#3604) 2024-08-03 20:47:09 +02:00
Alessandro Ros
65d90f7cc6
allow using MTX_QUERY inside source (#3486)
this allows to pass query parameters to sources, for instance:

source: rtsp://my_host/my_path?$MTX_QUERY
sourceOnDemand: true
2024-06-18 22:10:26 +02:00
Alessandro Ros
80a133afc9
bump dependencies (#3457) 2024-06-11 22:43:27 +02:00
Alessandro Ros
3eabe6ac54
expose MTX_SEGMENT_DURATION to runOnRecordSegmentComplete (#3440) (#2983) (#3456)
* improve tests

* add duration to OnSegmentComplete

* expose MTX_SEGMENT_DURATION to runOnRecordSegmentComplete

* add tests
2024-06-11 18:30:40 +02:00
Jason Walton
1c2f95f609
webrtc: allow configuring timeouts (#3404) (#3406)
* webrtc: allow configuring timeouts (#3404)

* fix from code inspect
2024-05-30 13:36:58 +02:00
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