Media processing pulled out of the website that first needed it. ffmpeg, ImageMagick, libvips and exiftool are a real installation rather than an npm install, and encoder settings get revisited as browser support moves — neither of which belongs on the same clock as page templates and database schemas. No processing code yet. What is here is the tooling requirement, an installer, and docs/PIPELINE.md writing down what has NOT been decided — how a consumer talks to this, whether processing blocks an upload, where output goes — so those get chosen deliberately instead of by whatever gets written first. verify.sh checks by running: it encodes a video and probes the result against what ffmpeg was told to make, loads sharp under Bun specifically, and asserts a re-encode still strips GPS. That last one guards a real leak — if a future sharp changes its default, this fails a check rather than quietly publishing the coordinates of a client's living room. Confirmed non-vacuous by hiding ffmpeg and watching it exit 1. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
16 lines
152 B
Plaintext
16 lines
152 B
Plaintext
node_modules
|
|
dist
|
|
*.tgz
|
|
coverage
|
|
*.log
|
|
.cache
|
|
*.tsbuildinfo
|
|
.idea
|
|
.DS_Store
|
|
|
|
.env
|
|
.env.local
|
|
|
|
# scratch space for trying things against real files
|
|
tmp/
|