# Video thumbnails — server-side ffmpeg (Option B) Video thumbnails are now generated **server-side on upload**: a lifecycle hook streams the (decrypted) blob to a temp file, `ffmpeg` extracts one representative frame, and that frame goes through the **same WebP pipeline as photos** — so video thumbnails are WebP, blob-hash keyed (dedup'd), and content-negotiated, exactly like images. This replaces the old browser path, which only generated a thumbnail when the Photos grid first rendered a video tile, the `` 404'd, and the browser **re-downloaded the video** to seek a frame and PUT 3 JPEGs back. ## What it buys 1. **Coverage incl. HEVC/iPhone.** The browser `