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