Commit graph

461 commits

Author SHA1 Message Date
Alessandro Ros
60cabeea92
hls: support routing absolute timestamps (#1300) (#4372)
Some checks are pending
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-27 22:18:13 +01:00
Alessandro Ros
6532a82670
update readme (#4348)
Some checks failed
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_highlevel (push) Has been cancelled
2025-03-16 15:35:47 +01:00
Alessandro Ros
b64650ca4a
record: prevent recordDeleteAfter from deleting current segment (#4331) 2025-03-16 12:24:40 +01:00
Alessandro Ros
3d16cf40b4
update badges (#4337)
Some checks failed
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_highlevel (push) Has been cancelled
2025-03-12 11:50:56 +01:00
Alessandro Ros
14ec80ae01
improve recordPath documentation (#3678) (#4302) 2025-03-03 18:10:18 +01:00
Alessandro Ros
5c6cf58d75
webrtc: fix connecting to TCP-only sources (#4293) 2025-03-01 11:07:50 +01:00
Alessandro Ros
44136b3045
api: fix crash in /recordings/list (#4040) (#4291)
Some checks are pending
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
The API crashed when

- '%path%' is not present in 'recordPath'
- 'all_others' is in 'paths'
- there's at least one recording segment

A recording segment without path is parsed as a segment with an empty
path. This path is then passed to FindPathConf(), that returns an error
in case of empty or invalid paths. This error is not checked for
performance reasons, leading to the crash.

This PR prevents empty or invalid paths from reaching FindPathConf().
2025-02-28 19:04:05 +01:00
Alessandro Ros
7ab8fbb55d
add instructions on how to expose in subfolder (#4287) 2025-02-27 19:53:55 +01:00
Alessandro Ros
b33fb487e0
fix workflow badges (#4249)
Some checks are pending
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-02-13 11:19:10 +01:00
Alessandro Ros
b88f81cb2d
add GStreamer + WHEP instructions (#4117)
Some checks are pending
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-01-07 09:17:10 +01:00
Alessandro Ros
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
d38b7e95fc
playback: allow filtering timespans by start and end date (#3637) (#3489) (#4085) 2025-01-02 12:43:18 +01:00
Alessandro Ros
dfb792eb90
rtsp: rename encryption, protocols, serverKey, serverCert into rtspEncryption, rtspProtocols, rtspServerKey, rtspServerCert (#4078) 2024-12-25 18:26:14 +01:00
Alessandro Ros
28970b323e
fix MTX_CONN_TYPE value with RTSP connections (#3967) (#4075) 2024-12-25 17:42:19 +01:00
Alessandro Ros
57addb1cc2
api, metrics: add additional RTSP statistics (#3312) (#4073) 2024-12-25 15:43:41 +01:00
Alessandro Ros
7191c85e3b
fix codecov URL (#4026)
Some checks are pending
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
2024-12-08 17:28:06 +01:00
Alessandro Ros
39f509280c
update readme (#4010)
Some checks failed
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_highlevel (push) Has been cancelled
2024-12-03 20:09:06 +01:00
Alessandro Ros
72a8b3ca8a
webrtc: support publishing and reading H265 tracks (#4003)
Some checks are pending
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
2024-12-02 23:55:54 +01:00
Alessandro Ros
71187bc430
remove redundant curly brackets (#3938)
Some checks are pending
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
2024-11-06 15:17:07 +01:00
Johnny Arcitec
426e6f89a2
improve unsafe path handling (#3927)
* fix: improve unsafe path handling

Paths containing spaces or dashes were being interpreted as separate options, since the path handling lacked double quotes.

This fixes all unsafe instances of "PWD" and "HOME", along with all other unsafe paths in the scripts.

* readme: explicitly mount the configuration as read-only

This clearly shows users that the MediaMTX container will not modify the configuration file.
2024-11-06 15:15:25 +01:00
Alessandro Ros
576a117c7c
bump Golang to 1.23 (#3702)
Some checks failed
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_highlevel (push) Has been cancelled
2024-11-04 14:02:05 +01:00
Idar Lund
51e5f9ca26
add instructions about SELinux distributions (#3673) 2024-10-07 21:08:05 +02:00
Alessandro Ros
23002d9f5f
route original timestamps without converting to durations (#3839)
This improves timestamp precision.
2024-10-07 17:59:32 +02:00
Alessandro Ros
54c0737074
add Unity instructions (#3837)
Some checks are pending
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
2024-10-06 19:04:59 +02:00
Alessandro Ros
ca4458281c
webrtc: fix connection timeout when webrtcAdditionalHosts is filled with existing IP (#3835)
Some checks are pending
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
When an IP in webrtcAdditionalHosts is already present in the candidate
list because webrtcIPsFromInterfaces is set to true (default), peer
connection fails to establish. This is fixed.
2024-10-06 14:03:11 +02:00
Alessandro Ros
534b637bc7
support using JWT in Authorization header with API, Metrics, PProf (#3630) (#3795) 2024-10-05 21:15:21 +02:00
Alessandro Ros
9f83b57f74
update readme (#3817) 2024-09-29 09:55:53 +02:00
Alessandro Ros
0462329385
fix suggested camera publish command (#3806) 2024-09-26 14:30:37 +02:00
Alessandro Ros
f9162b2303
fix README (#3794)
Some checks failed
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_highlevel (push) Has been cancelled
2024-09-22 23:32:57 +02:00
Alessandro Ros
82f2f267f3
update README about libcamera (#3781)
Some checks failed
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_highlevel (push) Has been cancelled
2024-09-15 23:52:36 +02:00
Alessandro Ros
e6653857aa
rtmp: support ingesting AV1, VP9, H265, MP3, PCM from other servers (#3751) 2024-09-09 12:26:35 +02:00
Alessandro Ros
21cfcb2e0e
update Enhanced RTMP link (#3693) 2024-08-26 13:00:01 +02:00
Alessandro Ros
0d1da6bd5b
allow to set the JWT claim key that contains permissions (#3560) (#3692) 2024-08-26 12:43:28 +02:00
Alessandro Ros
6da35c8041
playback: add "url" field to recording timespans in /list (#3619)
Some checks are pending
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
2024-08-25 23:04:36 +02:00
Alessandro Ros
6256d0b893
rpi: embed libcamera and libfreetype into the server (#2581) (#3665)
Some checks are pending
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
2024-08-18 19:12:26 +02:00
Alessandro Ros
c5059fa7a0
move RPI Camera component into dedicated repository (#3656)
Some checks failed
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_highlevel (push) Has been cancelled
2024-08-14 23:24:17 +02:00
Alessandro Ros
f9913b8a2a
simplify rpi / microphone instructions (#3650) 2024-08-13 11:43:22 +02:00
Alessandro Ros
1e7a7d1674
rpi camera: update font and link it to IBM repository (#3647)
Some checks failed
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_highlevel (push) Has been cancelled
2024-08-11 23:34:12 +02:00
Alessandro Ros
aade940296
Revert "enable runOnDemandRestart by default (#3605)" (#3609)
This reverts commit 547e56e82b.
2024-08-04 12:32:37 +02:00
Alessandro Ros
c80bb53b0f
apidocs: add missing authentication-related parameters (#3607) 2024-08-04 12:32:16 +02:00
Alessandro Ros
547e56e82b
enable runOnDemandRestart by default (#3605)
Some checks are pending
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
2024-08-03 20:51:54 +02:00
Alessandro Ros
a1dc9f45f5
webrtc: support publishing H265 tracks (#3435) (#3492)
IMPORTANT NOTE: this doesn't allow to read H265 tracks with WebRTC,
just to publish them. The inability to read H265 tracks with WebRTC is
not in any way related to the server but depends on browsers and on the
fact that they are not legally entitled to embed a H265 decoder inside
them.
2024-06-19 21:02:08 +02:00
Alessandro Ros
39ae1269ad
webrtc: support passing username and password through Bearer Token (#3248) (#3459) 2024-06-11 23:37:59 +02:00
Alessandro Ros
caa9fa6ca0
webrtc, hls: support passing JWT through Authorization header (#3248) (#3458) 2024-06-11 23:33:01 +02:00
Alessandro Ros
3eabe6ac54
expose MTX_SEGMENT_DURATION to runOnRecordSegmentComplete (#3440) (#2983) (#3456)
* improve tests

* add duration to OnSegmentComplete

* expose MTX_SEGMENT_DURATION to runOnRecordSegmentComplete

* add tests
2024-06-11 18:30:40 +02:00
Alessandro Ros
2bb7db5314
simplify Raspberry Pi build instructions (#3385) 2024-05-24 13:40:05 +02:00
Alessandro Ros
9e636308d9
bump Go to 1.22 (#3279) 2024-04-21 11:12:14 +02:00
Alessandro Ros
6513f05bb6
update README (#3278) 2024-04-21 11:11:23 +02:00
Alessandro Ros
dc3eae7f96
add whipclientsink instructions to the README (#3276) 2024-04-20 23:21:39 +02:00
Alessandro Ros
4157f490fa
playback: support serving streams in standard MP4 format (#3213)
* playback: support serving streams in standard MP4 format

* sort samples by DTS

* update readme
2024-04-14 19:29:29 +02:00