Changeset ecbfa41 in Klonkt for src/services/VideoCoverService.js

Timestamp:
06/30/2026 05:23:54 PM (2 months ago)
Author:
roboburr <roboburr@…>
Branches:
main
Children:
1d6f9a2
Parents:
28f797d
Message:

feat(video-cover): add VideoCoverService + node-webpmux (animated WebP / video -> muted loop MP4)

Foundation for Safari-smooth animated covers. node-webpmux (pure JS/WASM, NO native deps ->
installs everywhere, never breaks npm ci) decodes an animated WebP into RGBA frames; the bundled
ffmpeg-static encodes a muted H.264 loop MP4 + JPG poster. A real uploaded video goes straight
through ffmpeg. Best-effort: returns null -> caller keeps the still image. Pipeline verified
(animated webp -> valid 240x240 H.264 mp4 + poster).

  • package.json / package-lock.json — node-webpmux 3.2.1
  • src/services/VideoCoverService.js — isAnimatedWebp / animatedWebpToVideo / videoToLoop

Co-Authored-By: Claude <noreply@…>

File:
1 added

Note: See TracChangeset for help on using the changeset viewer.