Alessandro Ros and GitHub
a56c635f8e
fix deadlock when changing configuration through file and API ( #6077 ) ( #6101 )
...
When changing configuration in parallel by editing the configuration
file and calling the API, the server could get into a deadlock that
prevented any further action. This is fixed.
2026-08-17 11:14:01 +00:00
Alessandro Ros and GitHub
b5b63d02fc
support reading and publishing with Media-over-QUIC ( #5815 )
...
Media-over-QUIC is a streaming protocol built upon cutting edge
protocols (QUIC, HTTP3) and browser APIs (WebTransport, WebCodecs).
It's slightly faster than WebRTC, has an advanced data recovery
mechanism (placed at the frame level and not at the packet level), it
supports additional codecs (FLAC) and is less complicated to route.
2026-06-02 23:04:24 +02:00
5decbb4a3d
Add user agent field to RTMP, RTSP, WebRTC, and HLS ( #5753 )
...
Surface user agent in the auth HTTP webhook payload as "userAgent"
and in the API structs for RTMP, RTSP, WebRTC and HLS connections.
---------
Co-authored-by: aler9 <46489434+aler9@users.noreply.github.com >
2026-06-02 20:29:07 +02:00
Alessandro Ros and GitHub
7ab03cdc58
webrtc: rename incoming/outgoing into inbound/outbound ( #5816 )
2026-06-02 09:15:49 +02:00
Alessandro Ros and GitHub
ddb5f7212f
hls: add hlsCDNSecret ( #5716 )
...
this allows to serve HLS streams behind a CDN in a simplified way, compatible with the new HLS session system.
2026-04-30 15:52:11 +02:00
Alessandro Ros and GitHub
66a67188fe
tests: use testing.T.TempDir rather than os.TempDir ( #5709 )
2026-04-29 22:47:47 +02:00
Alessandro Ros and GitHub
f87d9e659e
hls: track sessions ( #962 ) ( #5683 )
...
sessions are now tracked through cookies or query parameters.
This provides the ability to inspect sessions through logs, metrics and
API, allows more precise tracking of outbound bytes, decreases load on
external HTTP authentication URLs since they are now called once per
session and not once per request.
2026-04-25 21:10:34 +02:00
Alessandro Ros and GitHub
3381b196fb
solve codec labels internally ( #5603 )
...
stop using gortsplib format.Format.Codec() for getting codec names.
2026-03-21 18:22:49 +01:00
Alessandro Ros and GitHub
c8e07b55d5
api: add new stats ( #5582 )
...
- RTSPSession.outboundRTPPacketsDiscarded
- Path.inboundFramesInError
- SRTConn.outboundFramesDiscarded
- WebRTCSession.outboundFramesDiscarded
- RTMPConn.outboundFramesDiscarded
- HLSMuxer.outboundFramesDiscarded
2026-03-17 17:22:15 +01:00
Alessandro Ros and GitHub
adf45596a3
api: rename WebRTC stats to match RTSP ones ( #5581 )
2026-03-16 23:29:25 +01:00
Alessandro Ros and GitHub
dfce20fefa
api: add RTSP reported lost packets ( #5198 ) ( #5579 )
...
The new outboundRtpPacketsReportedLost property allows to track RTP
packets that have been reported lost by readers. Furthermore, stats now
have a "inbound" or "outbound" prefix to improve readability.
2026-03-16 22:10:18 +01:00
Alessandro Ros and GitHub
3bad7045c1
api: add missing enums and move all enums in dedicated components ( #5576 )
2026-03-15 22:09:00 +01:00
Alessandro Ros and GitHub
d1fd3df27c
api: add user field to RTSP, RTMP, SRT, WebRTC conns and sessions ( #5104 ) ( #5565 )
2026-03-14 00:03:58 +01:00
Alessandro Ros and GitHub
f991821a5f
webrtc: allow tuning WHEP timeouts ( #5027 ) ( #5479 )
...
add whepHandshakeTimeout, whepTrackGatherTimeout, whepSTUNGatherTimeout
2026-02-18 16:29:25 +01:00
Alessandro Ros and GitHub
832cc05f39
api: add conns to RTSP Sessions ( #5454 )
...
this allows to find connections associated with a RTSP session.
2026-02-12 15:45:34 +01:00
62effa79ef
build(deps): bump github.com/bluenviron/gortmplib from 0.1.2 to 0.2.0 ( #5300 )
...
Bumps [github.com/bluenviron/gortmplib](https://github.com/bluenviron/gortmplib ) from 0.1.2 to 0.2.0.
- [Commits](https://github.com/bluenviron/gortmplib/compare/v0.1.2...v0.2.0 )
---
updated-dependencies:
- dependency-name: github.com/bluenviron/gortmplib
dependency-version: 0.2.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-28 17:29:27 +01:00
f843df4ab8
build(deps): bump github.com/bluenviron/mediacommon/v2 ( #5297 )
...
Bumps [github.com/bluenviron/mediacommon/v2](https://github.com/bluenviron/mediacommon ) from 2.5.3 to 2.6.0.
- [Commits](https://github.com/bluenviron/mediacommon/compare/v2.5.3...v2.6.0 )
---
updated-dependencies:
- dependency-name: github.com/bluenviron/mediacommon/v2
dependency-version: 2.6.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-28 15:44:36 +01:00
Alessandro Ros and GitHub
3de05c1330
api: always reply with JSON in case of success or failure ( #5252 )
...
Reply with "status": "ok" in case of success, and with "status":
"error" in case of error. This makes the API more accessible and user
friendly.
2025-12-07 10:37:55 +01:00
Alessandro Ros and GitHub
ff187b6d8a
update golangci-lint configuration ( #5182 )
2025-11-11 23:57:52 +01:00
Alessandro Ros and GitHub
558d1c3818
api: add tunnel and profile to RTSP conns and sessions ( #4985 )
2025-09-17 22:18:21 +02:00
Alessandro Ros and GitHub
e3b8af8933
switch to gortsplib/v5 ( #4978 )
2025-09-16 13:10:34 +02:00
Alessandro Ros and GitHub
1b8897d30d
rtmp: move implementation to gortmplib ( #4968 )
2025-09-13 11:50:36 +02:00
Alessandro Ros and GitHub
9318107779
rtmp: support additional enhanced RTMP features ( #4168 ) ( #4321 ) ( #4954 )
...
* 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 and GitHub
534ea4d0c6
api: add additional WebRTC statistics ( #4795 )
...
rtpPacketsReceived, rtpPacketsSent, rtpPacketsLost, rtpPacketsJitter,
rtcpPacketsReceived, rtcpPacketsSent
2025-07-29 10:43:52 +02:00
Alessandro Ros and GitHub
d423a71aaa
update linter settings ( #4790 )
2025-07-26 16:44:32 +02:00
Alessandro Ros and GitHub
1b9dfbd367
rtmp: support connecting to sources that require standard credentials ( #4530 )
2025-05-15 14:23:03 +02:00
Alessandro Ros and GitHub
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 and GitHub
416ac1357e
bump mediacommon and gortsplib ( #4364 )
2025-03-24 17:25:18 +01:00
Alessandro Ros and GitHub
c692f3b78c
webrtc: rewrite WHIP client ( #4299 )
2025-03-01 17:01:57 +01:00
Alessandro Ros and GitHub
244da930a1
switch to mediacommon/v2 ( #4259 )
2025-02-17 14:54:58 +01:00
c6a9d81d4c
build(deps): bump github.com/bluenviron/mediacommon ( #4193 )
...
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 and GitHub
8f6267deb8
bump pion/webrtc to v4 ( #4145 )
2025-01-13 23:19:29 +01:00
Alessandro Ros and GitHub
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 and GitHub
dfb792eb90
rtsp: rename encryption, protocols, serverKey, serverCert into rtspEncryption, rtspProtocols, rtspServerKey, rtspServerCert ( #4078 )
2024-12-25 18:26:14 +01:00
Alessandro Ros and GitHub
8a808ac0f6
api: add 'session' field to RTSPConn ( #3974 ) ( #4074 )
2024-12-25 16:17:53 +01:00
Alessandro Ros and GitHub
57addb1cc2
api, metrics: add additional RTSP statistics ( #3312 ) ( #4073 )
2024-12-25 15:43:41 +01:00
cf01683168
build(deps): bump github.com/datarhei/gosrt from 0.7.0 to 0.8.0 ( #3992 )
...
* 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 and GitHub
1a6547f13b
restore pprof service ( #3848 ) ( #3851 )
2024-10-08 17:06:47 +02:00
Alessandro Ros and GitHub
6a38c87a5b
hls, webrtc: add FromStream / ToStream ( #3752 )
2024-09-09 12:59:23 +02:00
Alessandro Ros and GitHub
80a133afc9
bump dependencies ( #3457 )
2024-06-11 22:43:27 +02:00
Alessandro Ros and GitHub
1204f76eb7
update golangci-lint ( #3300 )
2024-04-28 18:20:08 +02:00
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 and GitHub
24cc62e344
hls: decrease number of idle connections kept open after a reconnection ( #3128 )
2024-03-10 11:51:15 +01:00
Alessandro Ros and GitHub
c7bdcea741
move RTSP tests into internal/servers/rtsp ( #3049 )
2024-02-20 19:35:35 +01:00
Alessandro Ros and GitHub
9e5de737f0
move SRT tests into internal/servers/srt ( #3037 )
2024-02-17 20:42:41 +01:00
Alessandro Ros and GitHub
ad58efe47d
move RTMP tests into internal/servers/rtmp ( #3035 )
2024-02-16 23:27:27 +01:00
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 and GitHub
1ae3240b91
hls: fix crash when muxer is being recreated, improve performance ( #3017 )
2024-02-13 23:32:15 +01:00
Alessandro Ros and GitHub
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 and GitHub
0332ba59a0
api: add endpoints for recording management ( #2901 ) ( #2988 )
2024-02-04 23:51:51 +01:00