Alessandro Ros
ff187b6d8a
update golangci-lint configuration ( #5182 )
2025-11-11 23:57:52 +01:00
Alessandro Ros
0cdae40fe3
estimate absolute timestamp more precisely ( #5078 )
...
When the absolute timestamp of incoming frames was not available, it
was filled with the current timestamp, which is influenced by latency
over time.
This mechanism is replaced by an algorithm that detects when latency is
the lowest, stores the current timestamp and uses it as reference
throughout the rest of the stream.
2025-10-12 11:02:14 +02:00
Alessandro Ros
cd80814009
do not include recorder and HLS muxer in sent bytes ( #4380 ) ( #5039 )
...
code_lint / go (push) Waiting to run
code_lint / go_mod (push) Waiting to run
code_lint / docs (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_e2e (push) Waiting to run
in API (/paths/list, /paths/get) and metrics (paths_bytes_sent), the
amount of sent bytes was increased even in case of writes to the
recorder and HLS muxer, which are not generating network traffic. This
fixes the issue.
2025-09-29 09:28:04 +02:00
Alessandro Ros
f987695d9d
rtsp: log authentication failure reason ( #4641 ) ( #5017 )
2025-09-23 10:18:13 +02:00
Alessandro Ros
b517631b8f
fix authentication failure reason not being displayed ( #5007 )
2025-09-22 09:48:51 +02:00
Alessandro Ros
e3b8af8933
switch to gortsplib/v5 ( #4978 )
code_lint / go (push) Has been cancelled
code_lint / go_mod (push) Has been cancelled
code_lint / docs (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_e2e (push) Has been cancelled
2025-09-16 13:10:34 +02:00
Alessandro Ros
d423a71aaa
update linter settings ( #4790 )
2025-07-26 16:44:32 +02:00
Alessandro Ros
0b901ade3e
remove PathManager.StartPublisher and StopPublisher ( #4766 )
...
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_e2e (push) Waiting to run
simplify path manager usage.
2025-07-21 13:52:55 +02:00
Alessandro Ros
cc27cf6563
mpegts, srt: support MPEG-4 Audio LATM tracks ( #4403 ) ( #4759 )
2025-07-21 10:02:40 +02:00
dependabot[bot]
d0a97e47ff
build(deps): bump github.com/bluenviron/gohlslib/v2 from 2.2.1 to 2.2.2 ( #4763 )
...
Bumps [github.com/bluenviron/gohlslib/v2](https://github.com/bluenviron/gohlslib ) from 2.2.1 to 2.2.2.
- [Commits](https://github.com/bluenviron/gohlslib/compare/v2.2.1...v2.2.2 )
---
updated-dependencies:
- dependency-name: github.com/bluenviron/gohlslib/v2
dependency-version: 2.2.2
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>
2025-07-21 09:55:10 +02:00
Alessandro Ros
f97213ae6e
support passing JWTs through the password field ( #4516 )
...
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_e2e (push) Waiting to run
This is safer than passing JWTs through query parameters, unfortunately support is limited.
2025-05-10 22:54:24 +02:00
Alessandro Ros
f851cb6961
add missing Start() call; fix wrong sprintf ( #4369 )
2025-03-26 12:47:09 +01:00
Alessandro Ros
986e270862
count and log all discarded frames, decode errors, lost packets ( #4363 )
...
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
Discarded frames, decode errors and lost packets were logged
individually, then there was a mechanism that prevented more than 1 log
entry per second from being printed, resulting in inaccurate reports.
Now discarded frames, decode errors and lost packets are accurately
counted, and their count is printed once every second.
2025-03-25 21:59:58 +01:00
Alessandro Ros
416ac1357e
bump mediacommon and gortsplib ( #4364 )
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
2025-03-24 17:25:18 +01:00
Alessandro Ros
386be42784
rtsp: rewrite authentication around ServerConn.VerifyCredentials ( #4267 )
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
2025-02-18 17:54:13 +01:00
Alessandro Ros
244da930a1
switch to mediacommon/v2 ( #4259 )
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
2025-02-17 14:54:58 +01:00
Alessandro Ros
8f04264fe5
webrtxc: fix MTX_QUERY not set when reading or publishing ( #4138 ) ( #3937 ) ( #4141 )
2025-01-11 17:29:48 +01:00
Alessandro Ros
b49acb1e00
accept durations expressed as days (i.e. '1d') ( #4094 )
2025-01-02 12:44:15 +01:00
Alessandro Ros
534b637bc7
support using JWT in Authorization header with API, Metrics, PProf ( #3630 ) ( #3795 )
2024-10-05 21:15:21 +02:00
Alessandro Ros
4c3ac34425
fix memory leak in case of errors during initialization of a reader ( #3831 )
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
471019f606
warn users about skipped tracks when reading or publishing ( #3753 )
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-09-15 19:28:05 +02:00
Alessandro Ros
6a38c87a5b
hls, webrtc: add FromStream / ToStream ( #3752 )
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
gsmini
ab85249638
remove redundant variable declarations ( #3725 )
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-09-08 20:43:05 +02:00
Alessandro Ros
342c257df5
srt: process connection requests in parallel ( #3382 ) ( #3534 )
2024-07-05 22:17:40 +02:00
Alessandro Ros
1d4ea2cd9a
hls: fix freeze in case of muxing errors ( #3135 ) ( #3150 )
2024-03-19 14:01:14 +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
9e5de737f0
move SRT tests into internal/servers/srt ( #3037 )
2024-02-17 20:42:41 +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
b3eaec50c1
srt: support standard streamID syntax ( #2469 ) ( #2919 )
2024-01-18 23:23:51 +01:00
Alessandro Ros
dd7d7c6c5d
srt: wait some seconds before returning authentication errors ( #2918 )
...
this allows to mitigate brute force attacks and is possible thanks to
https://github.com/datarhei/gosrt/pull/43
2024-01-18 22:48:25 +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
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
4e8b8a2014
rtmp, srt: fix output of 'is reading from' log entry ( #2820 )
2023-12-18 10:38:31 +01:00
Alessandro Ros
11988249df
move servers into internal/servers ( #2792 )
2023-12-08 19:17:17 +01:00