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
2b302e7940
api: provide track details ( #5307 ) ( #5333 ) ( #1726 ) ( #5585 )
2026-03-18 00:01:43 +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
c6bb332664
api: add deprecated fields to the OpenAPI definition ( #5575 )
2026-03-15 19:28:06 +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
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
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
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
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
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
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
2690ef8e71
api: add /info endpoint ( #945 ) ( #5045 )
2025-09-30 10:39:27 +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
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
b59c37ad4b
remove redundant definitions ( #4793 )
2025-07-27 12:01:52 +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
f97213ae6e
support passing JWTs through the password field ( #4516 )
...
This is safer than passing JWTs through query parameters, unfortunately support is limited.
2025-05-10 22:54:24 +02:00
Alessandro Ros and GitHub
defee1eed9
hls: fix toggling hlsAlwaysRemux after server is started ( #4503 )
...
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
Alessandro Ros and GitHub
14f1daa02a
move static source handler into dedicated package ( #4427 )
2025-04-13 21:35:12 +02:00
Alessandro Ros and GitHub
371b9585a6
change error message when stream is not found ( #4301 )
...
Switch from 'no one is publishing to path' to 'no stream is available
on path' since the stream might be provided from a static source too.
2025-03-03 18:09:22 +01:00
Alessandro Ros and GitHub
386be42784
rtsp: rewrite authentication around ServerConn.VerifyCredentials ( #4267 )
2025-02-18 17:54:13 +01:00
Alessandro Ros and GitHub
8f04264fe5
webrtxc: fix MTX_QUERY not set when reading or publishing ( #4138 ) ( #3937 ) ( #4141 )
2025-01-11 17:29:48 +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
Alessandro Ros and GitHub
534b637bc7
support using JWT in Authorization header with API, Metrics, PProf ( #3630 ) ( #3795 )
2024-10-05 21:15:21 +02:00
Alessandro Ros and GitHub
65d90f7cc6
allow using MTX_QUERY inside source ( #3486 )
...
this allows to pass query parameters to sources, for instance:
source: rtsp://my_host/my_path?$MTX_QUERY
sourceOnDemand: true
2024-06-18 22:10:26 +02:00
Alessandro Ros and GitHub
dcb5b45e84
update dependencies ( #3325 )
2024-05-05 19:06:47 +02:00
Alessandro Ros and GitHub
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 and GitHub
c7bdcea741
move RTSP tests into internal/servers/rtsp ( #3049 )
2024-02-20 19:35:35 +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
0332ba59a0
api: add endpoints for recording management ( #2901 ) ( #2988 )
2024-02-04 23:51:51 +01:00
Alessandro Ros and GitHub
57c2d5aecb
add playback server ( #2452 ) ( #2906 )
...
* add playback server
* add playback switch
* update readme
2024-01-23 20:52:05 +01:00
Alessandro Ros and GitHub
514036d41a
treat different RTSP formats as different tracks in logs and API ( #2907 )
2024-01-15 12:08:14 +01:00
Alessandro Ros and GitHub
7437ee7a09
update golangci-lint ( #2868 )
2024-01-03 21:13:20 +01:00
Alessandro Ros and GitHub
598fadc9fb
api: add 'query' field to RTMP, RTSP, SRT and WebRTC clients ( #2689 ) ( #2844 )
2023-12-26 13:59:53 +01:00
Alessandro Ros and GitHub
11988249df
move servers into internal/servers ( #2792 )
2023-12-08 19:17:17 +01:00
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 and GitHub
43d41c070b
move static sources into dedicated package ( #2616 )
2023-10-31 14:19:04 +01:00