9f63302e

By: Michael Lynch <git@mtlynch.io>

Transcode uploaded videos from disk without re-spilling

An uploaded video is already streamed to a temp file before processing, but
writeFullSizeVideo passed it through the stream-based Converter, which spills
the reader to another temp file before ffmpeg runs. For a multi-gigabyte upload
that doubled the source on disk (plus a redundant copy of the WebM output).

Add convert.VideoFileToWebM, a path-to-path transcode, and have the video
upload path transcode directly to a temp WebM file and write that, skipping
mediastore.WriteConverted. The importer keeps the reader-based VideoToWebM
because its sources come from an fs.FS rather than a local path.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Codeberg
configuredevShellbackendbackend-devcheck-bashcheck-frontendcheck-go-formattingcheck-go-test-packagescheck-trailing-newlinecheck-trailing-whitespacedeploy-to-flydiagramdocker-imagee2e-testsgo-testsimport-from-tinybeanslint-sqllittle-momentslittle-moments-devx86_64-linux