Skip to content
This repository has been archived by the owner on Apr 10, 2022. It is now read-only.

videotools/ffmpeg-build

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NOTE : Please use https://github.com/jrottenberg/ffmpeg for now

FFmpeg Build Docker image

Docker Stars Docker pulls Travis Build Status Docker Automated build

This project prepares a development Docker image for FFmpeg. It compiles FFmpeg from sources following instructions from the Compilation Guide. All the generated libs are left in the final image to be reuse.

You can test the latest build of this image by running docker pull videotools/ffmpeg-build.

This image can be used as a base for an encoding farm.

It is on purpose very large as it contains all the lib for ffmpeg, feel free to extend and generate yours with multistage:


FROM        base AS release
MAINTAINER  Julien Rottenberg <julien@rottenberg.info>

CMD         ["--help"]
ENTRYPOINT  ["ffmpeg"]
ENV         LD_LIBRARY_PATH=/usr/local/lib

COPY --from=build /usr/local /usr/local/

# Let's make sure the app built correctly
# Convenient to verify on https://hub.docker.com/r/videotools/ffmpeg-build/builds console output

Ubuntu builds

You can use videotools/ffmpeg-build to get the latest build based on ubuntu.

How the 'recent images' was generated
    $ curl --silent https://hub.docker.com/v2/repositories/videotools/ffmpeg-build/tags/?page_size=500 | jq -cr ".results|sort_by(.name)|reverse[]|.sz=(.full_size/1048576|floor|tostring+\"mb\")|[.name,( (20-(.name|length))*\" \" ),.sz,( (8-(.sz|length))*\" \"),.last_updated[:10]]|@text|gsub(\"[,\\\"\\\]\\\[]\";null)" | grep 2018-08

Please use Github issues to report any bug or missing feature.

See what's inside the beast

docker run -it --entrypoint='bash' videotools/ffmpeg-build:VERSION

for i in ogg amr vorbis theora mp3lame opus vpx xvid fdk x264 x265;do echo $i; find /usr/local/ -name *$i*;done

Keep up to date

See Dockerfile-env to update a version

Contribute

# Add / fix stuff
${EDITOR} templates/

# Generates the Dockerfile for all variants
./update.py

# Test a specific variant
docker build -t my-build docker-images/VERSION/

# Make sure all variants pass before Travis does
find ffmpeg/ -name Dockerfile | xargs dirname | parallel --no-notice -j 4 --results logs docker build -t {} {}

Commit the templates files THEN all the generated Dockerfile for a merge request. So it's easier to review the template change.