This project prepares a minimalist Docker image with FFMPEG. It compiles FFMPEG from sources following instructions from the Compilation Guide.
You can install the latest build of this image by running docker pull jrottenberg/ffmpeg
.
This image can be used as a base for an encoding farm, based on centos7.
You can use jrottenberg/ffmpeg:ubuntu or jrottenberg/ffmpeg:3.1 or jrottenberg/ffmpeg:3 to get the latest build based on ubuntu.
Note : I've made ubuntu the default after 3.1
ie you'll find centos based image using ffmpeg:X.Y-centos
or ffmpeg:centos
to get the latest.
ffmpeg ubuntu 571384c84090 12 hours ago 289.3 MB
ffmpeg centos 4478825e57ee 8 weeks ago 341 MB
Please use Github issues to report any bug or missing feature.
ffmpeg version 3.0 Copyright (c) 2000-2016 the FFmpeg developers
built with gcc 4.8.5 (GCC) 20150623 (Red Hat 4.8.5-4)
configuration: --prefix=/usr/local --extra-cflags=-I/usr/local/include --extra-ldflags=-L/usr/local/lib --bindir=/usr/local/bin --extra-libs=-ldl --enable-version3 --enable-libfaac --enable-libmp3lame --enable-libx264 --enable-libxvid --enable-gpl --enable-postproc --enable-nonfree --enable-avresample --enable-libfdk_aac --disable-debug --enable-small --enable-openssl --enable-libtheora --enable-libx265 --enable-libopus --enable-libvorbis --enable-libvpx
libavutil 55. 17.103 / 55. 17.103
libavcodec 57. 24.102 / 57. 24.102
libavformat 57. 25.100 / 57. 25.100
libavdevice 57. 0.101 / 57. 0.101
libavfilter 6. 31.100 / 6. 31.100
libavresample 3. 0. 0 / 3. 0. 0
libswscale 4. 0.100 / 4. 0.100
libswresample 2. 0.101 / 2. 0.101
libpostproc 54. 0.100 / 54. 0.100
configuration:
--prefix=/usr/local
--extra-cflags=-I/usr/local/include
--extra-ldflags=-L/usr/local/lib
--bindir=/usr/local/bin
--extra-libs=-ldl
--enable-version3
--enable-libfaac
--enable-libmp3lame
--enable-libx264
--enable-libxvid
--enable-gpl
--enable-postproc
--enable-nonfree
--enable-avresample
--enable-libfdk_aac
--disable-debug
--enable-small
--enable-openssl
--enable-libtheora
--enable-libx265
--enable-libopus
--enable-libvorbis
--enable-libvpx
Capture output from the container to the host running the command
docker run jrottenberg/ffmpeg \
-i http://url/to/media.mp4 \
-stats \
$ffmpeg_options - > out.mp4
docker run jrottenberg/ffmpeg -stats \
-i http://archive.org/download/thethreeagesbusterkeaton/Buster.Keaton.The.Three.Ages.ogv \
-loop 0 \
-final_delay 500 -c:v gif -f gif -ss 00:49:42 -t 5 - > trow_ball.gif
docker run -it --entrypoint='bash' jrottenberg/ffmpeg
for i in yasm x264 x265 ogg opus theora vorbis vpx mp3lame faac xvid fdk ;do echo $i; find /usr/local/ -name "*$i*";done
See Dockerfile ENV
- FFMPEG_VERSION 3.1.3 http://ffmpeg.org/releases/
- YASM_VERSION 1.3.0 https://github.com/yasm/yasm/releases
- OGG_VERSION 1.3.2 https://xiph.org/downloads/
- VORBIS_VERSION 1.3.5 https://xiph.org/downloads/
- THEORA_VERSION 1.1.1 https://xiph.org/downloads/
- LAME_VERSION 3.99.5 http://lame.sourceforge.net/download.php
- OPUS_VERSION 1.1.1 https://www.opus-codec.org/downloads/
- FAAC_VERSION 1.28 http://www.audiocoding.com/downloads.html
- VPX_VERSION 1.6.0 https://github.com/webmproject/libvpx/releases
- XVID_VERSION 1.3.5 https://labs.xvid.com/source/
- FDKAAC_VERSION 0.1.4 https://github.com/mstorsjo/fdk-aac/releases
- X265_VERSION 2.0 https://bitbucket.org/multicoreware/x265/downloads
- X264_VERSION 20160826-2245-stable http://www.videolan.org/developers/x264.html