Schedule a premiere with the Scheduled Live plugin
Hide a stream behind a countdown cover until its start time, then reveal it automatically. A no-worker overlay plugin with per-room agendas and correct timezone handling.
Build anticipation, then reveal
The Scheduled Live plugin lets you schedule stream premieres. The source may already be publishing continuously, but viewers do not see it until the scheduled start: until then the player shows a full-cover countdown ("The live stream starts in…"), and at the start time the cover animates away and the stream is revealed.
It is a tool / player-overlay plugin with no worker — all the logic is a countdown drawn by the player, so it costs nothing on the server.
Two display modes
cover— a full countdown cover that hides (and mutes) the stream until start. Best for a true premiere.badge— a small corner countdown chip that never occludes the stream. Best when you want to tease an upcoming segment without blocking the current one.
Other display options include an accent colour and a headline.
Schedule an event
Enable the plugin, then create events in the app's agenda. Each event stores its start time as an absolute UTC instant — the browser converts the operator's chosen wall-time plus IANA timezone into that instant, so the backend does no timezone math and there is no ambiguity across regions.
curl -X PATCH $BASE/apps/live/plugins/scheduled-live \
-H "Authorization: Bearer $TOKEN" -H 'Content-Type: application/json' \
-d '{"enabled": true, "config": {"mode": "cover", "headline": "Season 2 Premiere"}}'
An event's room is optional: leave it null to apply the countdown to every room in the app, or set it to scope the premiere to one room. You can schedule multiple events per app.
How the reveal is correct
The countdown, reveal and timezone math are pure functions and unit-tested. Because the start time is an absolute instant, a viewer in Buenos Aires and a viewer in Madrid see the cover drop at exactly the same real-world moment — the timezone is kept only for displaying and re-editing the operator's original wall-time.
Where it shows up
Enabling the plugin activates the overlay and publishes the agenda on the public overlays endpoint, so anonymous /play and /embed viewers get the countdown too. That makes it ideal for a public premiere page: share the embed ahead of time, and the audience watches the timer tick down to zero before the show begins — no page reload, no manual "go live" button to fumble at the crucial moment.