Vanguard Media
signed in as …
Watch
Everything here uses your Discord login. One sign-in covers all of it.
Recordings & clipsJellyfin — by streamer, by day/week/month
Live nowevery active stream in one page, audio follows the window you click
Sign outends the Discord session for all Vanguard sites
How watching works
- Jellyfin: each streamer is a show. This week's recordings sit under weekday seasons, older ones roll into week, month and year. Nothing moves; it is only re-labelled.
- Live: windows open as people go live and close when they stop. Click a window to hear it; the speaker button pins audio on; the slider is per window.
Contribute: stream
OBS docktitle → Go Live; Dump tonight; manual setup
Go Live from the browserWindows Chrome: share the game window, no OBS
OBS setup (once)
- OBS → Tools → WebSocket Server Settings → enable, set a password.
- OBS → Docks → Custom Browser Docks → add
…/dock/; log in with Discord inside the dock. - Dock → Settings: OBS WebSocket password (the rest is prefilled). Optional title prefix/suffix (
{date}= today). - Dock → Timecode band → Add band + clock source while not streaming (gives editors a frame-accurate timecode).
- Per stream: type a title, Go Live. The dock mints a 12-hour token and sets your stream key itself.
Rules worth knowing
- Everything streamed is recorded and visible to editors and members. Dump tonight throws a night away (3-day undo by an admin).
- Titles: letters, digits,
_ . -; no double underscore; the dock shows the final name as you type. - Browser Go Live needs Windows + Chrome/Edge 141+ for window audio and the GPU encoder; on Linux use OBS.
Contribute: your game clips
Anyone in the server. Pair your gaming PC once; after that your clips upload themselves and appear in Jellyfin under your name.
Three steps
- Install Syncthing on the PC your clips save to (Windows: Syncthing Tray works well). Open it → Actions → Show ID.
- Paste that Device ID on the clips page and press Connect.
- Back in your Syncthing: accept the new device Vanguard, then accept the folder it offers, point it at your clip directory (ShadowPlay / Medal / Steam), Folder Type Send Only.
- Only video files are pulled; your folder layout is mirrored; odd formats are converted on the server and one copy is kept per clip.
- Nothing is ever written back to your PC.
Edit
Browse & downloadcopyparty — scrub in the browser, download originals, zip folders
Upload finalsthe only folder editors can write to
Multicam & timecode
- Every stream file has a timecode track (time of day, Eastern) and a
.jsonsidecar with the exact capture time, source (strip= frame-accurate from the overscan band,arrival= coarse), drift and gaps. - Multicam: sync by timecode, cross-check with voice audio. Export at the game resolution (2560×1440 / 1920×1080) — that drops the thin band at the bottom.
- Files are H.264 MP4, constant frame rate, index up front. Streams are published a few minutes after they end.
- No WebDAV (Discord-only login). Select files/folders and use copyparty's zip/tar download.
Media admin
Code
Notes
- SSH remotes use port 2222:
ssh://git@…:2222/org/repo.git. Add your key under Settings → SSH keys. - The stack's own repo is
techy/Media-Server-Setup.
Bot
Administration
You are in admins or authentik Admins.
Authentik adminusers, groups, Discord source, policies
Jellyfin dashboardlibraries, plugin, scheduled tasks
Gitea site adminauth sources, runners
Where things live
- Server:
~/vanguard-streamon the box;STATUS.md= what runs / who does what / what's unfinished;README.md= how. - Change hostnames, bot token:
./configure.py. Plugin updates:./installJellyfinPlugin.sh. Portal:./deployLive.sh(dev box). - Streamers = Authentik group
streamers; editors =editors; everything follows Discord roles via the roles policy.