Loading...
Loading...
Upload Remotion repository media assets to the Cloudflare R2 bucket behind remotion.media, switch source code to hosted URLs, verify the public objects, and remove repository-local copies.
npx skill4agent add remotion-dev/remotion offload-r2https://remotion.media/git worktree list --porcelainrefs/heads/main/Users/jonathanburger/remotionstudio-close-ups/demo.mp4--env-file=/Users/jonathanburger/remotion/packages/remotion-media/.envAWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEYparser-mediabun --env-file=/Users/jonathanburger/remotion/packages/remotion-media/.env -e "import {S3Client} from 'bun'; const filePath='<local-file>'; const key='<object-key>'; const client=new S3Client({accessKeyId:Bun.env.AWS_ACCESS_KEY_ID,secretAccessKey:Bun.env.AWS_SECRET_ACCESS_KEY,endpoint:'https://2fe488b3b0f4deee223aef7464784c46.r2.cloudflarestorage.com',bucket:'parser-media'}); const bytes=new Uint8Array(await Bun.file(filePath).arrayBuffer()); await client.write(key,bytes); const remote=await client.file(key).arrayBuffer(); if (remote.byteLength!==bytes.byteLength) throw new Error('Size mismatch'); console.log('uploaded',key,remote.byteLength);"curl -I --fail https://remotion.media/<object-key>
test "$(shasum -a 256 <local-file> | cut -d' ' -f1)" = "$(curl --fail --silent https://remotion.media/<object-key> | shasum -a 256 | cut -d' ' -f1)"staticFile()http://https://git rm -- <local-file>.gitignoretest ! -e <local-file>
rg -n '<local-filename>|staticFile\(' <affected-package>