diff --git a/Dockerfile b/Dockerfile index c26c39f..769c211 100644 --- a/Dockerfile +++ b/Dockerfile @@ -5,20 +5,25 @@ ARG BUILD_PACKAGES="\ autoconf \ automake \ build-essential \ + bzip2 \ cmake \ curl \ git \ libass-dev \ libfreetype6-dev \ libtheora-dev \ + libssl-dev \ libtool \ libva-dev \ libvdpau-dev \ libvorbis-dev \ mercurial \ + perl \ pkg-config \ + texi2html \ texinfo \ wget \ + xz-utils \ zlib1g-dev" # install build packages @@ -40,8 +45,8 @@ RUN \ wget http://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz && \ tar xzvf yasm-1.3.0.tar.gz && \ cd yasm-1.3.0 && \ - ./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin" && \ - make && \ + PATH="$HOME/bin:$PATH" ./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin" && \ + PATH="$HOME/bin:$PATH" make && \ make install # compile nasm @@ -71,7 +76,7 @@ RUN \ hg clone https://bitbucket.org/multicoreware/x265 && \ cd ~/ffmpeg_sources/x265/build/linux && \ PATH="$HOME/bin:$PATH" cmake -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX="$HOME/ffmpeg_build" -DENABLE_SHARED:bool=off ../../source && \ - make && \ + PATH="$HOME/bin:$PATH" make && \ make install # compile libfdk-aac @@ -81,36 +86,7 @@ RUN \ tar xzvf fdk-aac.tar.gz && \ cd mstorsjo-fdk-aac* && \ autoreconf -fiv && \ - ./configure --prefix="$HOME/ffmpeg_build" --disable-shared && \ - make && \ - make install - -# compile lame -RUN \ - cd ~/ffmpeg_sources && \ - wget http://downloads.sourceforge.net/project/lame/lame/3.99/lame-3.99.5.tar.gz && \ - tar xzvf lame-3.99.5.tar.gz && \ - cd lame-3.99.5 && \ - ./configure --prefix="$HOME/ffmpeg_build" --enable-nasm --disable-shared && \ - make && \ - make install - -# compile opus -RUN \ - cd ~/ffmpeg_sources && \ - wget https://archive.mozilla.org/pub/opus/opus-1.1.5.tar.gz && \ - tar xzvf opus-1.1.5.tar.gz && \ - cd opus-1.1.5 && \ - ./configure --prefix="$HOME/ffmpeg_build" --disable-shared && \ - make && \ - make install - -# compile libvpx -RUN \ - cd ~/ffmpeg_sources && \ - git clone --depth 1 https://chromium.googlesource.com/webm/libvpx.git && \ - cd libvpx && \ - PATH="$HOME/bin:$PATH" ./configure --prefix="$HOME/ffmpeg_build" --disable-examples --disable-unit-tests --enable-vp9-highbitdepth && \ + PATH="$HOME/bin:$PATH" ./configure --prefix="$HOME/ffmpeg_build" --disable-shared && \ PATH="$HOME/bin:$PATH" make && \ make install @@ -145,6 +121,66 @@ RUN \ PATH="$HOME/bin:$PATH" make && \ make install +# compile lame +RUN \ + cd ~/ffmpeg_sources && \ + wget http://downloads.sourceforge.net/project/lame/lame/3.99/lame-3.99.5.tar.gz && \ + tar xzvf lame-3.99.5.tar.gz && \ + cd lame-3.99.5 && \ + PATH="$HOME/bin:$PATH" ./configure --prefix="$HOME/ffmpeg_build" --enable-nasm --disable-shared && \ + PATH="$HOME/bin:$PATH" make && \ + make install + +# compile opus +RUN \ + cd ~/ffmpeg_sources && \ + wget https://archive.mozilla.org/pub/opus/opus-1.1.5.tar.gz && \ + tar xzvf opus-1.1.5.tar.gz && \ + cd opus-1.1.5 && \ + PATH="$HOME/bin:$PATH" ./configure --prefix="$HOME/ffmpeg_build" --disable-shared && \ + PATH="$HOME/bin:$PATH" make && \ + make install + +# compile libvpx +RUN \ + cd ~/ffmpeg_sources && \ + git clone --depth 1 https://chromium.googlesource.com/webm/libvpx.git && \ + cd libvpx && \ + PATH="$HOME/bin:$PATH" ./configure --prefix="$HOME/ffmpeg_build" --disable-examples --disable-unit-tests --enable-vp9-highbitdepth && \ + PATH="$HOME/bin:$PATH" make && \ + make install + +# compile rtmp +RUN \ + cd ~/ffmpeg_sources && \ + wget https://rtmpdump.mplayerhq.hu/download/rtmpdump-2.3.tgz && \ + tar xvf rtmpdump-2.3.tgz && \ + cd rtmpdump-2.3 && \ + sed -i "s#prefix=.*#prefix=$HOME/ffmpeg_build#" ./Makefile && \ + PATH="$HOME/bin:$PATH" make && \ + make install + +# compile soxr +RUN \ + cd ~/ffmpeg_sources && \ + wget https://sourceforge.net/projects/soxr/files/soxr-0.1.2-Source.tar.xz && \ + tar xvf soxr-0.1.2-Source.tar.xz && \ + cd soxr-0.1.2-Source && \ + PATH="$HOME/bin:$PATH" cmake -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX="$HOME/ffmpeg_build" -DBUILD_SHARED_LIBS:bool=off -DWITH_OPENMP:bool=off -DBUILD_TESTS:bool=off && \ + PATH="$HOME/bin:$PATH" make && \ + make install + +# compile vidstab +RUN \ + cd ~/ffmpeg_sources && \ + wget https://github.com/georgmartius/vid.stab/archive/release-0.98b.tar.gz && \ + tar xvf release-0.98b.tar.gz && \ + cd vid.stab-release-0.98b && \ + sed -i "s/vidstab SHARED/vidstab STATIC/" ./CMakeLists.txt && \ + PATH="$HOME/bin:$PATH" cmake -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX="$HOME/ffmpeg_build" && \ + PATH="$HOME/bin:$PATH" make && \ + make install + # compile ffmpeg RUN \ cd ~/ffmpeg_sources && \ @@ -158,18 +194,22 @@ RUN \ --extra-ldflags="-L$HOME/ffmpeg_build/lib" \ --extra-ldexeflags="-static" \ --bindir="$HOME/bin" \ + --disable-debug \ --disable-ffplay \ --enable-gpl \ --enable-libass \ + --enable-libsoxr \ --enable-libfdk-aac \ --enable-libfreetype \ --enable-libmp3lame \ --enable-libopus \ --enable-libtheora \ + --enable-librtmp \ --enable-libvorbis \ --enable-libvpx \ --enable-libx264 \ --enable-libx265 \ + --enable-libvidstab \ --enable-nonfree \ --enable-static \ --enable-vaapi && \