Fix video preview playback: browser-safe transcoded copies, not raw samples
silvanus930
0205fd4
Range-request streaming (previous commit) fixed the transport layer, but
the actual files still couldn't play -- confirmed two distinct root
causes directly on the real files, not guessed:
1. Reference clips arrive from the validator with the moov atom at the
end of the file (scanned the actual MP4 atoms: ftyp, free, then a
265MB mdat, then moov last) -- a browser has to fetch and parse the
tail of a huge file before playback can even begin.
2. Compressed outputs are frequently HEVC (confirmed via ffprobe) --
Chrome and Firefox cannot decode HEVC in <video> on most platforms
at all, codec-incompatible regardless of streaming support, and it
presents identically to (1): an endless spinner, no error.
New preview.py transcodes an on-demand, cached H.264 + faststart copy
(scaled to max 1280w, since this is a visual check not a quality
measurement -- the real score already covers that) for both video
endpoints, leaving the retained originals untouched for everything else…