Skip to content

site: sharper 1080p hero footage with steady motion and green LEDs - #170

Merged
inxbit merged 1 commit into
mainfrom
site/sharper-hero-footage
Nov 3, 2026
Merged

inxbit merged 1 commit into
mainfrom
site/sharper-hero-footage

Conversation

@inxbit

@inxbit inxbit commented Nov 3, 2026

Copy link
Copy Markdown
Owner

What

The hero footage behind "Every host. One live table." is now a native 1080p clip instead of 720p.

Live (main) This PR
Source Higgsfield seedance-2.5 t2v, 720p same model and prompt, 1080p
docs/media/hero.mp4 1280x720, crf 29, 275,926 B 1920x1080, crf 24, H.264 High@4.1, 614,737 B (cap 1 MB)
Held frames (mpdecimate=max=1) 0 0
Largest frame step / median 1.93x 1.61x
Loop seam (last to first vs median step) 1.91 / 1.99 below median
docs/assets/hero-poster.webp 29 KB 51 KB, same 2508x1412

The social card (og:image, README banner) is re-rendered from the new poster with scripts/gen-site-social-card.sh.

Why

On a 1872 px screen the 720p clip was stretched about 1.5x, and about 2.4x on Retina screens, so it looked soft. An Apple VideoToolbox 4x super-resolution of the old clip was tested first: no visible difference at 1872@1x, 1512@2x or 390@3x, so it was dropped.

Fixes found in review

An independent review (visual, encode, docs, each finding re-checked by a skeptic) found two real problems in the raw 1080p clip. Both are fixed here:

  • Stutter: frames 78 to 94 of the generated clip held every third frame and then jumped (image shift 0 to 18.6 px per frame against about 7). They are retimed to even spacing with VideoToolbox frame interpolation between the real frames 77 to 95. Synthesized frames were checked at 1:1 for warping: none found.
  • LED colours: about 23 amber LEDs per visible frame (the approved clip had 1) plus lime, which read like the table's amber "intermittent" state. A selective hue shift (huesaturation) turns them green. Amber and lime pixels in the shown band go to 0%.

Kept on purpose: the 1 s crossfade (two LED grids overlap for 1 s each loop, the same dissolve the live clip has) and the 2508x1412 poster size the page pins.

Every step is recorded in made_by in docs/assets/hero-poster.webp.json. CONTRIBUTING.md notes the held-frame check to run on any future clip.

Verified

  • node --test tests/site_pages.test.mjs 28/28, tests/test_repository_hardening.py 75 passed, ruff clean.
  • Plays and moves in Playwright WebKit and Chromium, an on-screen system WebKit window (10.1% backdrop pixel change between captures), Chrome 150 (1920x1080, 0 dropped frames) and desktop Safari 27 (6.9 to 7.8% backdrop pixel change).
  • Poster to video fade: WebKit mean abs diff 0.908, live clip 1.010.

Context: the frozen hero in desktop Safari that started this was Safari itself. Its 5-day-old GPU process dropped every video frame on every site (getVideoPlaybackQuality total == dropped, AppleAVD decode errors). Restarting Safari fixed it. The site needed no change for that.

The hero footage was a 720p clip stretched to about 1940 px wide on a
1872 px screen (2.4x on Retina), so it looked soft. An AI upscale of that
clip made no visible difference, so this is a new Higgsfield clip
generated natively at 1080p with the same prompt.

The generated clip held every third frame between frames 78 and 94 and
then jumped to catch up (per-frame shift 0 to 18.6 px against about 7),
a stutter in every loop. Those frames are retimed to even spacing with
VideoToolbox frame interpolation between the real frames; no frame is
held now (mpdecimate drops 0, the live clip also 0) and the largest step
is 1.61x the median (live clip 1.93x).

Its many amber and lime LEDs read like the table's amber "intermittent"
state, so a hue shift turns them green like the approved clip's.

hero.mp4: 1920x1080, 4 s loop, no audio, 614,737 bytes (cap 1 MB).
The poster and the social card are re-rendered from its first frame.
The sidecar records every step in made_by.
@inxbit
inxbit force-pushed the site/sharper-hero-footage branch from b518e5f to ffbe259 Compare November 3, 2026 21:06
@inxbit
inxbit merged commit 65c39bc into main Nov 3, 2026
13 checks passed
@inxbit
inxbit deleted the site/sharper-hero-footage branch November 3, 2026 21:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant