vidscroll0.3.3

Browser support

What vidscroll needs from the browser, what changes without it, and what has been tested.

Scroll-driven video itself works in every current browser. What varies is whether a slow-to-scrub video can be fixed on the spot.

What each feature needs

FeatureNeedsWithout it
Scrubbing, pinning, sectionsThe video element and CSS position: stickyAvailable in all current browsers
In-browser re-encodingWebCodecs (VideoDecoder and VideoEncoder)The original file is used; scrubbing is as smooth as the file allows
Caching the re-encoded copyCache StorageThe re-encode runs on every visit
Re-encoding and cachingA secure page: HTTPS or localhostBoth are off, so plain-HTTP pages behave like browsers without WebCodecs

A video prepared with npx vidscroll encode needs none of the optional features, which is why preparing files is the most reliable setup.

WebCodecs support

BrowserWebCodecs
Chrome, EdgeVersion 94 and later
Firefox (desktop)Version 130 and later
Firefox for AndroidNot available
Samsung InternetVersion 17 and later
Safari (macOS and iOS)Partial from 16.4, full from 26

Source: caniuse.com/webcodecs, October 2026.

What has been tested

EnvironmentStatus
Chrome on WindowsTested, including automated tests
Firefox on WindowsTested, including automated tests
WebKit (Playwright’s Windows build)Tested; it has no WebCodecs, so raw videos aren’t re-encoded
Android phone (Chromium-based browser)Tested by hand
Next.js 16 with React 19Tested: server rendering, hydration, server components
Safari on macOS, iPhone and iPadNot yet tested

Other details

  • Firefox may refuse to re-encode more than one video at the same time on a page; the others keep their originals.
  • Android browsers use forward playback when scrolling forward, which is smoother there than seeking.
  • Low Power Mode and similar settings that block video playback make vidscroll fall back to seeking for every frame.
  • Older browsers without svh units use vh for the stage height.