Stream
Now Playing
SplashFM — Live 24/7
Nonstop house music

De techniek achter het station

SplashFM is geen traditionele omroepserver. Het is een cloud-native playout-systeem waarbij elke laag meetbaar en vervangbaar is.

đŸŽšī¸

Playout & audio

Liquidsoap beheert de queue en regelt overgangen. De output gaat door StereoTool — broadcast-grade audioprocessing op −16 LUFS, spectrale balans en clean stereo. Dezelfde toolchain die FM-zenders gebruiken.

â˜ī¸

Catalogus & state

404 WAV-tracks in Amazon S3. Metadata en afspeelstatus leven in DynamoDB. Een systemd timer op de stationhost draait elke 60 s een reconcile-script dat de Liquidsoap-queue aanvult vanuit de actieve playlist.

⚡

API Gateway + Lambda

Backoffice en dashboard praten via een HTTP API Gateway met ÊÊn Lambda-handler (Node.js ESM, 2 GB RAM). Mediabeheer, runtime-commando's, now-playing polling en JWT-autorisatie — alles in ÊÊn function.

🔐

Auth: Cognito + PKCE

Login via Amazon Cognito met een handmatige PKCE-flow — geen UI-bibliotheek, puur fetch. Het ID-token wordt als Authorization: Bearer header meegestuurd bij elke API-call.

🌐

CloudFront edge

De React backoffice en de player worden geserveerd via CloudFront vanuit S3. Een CloudFront Function herschrijft URL's naar index.html. API-calls gaan via /api/* behavior rechtstreeks naar API Gateway — geen CORS-proxy.

🔴

Live streams

Drie publieke streams via Icecast: MP3, AAC en Opus. De player detecteert automatisch het juiste formaat op basis van de browser. Apple-apparaten krijgen bij voorkeur AAC; overige browsers MP3.