Alessandro Ros and GitHub
f5bbf2bd8e
docs: prevent gaps in numbering ( #6109 )
2026-08-18 09:33:32 +00:00
Alessandro Ros and GitHub
b80737c122
add destFingerprint parameter ( #6106 )
...
this allows to validate self-signed certificates of forward
destinations.
2026-08-18 09:35:37 +02:00
Alessandro Ros and GitHub
cca0f5a0cb
change default value of authHTTPExclude ( #6103 )
...
by default, do not exclude any action from HTTP authentication. Old
value triggered several security warnings.
2026-08-17 18:30:48 +02:00
Alessandro Ros and GitHub
831ed9564b
webrtc: support forwarding streams ( #6099 )
2026-08-16 21:09:59 +02:00
Alessandro Ros and GitHub
ee2ff01704
hls: unlock the session-in-query+iOS combination ( #6088 )
...
this was previously blocked because the session in query was meant to
be dynamic, therefore incompatible with static playlists required by
iOS. It is not anymore, so we can support that.
2026-08-16 10:11:33 +00:00
Alessandro Ros and GitHub
4f78c3f2d6
docs: suggest using playsinline in video tags ( #6091 )
2026-08-16 10:03:16 +00:00
Alessandro Ros and GitHub
1b943637a4
moq: support draft-16 ( #6045 )
2026-08-05 12:16:07 +02:00
Alessandro Ros and GitHub
a65bdc1c5a
moq: support draft-17 ( #6040 )
2026-08-04 23:57:27 +02:00
Alessandro Ros and GitHub
e0ed9885fc
moq: support publishing and reading through native QUIC ( #6039 )
2026-08-04 23:47:59 +02:00
98ab3009ea
support forwarding streams natively ( #5558 )
...
It is now possible to define forward destinations for each path configuration. For each destination, the server will create a client that will forward the stream to the intended destination. Supported protocols are RTSP, RTMP, SRT. API and metrics have also been improved to allow monitoring the new forwarding system.
---------
Co-authored-by: aler9 <46489434+aler9@users.noreply.github.com >
2026-08-04 21:57:15 +02:00
Alessandro Ros and GitHub
168c5900b1
docs: update ( #6022 )
2026-08-03 11:43:33 +00:00
Alessandro Ros and GitHub
83e04d8255
improve documentation ( #5985 )
2026-07-24 15:43:06 +02:00
Alessandro Ros and GitHub
519a04e490
docs: add missing MoQ ports ( #5983 )
2026-07-24 09:12:48 +02:00
Alessandro Ros and GitHub
4c5f558006
hls, webrtc: prevent cross-origin unauthorized access ( #5975 )
...
when a user had previously inserted credentials into a MediaMTX
instance through a browser, and AllowOrigins was set to a wildcard,
third-party websites visited by the user were allowed to read streams
without restrictions. This is now prevented by returning "*" in
Access-Control-Allow-Origins when AllowOrigins is a wildcard, a
behavior that prevents browsers from sharing credentials with
third-party websites.
2026-07-23 23:06:15 +02:00
Alessandro Ros and GitHub
6da35dc389
moq: support draft-19 of the specification ( #5968 )
...
* support draft-19 of the specification
* support subscribing the same track multiple times
2026-07-21 00:24:03 +02:00
Alessandro Ros and GitHub
be610a6a04
docs: add fail2ban integration ( #5016 ) ( #5967 )
2026-07-19 17:03:57 +02:00
Alessandro Ros and GitHub
0378876293
fix wrong PTS and wrong playback of alwaysAvailableFile ( #5436 ) ( #5960 )
...
PTS offset of samples was not properly considered, and sleep between
samples was PTS-based instead of being DTS-based.
2026-07-18 22:39:28 +02:00
Alessandro Ros and GitHub
fa7a89f840
rtsp: restrict UDP port range to 32768-60999 ( #5398 ) ( #5958 )
...
this is the default Linux ephemeral port range.
2026-07-18 20:59:33 +02:00
Alessandro Ros and GitHub
96aeb1e603
rename runOnReady into runOnAvailable, runOnNotReady into runOnUnavailable ( #5957 )
2026-07-18 17:58:16 +02:00
Alessandro Ros and GitHub
8909e35a17
add runOnOnline / runOnOffline hooks ( #5399 ) ( #5956 )
...
These are triggered and a stream is online (i.e. not just provided by
an offline segment).
2026-07-18 17:41:38 +02:00
Alessandro Ros and GitHub
f4decfd41b
docs: fix MoQ read URL ( #5904 )
2026-06-28 16:29:24 +02:00
Alessandro Ros and GitHub
ce00edb92f
docs: change suggested hls.js CDN ( #5903 )
2026-06-28 16:29:12 +02:00
Alessandro Ros and GitHub
28d648da37
move Content-Types to log in a map ( #5875 )
2026-06-20 09:35:55 +02:00
Alessandro Ros and GitHub
7e576d077f
rtsp: use ServerStream.ReloadDesc to propagate description changes to RTSP servers ( #5856 )
2026-06-10 23:46:02 +02:00
Alessandro Ros and GitHub
f5d7ed3138
improve anti-brute force mechanism ( #5835 )
...
delay authentication failure responses by a random amount of time, use
the same anti-brute force mechanism with all users.
2026-06-05 17:01:36 +02:00
6d1f152cc2
support using regexp groups in every part of a source URL ( #5766 ) ( #5779 )
...
Co-authored-by: aler9 <46489434+aler9@users.noreply.github.com >
2026-06-03 23:40:22 +02: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
2795962d8e
hls: support reading and publishing FLAC ( #5778 ) ( #5791 )
2026-05-21 17:00:59 +02:00
Alessandro Ros and GitHub
0edc3dbe86
rtmp: support reading and writing FLAC ( #5778 ) ( #5789 )
2026-05-21 14:50:06 +02:00
Alessandro Ros and GitHub
aaa4a5dbc6
docs: update ( #5756 )
2026-05-14 21:22:17 +02:00
Alessandro Ros and GitHub
37c3d0d627
docs: update ( #5747 )
2026-05-10 20:40:09 +02:00
bluenviron-bot and GitHub
dc979a0be8
bump Golang to 1.26 ( #5721 )
2026-04-30 16:23:45 +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
585b17375e
docs: remove the "variants" column from publish and read pages ( #5717 )
2026-04-30 13:19:50 +02:00
Alessandro Ros and GitHub
a9d4b2051e
docs: format ( #5715 )
2026-04-30 12:34:22 +02:00
Alessandro Ros and GitHub
57afd4e0f4
docs: move codecs in specific protocol pages ( #5713 )
2026-04-30 12:22:57 +02:00
eh and GitHub
fcf5eb092d
hls: support reading and writing KLV ( #5604 )
2026-04-30 12:14:00 +02:00
Alessandro Ros and GitHub
e6c20adf28
prevent code injection in case of MTX_QUERY in hooks ( #5707 )
...
When MTX_QUERY is used explicitly in hooks, for instance "curl
http://something/?$MTX_QUERY ", it can be used to inject arbitrary
commands. MTX_QUERY is now url-encoded to prevent any abuse regardless
of the configuration.
2026-04-29 22:59:40 +02:00
Alessandro Ros and GitHub
5412d71e3d
docs: fix CDN tutorial ( #5701 )
2026-04-27 11:40:06 +02:00
Alessandro Ros and GitHub
8107f7cc96
docs: update ( #5699 )
2026-04-26 20:48:23 +02:00
Alessandro Ros and GitHub
2815930529
hls: support serving streams with a CDN ( #5696 )
2026-04-26 20:24:02 +02:00
Alessandro Ros and GitHub
450fa3fa41
docs: add scaling page ( #5695 )
2026-04-26 16:33:14 +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
57671a3913
metrics: add readerType attribute to the path_readers metric ( #5690 )
...
this allows to filter path readers by type.
2026-04-25 10:12:24 +02:00
Alessandro Ros and GitHub
91aa6d9c6d
docs: remove redundant instructions ( #5688 )
2026-04-24 19:01:54 +02:00
Alessandro Ros and GitHub
4c10d7e7c8
metrics: improve tests ( #5686 )
2026-04-24 18:26:54 +02:00
Alessandro Ros and GitHub
43d649d791
docs: add missing metrics ( #5685 )
2026-04-24 17:39:34 +02:00
Alessandro Ros and GitHub
f1c919b429
docs: merge 'embed streams' and 'web browsers' pages ( #5684 )
2026-04-24 17:37:20 +02:00
Alessandro Ros and GitHub
4472bcfc4b
use "token" as query parameter key to pass tokens ( #5647 )
...
the legacy "jwt" query parameter key is still supported.
2026-04-06 17:51:59 +02:00