{"user":"videotools","name":"ffmpeg-build","namespace":"videotools","repository_type":"image","status":1,"status_description":"active","description":"This image can be used as a base for an lightweight ffmpeg image\n","is_private":false,"is_automated":true,"star_count":0,"pull_count":1318,"last_updated":"2019-02-17T15:40:19.327568Z","last_modified":"2024-10-16T13:48:34.145251Z","date_registered":"2018-11-24T01:29:46.762571Z","collaborator_count":0,"affiliation":null,"hub_user":"videotools","has_starred":false,"full_description":"FFmpeg Build Docker image\n==========================\n\n [![Docker Stars](https://img.shields.io/docker/stars/videotools/ffmpeg-build.svg?style=plastic)](https://registry.hub.docker.com/v2/repositories/videotools/ffmpeg-build/stars/count/) [![Docker pulls](https://img.shields.io/docker/pulls/videotools/ffmpeg-build.svg?style=plastic)](https://registry.hub.docker.com/v2/repositories/videotools/ffmpeg-build/)\n[![Travis](https://img.shields.io/travis/videotools/ffmpeg-build/master.svg?maxAge=300?style=plastic)](https://travis-ci.org/videotools/ffmpeg-build)\n[![Build Status](https://dev.azure.com/videotools/ffmpeg-build/_apis/build/status/jrottenberg.ffmpeg)](https://dev.azure.com/videotools/ffmpeg-build/_build/latest?definitionId=1)\n[![Docker Automated build](https://img.shields.io/docker/automated/videotools/ffmpeg-build.svg?maxAge=2592000?style=plastic)](https://github.com/videotools/ffmpeg-build/)\n\nThis project prepares a development Docker image for FFmpeg. It compiles FFmpeg from sources following instructions from the [Compilation Guide](https://trac.ffmpeg.org/wiki/CompilationGuide). All the generated libs are left in the final image to be reuse.\n\nYou can test the latest build of this image by running `docker pull videotools/ffmpeg-build`.\n\nThis image can be used as a base for an encoding farm.\n\nIt is on purpose very large as it contains all the lib for ffmpeg, feel free to extend and generate yours with multistage:\n\n```\n\nFROM        base AS release\nMAINTAINER  Julien Rottenberg \u003cjulien@rottenberg.info\u003e\n\nCMD         [\"--help\"]\nENTRYPOINT  [\"ffmpeg\"]\nENV         LD_LIBRARY_PATH=/usr/local/lib\n\nCOPY --from=build /usr/local /usr/local/\n\n# Let's make sure the app built correctly\n# Convenient to verify on https://hub.docker.com/r/videotools/ffmpeg-build/builds console output\n```\n\n\nUbuntu builds\n--------------\n\nYou can use videotools/ffmpeg-build to get the latest build based on ubuntu.\n\n\n\u003cdetails\u003e\u003csummary\u003eHow the 'recent images' was generated\u003c/summary\u003e\n\n```\n    $ 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\n```\n\n\u003c/details\u003e\n\nPlease use [Github issues](https://github.com/videotools/ffmpeg-build/issues/new) to report any bug or missing feature.\n\n\n\nSee what's inside the beast\n---------------------------\n\n```\ndocker run -it --entrypoint='bash' videotools/ffmpeg-build:VERSION\n\nfor i in ogg amr vorbis theora mp3lame opus vpx xvid fdk x264 x265;do echo $i; find /usr/local/ -name *$i*;done\n```\n\nKeep up to date\n---------------\n\nSee Dockerfile-env to update a version\n\n- [FFMPEG_VERSION](http://ffmpeg.org/releases/): [GNU Lesser General Public License (LGPL) version 2.1](https://ffmpeg.org/legal.html)\n- [OGG_VERSION](https://xiph.org/downloads/): [BSD-style license](https://git.xiph.org/?p=mirrors/ogg.git;a=blob_plain;f=COPYING;hb=HEAD)\n- [OPENCOREAMR_VERSION](https://sourceforge.net/projects/opencore-amr/files/opencore-amr/): [Apache License](https://sourceforge.net/p/opencore-amr/code/ci/master/tree/LICENSE)\n- [VORBIS_VERSION](https://xiph.org/downloads/): [BSD-style license](https://git.xiph.org/?p=mirrors/vorbis.git;a=blob_plain;f=COPYING;hb=HEAD)\n- [THEORA_VERSION](https://xiph.org/downloads/): [BSD-style license](https://git.xiph.org/?p=mirrors/theora.git;a=blob_plain;f=COPYING;hb=HEAD)\n- [LAME_VERSION](http://lame.sourceforge.net/download.php): [GNU Lesser General Public License (LGPL) version 2.1](http://lame.cvs.sourceforge.net/viewvc/lame/lame/LICENSE?revision=1.9)\n- [OPUS_VERSION](https://www.opus-codec.org/downloads/): [BSD-style license](https://www.opus-codec.org/license/)\n- [VPX_VERSION](https://github.com/webmproject/libvpx/releases): [BSD-style license](https://github.com/webmproject/libvpx/blob/master/LICENSE)\n- [XVID_VERSION](https://labs.xvid.com/source/): [GNU General Public Licence (GPL) version 2](http://websvn.xvid.org/cvs/viewvc.cgi/trunk/xvidcore/LICENSE?revision=851)\n- [FDKAAC_VERSION](https://github.com/mstorsjo/fdk-aac/releases): [Liberal but not a license of patented technologies](https://github.com/mstorsjo/fdk-aac/blob/master/NOTICE)\n- [FREETYPE_VERSION](http://download.savannah.gnu.org/releases/freetype/): [GNU General Public License (GPL) version 2](https://www.freetype.org/license.html)\n- [LIBVIDSTAB_VERSION](https://github.com/georgmartius/vid.stab/releases): [GNU General Public License (GPL) version 2](https://github.com/georgmartius/vid.stab/blob/master/LICENSE)\n- [LIBFRIDIBI_VERSION](https://www.fribidi.org/): [GNU General Public License (GPL) version 2](https://cgit.freedesktop.org/fribidi/fribidi/plain/COPYING)\n- [X264_VERSION](http://www.videolan.org/developers/x264.html): [GNU General Public License (GPL) version 2](https://git.videolan.org/?p=x264.git;a=blob_plain;f=COPYING;hb=HEAD)\n- [X265_VERSION](https://bitbucket.org/multicoreware/x265/downloads/):[GNU General Public License (GPL) version 2](https://bitbucket.org/multicoreware/x265/raw/f8ae7afc1f61ed0db3b2f23f5d581706fe6ed677/COPYING)\n\n\nContribute\n-----------\n\n\n```\n# Add / fix stuff\n${EDITOR} templates/\n\n# Generates the Dockerfile for all variants\n./update.py\n\n# Test a specific variant\ndocker build -t my-build docker-images/VERSION/\n\n# Make sure all variants pass before Travis does\nfind ffmpeg/ -name Dockerfile | xargs dirname | parallel --no-notice -j 4 --results logs docker build -t {} {}\n```\n\n\nCommit the templates files THEN all the generated Dockerfile for a merge request. So it's easier to review the template change.\n","permissions":{"read":true,"write":false,"admin":false},"media_types":["application/vnd.docker.container.image.v1+json"],"content_types":["image"],"categories":[],"immutable_tags_settings":{"enabled":false,"rules":[".*"]},"storage_size":5515907755,"source":null}