Confiugrable FFmpeg in a docker container with a simple RESTful API
FFmpeg compilation made easy with additional libraries and runs inside a Docker container. A RESTful API runs alongside written in Node.js utilising express and fluent-ffmpeg.
For more information read the documentation.
❗ This project is a work in progress, it is still in the early stages of development and functions may not work as expected.
You can use the pre-built image straight away - however, this is contains pre-compiled FFmpeg as a result it does not have the following options enabled to comply with FFmpeg licensing;
--enable-nonfree--enable-libndi_newtek--enable-decklink--enable-libsrt--disable-libaom--disable-libsvtav1--enable-libklvanc--enable-libvmaf--enable-libfdk-aac
If this isn't a problem then you can get the image here;
docker pull ghcr.io/ryanmccartney/ffmpeg-docker:latest
If you want to contribute to this project or you'd like some of the above features, you'll need to build a copy of this image yourself which will compile FFmpeg locally.
- Clone the repository
git clone https://github.com/ryanmccartney/ffmpeg-docker - Change directory to the repository
cd ./ffmpeg-docker - Build the image using
docker compose build.
- Install your packages locally -
npm install --platform=linux --arch=arm64v8 sharp
This software uses libraries from the FFmpeg project under the LGPLv2.1.
This software uses code of FFmpeg licensed under the LGPLv2.1 and its source can be downloaded here