Video cover — pre-rendered filmstrip

Renders the frame at every whole second of the first ten seconds up front, so a cover is chosen by looking at ten pictures rather than by typing a number and hoping. Click a tile to select it; the second is written into the field and the full-size JPEG is encoded on commit.

Two design decisions worth copying into the product. 1 · Tiles are cheap, the cover is not. Each tile is drawn at grid size only; the 1080-wide JPEG is encoded for the one frame you select. Holding ten full-resolution canvases would cost ~80 MB for a 1080p clip. 2 · Extraction is strictly sequential. Ten concurrent seeks would thrash the decoder and, on iOS Safari, hand back transparent frames — so each frame waits for the one before it. Tiles appear as they land, which is also the honest progress indicator.