https://github.com/acoyfellow/ffmpeg-container
Smallest Cloudflare Containers hello world proving ffmpeg runs at the edge.
https://github.com/acoyfellow/ffmpeg-container
cloudflare cloudflare-containers containers demo edge-computing ffmpeg workers
Last synced: 12 days ago
JSON representation
Smallest Cloudflare Containers hello world proving ffmpeg runs at the edge.
- Host: GitHub
- URL: https://github.com/acoyfellow/ffmpeg-container
- Owner: acoyfellow
- Created: 2026-05-15T10:26:30.000Z (2 months ago)
- Default Branch: main
- Last Pushed: 2026-05-15T13:43:05.000Z (2 months ago)
- Last Synced: 2026-05-15T15:19:48.481Z (2 months ago)
- Topics: cloudflare, cloudflare-containers, containers, demo, edge-computing, ffmpeg, workers
- Language: Shell
- Homepage: https://ffmpeg.coey.dev
- Size: 18.6 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# ffmpeg-container
[](https://deploy.workers.cloudflare.com/?url=https://github.com/acoyfellow/ffmpeg-container)
Tiny Cloudflare Containers hello world. Live reference demo:
[`ffmpeg.coey.dev`](https://ffmpeg.coey.dev).
https://ffmpeg.coey.dev/hello.mp4
A Worker forwards requests to one Container instance. The image installs `ffmpeg`.
- `/` explains the demo and prints the installed FFmpeg version.
- `/hello.mp4` runs FFmpeg on demand and streams a generated 1-second visibly
orange H.264/AAC MP4 with a gentle two-note chime.
## Deploy
Use the Deploy to Cloudflare button above, or deploy manually to your own
`*.workers.dev` URL:
```bash
npm install
npm run deploy
```
Manual local deploys require a Cloudflare Workers Paid plan, Docker running
locally, and Wrangler auth.
## Optional custom domain
The public demo uses `ffmpeg.coey.dev`, but the reusable template intentionally
leaves routes out of `wrangler.jsonc` so one-click deploys work in any account.
To attach your own hostname after deployment, add a Custom Domain in the
Cloudflare dashboard, or add this to `wrangler.jsonc` and deploy again:
```jsonc
"routes": [
{ "pattern": "ffmpeg.example.com", "custom_domain": true }
]
```