Files
Media-Server-Setup/mediamtx.yml
Brandyn / Techy 3d42271ae2 Record streams into hidden .live/ and publish finished files via the sweep; plugin 0.1.2 feed wording
Jellyfin indexed in-progress fragmented recordings (no duration -> seek jumped to next episode).
MediaMTX now writes under <Title>/.live/; the sweep remuxes finished files into the title folder
and removes the source. Feed says 'New recording' since it fires after publish.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-30 22:45:30 -05:00

46 lines
1.3 KiB
YAML

# MediaMTX — ingest only. No playback endpoints exposed.
logLevel: info
rtsp: no
webrtc: no
hls: no
api: no
metrics: no
pprof: no
rtmp: yes
rtmpAddress: :1935
srt: yes
srtAddress: :8890
# ---- auth -------------------------------------------------------------
# Each streamer may publish only under their own prefix.
# RTMP key: techy/Title?user=techy&pass=CHANGEME
# SRT: srt://HOST:8890?streamid=publish:techy/Title:techy:CHANGEME
authMethod: internal
authInternalUsers:
- user: techy
pass: CHANGEME_TECHY
permissions:
- action: publish
path: ~^techy/[A-Za-z0-9_.-]+$
- user: diceofire
pass: CHANGEME_DICE
permissions:
- action: publish
path: ~^diceofire/[A-Za-z0-9_.-]+$
# ---- recording --------------------------------------------------------
pathDefaults:
record: yes
recordPath: /recordings/%path/.live/%Y-%m-%d_%H-%M-%S # hidden while recording; the sweep publishes the finished file one level up
recordFormat: fmp4
recordPartDuration: 1s
recordSegmentDuration: 12h # one file per stream unless it runs >12h
recordDeleteAfter: 0s # never auto-delete; the archive job handles it
paths:
# any name under a streamer's prefix; inherits pathDefaults
~^(techy|diceofire)/[A-Za-z0-9_.-]+$: {}