
jrottenberg/ffmpeg
Format is ffmpeg:MAJOR.MINOR-VARIANT with MAJOR.MINOR in :
and VARIANT in :
Recent images:
snapshot-vaapi 74mb snapshot-ubuntu 86mb snapshot-scratch 20mb snapshot-nvidia 640mb snapshot-centos 97mb snapshot-alpine 35mb 4.1-vaapi 73mb 4.1-ubuntu 85mb 4.1-scratch 20mb 4.1-nvidia 640mb 4.1-centos 97mb 4.1-alpine 34mb 4.0-vaapi 73mb 4.0-ubuntu 83mb 4.0-scratch 20mb 4.0-nvidia 639mb 4.0-centos 97mb 4.0-alpine 34mb 3.4-vaapi 71mb 3.4-ubuntu 83mb 3.4-scratch 18mb 3.4-nvidia 637mb 3.4-centos 97mb 3.4-alpine 32mb 3.4 83mb 3.3-vaapi 71mb 3.3-ubuntu 83mb 3.3-scratch 18mb 3.3-nvidia 637mb 3.3-centos 96mb 3.3-alpine 31mb 3.3 82mb 3.2-vaapi 83mb 3.2-ubuntu 83mb 3.2-scratch 18mb 3.2-nvidia 623mb 3.2-centos 96mb 3.2-alpine 32mb 3.1-vaapi 83mb 3.1-ubuntu 82mb 3.1-scratch 17mb 3.1-nvidia 623mb 3.1-centos 96mb 3.1-alpine 32mb 3.1 81mb 3.0-ubuntu 82mb 3.0-scratch 17mb 3.0-nvidia 623mb 3.0-centos 96mb 3.0-alpine 31mb 2.8-vaapi 82mb 2.8-ubuntu 81mb 2.8-scratch 17mb 2.8-nvidia 622mb 2.8-centos 95mb 2.8-alpine 30mb
$ curl --silent [***] | jq -cr ".results|sort_by(.name)|reverse[]|.sz=(.full_size/***|floor|tostring+\"mb\")|[.name,( (20-(.name|length))*\" \" ),.sz,( (8-(.sz|length))*\" \"),.last_updated[:10]]|@text|gsub(\"[,\\\"\\\]\\\[]\";null)" # If you want to compare the one you have locally $ docker images | grep ffmpeg | sort | awk '{print $1 ":" $2 "\t" $7 $8}'
Please use Github issues to report any bug or missing feature.
ffmpeg version 3.3.4 Copyright (c) 2000-2017 the FFmpeg developers built with gcc 5.4.0 (Ubuntu 5.4.0-6ubuntu1~16.04.4) 20160609 configuration: --disable-debug --disable-doc --disable-ffplay --enable-shared --enable-avresample --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-gpl --enable-libass --enable-libfreetype --enable-libvidstab --enable-libmp3lame --enable-libopenjpeg --enable-libopus --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx265 --enable-libxvid --enable-libx264 --enable-nonfree --enable-openssl --enable-libfdk_aac --enable-postproc --enable-small --enable-version3 --extra-cflags=-I/opt/ffmpeg/include --extra-ldflags=-L/opt/ffmpeg/lib --extra-libs=-ldl --prefix=/opt/ffmpeg libavutil 55. 58.100 / 55. 58.100 libavcodec 57. 89.100 / 57. 89.100 libavformat 57. 71.100 / 57. 71.100 libavdevice 57. 6.100 / 57. 6.100 libavfilter 6. 82.100 / 6. 82.100 libavresample 3. 5. 0 / 3. 5. 0 libswscale 4. 6.100 / 4. 6.100 libswresample 2. 7.100 / 2. 7.100 libpostproc 54. 5.100 / 54. 5.100 configuration: --disable-debug --disable-doc --disable-ffplay --enable-shared --enable-avresample --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-gpl --enable-libass --enable-libfreetype --enable-libvidstab --enable-libmp3lame --enable-libopenjpeg --enable-libopus --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx265 --enable-libxvid --enable-libx264 --enable-nonfree --enable-openssl --enable-libfdk_aac --enable-postproc --enable-small --enable-version3 --extra-cflags=-I/opt/ffmpeg/include --extra-ldflags=-L/opt/ffmpeg/lib --extra-libs=-ldl --prefix=/opt/ffmpeg
Capture output from the container to the host running the command
docker run jrottenberg/ffmpeg \ -i [***] \ -stats \ $ffmpeg_options - > out.mp4
docker run jrottenberg/ffmpeg -stats \ -i [***] \ -loop 0 \ -final_delay 500 -c:v gif -f gif -ss 00:49:42 -t 5 - > trow_ball.gif
docker run -v $(pwd):$(pwd) -w $(pwd) jrottenberg/ffmpeg:3.4-scratch \ -stats \ -i [***] \ -c:v libx265 -pix_fmt yuv420p10 \ -t 5 -f mp4 test.mp4
The image has been compiled with X265 Multilib. Use the pixel format switch to change the number of bits per pixel by suffixing it with 10 for 10bits or 12 for 12bits.
Let's assume original.gif is located in the current directory :
docker run -v $(pwd):$(pwd) -w $(pwd)\ jrottenberg/ffmpeg:3.2-scratch -stats \ -i original.gif \ original-converted.mp4
Thanks to qmfrederik for the vaapi ubuntu based variant
jrottenberg/ffmpeg:vaapi or jrottenberg/ffmpeg:${VERSION}-vaapi
docker run --device /dev/dri:/dev/dri -v $(pwd):$(pwd) -w $(pwd) jrottenberg/ffmpeg:vaapi [...]
vainfo (part of vainfo package on Ubuntu) to determine whether your graphics card has been recognized correctly.Thanks to ShaulMyplay for the nvidia based variant
Supports nvenc only on all ffmpeg versions, and hardware decoding and scaling on ffmpeg >= 4.0
Hardware encoding only example:
docker run --runtime=nvidia jrottenberg/ffmpeg:2.8-nvidia -i INPUT -c:v nvenc_h264 -preset hq OUTPUT
Full hardware acceleration example:
docker run --runtime=nvidia jrottenberg/ffmpeg:4.1-nvidia -hwaccel cuvid -c:v h264_cuvid -i INPUT -vf scale_npp=-1:720 -c:v h264_nvenc -preset slow OUTPUT
See what's inside the beast
docker run -it --entrypoint='bash' jrottenberg/ffmpeg for i in ogg amr vorbis theora mp3lame opus vpx xvid fdk x264 x265;do echo $i; find /usr/local/ -name *$i*;done
See Dockerfile-env to update a version
# 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 CI 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.





manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务