Commit graph

106 commits

Author SHA1 Message Date
Alessandro Ros
ff187b6d8a
update golangci-lint configuration (#5182) 2025-11-11 23:57:52 +01:00
Alessandro Ros
558d1c3818
api: add tunnel and profile to RTSP conns and sessions (#4985) 2025-09-17 22:18:21 +02:00
Alessandro Ros
e3b8af8933
switch to gortsplib/v5 (#4978)
Some checks failed
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
1b8897d30d
rtmp: move implementation to gortmplib (#4968)
Some checks are pending
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
2025-09-13 11:50:36 +02:00
Alessandro Ros
9318107779
rtmp: support additional enhanced RTMP features (#4168) (#4321) (#4954)
Some checks are pending
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
* support reading AV1, VP9, H265, Opus, AC-3, G711, LPCM
* support reading multiple video or audio tracks at once
2025-09-11 23:18:46 +02:00
Alessandro Ros
534ea4d0c6
api: add additional WebRTC statistics (#4795)
rtpPacketsReceived, rtpPacketsSent, rtpPacketsLost, rtpPacketsJitter,
rtcpPacketsReceived, rtcpPacketsSent
2025-07-29 10:43:52 +02:00
Alessandro Ros
d423a71aaa
update linter settings (#4790) 2025-07-26 16:44:32 +02:00
Alessandro Ros
1b9dfbd367
rtmp: support connecting to sources that require standard credentials (#4530)
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_e2e (push) Waiting to run
2025-05-15 14:23:03 +02:00
Alessandro Ros
a85d8f1391
rtmp: fix connect command when reading (#4512)
when reading, the "connect" command should not contain fpad,
capabilities, audioCodecs, videoCodecs, videoFunction.
2025-05-10 15:26:48 +02:00
Alessandro Ros
416ac1357e
bump mediacommon and gortsplib (#4364)
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
2025-03-24 17:25:18 +01:00
Alessandro Ros
c692f3b78c
webrtc: rewrite WHIP client (#4299)
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
2025-03-01 17:01:57 +01:00
Alessandro Ros
244da930a1
switch to mediacommon/v2 (#4259)
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
2025-02-17 14:54:58 +01:00
dependabot[bot]
c6a9d81d4c
build(deps): bump github.com/bluenviron/mediacommon (#4193)
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
Bumps [github.com/bluenviron/mediacommon](https://github.com/bluenviron/mediacommon) from 1.13.4-0.20250119173005-20b296ab1174 to 1.13.4.
- [Commits](https://github.com/bluenviron/mediacommon/commits/v1.13.4)

---
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>
2025-01-24 11:04:08 +01:00
Alessandro Ros
8f6267deb8
bump pion/webrtc to v4 (#4145) 2025-01-13 23:19:29 +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
dfb792eb90
rtsp: rename encryption, protocols, serverKey, serverCert into rtspEncryption, rtspProtocols, rtspServerKey, rtspServerCert (#4078) 2024-12-25 18:26:14 +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
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
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
80a133afc9
bump dependencies (#3457) 2024-06-11 22:43:27 +02:00
Alessandro Ros
1204f76eb7
update golangci-lint (#3300) 2024-04-28 18:20:08 +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
24cc62e344
hls: decrease number of idle connections kept open after a reconnection (#3128) 2024-03-10 11:51:15 +01:00
Alessandro Ros
c7bdcea741
move RTSP tests into internal/servers/rtsp (#3049) 2024-02-20 19:35:35 +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
7b9617f2e7
api: return 404 when an entity is not found (#2582) (#2920) 2024-01-18 23:28:56 +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
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
e9528c0917
api: return empty list when page is empty (#2604) (#2614) 2023-10-30 19:53:16 +01:00
Alessandro Ros
4b4d57f18e
api: add path name to config/paths/list and config/paths/get (#2535) (#2596) 2023-10-28 15:06:06 +02:00
Alessandro Ros
bbb989ee87
api: return full configuration in config/paths/list and config/paths/get (#2535) (#2595) 2023-10-28 14:53:23 +02:00
Alessandro Ros
cde19097bd
api: send error messages in response body (#2518) (#2583) 2023-10-27 20:43:34 +02: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
99bc327d67
move protocol-related code into internal/protocols (#2572) 2023-10-26 21:46:18 +02:00
Alessandro Ros
28452acf56
move webrtc utilities into internal/webrtc (#2559) 2023-10-25 11:48:57 +02:00
Rui Lopes
9f5169ba26
webrtc: support WHIP/WHEP DELETE method (#2507) 2023-10-24 16:30:44 +02:00
Alessandro Ros
6c727b4472
rename 'all' path configuration into 'all_others' (#2443) 2023-10-09 18:13:44 +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
61b77a3ff9
api: return 400 in case of non-existent config fields (#2425) 2023-09-27 14:56:31 +02:00
Alessandro Ros
30a69a7722
fix maxReaders limit in case of multiple tracks (#2246) (#2264) 2023-08-30 10:58:24 +02:00
Alessandro Ros
cf86dbb303
switch to gortsplib/v4 (#2244) 2023-08-26 18:54:28 +02:00
Alessandro Ros
659f19f8bb
enable errcheck (#2201) 2023-08-13 16:38:23 +02:00