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
Alessandro Ros and GitHub
325d00dfb8
move go <-> api check in linters ( #5425 )
2026-02-06 16:12:57 +01:00
Alessandro Ros and GitHub
4f859fb40b
add authHTTPFingerprint ( #5413 ) ( #5422 )
2026-02-05 16:51:29 +01:00
Alessandro Ros and GitHub
92f9ee7b78
deprecate fallback ( #5388 )
...
The fallback feature worked with RTSP only and did not allow readers to
resume the original stream. It has been replaced by alwaysAvailable.
2026-01-31 15:29:24 +01:00
Alessandro Ros and GitHub
115dab1533
api: add available, availableTime, online, onlineTime properties ( #5391 )
...
these replace ready and readyTime and allow to monitor the new
"always-available" feature.
2026-01-31 14:54:10 +01:00
Alessandro Ros and GitHub
a56408db19
add always available streams ( #5335 )
...
When the publisher or source of a stream is offline, the server can be
configured to fill gaps in the stream with a video that is played on
repeat until a publisher comes back online. This allows readers to stay
connected regardless of the state of the stream. The offline video and
any future online stream are concatenated without decoding or
re-encoding packets, using the original codec.
2026-01-31 14:44:58 +01:00
Alessandro Ros and GitHub
69fdd18d86
docs: update ( #5308 )
2026-01-28 11:52:42 +01:00
Alessandro Ros and GitHub
8a4f2f5f3f
simplify configuration definitions ( #5376 )
2026-01-25 20:24:41 +01:00
Alessandro Ros and GitHub
46b4293e35
api: improve openapi definition ( #5380 )
...
add uint64, uint, uuid, move WebRTCICEServer into dedicated schema
2026-01-25 19:35:43 +01:00
Alessandro Ros and GitHub
e2ac32177b
prevent several configuration errors ( #5368 )
2026-01-22 19:35:44 +01:00
Alessandro Ros and GitHub
653d10fb75
use the same filtering process for every codec ( #5324 )
...
this allows to apply features that were previously implemented for
single codecs (like RTP packet resizing), to any codec, and simplifies
future development.
2026-01-16 14:03:13 +01:00
bluenviron-bot and GitHub
320bd3f4ae
bump golangci-lint to 2.8.0 ( #5350 )
2026-01-15 22:43:32 +01:00
Alessandro Ros and GitHub
9cb64d98ac
print OS and Arch in first log line ( #5315 )
2026-01-01 22:59:39 +01:00
Alessandro Ros and GitHub
b9adbc3e09
remove redundant check ( #5311 )
2026-01-01 22:47:03 +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
9e9fae9a10
add structured logging ( #5219 )
...
Co-authored-by: aler9 <46489434+aler9@users.noreply.github.com >
2025-12-27 20:42:06 +01:00
Alessandro Ros and GitHub
55f93eddde
rtsp: call rtsp.ToStream before advertising the stream ( #5288 )
2025-12-24 20:37:01 +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
a0a75dfab6
fix panic when changing log file to a nonexisting directory ( #5132 ) ( #5249 )
2025-12-06 22:51:25 +01:00
ade0cddeb3
support multiple CORS origins ( #5150 )
...
Co-authored-by: aler9 <46489434+aler9@users.noreply.github.com >
2025-11-21 02:00:46 +01:00
Alessandro Ros and GitHub
ff187b6d8a
update golangci-lint configuration ( #5182 )
2025-11-11 23:57:52 +01:00
Alessandro Ros and GitHub
1ef5db5b3c
extend udpReadBufferSize to WebRTC UDP sockets ( #5130 )
...
this allows to decrease packet losses without touching system parameters.
2025-10-29 11:45:15 +01:00
Alessandro Ros and GitHub
adc4a6ceb6
add udpReadBufferSize parameter ( #5129 )
...
this allows to set a global UDP read buffer, applied to every UDP socket.
2025-10-29 11:28:22 +01:00
Alessandro Ros and GitHub
7bca38badb
add self-upgrader ( #3501 ) ( #5035 )
...
this allows to upgrade MediaMTX to latest version by running
./mediamtx --upgrade
2025-10-13 13:06:47 +02:00
Alessandro Ros and GitHub
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 and GitHub
7634370818
add read and write timeouts in HTTP servers ( #5056 )
...
this prevents zombie connections from piling up.
2025-10-04 10:01:21 +02:00
Alessandro Ros and GitHub
2690ef8e71
api: add /info endpoint ( #945 ) ( #5045 )
2025-09-30 10:39:27 +02:00
Alessandro Ros and GitHub
ada39d22cd
on Windows, do not look for configuration in linux paths ( #5036 )
2025-09-27 13:36:04 +02:00
Alessandro Ros and GitHub
e1f5d06612
allow changing record parameters without disconnecting readers ( #4663 ) ( #5018 )
2025-09-23 10:31:05 +02:00
Alessandro Ros and GitHub
b517631b8f
fix authentication failure reason not being displayed ( #5007 )
2025-09-22 09:48:51 +02: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
462fb2bd0f
allow setting UDP read buffer size ( #3308 ) ( #4846 )
...
new parameters: rtspUDPReadBufferSize, rtpUDPReadBufferSize, mpegtsUDPReadBufferSize
2025-08-11 12:21:00 +02:00
Alessandro Ros and GitHub
2660e9629f
prevent leakages by exiting gracefully with SIGTERM ( #4352 ) ( #4845 )
2025-08-09 20:19:59 +02:00
Alessandro Ros and GitHub
cc48fdb2b8
metrics: allow filtering metrics ( #953 ) ( #4809 )
2025-08-02 13:10:57 +02:00
Alessandro Ros and GitHub
89e295eb4a
metrics: add additional WebRTC metrics ( #3304 ) ( #4797 )
...
webrtc_sessions_rtp_packets_received, webrtc_sessions_rtp_packets_sent,
webrtc_sessions_rtp_packets_lost, webrtc_sessions_rtp_packets_jitter,
webrtc_sessions_rtcp_packets_received,
webrtc_sessions_rtcp_packets_sent.
2025-07-29 11:17:12 +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
98f7a749de
metrics: add path and remoteAddr tags ( #3941 ) ( #3420 ) ( #4794 )
2025-07-27 12:07:32 +02:00
Alessandro Ros and GitHub
b5c847bad6
metrics: add paths_readers metric ( #4473 ) ( #4789 )
2025-07-26 16:51:37 +02:00
Alessandro Ros and GitHub
d423a71aaa
update linter settings ( #4790 )
2025-07-26 16:44:32 +02:00
Alessandro Ros and GitHub
0b901ade3e
remove PathManager.StartPublisher and StopPublisher ( #4766 )
...
simplify path manager usage.
2025-07-21 13:52:55 +02:00
Alessandro Ros and GitHub
9ddcbf5c97
recorder: limit maximum part size ( #4674 ) ( #4760 )
...
this prevents RAM exhaustion.
2025-07-20 19:16:33 +02:00
Alessandro Ros and GitHub
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
Alessandro Ros and GitHub
bf9cd328a9
rpi: fix RTP packet size ( #4691 )
...
UDP max payload size was not applied.
2025-07-05 15:31:28 +02:00
Alessandro Ros and GitHub
c475f84e5d
rtsp: support encrypting UDP and UDP-multicast streams ( #4690 )
2025-07-05 13:46:59 +02:00
Alessandro Ros and GitHub
81af4075f0
fix crash when ConfWatcher fails to initialize ( #4689 )
2025-07-05 10:59:57 +02:00
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