Tool Open source

Halcyon Video

Halcyon Video is a self-hosted 3D media-library interface that connects to Jellyfin or Plex and procedurally presents a collection as a walkable video-rental store. Built with Vite, TypeScript, and three.js, with an optional Tauri wrapper, it turns libraries into aisles, genres into signposted sections, duplicate quality versions into stacks behind a face copy, and low-rated titles into a Bargain Bin. Users can browse shelves, inspect front and back cover artwork, take cases to a checkout counter, and play titles through its player or MPV in a simulated living room and VCR; WebXR walk mode and a CSS-based 2.5D mode are also available.

View repository Visit site Mentioned in 2 videos ↓

Overview

Era, lighting, floor plan, and VHS-or-DVD presentation are independent settings. Branding can change the store name, colors, emblem, typeface, signs, cases, endcaps, aisle markers, shelving, checkout area, and clerk uniform; a logo.svg or transparent PNG in the user-assets folder can provide the emblem and derive house colors. The project supports Docker, browser use, dedicated-HTPC operation, remote browser playback with a TURN relay, and RomM game libraries. Its browser demo includes a synthetic catalog of roughly 2,000 titles and can use several gigabytes of memory and substantial GPU resources, while shelving personal files requires Jellyfin or Plex rather than a built-in folder scanner.

What Halcyon Video is used for

2 uses taken from transcripts — each links to the moment in the video.

  • A media library interface that rebuilds a Jellyfin or Plex collection as a walkable 1990s video rental store, with procedurally generated layouts, aisles, genres, and bargain bins.

  • A self-hosted 3D app that turns a Jellyfin media library into a walkable 1990s video rental store. Users can browse virtual aisles, inspect VHS or DVD cases, check out titles, and play them through its player or MPV, with a lighter 2.5D mode for weaker hardware.

Videos mentioning Halcyon Video

2 in the library.