LivingKiosk · Display 06
Channel Zero
A television channel that is always already on. Turn a screen to it and you arrive in the middle of whatever is airing — the way you used to.
What this is
34 films — 5 h 26 min of them — running continuously as a simulated broadcast channel. Between programmes there is a couple of seconds of tracking static and a station ident, and then the next thing starts. There is no play button, no menu and no queue, because a channel does not have those. There is only what is on.
The point of it is the arriving. A playlist starts when you press start, which means it is about you. A broadcast is indifferent: it was running before you got here and it carries on after you leave, and the small pleasure of switching a television on is finding out what you have walked in on.
Everybody is on the same frame. What airs is a pure function of the UTC clock, the channel and the seed — there is no server deciding, no database and no session. Two screens on opposite sides of the world, switched on four hours apart, are showing the same second of the same film. Reloading the page does not restart anything; it rejoins.
Where the films come from
The Internet Archive
Everything here is from archive.org, and most of it from the Prelinger Archives — Rick Prelinger’s collection of ephemeral film: the industrial, educational, advertising and amateur pictures that nobody thought to keep. It is one of the great acts of cultural preservation and it is free to anyone. Please give them money.
Public domain only, checked one by one
This screen is public, so nothing with unclear rights goes on it. Every item was checked individually against the Archive’s own metadata and kept only if it carries an explicit public-domain marking — CC Public Domain Dedication or CC0 1.0 Universal or CC Public Domain Mark 1.0. Being in a mostly-public-domain collection is not evidence, and “probably” is not a clearance. Ambiguous items were left out.
The video streams from the Archive
One deliberate exception to this platform’s rule that displays never call a third party from your browser: the <video> element loads the MP4 from archive.org directly. Proxying multi-gigabyte film through a home server would be worse for you, worse for the server and no better for the Archive, which serves embeds by design. Everything else — the schedule, the metadata, the fonts — comes from this app.
Bundled, not searched
The library is a JSON manifest committed into the app, built by a curation script that verified each item’s licence, runtime and file URL against the live API. The display never queries the Archive for what to play — only for the film itself. Last curated 2026-07-30.
How the schedule works
Time is cut into rounds. A round plays every film on the channel exactly once, each followed by a 6.5-second junction — static, then the ident card naming what is next. Because a round is a permutation of a fixed set, every round is the same length, and that is what makes “what is on right now” a piece of arithmetic rather than a walk from the beginning of time.
Each round’s running order is a deterministic shuffle of (seed, channel, round number). Same inputs, same order, on every device, forever — but a different order next round, so the channel is not a five-hour tape loop. On all, the blocks are interleaved rather than shuffled flat: a cartoon, then a factory, then a scare film, rather than forty minutes of one and forty of another.
Any set of blocks can be a channel, not just the named ones: blocks=cartoons,ephemera is an ad-hoc channel that interleaves exactly those two and is scheduled like any other. What matters is that the set is the identity — the order you type it in, the case, and repeats make no difference, so everyone who asks for the same blocks is on the same frame. A set of one block, or of all four, is not a new channel at all: it is cartoons, or it is all, down to the second.
Everything hangs off a fixed instant in UTC. Time zones, daylight saving and the viewer’s locale are not inputs to the schedule, so they cannot pull two screens apart. The clock in the corner is local; the broadcast is not.
When a film will not play — a file 404s, a storage node stops sending — the display does not sit on a black rectangle for the remaining eleven minutes. It steps the schedule forward to the next programme, notes the failure for half an hour, and falls back into step with everyone else as soon as the wall clock overtakes the broken slot. If nothing at all can be fetched it says so, on a card, rather than going dark.
What it looks like




Configure it
Live preview · 16:9 · streaming from the Internet Archive · reloads a moment after you change somethingOpen full screen ↗
/
Plash (macOS desktop wallpaper) — add the URL and leave the reload interval at Never; the page keeps its own time.
open -a Plash --args "/"
Fully Kiosk Browser (Android tablet) — Settings → Web Content → Start URL. Leave auto-reload off; a reload only makes it re-join the same broadcast.
/
Chromium in kiosk mode (Raspberry Pi, mini PC, anything with a browser). --autoplay-policy is what lets the film start without somebody clicking it:
chromium-browser --kiosk --noerrdialogs --disable-infobars \ --autoplay-policy=no-user-gesture-required \ --disable-features=Translate --check-for-update-interval=31536000 \ "/"
Raspberry Pi, start on boot — drop that into ~/.config/lxsession/LXDE-pi/autostart after an @xset s off and @xset -dpms so the screen never blanks. A Pi 4 decodes these 640×480 h.264 files without breaking a sweat; on a Pi 3, set crt=low.
@xset s off @xset -dpms @xset s noblank @chromium-browser --kiosk --autoplay-policy=no-user-gesture-required "/"
Every parameter
| Parameter | Default | Meaning |
|---|---|---|
channel | all | all | cartoons | industrial | educational | ephemera. `all` interleaves the blocks so an hour of the channel has variety in it. A name that is not in the library falls back to `all`. |
blocks | — | An ad-hoc channel: a comma-separated set of blocks, e.g. `cartoons,ephemera`. Wins over `channel=` when it names anything valid; unknown names are dropped, and a set that comes to nothing falls back to `channel=`. Order and case do not matter and duplicates collapse — the same set is always the same broadcast. A set of one block, or of all four, is exactly the named channel it describes. |
crt | full | off | low | full — how much picture tube. `full` is curvature, scanlines, an aperture-grille tint, phosphor bloom, edge fringing and a slow roll bar. `low` keeps the vignette and a faint scanline. `off` is the film, plainly. |
bug | on | on | off — the station mark in the top corner. |
sound | off | on | off. Off by default, and even with it on the display starts muted: browsers refuse to begin audio without a gesture, so a small hint appears and waits to be clicked. A kiosk nobody touches stays silent. |
info | on | on | off — the corner status line: what is on, how long is left, what follows, and the time. |
seed | ch0 | An alternate schedule universe. Same films and same clock, different running order. Screens sharing a seed are on the same frame; screens with different seeds never are. |
t | — | Debug only: freeze the schedule at one instant, as an ISO date-time. Read as UTC unless an offset is given. Leave it out of a real kiosk URL. |
Booleans accept on/1/true/yes/show and off/0/false/no/none/hide. Anything unparseable is ignored rather than fatal — a mistyped parameter on a wall screen shows television, not a stack trace.
What is in the library
| Block | Films | What is in it |
|---|---|---|
cartoons | 12 · 1 h 36 min | The Arctic Giant · Tom and Jerry: Barnyard Bunk · Betty Boop: Minnie The Moocher · Betty Boop: Poor Cinderella (1934) · Betty Boop: Snow White · Betty Boop: Mysterious Mose (1930) · Billion Dollar Limited · Bosko The Doughboy 1931 Hugh Harman, Rudolf Ising · Jungle Drums (1943) · The Mad Scientist - Superman Fleischer Studios Cartoon | 16mm · Mechanical Monsters · Popeye: The Paneless Window Washer |
industrial | 7 · 1 h 26 min | Aluminum on the March (Part I) · Close Harmony · Communication · Manpower · Newspaper Story · Suggestion Box · Technicolor for Industrial Films |
educational | 9 · 1 h 32 min | Are You Ready for Marriage? · Beginning Responsibility: Taking Care of Things · Censorship: A Question of Judgment? · Cheating · Good Sportsmanship · Joan Avoids a Cold · Sleep for Health · Table Manners · Ways to Settle Disputes |
ephemera | 6 · 51 min | Chevrolet Leader News (Vol. 1, No. 3) · [Pan American Clipper] · The Corvair in Action · Freedom and Power (Part II) · Made In The Usa · Thrill Driver's Choice |
Films from the Internet Archive, chiefly the Prelinger Archives. Every item is in the public domain and was verified individually; the licence evidence is recorded per item in the bundled manifest and served at /api/status. Video is streamed from archive.org by your browser; everything else comes from this app. Fonts: VT323, IBM Plex Mono and Inter, SIL Open Font License 1.1, self-hosted. The ident card and the channel mark are original. Channel Zero is not affiliated with the Internet Archive.