dependabot[bot]
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
Eugene Marushchenko
9e9fae9a10
add structured logging ( #5219 )
...
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
Co-authored-by: aler9 <46489434+aler9@users.noreply.github.com>
2025-12-27 20:42:06 +01:00
Alessandro Ros
55f93eddde
rtsp: call rtsp.ToStream before advertising the stream ( #5288 )
2025-12-24 20:37:01 +01:00
Alessandro Ros
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
a0a75dfab6
fix panic when changing log file to a nonexisting directory ( #5132 ) ( #5249 )
2025-12-06 22:51:25 +01:00
KHuynh
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
ff187b6d8a
update golangci-lint configuration ( #5182 )
2025-11-11 23:57:52 +01:00
Alessandro Ros
1ef5db5b3c
extend udpReadBufferSize to WebRTC UDP sockets ( #5130 )
...
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
this allows to decrease packet losses without touching system parameters.
2025-10-29 11:45:15 +01:00
Alessandro Ros
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
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
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
7634370818
add read and write timeouts in HTTP servers ( #5056 )
...
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
this prevents zombie connections from piling up.
2025-10-04 10:01:21 +02:00
Alessandro Ros
2690ef8e71
api: add /info endpoint ( #945 ) ( #5045 )
2025-09-30 10:39:27 +02:00
Alessandro Ros
ada39d22cd
on Windows, do not look for configuration in linux paths ( #5036 )
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-27 13:36:04 +02:00
Alessandro Ros
e1f5d06612
allow changing record parameters without disconnecting readers ( #4663 ) ( #5018 )
2025-09-23 10:31:05 +02:00
Alessandro Ros
b517631b8f
fix authentication failure reason not being displayed ( #5007 )
2025-09-22 09:48:51 +02: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 )
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 )
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 )
...
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
462fb2bd0f
allow setting UDP read buffer size ( #3308 ) ( #4846 )
...
new parameters: rtspUDPReadBufferSize, rtpUDPReadBufferSize, mpegtsUDPReadBufferSize
2025-08-11 12:21:00 +02:00
Alessandro Ros
2660e9629f
prevent leakages by exiting gracefully with SIGTERM ( #4352 ) ( #4845 )
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_e2e (push) Has been cancelled
2025-08-09 20:19:59 +02:00
Alessandro Ros
cc48fdb2b8
metrics: allow filtering metrics ( #953 ) ( #4809 )
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-08-02 13:10:57 +02:00
Alessandro Ros
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
534ea4d0c6
api: add additional WebRTC statistics ( #4795 )
...
rtpPacketsReceived, rtpPacketsSent, rtpPacketsLost, rtpPacketsJitter,
rtcpPacketsReceived, rtcpPacketsSent
2025-07-29 10:43:52 +02:00
Alessandro Ros
98f7a749de
metrics: add path and remoteAddr tags ( #3941 ) ( #3420 ) ( #4794 )
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-07-27 12:07:32 +02:00
Alessandro Ros
b5c847bad6
metrics: add paths_readers metric ( #4473 ) ( #4789 )
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-07-26 16:51:37 +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
9ddcbf5c97
recorder: limit maximum part size ( #4674 ) ( #4760 )
...
this prevents RAM exhaustion.
2025-07-20 19:16:33 +02:00
Alessandro Ros
1083eea307
make RTP packet size compatible with RTSP/SRTP ( #4692 )
...
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_e2e (push) Has been cancelled
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
bf9cd328a9
rpi: fix RTP packet size ( #4691 )
...
UDP max payload size was not applied.
2025-07-05 15:31:28 +02:00
Alessandro Ros
c475f84e5d
rtsp: support encrypting UDP and UDP-multicast streams ( #4690 )
2025-07-05 13:46:59 +02:00
Alessandro Ros
81af4075f0
fix crash when ConfWatcher fails to initialize ( #4689 )
2025-07-05 10:59:57 +02:00
Jeremías Robles
f9ce572691
support assigning paths to different configurations without closing stream ( #4576 )
...
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
Co-authored-by: aler9 <46489434+aler9@users.noreply.github.com>
2025-06-03 21:03:30 +02:00
Alessandro Ros
c21c969a8c
revert #4583 ( #4606 )
...
This reverts commit 500d18b6c6 .
2025-06-03 20:27:53 +02:00
Alessandro Ros
500d18b6c6
rtmp: fix timeout when publishing with GLive T80 ( #4002 ) ( #4583 )
2025-06-03 18:26:00 +02:00
Alessandro Ros
adf6ca9f90
delete paths that belong to a new configuration ( #4013 ) ( #4568 )
...
when a new configuration is pushed with either API or hot reloading,
the server now checks whether existing paths belong to a new
configuration. If they do, these paths are deleted.
2025-05-27 22:02:37 +02:00
Alessandro Ros
1b9dfbd367
rtmp: support connecting to sources that require standard credentials ( #4530 )
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
74bfb988d7
allow disabling JWT in HTTP query parameters ( #4518 )
2025-05-11 10:21:08 +02:00
Alessandro Ros
db3c2f8cae
add authJWTJWKSFingerprint ( #4409 ) ( #4514 )
2025-05-10 16:12:35 +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
defee1eed9
hls: fix toggling hlsAlwaysRemux after server is started ( #4503 )
...
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
When hlsAlwaysRemux was switched from false to true, through API or hot
reloading, muxers of existing paths were not created. This fixes the
issue.
2025-05-09 22:50:11 +02:00
Dimitri Marechal
1827e062bd
add authJWTExclude to exclude actions when using JWT ( #3431 )
...
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_e2e (push) Has been cancelled
* Added authJWTExclude to allow exclusion of actions while using the JWT authentication method
* add test
---------
Co-authored-by: aler9 <46489434+aler9@users.noreply.github.com>
2025-04-25 19:55:11 +02:00
Alessandro Ros
dd9a5caa7b
fix getting version from .git folder ( #4430 )
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_e2e (push) Has been cancelled
2025-04-14 12:31:48 +02:00
Alessandro Ros
8ce49727d6
rpi: support exposing a secondary stream from the same camera ( #4426 )
2025-04-14 11:56:08 +02:00
Alessandro Ros
14f1daa02a
move static source handler into dedicated package ( #4427 )
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-04-13 21:35:12 +02: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
65a2f63081
fix getting MediaMTX version with go-gin ( #4367 )
2025-03-25 21:41:38 +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