Hey folks! I'm having a tough time getting FFmpeg to work in a Docker container on my Mac M1. I'm not super experienced with Docker or FFmpeg, and even though I've tried several methods, I keep running into errors.
I need to convert images into videos for some local automations, and FFmpeg looks like the best bet since other options are either pricier or not as powerful. I think the main issue is that my Mac uses ARM64 architecture, while a lot of FFmpeg Docker images are built for AMD64, which is causing the issues.
I'd really appreciate any tips from anyone who has dealt with this before. Also, if you have any advice on how to do this through an API rather than using Docker directly, that would be fantastic. Thanks a bunch!
3 Answers
Check out the linuxserver/ffmpeg container on Docker Hub. It supports both ARM64 and AMD64 architectures, so just specify the target architecture when you pull it!
FFmpeg runs better with direct GPU access, but it can work on CPU—just slower.
Are your automations going to be only on your Mac, or might you run them on Linux containers elsewhere? If they’ll only run on the Mac, maybe it’s worth installing FFmpeg natively via Homebrew. If you’re fine without GPU support, there are ARM64 builds from places like linuxserver.io. You could even build your own FFmpeg image if you need specific libraries, but that’s quite a task.
If you plan to test on your M1 and then move to AMD64, you can use Docker Desktop for Mac with the `--platform` flag to build and run AMD64 images. Just keep in mind that there's some performance overhead due to emulation.
For now, I'm thinking of keeping the automation on my Mac. I might switch to a VPS later on. Truth is, I’m entirely new to this space. I’m a designer trying to dip my toes into automation. I can handle integrations, but I'm lost with FFmpeg. I attempted to set it up based on advice I got, but nothing’s clicked yet.
You can try downloading an Apple Silicon build of FFmpeg from sites like osxexperts.net. It should be easier to get working than dealing with Docker images.
I’ll check that out! I did try downloading it, but the ZIP file wouldn’t open on my end; it threw an error. I've also been looking at files on GitHub.

That sounds useful! But how exactly do I specify the target architecture when pulling the container? Any guidance would be awesome!