From b051a8d93064ece9fd238e0d1f2e960568fb31cb Mon Sep 17 00:00:00 2001 From: Patel Dhaval Date: Thu, 21 Feb 2019 13:56:13 -0800 Subject: [PATCH 1/2] enable av1 encoder --- VCA2/centos-7.4/ffmpeg+gst+dev/Dockerfile | 14 ++++++++++++++ VCA2/centos-7.4/ffmpeg+gst+dev/Dockerfile.m4 | 1 + VCA2/centos-7.4/ffmpeg/Dockerfile | 14 ++++++++++++++ VCA2/centos-7.4/ffmpeg/Dockerfile.m4 | 1 + VCA2/centos-7.4/gst/Dockerfile | 14 ++++++++++++++ VCA2/centos-7.4/gst/Dockerfile.m4 | 1 + VCA2/centos-7.5/ffmpeg+gst+dev/Dockerfile | 14 ++++++++++++++ VCA2/centos-7.5/ffmpeg+gst+dev/Dockerfile.m4 | 1 + VCA2/centos-7.5/ffmpeg/Dockerfile | 14 ++++++++++++++ VCA2/centos-7.5/ffmpeg/Dockerfile.m4 | 1 + VCA2/centos-7.5/gst/Dockerfile | 14 ++++++++++++++ VCA2/centos-7.5/gst/Dockerfile.m4 | 1 + VCA2/centos-7.6/ffmpeg+gst+dev/Dockerfile | 14 ++++++++++++++ VCA2/centos-7.6/ffmpeg+gst+dev/Dockerfile.m4 | 1 + VCA2/centos-7.6/ffmpeg/Dockerfile | 14 ++++++++++++++ VCA2/centos-7.6/ffmpeg/Dockerfile.m4 | 1 + VCA2/centos-7.6/gst/Dockerfile | 14 ++++++++++++++ VCA2/centos-7.6/gst/Dockerfile.m4 | 1 + VCA2/ubuntu-16.04/ffmpeg+gst+dev/Dockerfile | 14 ++++++++++++++ VCA2/ubuntu-16.04/ffmpeg+gst+dev/Dockerfile.m4 | 1 + VCA2/ubuntu-16.04/ffmpeg/Dockerfile | 14 ++++++++++++++ VCA2/ubuntu-16.04/ffmpeg/Dockerfile.m4 | 1 + VCA2/ubuntu-16.04/gst/Dockerfile | 14 ++++++++++++++ VCA2/ubuntu-16.04/gst/Dockerfile.m4 | 1 + VCA2/ubuntu-18.04/ffmpeg+gst+dev/Dockerfile | 14 ++++++++++++++ VCA2/ubuntu-18.04/ffmpeg+gst+dev/Dockerfile.m4 | 1 + VCA2/ubuntu-18.04/ffmpeg/Dockerfile | 14 ++++++++++++++ VCA2/ubuntu-18.04/ffmpeg/Dockerfile.m4 | 1 + VCA2/ubuntu-18.04/gst/Dockerfile | 14 ++++++++++++++ VCA2/ubuntu-18.04/gst/Dockerfile.m4 | 1 + Xeon/centos-7.4/dldt+ffmpeg/Dockerfile | 14 ++++++++++++++ Xeon/centos-7.4/dldt+ffmpeg/Dockerfile.m4 | 1 + Xeon/centos-7.4/dldt+gst/Dockerfile | 14 ++++++++++++++ Xeon/centos-7.4/dldt+gst/Dockerfile.m4 | 1 + Xeon/centos-7.4/ffmpeg+gst+dev/Dockerfile | 14 ++++++++++++++ Xeon/centos-7.4/ffmpeg+gst+dev/Dockerfile.m4 | 1 + Xeon/centos-7.4/ffmpeg/Dockerfile | 14 ++++++++++++++ Xeon/centos-7.4/ffmpeg/Dockerfile.m4 | 1 + Xeon/centos-7.4/gst/Dockerfile | 14 ++++++++++++++ Xeon/centos-7.4/gst/Dockerfile.m4 | 1 + Xeon/centos-7.5/dldt+ffmpeg/Dockerfile | 14 ++++++++++++++ Xeon/centos-7.5/dldt+ffmpeg/Dockerfile.m4 | 1 + Xeon/centos-7.5/dldt+gst/Dockerfile | 14 ++++++++++++++ Xeon/centos-7.5/dldt+gst/Dockerfile.m4 | 1 + Xeon/centos-7.5/ffmpeg+gst+dev/Dockerfile | 14 ++++++++++++++ Xeon/centos-7.5/ffmpeg+gst+dev/Dockerfile.m4 | 1 + Xeon/centos-7.5/ffmpeg/Dockerfile | 14 ++++++++++++++ Xeon/centos-7.5/ffmpeg/Dockerfile.m4 | 1 + Xeon/centos-7.5/gst/Dockerfile | 14 ++++++++++++++ Xeon/centos-7.5/gst/Dockerfile.m4 | 1 + Xeon/centos-7.6/dldt+ffmpeg/Dockerfile | 14 ++++++++++++++ Xeon/centos-7.6/dldt+ffmpeg/Dockerfile.m4 | 1 + Xeon/centos-7.6/dldt+gst/Dockerfile | 14 ++++++++++++++ Xeon/centos-7.6/dldt+gst/Dockerfile.m4 | 1 + Xeon/centos-7.6/ffmpeg+gst+dev/Dockerfile | 14 ++++++++++++++ Xeon/centos-7.6/ffmpeg+gst+dev/Dockerfile.m4 | 1 + Xeon/centos-7.6/ffmpeg/Dockerfile | 14 ++++++++++++++ Xeon/centos-7.6/ffmpeg/Dockerfile.m4 | 1 + Xeon/centos-7.6/gst/Dockerfile | 14 ++++++++++++++ Xeon/centos-7.6/gst/Dockerfile.m4 | 1 + Xeon/ubuntu-16.04/dldt+ffmpeg/Dockerfile | 14 ++++++++++++++ Xeon/ubuntu-16.04/dldt+ffmpeg/Dockerfile.m4 | 1 + Xeon/ubuntu-16.04/dldt+gst/Dockerfile | 14 ++++++++++++++ Xeon/ubuntu-16.04/dldt+gst/Dockerfile.m4 | 1 + Xeon/ubuntu-16.04/ffmpeg+gst+dev/Dockerfile | 14 ++++++++++++++ Xeon/ubuntu-16.04/ffmpeg+gst+dev/Dockerfile.m4 | 1 + Xeon/ubuntu-16.04/ffmpeg/Dockerfile | 14 ++++++++++++++ Xeon/ubuntu-16.04/ffmpeg/Dockerfile.m4 | 1 + Xeon/ubuntu-16.04/gst/Dockerfile | 14 ++++++++++++++ Xeon/ubuntu-16.04/gst/Dockerfile.m4 | 1 + Xeon/ubuntu-18.04/dldt+ffmpeg/Dockerfile | 14 ++++++++++++++ Xeon/ubuntu-18.04/dldt+ffmpeg/Dockerfile.m4 | 1 + Xeon/ubuntu-18.04/dldt+gst/Dockerfile | 14 ++++++++++++++ Xeon/ubuntu-18.04/dldt+gst/Dockerfile.m4 | 1 + Xeon/ubuntu-18.04/ffmpeg+gst+dev/Dockerfile | 14 ++++++++++++++ Xeon/ubuntu-18.04/ffmpeg+gst+dev/Dockerfile.m4 | 1 + Xeon/ubuntu-18.04/ffmpeg/Dockerfile | 14 ++++++++++++++ Xeon/ubuntu-18.04/ffmpeg/Dockerfile.m4 | 1 + Xeon/ubuntu-18.04/gst/Dockerfile | 14 ++++++++++++++ Xeon/ubuntu-18.04/gst/Dockerfile.m4 | 1 + XeonE3/centos-7.4/ffmpeg+gst+dev/Dockerfile | 14 ++++++++++++++ XeonE3/centos-7.4/ffmpeg+gst+dev/Dockerfile.m4 | 1 + XeonE3/centos-7.4/ffmpeg/Dockerfile | 14 ++++++++++++++ XeonE3/centos-7.4/ffmpeg/Dockerfile.m4 | 1 + XeonE3/centos-7.4/gst/Dockerfile | 14 ++++++++++++++ XeonE3/centos-7.4/gst/Dockerfile.m4 | 1 + XeonE3/centos-7.5/ffmpeg+gst+dev/Dockerfile | 14 ++++++++++++++ XeonE3/centos-7.5/ffmpeg+gst+dev/Dockerfile.m4 | 1 + XeonE3/centos-7.5/ffmpeg/Dockerfile | 14 ++++++++++++++ XeonE3/centos-7.5/ffmpeg/Dockerfile.m4 | 1 + XeonE3/centos-7.5/gst/Dockerfile | 14 ++++++++++++++ XeonE3/centos-7.5/gst/Dockerfile.m4 | 1 + XeonE3/centos-7.6/ffmpeg+gst+dev/Dockerfile | 14 ++++++++++++++ XeonE3/centos-7.6/ffmpeg+gst+dev/Dockerfile.m4 | 1 + XeonE3/centos-7.6/ffmpeg/Dockerfile | 14 ++++++++++++++ XeonE3/centos-7.6/ffmpeg/Dockerfile.m4 | 1 + XeonE3/centos-7.6/gst/Dockerfile | 14 ++++++++++++++ XeonE3/centos-7.6/gst/Dockerfile.m4 | 1 + XeonE3/ubuntu-16.04/ffmpeg+gst+dev/Dockerfile | 14 ++++++++++++++ XeonE3/ubuntu-16.04/ffmpeg+gst+dev/Dockerfile.m4 | 1 + XeonE3/ubuntu-16.04/ffmpeg/Dockerfile | 14 ++++++++++++++ XeonE3/ubuntu-16.04/ffmpeg/Dockerfile.m4 | 1 + XeonE3/ubuntu-16.04/gst/Dockerfile | 14 ++++++++++++++ XeonE3/ubuntu-16.04/gst/Dockerfile.m4 | 1 + XeonE3/ubuntu-18.04/ffmpeg+gst+dev/Dockerfile | 14 ++++++++++++++ XeonE3/ubuntu-18.04/ffmpeg+gst+dev/Dockerfile.m4 | 1 + XeonE3/ubuntu-18.04/ffmpeg/Dockerfile | 14 ++++++++++++++ XeonE3/ubuntu-18.04/ffmpeg/Dockerfile.m4 | 1 + XeonE3/ubuntu-18.04/gst/Dockerfile | 14 ++++++++++++++ XeonE3/ubuntu-18.04/gst/Dockerfile.m4 | 1 + template/svt-av1.m4 | 13 +++++++++++++ test/svt_av1.sh | 4 ++++ 112 files changed, 842 insertions(+) create mode 100644 template/svt-av1.m4 create mode 100755 test/svt_av1.sh diff --git a/VCA2/centos-7.4/ffmpeg+gst+dev/Dockerfile b/VCA2/centos-7.4/ffmpeg+gst+dev/Dockerfile index fd2d48ff3..7b054ae0c 100644 --- a/VCA2/centos-7.4/ffmpeg+gst+dev/Dockerfile +++ b/VCA2/centos-7.4/ffmpeg+gst+dev/Dockerfile @@ -162,6 +162,20 @@ RUN git clone ${SVT_HEVC_REPO}; \ make install ) +# Fetch SVT-AV1 +ARG SVT_AV1_VER=a39acb2 +ARG SVT_AV1_REPO=https://github.com/OpenVisualCloud/SVT-AV1 + +RUN git clone ${SVT_AV1_REPO}; \ + cd SVT-AV1/Build/linux; \ + git checkout ${SVT_AV1_VER}; \ + mkdir -p ../../Bin/Release; \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ + make -j8; \ + make install DESTDIR=/home/build; \ + make install + + #include(transform360.m4) # Fetch gmmlib ARG GMMLIB_VER=intel-gmmlib-18.4.1 diff --git a/VCA2/centos-7.4/ffmpeg+gst+dev/Dockerfile.m4 b/VCA2/centos-7.4/ffmpeg+gst+dev/Dockerfile.m4 index 45fe68244..3cbeeddb7 100644 --- a/VCA2/centos-7.4/ffmpeg+gst+dev/Dockerfile.m4 +++ b/VCA2/centos-7.4/ffmpeg+gst+dev/Dockerfile.m4 @@ -14,6 +14,7 @@ include(libaom.m4) include(libx264.m4) include(libx265.m4) include(svt-hevc.m4) +include(svt-av1.m4) #include(transform360.m4) include(gmmlib.m4) #include(libdrm.m4) diff --git a/VCA2/centos-7.4/ffmpeg/Dockerfile b/VCA2/centos-7.4/ffmpeg/Dockerfile index 6246b60d9..8abed1de5 100644 --- a/VCA2/centos-7.4/ffmpeg/Dockerfile +++ b/VCA2/centos-7.4/ffmpeg/Dockerfile @@ -162,6 +162,20 @@ RUN git clone ${SVT_HEVC_REPO}; \ make install ) +# Fetch SVT-AV1 +ARG SVT_AV1_VER=a39acb2 +ARG SVT_AV1_REPO=https://github.com/OpenVisualCloud/SVT-AV1 + +RUN git clone ${SVT_AV1_REPO}; \ + cd SVT-AV1/Build/linux; \ + git checkout ${SVT_AV1_VER}; \ + mkdir -p ../../Bin/Release; \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ + make -j8; \ + make install DESTDIR=/home/build; \ + make install + + #include(transform360.m4) # Fetch gmmlib ARG GMMLIB_VER=intel-gmmlib-18.4.1 diff --git a/VCA2/centos-7.4/ffmpeg/Dockerfile.m4 b/VCA2/centos-7.4/ffmpeg/Dockerfile.m4 index 398fbbac3..719bac3ca 100644 --- a/VCA2/centos-7.4/ffmpeg/Dockerfile.m4 +++ b/VCA2/centos-7.4/ffmpeg/Dockerfile.m4 @@ -14,6 +14,7 @@ include(libaom.m4) include(libx264.m4) include(libx265.m4) include(svt-hevc.m4) +include(svt-av1.m4) #include(transform360.m4) include(gmmlib.m4) #include(libdrm.m4) diff --git a/VCA2/centos-7.4/gst/Dockerfile b/VCA2/centos-7.4/gst/Dockerfile index 57c89d066..e8e21ce98 100644 --- a/VCA2/centos-7.4/gst/Dockerfile +++ b/VCA2/centos-7.4/gst/Dockerfile @@ -162,6 +162,20 @@ RUN git clone ${SVT_HEVC_REPO}; \ make install ) +# Fetch SVT-AV1 +ARG SVT_AV1_VER=a39acb2 +ARG SVT_AV1_REPO=https://github.com/OpenVisualCloud/SVT-AV1 + +RUN git clone ${SVT_AV1_REPO}; \ + cd SVT-AV1/Build/linux; \ + git checkout ${SVT_AV1_VER}; \ + mkdir -p ../../Bin/Release; \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ + make -j8; \ + make install DESTDIR=/home/build; \ + make install + + # Fetch gmmlib ARG GMMLIB_VER=intel-gmmlib-18.4.1 ARG GMMLIB_REPO=https://github.com/intel/gmmlib/archive/${GMMLIB_VER}.tar.gz diff --git a/VCA2/centos-7.4/gst/Dockerfile.m4 b/VCA2/centos-7.4/gst/Dockerfile.m4 index 5d8efc8a4..7ae6feb52 100644 --- a/VCA2/centos-7.4/gst/Dockerfile.m4 +++ b/VCA2/centos-7.4/gst/Dockerfile.m4 @@ -14,6 +14,7 @@ include(libaom.m4) include(libx264.m4) include(libx265.m4) include(svt-hevc.m4) +include(svt-av1.m4) include(gmmlib.m4) #include(libdrm.m4) include(libva.m4) diff --git a/VCA2/centos-7.5/ffmpeg+gst+dev/Dockerfile b/VCA2/centos-7.5/ffmpeg+gst+dev/Dockerfile index 87e745cd6..34bdaa08f 100644 --- a/VCA2/centos-7.5/ffmpeg+gst+dev/Dockerfile +++ b/VCA2/centos-7.5/ffmpeg+gst+dev/Dockerfile @@ -162,6 +162,20 @@ RUN git clone ${SVT_HEVC_REPO}; \ make install ) +# Fetch SVT-AV1 +ARG SVT_AV1_VER=a39acb2 +ARG SVT_AV1_REPO=https://github.com/OpenVisualCloud/SVT-AV1 + +RUN git clone ${SVT_AV1_REPO}; \ + cd SVT-AV1/Build/linux; \ + git checkout ${SVT_AV1_VER}; \ + mkdir -p ../../Bin/Release; \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ + make -j8; \ + make install DESTDIR=/home/build; \ + make install + + #include(transform360.m4) # Fetch gmmlib ARG GMMLIB_VER=intel-gmmlib-18.4.1 diff --git a/VCA2/centos-7.5/ffmpeg+gst+dev/Dockerfile.m4 b/VCA2/centos-7.5/ffmpeg+gst+dev/Dockerfile.m4 index f27b28712..c7501a300 100644 --- a/VCA2/centos-7.5/ffmpeg+gst+dev/Dockerfile.m4 +++ b/VCA2/centos-7.5/ffmpeg+gst+dev/Dockerfile.m4 @@ -14,6 +14,7 @@ include(libaom.m4) include(libx264.m4) include(libx265.m4) include(svt-hevc.m4) +include(svt-av1.m4) #include(transform360.m4) include(gmmlib.m4) #include(libdrm.m4) diff --git a/VCA2/centos-7.5/ffmpeg/Dockerfile b/VCA2/centos-7.5/ffmpeg/Dockerfile index 152163127..0f6743a29 100644 --- a/VCA2/centos-7.5/ffmpeg/Dockerfile +++ b/VCA2/centos-7.5/ffmpeg/Dockerfile @@ -162,6 +162,20 @@ RUN git clone ${SVT_HEVC_REPO}; \ make install ) +# Fetch SVT-AV1 +ARG SVT_AV1_VER=a39acb2 +ARG SVT_AV1_REPO=https://github.com/OpenVisualCloud/SVT-AV1 + +RUN git clone ${SVT_AV1_REPO}; \ + cd SVT-AV1/Build/linux; \ + git checkout ${SVT_AV1_VER}; \ + mkdir -p ../../Bin/Release; \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ + make -j8; \ + make install DESTDIR=/home/build; \ + make install + + #include(transform360.m4) # Fetch gmmlib ARG GMMLIB_VER=intel-gmmlib-18.4.1 diff --git a/VCA2/centos-7.5/ffmpeg/Dockerfile.m4 b/VCA2/centos-7.5/ffmpeg/Dockerfile.m4 index d02b11e3f..5b9d41852 100644 --- a/VCA2/centos-7.5/ffmpeg/Dockerfile.m4 +++ b/VCA2/centos-7.5/ffmpeg/Dockerfile.m4 @@ -14,6 +14,7 @@ include(libaom.m4) include(libx264.m4) include(libx265.m4) include(svt-hevc.m4) +include(svt-av1.m4) #include(transform360.m4) include(gmmlib.m4) #include(libdrm.m4) diff --git a/VCA2/centos-7.5/gst/Dockerfile b/VCA2/centos-7.5/gst/Dockerfile index 03bbff93b..a6060f263 100644 --- a/VCA2/centos-7.5/gst/Dockerfile +++ b/VCA2/centos-7.5/gst/Dockerfile @@ -162,6 +162,20 @@ RUN git clone ${SVT_HEVC_REPO}; \ make install ) +# Fetch SVT-AV1 +ARG SVT_AV1_VER=a39acb2 +ARG SVT_AV1_REPO=https://github.com/OpenVisualCloud/SVT-AV1 + +RUN git clone ${SVT_AV1_REPO}; \ + cd SVT-AV1/Build/linux; \ + git checkout ${SVT_AV1_VER}; \ + mkdir -p ../../Bin/Release; \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ + make -j8; \ + make install DESTDIR=/home/build; \ + make install + + # Fetch gmmlib ARG GMMLIB_VER=intel-gmmlib-18.4.1 ARG GMMLIB_REPO=https://github.com/intel/gmmlib/archive/${GMMLIB_VER}.tar.gz diff --git a/VCA2/centos-7.5/gst/Dockerfile.m4 b/VCA2/centos-7.5/gst/Dockerfile.m4 index 728094ad6..0ea120b03 100644 --- a/VCA2/centos-7.5/gst/Dockerfile.m4 +++ b/VCA2/centos-7.5/gst/Dockerfile.m4 @@ -14,6 +14,7 @@ include(libaom.m4) include(libx264.m4) include(libx265.m4) include(svt-hevc.m4) +include(svt-av1.m4) include(gmmlib.m4) #include(libdrm.m4) include(libva.m4) diff --git a/VCA2/centos-7.6/ffmpeg+gst+dev/Dockerfile b/VCA2/centos-7.6/ffmpeg+gst+dev/Dockerfile index c8f95dc65..34c1b236a 100644 --- a/VCA2/centos-7.6/ffmpeg+gst+dev/Dockerfile +++ b/VCA2/centos-7.6/ffmpeg+gst+dev/Dockerfile @@ -162,6 +162,20 @@ RUN git clone ${SVT_HEVC_REPO}; \ make install ) +# Fetch SVT-AV1 +ARG SVT_AV1_VER=a39acb2 +ARG SVT_AV1_REPO=https://github.com/OpenVisualCloud/SVT-AV1 + +RUN git clone ${SVT_AV1_REPO}; \ + cd SVT-AV1/Build/linux; \ + git checkout ${SVT_AV1_VER}; \ + mkdir -p ../../Bin/Release; \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ + make -j8; \ + make install DESTDIR=/home/build; \ + make install + + #include(transform360.m4) # Fetch gmmlib ARG GMMLIB_VER=intel-gmmlib-18.4.1 diff --git a/VCA2/centos-7.6/ffmpeg+gst+dev/Dockerfile.m4 b/VCA2/centos-7.6/ffmpeg+gst+dev/Dockerfile.m4 index 4b721b347..c3d4b4dce 100644 --- a/VCA2/centos-7.6/ffmpeg+gst+dev/Dockerfile.m4 +++ b/VCA2/centos-7.6/ffmpeg+gst+dev/Dockerfile.m4 @@ -14,6 +14,7 @@ include(libaom.m4) include(libx264.m4) include(libx265.m4) include(svt-hevc.m4) +include(svt-av1.m4) #include(transform360.m4) include(gmmlib.m4) #include(libdrm.m4) diff --git a/VCA2/centos-7.6/ffmpeg/Dockerfile b/VCA2/centos-7.6/ffmpeg/Dockerfile index 53a9b90a8..e619589f4 100644 --- a/VCA2/centos-7.6/ffmpeg/Dockerfile +++ b/VCA2/centos-7.6/ffmpeg/Dockerfile @@ -162,6 +162,20 @@ RUN git clone ${SVT_HEVC_REPO}; \ make install ) +# Fetch SVT-AV1 +ARG SVT_AV1_VER=a39acb2 +ARG SVT_AV1_REPO=https://github.com/OpenVisualCloud/SVT-AV1 + +RUN git clone ${SVT_AV1_REPO}; \ + cd SVT-AV1/Build/linux; \ + git checkout ${SVT_AV1_VER}; \ + mkdir -p ../../Bin/Release; \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ + make -j8; \ + make install DESTDIR=/home/build; \ + make install + + #include(transform360.m4) # Fetch gmmlib ARG GMMLIB_VER=intel-gmmlib-18.4.1 diff --git a/VCA2/centos-7.6/ffmpeg/Dockerfile.m4 b/VCA2/centos-7.6/ffmpeg/Dockerfile.m4 index 324535598..40445ed4f 100644 --- a/VCA2/centos-7.6/ffmpeg/Dockerfile.m4 +++ b/VCA2/centos-7.6/ffmpeg/Dockerfile.m4 @@ -14,6 +14,7 @@ include(libaom.m4) include(libx264.m4) include(libx265.m4) include(svt-hevc.m4) +include(svt-av1.m4) #include(transform360.m4) include(gmmlib.m4) #include(libdrm.m4) diff --git a/VCA2/centos-7.6/gst/Dockerfile b/VCA2/centos-7.6/gst/Dockerfile index 231ff2e5d..02ea69d30 100644 --- a/VCA2/centos-7.6/gst/Dockerfile +++ b/VCA2/centos-7.6/gst/Dockerfile @@ -162,6 +162,20 @@ RUN git clone ${SVT_HEVC_REPO}; \ make install ) +# Fetch SVT-AV1 +ARG SVT_AV1_VER=a39acb2 +ARG SVT_AV1_REPO=https://github.com/OpenVisualCloud/SVT-AV1 + +RUN git clone ${SVT_AV1_REPO}; \ + cd SVT-AV1/Build/linux; \ + git checkout ${SVT_AV1_VER}; \ + mkdir -p ../../Bin/Release; \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ + make -j8; \ + make install DESTDIR=/home/build; \ + make install + + # Fetch gmmlib ARG GMMLIB_VER=intel-gmmlib-18.4.1 ARG GMMLIB_REPO=https://github.com/intel/gmmlib/archive/${GMMLIB_VER}.tar.gz diff --git a/VCA2/centos-7.6/gst/Dockerfile.m4 b/VCA2/centos-7.6/gst/Dockerfile.m4 index 223c6f902..fc78f8775 100644 --- a/VCA2/centos-7.6/gst/Dockerfile.m4 +++ b/VCA2/centos-7.6/gst/Dockerfile.m4 @@ -14,6 +14,7 @@ include(libaom.m4) include(libx264.m4) include(libx265.m4) include(svt-hevc.m4) +include(svt-av1.m4) include(gmmlib.m4) #include(libdrm.m4) include(libva.m4) diff --git a/VCA2/ubuntu-16.04/ffmpeg+gst+dev/Dockerfile b/VCA2/ubuntu-16.04/ffmpeg+gst+dev/Dockerfile index 29ebe12ec..77b8e98d5 100644 --- a/VCA2/ubuntu-16.04/ffmpeg+gst+dev/Dockerfile +++ b/VCA2/ubuntu-16.04/ffmpeg+gst+dev/Dockerfile @@ -158,6 +158,20 @@ RUN git clone ${SVT_HEVC_REPO}; \ make install +# Fetch SVT-AV1 +ARG SVT_AV1_VER=a39acb2 +ARG SVT_AV1_REPO=https://github.com/OpenVisualCloud/SVT-AV1 + +RUN git clone ${SVT_AV1_REPO}; \ + cd SVT-AV1/Build/linux; \ + git checkout ${SVT_AV1_VER}; \ + mkdir -p ../../Bin/Release; \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ + make -j8; \ + make install DESTDIR=/home/build; \ + make install + + #include(transform360.m4) # Fetch gmmlib ARG GMMLIB_VER=intel-gmmlib-18.4.1 diff --git a/VCA2/ubuntu-16.04/ffmpeg+gst+dev/Dockerfile.m4 b/VCA2/ubuntu-16.04/ffmpeg+gst+dev/Dockerfile.m4 index 911f541e0..a15af6b61 100644 --- a/VCA2/ubuntu-16.04/ffmpeg+gst+dev/Dockerfile.m4 +++ b/VCA2/ubuntu-16.04/ffmpeg+gst+dev/Dockerfile.m4 @@ -14,6 +14,7 @@ include(libaom.m4) include(libx264.m4) include(libx265.m4) include(svt-hevc.m4) +include(svt-av1.m4) #include(transform360.m4) include(gmmlib.m4) include(libva.m4) diff --git a/VCA2/ubuntu-16.04/ffmpeg/Dockerfile b/VCA2/ubuntu-16.04/ffmpeg/Dockerfile index 2dcf723bb..273b48524 100644 --- a/VCA2/ubuntu-16.04/ffmpeg/Dockerfile +++ b/VCA2/ubuntu-16.04/ffmpeg/Dockerfile @@ -158,6 +158,20 @@ RUN git clone ${SVT_HEVC_REPO}; \ make install +# Fetch SVT-AV1 +ARG SVT_AV1_VER=a39acb2 +ARG SVT_AV1_REPO=https://github.com/OpenVisualCloud/SVT-AV1 + +RUN git clone ${SVT_AV1_REPO}; \ + cd SVT-AV1/Build/linux; \ + git checkout ${SVT_AV1_VER}; \ + mkdir -p ../../Bin/Release; \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ + make -j8; \ + make install DESTDIR=/home/build; \ + make install + + #include(transform360.m4) # Fetch gmmlib ARG GMMLIB_VER=intel-gmmlib-18.4.1 diff --git a/VCA2/ubuntu-16.04/ffmpeg/Dockerfile.m4 b/VCA2/ubuntu-16.04/ffmpeg/Dockerfile.m4 index 7a8c36682..2fd110453 100644 --- a/VCA2/ubuntu-16.04/ffmpeg/Dockerfile.m4 +++ b/VCA2/ubuntu-16.04/ffmpeg/Dockerfile.m4 @@ -14,6 +14,7 @@ include(libaom.m4) include(libx264.m4) include(libx265.m4) include(svt-hevc.m4) +include(svt-av1.m4) #include(transform360.m4) include(gmmlib.m4) include(libva.m4) diff --git a/VCA2/ubuntu-16.04/gst/Dockerfile b/VCA2/ubuntu-16.04/gst/Dockerfile index 31ecfb8e9..10feedca7 100644 --- a/VCA2/ubuntu-16.04/gst/Dockerfile +++ b/VCA2/ubuntu-16.04/gst/Dockerfile @@ -158,6 +158,20 @@ RUN git clone ${SVT_HEVC_REPO}; \ make install +# Fetch SVT-AV1 +ARG SVT_AV1_VER=a39acb2 +ARG SVT_AV1_REPO=https://github.com/OpenVisualCloud/SVT-AV1 + +RUN git clone ${SVT_AV1_REPO}; \ + cd SVT-AV1/Build/linux; \ + git checkout ${SVT_AV1_VER}; \ + mkdir -p ../../Bin/Release; \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ + make -j8; \ + make install DESTDIR=/home/build; \ + make install + + # Fetch gmmlib ARG GMMLIB_VER=intel-gmmlib-18.4.1 ARG GMMLIB_REPO=https://github.com/intel/gmmlib/archive/${GMMLIB_VER}.tar.gz diff --git a/VCA2/ubuntu-16.04/gst/Dockerfile.m4 b/VCA2/ubuntu-16.04/gst/Dockerfile.m4 index 14e37d6fc..2fcf8a6ca 100644 --- a/VCA2/ubuntu-16.04/gst/Dockerfile.m4 +++ b/VCA2/ubuntu-16.04/gst/Dockerfile.m4 @@ -14,6 +14,7 @@ include(libaom.m4) include(libx264.m4) include(libx265.m4) include(svt-hevc.m4) +include(svt-av1.m4) include(gmmlib.m4) include(libva.m4) include(media-driver.m4) diff --git a/VCA2/ubuntu-18.04/ffmpeg+gst+dev/Dockerfile b/VCA2/ubuntu-18.04/ffmpeg+gst+dev/Dockerfile index b1e59e56d..92ba40a09 100644 --- a/VCA2/ubuntu-18.04/ffmpeg+gst+dev/Dockerfile +++ b/VCA2/ubuntu-18.04/ffmpeg+gst+dev/Dockerfile @@ -158,6 +158,20 @@ RUN git clone ${SVT_HEVC_REPO}; \ make install +# Fetch SVT-AV1 +ARG SVT_AV1_VER=a39acb2 +ARG SVT_AV1_REPO=https://github.com/OpenVisualCloud/SVT-AV1 + +RUN git clone ${SVT_AV1_REPO}; \ + cd SVT-AV1/Build/linux; \ + git checkout ${SVT_AV1_VER}; \ + mkdir -p ../../Bin/Release; \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ + make -j8; \ + make install DESTDIR=/home/build; \ + make install + + #include(transform360.m4) # Fetch gmmlib ARG GMMLIB_VER=intel-gmmlib-18.4.1 diff --git a/VCA2/ubuntu-18.04/ffmpeg+gst+dev/Dockerfile.m4 b/VCA2/ubuntu-18.04/ffmpeg+gst+dev/Dockerfile.m4 index a1f5e9074..e3274a933 100644 --- a/VCA2/ubuntu-18.04/ffmpeg+gst+dev/Dockerfile.m4 +++ b/VCA2/ubuntu-18.04/ffmpeg+gst+dev/Dockerfile.m4 @@ -14,6 +14,7 @@ include(libaom.m4) include(libx264.m4) include(libx265.m4) include(svt-hevc.m4) +include(svt-av1.m4) #include(transform360.m4) include(gmmlib.m4) include(libva.m4) diff --git a/VCA2/ubuntu-18.04/ffmpeg/Dockerfile b/VCA2/ubuntu-18.04/ffmpeg/Dockerfile index 23a7eb4a1..ee2a2817b 100644 --- a/VCA2/ubuntu-18.04/ffmpeg/Dockerfile +++ b/VCA2/ubuntu-18.04/ffmpeg/Dockerfile @@ -158,6 +158,20 @@ RUN git clone ${SVT_HEVC_REPO}; \ make install +# Fetch SVT-AV1 +ARG SVT_AV1_VER=a39acb2 +ARG SVT_AV1_REPO=https://github.com/OpenVisualCloud/SVT-AV1 + +RUN git clone ${SVT_AV1_REPO}; \ + cd SVT-AV1/Build/linux; \ + git checkout ${SVT_AV1_VER}; \ + mkdir -p ../../Bin/Release; \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ + make -j8; \ + make install DESTDIR=/home/build; \ + make install + + #include(transform360.m4) # Fetch gmmlib ARG GMMLIB_VER=intel-gmmlib-18.4.1 diff --git a/VCA2/ubuntu-18.04/ffmpeg/Dockerfile.m4 b/VCA2/ubuntu-18.04/ffmpeg/Dockerfile.m4 index d7e6a16cd..1af2950f7 100644 --- a/VCA2/ubuntu-18.04/ffmpeg/Dockerfile.m4 +++ b/VCA2/ubuntu-18.04/ffmpeg/Dockerfile.m4 @@ -14,6 +14,7 @@ include(libaom.m4) include(libx264.m4) include(libx265.m4) include(svt-hevc.m4) +include(svt-av1.m4) #include(transform360.m4) include(gmmlib.m4) include(libva.m4) diff --git a/VCA2/ubuntu-18.04/gst/Dockerfile b/VCA2/ubuntu-18.04/gst/Dockerfile index 93cfab0cd..80db49be7 100644 --- a/VCA2/ubuntu-18.04/gst/Dockerfile +++ b/VCA2/ubuntu-18.04/gst/Dockerfile @@ -158,6 +158,20 @@ RUN git clone ${SVT_HEVC_REPO}; \ make install +# Fetch SVT-AV1 +ARG SVT_AV1_VER=a39acb2 +ARG SVT_AV1_REPO=https://github.com/OpenVisualCloud/SVT-AV1 + +RUN git clone ${SVT_AV1_REPO}; \ + cd SVT-AV1/Build/linux; \ + git checkout ${SVT_AV1_VER}; \ + mkdir -p ../../Bin/Release; \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ + make -j8; \ + make install DESTDIR=/home/build; \ + make install + + # Fetch gmmlib ARG GMMLIB_VER=intel-gmmlib-18.4.1 ARG GMMLIB_REPO=https://github.com/intel/gmmlib/archive/${GMMLIB_VER}.tar.gz diff --git a/VCA2/ubuntu-18.04/gst/Dockerfile.m4 b/VCA2/ubuntu-18.04/gst/Dockerfile.m4 index 0efe8b05c..cb284128c 100644 --- a/VCA2/ubuntu-18.04/gst/Dockerfile.m4 +++ b/VCA2/ubuntu-18.04/gst/Dockerfile.m4 @@ -14,6 +14,7 @@ include(libaom.m4) include(libx264.m4) include(libx265.m4) include(svt-hevc.m4) +include(svt-av1.m4) include(gmmlib.m4) include(libva.m4) include(media-driver.m4) diff --git a/Xeon/centos-7.4/dldt+ffmpeg/Dockerfile b/Xeon/centos-7.4/dldt+ffmpeg/Dockerfile index 19283ba07..82f11bb0a 100644 --- a/Xeon/centos-7.4/dldt+ffmpeg/Dockerfile +++ b/Xeon/centos-7.4/dldt+ffmpeg/Dockerfile @@ -162,6 +162,20 @@ RUN git clone ${SVT_HEVC_REPO}; \ make install ) +# Fetch SVT-AV1 +ARG SVT_AV1_VER=a39acb2 +ARG SVT_AV1_REPO=https://github.com/OpenVisualCloud/SVT-AV1 + +RUN git clone ${SVT_AV1_REPO}; \ + cd SVT-AV1/Build/linux; \ + git checkout ${SVT_AV1_VER}; \ + mkdir -p ../../Bin/Release; \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ + make -j8; \ + make install DESTDIR=/home/build; \ + make install + + #include(transform360.m4) # Build DLDT-Inference Engine ARG DLDT_VER=2018_R4 diff --git a/Xeon/centos-7.4/dldt+ffmpeg/Dockerfile.m4 b/Xeon/centos-7.4/dldt+ffmpeg/Dockerfile.m4 index 8513c25e9..8b7344f07 100644 --- a/Xeon/centos-7.4/dldt+ffmpeg/Dockerfile.m4 +++ b/Xeon/centos-7.4/dldt+ffmpeg/Dockerfile.m4 @@ -14,6 +14,7 @@ include(libaom.m4) include(libx264.m4) include(libx265.m4) include(svt-hevc.m4) +include(svt-av1.m4) #include(transform360.m4) include(dldt-ie.m4) include(ffmpeg.m4) diff --git a/Xeon/centos-7.4/dldt+gst/Dockerfile b/Xeon/centos-7.4/dldt+gst/Dockerfile index 34b6382b3..6cbabb81c 100644 --- a/Xeon/centos-7.4/dldt+gst/Dockerfile +++ b/Xeon/centos-7.4/dldt+gst/Dockerfile @@ -162,6 +162,20 @@ RUN git clone ${SVT_HEVC_REPO}; \ make install ) +# Fetch SVT-AV1 +ARG SVT_AV1_VER=a39acb2 +ARG SVT_AV1_REPO=https://github.com/OpenVisualCloud/SVT-AV1 + +RUN git clone ${SVT_AV1_REPO}; \ + cd SVT-AV1/Build/linux; \ + git checkout ${SVT_AV1_VER}; \ + mkdir -p ../../Bin/Release; \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ + make -j8; \ + make install DESTDIR=/home/build; \ + make install + + # Build DLDT-Inference Engine ARG DLDT_VER=2018_R4 ARG DLDT_REPO=https://github.com/opencv/dldt.git diff --git a/Xeon/centos-7.4/dldt+gst/Dockerfile.m4 b/Xeon/centos-7.4/dldt+gst/Dockerfile.m4 index c131f3c17..09a675bdb 100644 --- a/Xeon/centos-7.4/dldt+gst/Dockerfile.m4 +++ b/Xeon/centos-7.4/dldt+gst/Dockerfile.m4 @@ -14,6 +14,7 @@ include(libaom.m4) include(libx264.m4) include(libx265.m4) include(svt-hevc.m4) +include(svt-av1.m4) include(dldt-ie.m4) include(gst.m4) include(gst-plugin-base.m4) diff --git a/Xeon/centos-7.4/ffmpeg+gst+dev/Dockerfile b/Xeon/centos-7.4/ffmpeg+gst+dev/Dockerfile index 693527fa9..83a3de24f 100644 --- a/Xeon/centos-7.4/ffmpeg+gst+dev/Dockerfile +++ b/Xeon/centos-7.4/ffmpeg+gst+dev/Dockerfile @@ -162,6 +162,20 @@ RUN git clone ${SVT_HEVC_REPO}; \ make install ) +# Fetch SVT-AV1 +ARG SVT_AV1_VER=a39acb2 +ARG SVT_AV1_REPO=https://github.com/OpenVisualCloud/SVT-AV1 + +RUN git clone ${SVT_AV1_REPO}; \ + cd SVT-AV1/Build/linux; \ + git checkout ${SVT_AV1_VER}; \ + mkdir -p ../../Bin/Release; \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ + make -j8; \ + make install DESTDIR=/home/build; \ + make install + + #include(transform360.m4) # Build DLDT-Inference Engine ARG DLDT_VER=2018_R4 diff --git a/Xeon/centos-7.4/ffmpeg+gst+dev/Dockerfile.m4 b/Xeon/centos-7.4/ffmpeg+gst+dev/Dockerfile.m4 index 638074023..ffe88810b 100644 --- a/Xeon/centos-7.4/ffmpeg+gst+dev/Dockerfile.m4 +++ b/Xeon/centos-7.4/ffmpeg+gst+dev/Dockerfile.m4 @@ -14,6 +14,7 @@ include(libaom.m4) include(libx264.m4) include(libx265.m4) include(svt-hevc.m4) +include(svt-av1.m4) #include(transform360.m4) include(dldt-ie.m4) include(gst.m4) diff --git a/Xeon/centos-7.4/ffmpeg/Dockerfile b/Xeon/centos-7.4/ffmpeg/Dockerfile index 4dad9ae7e..96476124f 100644 --- a/Xeon/centos-7.4/ffmpeg/Dockerfile +++ b/Xeon/centos-7.4/ffmpeg/Dockerfile @@ -162,6 +162,20 @@ RUN git clone ${SVT_HEVC_REPO}; \ make install ) +# Fetch SVT-AV1 +ARG SVT_AV1_VER=a39acb2 +ARG SVT_AV1_REPO=https://github.com/OpenVisualCloud/SVT-AV1 + +RUN git clone ${SVT_AV1_REPO}; \ + cd SVT-AV1/Build/linux; \ + git checkout ${SVT_AV1_VER}; \ + mkdir -p ../../Bin/Release; \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ + make -j8; \ + make install DESTDIR=/home/build; \ + make install + + #include(transform360.m4) # Fetch FFmpeg source ARG FFMPEG_VER=n4.1 diff --git a/Xeon/centos-7.4/ffmpeg/Dockerfile.m4 b/Xeon/centos-7.4/ffmpeg/Dockerfile.m4 index b9ae2d0ea..52d930d79 100644 --- a/Xeon/centos-7.4/ffmpeg/Dockerfile.m4 +++ b/Xeon/centos-7.4/ffmpeg/Dockerfile.m4 @@ -14,6 +14,7 @@ include(libaom.m4) include(libx264.m4) include(libx265.m4) include(svt-hevc.m4) +include(svt-av1.m4) #include(transform360.m4) include(ffmpeg.m4) include(cleanup.m4)dnl diff --git a/Xeon/centos-7.4/gst/Dockerfile b/Xeon/centos-7.4/gst/Dockerfile index d216abe20..d83d740b8 100644 --- a/Xeon/centos-7.4/gst/Dockerfile +++ b/Xeon/centos-7.4/gst/Dockerfile @@ -162,6 +162,20 @@ RUN git clone ${SVT_HEVC_REPO}; \ make install ) +# Fetch SVT-AV1 +ARG SVT_AV1_VER=a39acb2 +ARG SVT_AV1_REPO=https://github.com/OpenVisualCloud/SVT-AV1 + +RUN git clone ${SVT_AV1_REPO}; \ + cd SVT-AV1/Build/linux; \ + git checkout ${SVT_AV1_VER}; \ + mkdir -p ../../Bin/Release; \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ + make -j8; \ + make install DESTDIR=/home/build; \ + make install + + # Build the gstremaer core ARG GST_VER=1.14.4 ARG GST_REPO=https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${GST_VER}.tar.xz diff --git a/Xeon/centos-7.4/gst/Dockerfile.m4 b/Xeon/centos-7.4/gst/Dockerfile.m4 index f9430ecfe..c3db633a3 100644 --- a/Xeon/centos-7.4/gst/Dockerfile.m4 +++ b/Xeon/centos-7.4/gst/Dockerfile.m4 @@ -14,6 +14,7 @@ include(libaom.m4) include(libx264.m4) include(libx265.m4) include(svt-hevc.m4) +include(svt-av1.m4) include(gst.m4) include(gst-plugin-base.m4) include(gst-plugin-good.m4) diff --git a/Xeon/centos-7.5/dldt+ffmpeg/Dockerfile b/Xeon/centos-7.5/dldt+ffmpeg/Dockerfile index e638ce471..7b6689907 100644 --- a/Xeon/centos-7.5/dldt+ffmpeg/Dockerfile +++ b/Xeon/centos-7.5/dldt+ffmpeg/Dockerfile @@ -162,6 +162,20 @@ RUN git clone ${SVT_HEVC_REPO}; \ make install ) +# Fetch SVT-AV1 +ARG SVT_AV1_VER=a39acb2 +ARG SVT_AV1_REPO=https://github.com/OpenVisualCloud/SVT-AV1 + +RUN git clone ${SVT_AV1_REPO}; \ + cd SVT-AV1/Build/linux; \ + git checkout ${SVT_AV1_VER}; \ + mkdir -p ../../Bin/Release; \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ + make -j8; \ + make install DESTDIR=/home/build; \ + make install + + #include(transform360.m4) # Build DLDT-Inference Engine ARG DLDT_VER=2018_R4 diff --git a/Xeon/centos-7.5/dldt+ffmpeg/Dockerfile.m4 b/Xeon/centos-7.5/dldt+ffmpeg/Dockerfile.m4 index 60d0e66a8..d7dbca413 100644 --- a/Xeon/centos-7.5/dldt+ffmpeg/Dockerfile.m4 +++ b/Xeon/centos-7.5/dldt+ffmpeg/Dockerfile.m4 @@ -14,6 +14,7 @@ include(libaom.m4) include(libx264.m4) include(libx265.m4) include(svt-hevc.m4) +include(svt-av1.m4) #include(transform360.m4) include(dldt-ie.m4) include(ffmpeg.m4) diff --git a/Xeon/centos-7.5/dldt+gst/Dockerfile b/Xeon/centos-7.5/dldt+gst/Dockerfile index 208a20559..c7e8f12af 100644 --- a/Xeon/centos-7.5/dldt+gst/Dockerfile +++ b/Xeon/centos-7.5/dldt+gst/Dockerfile @@ -162,6 +162,20 @@ RUN git clone ${SVT_HEVC_REPO}; \ make install ) +# Fetch SVT-AV1 +ARG SVT_AV1_VER=a39acb2 +ARG SVT_AV1_REPO=https://github.com/OpenVisualCloud/SVT-AV1 + +RUN git clone ${SVT_AV1_REPO}; \ + cd SVT-AV1/Build/linux; \ + git checkout ${SVT_AV1_VER}; \ + mkdir -p ../../Bin/Release; \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ + make -j8; \ + make install DESTDIR=/home/build; \ + make install + + # Build DLDT-Inference Engine ARG DLDT_VER=2018_R4 ARG DLDT_REPO=https://github.com/opencv/dldt.git diff --git a/Xeon/centos-7.5/dldt+gst/Dockerfile.m4 b/Xeon/centos-7.5/dldt+gst/Dockerfile.m4 index 4b0c00bd1..60b7a8aa7 100644 --- a/Xeon/centos-7.5/dldt+gst/Dockerfile.m4 +++ b/Xeon/centos-7.5/dldt+gst/Dockerfile.m4 @@ -14,6 +14,7 @@ include(libaom.m4) include(libx264.m4) include(libx265.m4) include(svt-hevc.m4) +include(svt-av1.m4) include(dldt-ie.m4) include(gst.m4) include(gst-plugin-base.m4) diff --git a/Xeon/centos-7.5/ffmpeg+gst+dev/Dockerfile b/Xeon/centos-7.5/ffmpeg+gst+dev/Dockerfile index dba234e7a..7b2b16ba3 100644 --- a/Xeon/centos-7.5/ffmpeg+gst+dev/Dockerfile +++ b/Xeon/centos-7.5/ffmpeg+gst+dev/Dockerfile @@ -162,6 +162,20 @@ RUN git clone ${SVT_HEVC_REPO}; \ make install ) +# Fetch SVT-AV1 +ARG SVT_AV1_VER=a39acb2 +ARG SVT_AV1_REPO=https://github.com/OpenVisualCloud/SVT-AV1 + +RUN git clone ${SVT_AV1_REPO}; \ + cd SVT-AV1/Build/linux; \ + git checkout ${SVT_AV1_VER}; \ + mkdir -p ../../Bin/Release; \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ + make -j8; \ + make install DESTDIR=/home/build; \ + make install + + #include(transform360.m4) # Build DLDT-Inference Engine ARG DLDT_VER=2018_R4 diff --git a/Xeon/centos-7.5/ffmpeg+gst+dev/Dockerfile.m4 b/Xeon/centos-7.5/ffmpeg+gst+dev/Dockerfile.m4 index 47bdbae93..90e05f9ae 100644 --- a/Xeon/centos-7.5/ffmpeg+gst+dev/Dockerfile.m4 +++ b/Xeon/centos-7.5/ffmpeg+gst+dev/Dockerfile.m4 @@ -14,6 +14,7 @@ include(libaom.m4) include(libx264.m4) include(libx265.m4) include(svt-hevc.m4) +include(svt-av1.m4) #include(transform360.m4) include(dldt-ie.m4) include(gst.m4) diff --git a/Xeon/centos-7.5/ffmpeg/Dockerfile b/Xeon/centos-7.5/ffmpeg/Dockerfile index ca224a11f..717d66bb2 100644 --- a/Xeon/centos-7.5/ffmpeg/Dockerfile +++ b/Xeon/centos-7.5/ffmpeg/Dockerfile @@ -162,6 +162,20 @@ RUN git clone ${SVT_HEVC_REPO}; \ make install ) +# Fetch SVT-AV1 +ARG SVT_AV1_VER=a39acb2 +ARG SVT_AV1_REPO=https://github.com/OpenVisualCloud/SVT-AV1 + +RUN git clone ${SVT_AV1_REPO}; \ + cd SVT-AV1/Build/linux; \ + git checkout ${SVT_AV1_VER}; \ + mkdir -p ../../Bin/Release; \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ + make -j8; \ + make install DESTDIR=/home/build; \ + make install + + #include(transform360.m4) # Fetch FFmpeg source ARG FFMPEG_VER=n4.1 diff --git a/Xeon/centos-7.5/ffmpeg/Dockerfile.m4 b/Xeon/centos-7.5/ffmpeg/Dockerfile.m4 index 4e0f0119d..54ed05340 100644 --- a/Xeon/centos-7.5/ffmpeg/Dockerfile.m4 +++ b/Xeon/centos-7.5/ffmpeg/Dockerfile.m4 @@ -14,6 +14,7 @@ include(libaom.m4) include(libx264.m4) include(libx265.m4) include(svt-hevc.m4) +include(svt-av1.m4) #include(transform360.m4) include(ffmpeg.m4) include(cleanup.m4)dnl diff --git a/Xeon/centos-7.5/gst/Dockerfile b/Xeon/centos-7.5/gst/Dockerfile index a025e27b8..1060750fb 100644 --- a/Xeon/centos-7.5/gst/Dockerfile +++ b/Xeon/centos-7.5/gst/Dockerfile @@ -162,6 +162,20 @@ RUN git clone ${SVT_HEVC_REPO}; \ make install ) +# Fetch SVT-AV1 +ARG SVT_AV1_VER=a39acb2 +ARG SVT_AV1_REPO=https://github.com/OpenVisualCloud/SVT-AV1 + +RUN git clone ${SVT_AV1_REPO}; \ + cd SVT-AV1/Build/linux; \ + git checkout ${SVT_AV1_VER}; \ + mkdir -p ../../Bin/Release; \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ + make -j8; \ + make install DESTDIR=/home/build; \ + make install + + # Build the gstremaer core ARG GST_VER=1.14.4 ARG GST_REPO=https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${GST_VER}.tar.xz diff --git a/Xeon/centos-7.5/gst/Dockerfile.m4 b/Xeon/centos-7.5/gst/Dockerfile.m4 index 63c0e3902..945aaf49b 100644 --- a/Xeon/centos-7.5/gst/Dockerfile.m4 +++ b/Xeon/centos-7.5/gst/Dockerfile.m4 @@ -14,6 +14,7 @@ include(libaom.m4) include(libx264.m4) include(libx265.m4) include(svt-hevc.m4) +include(svt-av1.m4) include(gst.m4) include(gst-plugin-base.m4) include(gst-plugin-good.m4) diff --git a/Xeon/centos-7.6/dldt+ffmpeg/Dockerfile b/Xeon/centos-7.6/dldt+ffmpeg/Dockerfile index db96569b8..94eb63c90 100644 --- a/Xeon/centos-7.6/dldt+ffmpeg/Dockerfile +++ b/Xeon/centos-7.6/dldt+ffmpeg/Dockerfile @@ -162,6 +162,20 @@ RUN git clone ${SVT_HEVC_REPO}; \ make install ) +# Fetch SVT-AV1 +ARG SVT_AV1_VER=a39acb2 +ARG SVT_AV1_REPO=https://github.com/OpenVisualCloud/SVT-AV1 + +RUN git clone ${SVT_AV1_REPO}; \ + cd SVT-AV1/Build/linux; \ + git checkout ${SVT_AV1_VER}; \ + mkdir -p ../../Bin/Release; \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ + make -j8; \ + make install DESTDIR=/home/build; \ + make install + + #include(transform360.m4) # Build DLDT-Inference Engine ARG DLDT_VER=2018_R4 diff --git a/Xeon/centos-7.6/dldt+ffmpeg/Dockerfile.m4 b/Xeon/centos-7.6/dldt+ffmpeg/Dockerfile.m4 index e410500cc..39f105313 100644 --- a/Xeon/centos-7.6/dldt+ffmpeg/Dockerfile.m4 +++ b/Xeon/centos-7.6/dldt+ffmpeg/Dockerfile.m4 @@ -14,6 +14,7 @@ include(libaom.m4) include(libx264.m4) include(libx265.m4) include(svt-hevc.m4) +include(svt-av1.m4) #include(transform360.m4) include(dldt-ie.m4) include(ffmpeg.m4) diff --git a/Xeon/centos-7.6/dldt+gst/Dockerfile b/Xeon/centos-7.6/dldt+gst/Dockerfile index 17b94c221..f3956e767 100644 --- a/Xeon/centos-7.6/dldt+gst/Dockerfile +++ b/Xeon/centos-7.6/dldt+gst/Dockerfile @@ -162,6 +162,20 @@ RUN git clone ${SVT_HEVC_REPO}; \ make install ) +# Fetch SVT-AV1 +ARG SVT_AV1_VER=a39acb2 +ARG SVT_AV1_REPO=https://github.com/OpenVisualCloud/SVT-AV1 + +RUN git clone ${SVT_AV1_REPO}; \ + cd SVT-AV1/Build/linux; \ + git checkout ${SVT_AV1_VER}; \ + mkdir -p ../../Bin/Release; \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ + make -j8; \ + make install DESTDIR=/home/build; \ + make install + + # Build DLDT-Inference Engine ARG DLDT_VER=2018_R4 ARG DLDT_REPO=https://github.com/opencv/dldt.git diff --git a/Xeon/centos-7.6/dldt+gst/Dockerfile.m4 b/Xeon/centos-7.6/dldt+gst/Dockerfile.m4 index 43ac8623b..0069bc9e6 100644 --- a/Xeon/centos-7.6/dldt+gst/Dockerfile.m4 +++ b/Xeon/centos-7.6/dldt+gst/Dockerfile.m4 @@ -14,6 +14,7 @@ include(libaom.m4) include(libx264.m4) include(libx265.m4) include(svt-hevc.m4) +include(svt-av1.m4) include(dldt-ie.m4) include(gst.m4) include(gst-plugin-base.m4) diff --git a/Xeon/centos-7.6/ffmpeg+gst+dev/Dockerfile b/Xeon/centos-7.6/ffmpeg+gst+dev/Dockerfile index 7f9075116..2f639d589 100644 --- a/Xeon/centos-7.6/ffmpeg+gst+dev/Dockerfile +++ b/Xeon/centos-7.6/ffmpeg+gst+dev/Dockerfile @@ -162,6 +162,20 @@ RUN git clone ${SVT_HEVC_REPO}; \ make install ) +# Fetch SVT-AV1 +ARG SVT_AV1_VER=a39acb2 +ARG SVT_AV1_REPO=https://github.com/OpenVisualCloud/SVT-AV1 + +RUN git clone ${SVT_AV1_REPO}; \ + cd SVT-AV1/Build/linux; \ + git checkout ${SVT_AV1_VER}; \ + mkdir -p ../../Bin/Release; \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ + make -j8; \ + make install DESTDIR=/home/build; \ + make install + + #include(transform360.m4) # Build DLDT-Inference Engine ARG DLDT_VER=2018_R4 diff --git a/Xeon/centos-7.6/ffmpeg+gst+dev/Dockerfile.m4 b/Xeon/centos-7.6/ffmpeg+gst+dev/Dockerfile.m4 index 938f9bc57..96e94c96a 100644 --- a/Xeon/centos-7.6/ffmpeg+gst+dev/Dockerfile.m4 +++ b/Xeon/centos-7.6/ffmpeg+gst+dev/Dockerfile.m4 @@ -14,6 +14,7 @@ include(libaom.m4) include(libx264.m4) include(libx265.m4) include(svt-hevc.m4) +include(svt-av1.m4) #include(transform360.m4) include(dldt-ie.m4) include(gst.m4) diff --git a/Xeon/centos-7.6/ffmpeg/Dockerfile b/Xeon/centos-7.6/ffmpeg/Dockerfile index b45f3732a..8b2810a03 100644 --- a/Xeon/centos-7.6/ffmpeg/Dockerfile +++ b/Xeon/centos-7.6/ffmpeg/Dockerfile @@ -162,6 +162,20 @@ RUN git clone ${SVT_HEVC_REPO}; \ make install ) +# Fetch SVT-AV1 +ARG SVT_AV1_VER=a39acb2 +ARG SVT_AV1_REPO=https://github.com/OpenVisualCloud/SVT-AV1 + +RUN git clone ${SVT_AV1_REPO}; \ + cd SVT-AV1/Build/linux; \ + git checkout ${SVT_AV1_VER}; \ + mkdir -p ../../Bin/Release; \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ + make -j8; \ + make install DESTDIR=/home/build; \ + make install + + #include(transform360.m4) # Fetch FFmpeg source ARG FFMPEG_VER=n4.1 diff --git a/Xeon/centos-7.6/ffmpeg/Dockerfile.m4 b/Xeon/centos-7.6/ffmpeg/Dockerfile.m4 index 4244ee202..98e386d59 100644 --- a/Xeon/centos-7.6/ffmpeg/Dockerfile.m4 +++ b/Xeon/centos-7.6/ffmpeg/Dockerfile.m4 @@ -14,6 +14,7 @@ include(libaom.m4) include(libx264.m4) include(libx265.m4) include(svt-hevc.m4) +include(svt-av1.m4) #include(transform360.m4) include(ffmpeg.m4) include(cleanup.m4)dnl diff --git a/Xeon/centos-7.6/gst/Dockerfile b/Xeon/centos-7.6/gst/Dockerfile index 26946f112..9cf9c7337 100644 --- a/Xeon/centos-7.6/gst/Dockerfile +++ b/Xeon/centos-7.6/gst/Dockerfile @@ -162,6 +162,20 @@ RUN git clone ${SVT_HEVC_REPO}; \ make install ) +# Fetch SVT-AV1 +ARG SVT_AV1_VER=a39acb2 +ARG SVT_AV1_REPO=https://github.com/OpenVisualCloud/SVT-AV1 + +RUN git clone ${SVT_AV1_REPO}; \ + cd SVT-AV1/Build/linux; \ + git checkout ${SVT_AV1_VER}; \ + mkdir -p ../../Bin/Release; \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ + make -j8; \ + make install DESTDIR=/home/build; \ + make install + + # Build the gstremaer core ARG GST_VER=1.14.4 ARG GST_REPO=https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${GST_VER}.tar.xz diff --git a/Xeon/centos-7.6/gst/Dockerfile.m4 b/Xeon/centos-7.6/gst/Dockerfile.m4 index 7dc2131cc..9b617d829 100644 --- a/Xeon/centos-7.6/gst/Dockerfile.m4 +++ b/Xeon/centos-7.6/gst/Dockerfile.m4 @@ -14,6 +14,7 @@ include(libaom.m4) include(libx264.m4) include(libx265.m4) include(svt-hevc.m4) +include(svt-av1.m4) include(gst.m4) include(gst-plugin-base.m4) include(gst-plugin-good.m4) diff --git a/Xeon/ubuntu-16.04/dldt+ffmpeg/Dockerfile b/Xeon/ubuntu-16.04/dldt+ffmpeg/Dockerfile index 20421b9d7..680da3b2f 100644 --- a/Xeon/ubuntu-16.04/dldt+ffmpeg/Dockerfile +++ b/Xeon/ubuntu-16.04/dldt+ffmpeg/Dockerfile @@ -158,6 +158,20 @@ RUN git clone ${SVT_HEVC_REPO}; \ make install +# Fetch SVT-AV1 +ARG SVT_AV1_VER=a39acb2 +ARG SVT_AV1_REPO=https://github.com/OpenVisualCloud/SVT-AV1 + +RUN git clone ${SVT_AV1_REPO}; \ + cd SVT-AV1/Build/linux; \ + git checkout ${SVT_AV1_VER}; \ + mkdir -p ../../Bin/Release; \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ + make -j8; \ + make install DESTDIR=/home/build; \ + make install + + #include(transform360.m4) # Build DLDT-Inference Engine ARG DLDT_VER=2018_R4 diff --git a/Xeon/ubuntu-16.04/dldt+ffmpeg/Dockerfile.m4 b/Xeon/ubuntu-16.04/dldt+ffmpeg/Dockerfile.m4 index 9b11eed5d..4f790aac0 100644 --- a/Xeon/ubuntu-16.04/dldt+ffmpeg/Dockerfile.m4 +++ b/Xeon/ubuntu-16.04/dldt+ffmpeg/Dockerfile.m4 @@ -14,6 +14,7 @@ include(libaom.m4) include(libx264.m4) include(libx265.m4) include(svt-hevc.m4) +include(svt-av1.m4) #include(transform360.m4) include(dldt-ie.m4) include(ffmpeg.m4) diff --git a/Xeon/ubuntu-16.04/dldt+gst/Dockerfile b/Xeon/ubuntu-16.04/dldt+gst/Dockerfile index c4f3beaa1..c149e8d51 100644 --- a/Xeon/ubuntu-16.04/dldt+gst/Dockerfile +++ b/Xeon/ubuntu-16.04/dldt+gst/Dockerfile @@ -158,6 +158,20 @@ RUN git clone ${SVT_HEVC_REPO}; \ make install +# Fetch SVT-AV1 +ARG SVT_AV1_VER=a39acb2 +ARG SVT_AV1_REPO=https://github.com/OpenVisualCloud/SVT-AV1 + +RUN git clone ${SVT_AV1_REPO}; \ + cd SVT-AV1/Build/linux; \ + git checkout ${SVT_AV1_VER}; \ + mkdir -p ../../Bin/Release; \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ + make -j8; \ + make install DESTDIR=/home/build; \ + make install + + # Build DLDT-Inference Engine ARG DLDT_VER=2018_R4 ARG DLDT_REPO=https://github.com/opencv/dldt.git diff --git a/Xeon/ubuntu-16.04/dldt+gst/Dockerfile.m4 b/Xeon/ubuntu-16.04/dldt+gst/Dockerfile.m4 index 12105c101..6f753b6a1 100644 --- a/Xeon/ubuntu-16.04/dldt+gst/Dockerfile.m4 +++ b/Xeon/ubuntu-16.04/dldt+gst/Dockerfile.m4 @@ -14,6 +14,7 @@ include(libaom.m4) include(libx264.m4) include(libx265.m4) include(svt-hevc.m4) +include(svt-av1.m4) include(dldt-ie.m4) include(gst.m4) include(gst-plugin-base.m4) diff --git a/Xeon/ubuntu-16.04/ffmpeg+gst+dev/Dockerfile b/Xeon/ubuntu-16.04/ffmpeg+gst+dev/Dockerfile index 353ec70f7..79b96d3eb 100644 --- a/Xeon/ubuntu-16.04/ffmpeg+gst+dev/Dockerfile +++ b/Xeon/ubuntu-16.04/ffmpeg+gst+dev/Dockerfile @@ -158,6 +158,20 @@ RUN git clone ${SVT_HEVC_REPO}; \ make install +# Fetch SVT-AV1 +ARG SVT_AV1_VER=a39acb2 +ARG SVT_AV1_REPO=https://github.com/OpenVisualCloud/SVT-AV1 + +RUN git clone ${SVT_AV1_REPO}; \ + cd SVT-AV1/Build/linux; \ + git checkout ${SVT_AV1_VER}; \ + mkdir -p ../../Bin/Release; \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ + make -j8; \ + make install DESTDIR=/home/build; \ + make install + + #include(transform360.m4) # Build DLDT-Inference Engine ARG DLDT_VER=2018_R4 diff --git a/Xeon/ubuntu-16.04/ffmpeg+gst+dev/Dockerfile.m4 b/Xeon/ubuntu-16.04/ffmpeg+gst+dev/Dockerfile.m4 index 743d0f8b7..5b2a99fb2 100644 --- a/Xeon/ubuntu-16.04/ffmpeg+gst+dev/Dockerfile.m4 +++ b/Xeon/ubuntu-16.04/ffmpeg+gst+dev/Dockerfile.m4 @@ -14,6 +14,7 @@ include(libaom.m4) include(libx264.m4) include(libx265.m4) include(svt-hevc.m4) +include(svt-av1.m4) #include(transform360.m4) include(dldt-ie.m4) include(gst.m4) diff --git a/Xeon/ubuntu-16.04/ffmpeg/Dockerfile b/Xeon/ubuntu-16.04/ffmpeg/Dockerfile index c0fdf8c89..5fa7d419d 100644 --- a/Xeon/ubuntu-16.04/ffmpeg/Dockerfile +++ b/Xeon/ubuntu-16.04/ffmpeg/Dockerfile @@ -158,6 +158,20 @@ RUN git clone ${SVT_HEVC_REPO}; \ make install +# Fetch SVT-AV1 +ARG SVT_AV1_VER=a39acb2 +ARG SVT_AV1_REPO=https://github.com/OpenVisualCloud/SVT-AV1 + +RUN git clone ${SVT_AV1_REPO}; \ + cd SVT-AV1/Build/linux; \ + git checkout ${SVT_AV1_VER}; \ + mkdir -p ../../Bin/Release; \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ + make -j8; \ + make install DESTDIR=/home/build; \ + make install + + #include(transform360.m4) # Fetch FFmpeg source ARG FFMPEG_VER=n4.1 diff --git a/Xeon/ubuntu-16.04/ffmpeg/Dockerfile.m4 b/Xeon/ubuntu-16.04/ffmpeg/Dockerfile.m4 index 658d0901d..a1913ba03 100644 --- a/Xeon/ubuntu-16.04/ffmpeg/Dockerfile.m4 +++ b/Xeon/ubuntu-16.04/ffmpeg/Dockerfile.m4 @@ -14,6 +14,7 @@ include(libaom.m4) include(libx264.m4) include(libx265.m4) include(svt-hevc.m4) +include(svt-av1.m4) #include(transform360.m4) include(ffmpeg.m4) include(cleanup.m4)dnl diff --git a/Xeon/ubuntu-16.04/gst/Dockerfile b/Xeon/ubuntu-16.04/gst/Dockerfile index e3104f83c..8993da31c 100644 --- a/Xeon/ubuntu-16.04/gst/Dockerfile +++ b/Xeon/ubuntu-16.04/gst/Dockerfile @@ -158,6 +158,20 @@ RUN git clone ${SVT_HEVC_REPO}; \ make install +# Fetch SVT-AV1 +ARG SVT_AV1_VER=a39acb2 +ARG SVT_AV1_REPO=https://github.com/OpenVisualCloud/SVT-AV1 + +RUN git clone ${SVT_AV1_REPO}; \ + cd SVT-AV1/Build/linux; \ + git checkout ${SVT_AV1_VER}; \ + mkdir -p ../../Bin/Release; \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ + make -j8; \ + make install DESTDIR=/home/build; \ + make install + + # Build the gstremaer core ARG GST_VER=1.14.4 ARG GST_REPO=https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${GST_VER}.tar.xz diff --git a/Xeon/ubuntu-16.04/gst/Dockerfile.m4 b/Xeon/ubuntu-16.04/gst/Dockerfile.m4 index a914d4b54..79b32abea 100644 --- a/Xeon/ubuntu-16.04/gst/Dockerfile.m4 +++ b/Xeon/ubuntu-16.04/gst/Dockerfile.m4 @@ -14,6 +14,7 @@ include(libaom.m4) include(libx264.m4) include(libx265.m4) include(svt-hevc.m4) +include(svt-av1.m4) include(gst.m4) include(gst-plugin-base.m4) include(gst-plugin-good.m4) diff --git a/Xeon/ubuntu-18.04/dldt+ffmpeg/Dockerfile b/Xeon/ubuntu-18.04/dldt+ffmpeg/Dockerfile index 95f011e46..2c3ea3867 100644 --- a/Xeon/ubuntu-18.04/dldt+ffmpeg/Dockerfile +++ b/Xeon/ubuntu-18.04/dldt+ffmpeg/Dockerfile @@ -158,6 +158,20 @@ RUN git clone ${SVT_HEVC_REPO}; \ make install +# Fetch SVT-AV1 +ARG SVT_AV1_VER=a39acb2 +ARG SVT_AV1_REPO=https://github.com/OpenVisualCloud/SVT-AV1 + +RUN git clone ${SVT_AV1_REPO}; \ + cd SVT-AV1/Build/linux; \ + git checkout ${SVT_AV1_VER}; \ + mkdir -p ../../Bin/Release; \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ + make -j8; \ + make install DESTDIR=/home/build; \ + make install + + #include(transform360.m4) # Build DLDT-Inference Engine ARG DLDT_VER=2018_R4 diff --git a/Xeon/ubuntu-18.04/dldt+ffmpeg/Dockerfile.m4 b/Xeon/ubuntu-18.04/dldt+ffmpeg/Dockerfile.m4 index 57634e589..aa44021e6 100644 --- a/Xeon/ubuntu-18.04/dldt+ffmpeg/Dockerfile.m4 +++ b/Xeon/ubuntu-18.04/dldt+ffmpeg/Dockerfile.m4 @@ -14,6 +14,7 @@ include(libaom.m4) include(libx264.m4) include(libx265.m4) include(svt-hevc.m4) +include(svt-av1.m4) #include(transform360.m4) include(dldt-ie.m4) include(ffmpeg.m4) diff --git a/Xeon/ubuntu-18.04/dldt+gst/Dockerfile b/Xeon/ubuntu-18.04/dldt+gst/Dockerfile index 8c4c11058..f8b625b85 100644 --- a/Xeon/ubuntu-18.04/dldt+gst/Dockerfile +++ b/Xeon/ubuntu-18.04/dldt+gst/Dockerfile @@ -158,6 +158,20 @@ RUN git clone ${SVT_HEVC_REPO}; \ make install +# Fetch SVT-AV1 +ARG SVT_AV1_VER=a39acb2 +ARG SVT_AV1_REPO=https://github.com/OpenVisualCloud/SVT-AV1 + +RUN git clone ${SVT_AV1_REPO}; \ + cd SVT-AV1/Build/linux; \ + git checkout ${SVT_AV1_VER}; \ + mkdir -p ../../Bin/Release; \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ + make -j8; \ + make install DESTDIR=/home/build; \ + make install + + # Build DLDT-Inference Engine ARG DLDT_VER=2018_R4 ARG DLDT_REPO=https://github.com/opencv/dldt.git diff --git a/Xeon/ubuntu-18.04/dldt+gst/Dockerfile.m4 b/Xeon/ubuntu-18.04/dldt+gst/Dockerfile.m4 index c4d93e4dc..18f8fbbbc 100644 --- a/Xeon/ubuntu-18.04/dldt+gst/Dockerfile.m4 +++ b/Xeon/ubuntu-18.04/dldt+gst/Dockerfile.m4 @@ -14,6 +14,7 @@ include(libaom.m4) include(libx264.m4) include(libx265.m4) include(svt-hevc.m4) +include(svt-av1.m4) include(dldt-ie.m4) include(gst.m4) include(gst-plugin-base.m4) diff --git a/Xeon/ubuntu-18.04/ffmpeg+gst+dev/Dockerfile b/Xeon/ubuntu-18.04/ffmpeg+gst+dev/Dockerfile index 9d84a0b3b..8f7d652e4 100644 --- a/Xeon/ubuntu-18.04/ffmpeg+gst+dev/Dockerfile +++ b/Xeon/ubuntu-18.04/ffmpeg+gst+dev/Dockerfile @@ -158,6 +158,20 @@ RUN git clone ${SVT_HEVC_REPO}; \ make install +# Fetch SVT-AV1 +ARG SVT_AV1_VER=a39acb2 +ARG SVT_AV1_REPO=https://github.com/OpenVisualCloud/SVT-AV1 + +RUN git clone ${SVT_AV1_REPO}; \ + cd SVT-AV1/Build/linux; \ + git checkout ${SVT_AV1_VER}; \ + mkdir -p ../../Bin/Release; \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ + make -j8; \ + make install DESTDIR=/home/build; \ + make install + + #include(transform360.m4) # Build DLDT-Inference Engine ARG DLDT_VER=2018_R4 diff --git a/Xeon/ubuntu-18.04/ffmpeg+gst+dev/Dockerfile.m4 b/Xeon/ubuntu-18.04/ffmpeg+gst+dev/Dockerfile.m4 index 57a2c0148..f4e3cf285 100644 --- a/Xeon/ubuntu-18.04/ffmpeg+gst+dev/Dockerfile.m4 +++ b/Xeon/ubuntu-18.04/ffmpeg+gst+dev/Dockerfile.m4 @@ -14,6 +14,7 @@ include(libaom.m4) include(libx264.m4) include(libx265.m4) include(svt-hevc.m4) +include(svt-av1.m4) #include(transform360.m4) include(dldt-ie.m4) include(gst.m4) diff --git a/Xeon/ubuntu-18.04/ffmpeg/Dockerfile b/Xeon/ubuntu-18.04/ffmpeg/Dockerfile index b0667142b..bee1433d9 100644 --- a/Xeon/ubuntu-18.04/ffmpeg/Dockerfile +++ b/Xeon/ubuntu-18.04/ffmpeg/Dockerfile @@ -158,6 +158,20 @@ RUN git clone ${SVT_HEVC_REPO}; \ make install +# Fetch SVT-AV1 +ARG SVT_AV1_VER=a39acb2 +ARG SVT_AV1_REPO=https://github.com/OpenVisualCloud/SVT-AV1 + +RUN git clone ${SVT_AV1_REPO}; \ + cd SVT-AV1/Build/linux; \ + git checkout ${SVT_AV1_VER}; \ + mkdir -p ../../Bin/Release; \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ + make -j8; \ + make install DESTDIR=/home/build; \ + make install + + #include(transform360.m4) # Fetch FFmpeg source ARG FFMPEG_VER=n4.1 diff --git a/Xeon/ubuntu-18.04/ffmpeg/Dockerfile.m4 b/Xeon/ubuntu-18.04/ffmpeg/Dockerfile.m4 index 4c62b6531..e5b2ea3af 100644 --- a/Xeon/ubuntu-18.04/ffmpeg/Dockerfile.m4 +++ b/Xeon/ubuntu-18.04/ffmpeg/Dockerfile.m4 @@ -14,6 +14,7 @@ include(libaom.m4) include(libx264.m4) include(libx265.m4) include(svt-hevc.m4) +include(svt-av1.m4) #include(transform360.m4) include(ffmpeg.m4) include(cleanup.m4)dnl diff --git a/Xeon/ubuntu-18.04/gst/Dockerfile b/Xeon/ubuntu-18.04/gst/Dockerfile index b675162b4..4f6f5e4f7 100644 --- a/Xeon/ubuntu-18.04/gst/Dockerfile +++ b/Xeon/ubuntu-18.04/gst/Dockerfile @@ -158,6 +158,20 @@ RUN git clone ${SVT_HEVC_REPO}; \ make install +# Fetch SVT-AV1 +ARG SVT_AV1_VER=a39acb2 +ARG SVT_AV1_REPO=https://github.com/OpenVisualCloud/SVT-AV1 + +RUN git clone ${SVT_AV1_REPO}; \ + cd SVT-AV1/Build/linux; \ + git checkout ${SVT_AV1_VER}; \ + mkdir -p ../../Bin/Release; \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ + make -j8; \ + make install DESTDIR=/home/build; \ + make install + + # Build the gstremaer core ARG GST_VER=1.14.4 ARG GST_REPO=https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${GST_VER}.tar.xz diff --git a/Xeon/ubuntu-18.04/gst/Dockerfile.m4 b/Xeon/ubuntu-18.04/gst/Dockerfile.m4 index 809e220c1..27ec0b070 100644 --- a/Xeon/ubuntu-18.04/gst/Dockerfile.m4 +++ b/Xeon/ubuntu-18.04/gst/Dockerfile.m4 @@ -14,6 +14,7 @@ include(libaom.m4) include(libx264.m4) include(libx265.m4) include(svt-hevc.m4) +include(svt-av1.m4) include(gst.m4) include(gst-plugin-base.m4) include(gst-plugin-good.m4) diff --git a/XeonE3/centos-7.4/ffmpeg+gst+dev/Dockerfile b/XeonE3/centos-7.4/ffmpeg+gst+dev/Dockerfile index fd2d48ff3..7b054ae0c 100644 --- a/XeonE3/centos-7.4/ffmpeg+gst+dev/Dockerfile +++ b/XeonE3/centos-7.4/ffmpeg+gst+dev/Dockerfile @@ -162,6 +162,20 @@ RUN git clone ${SVT_HEVC_REPO}; \ make install ) +# Fetch SVT-AV1 +ARG SVT_AV1_VER=a39acb2 +ARG SVT_AV1_REPO=https://github.com/OpenVisualCloud/SVT-AV1 + +RUN git clone ${SVT_AV1_REPO}; \ + cd SVT-AV1/Build/linux; \ + git checkout ${SVT_AV1_VER}; \ + mkdir -p ../../Bin/Release; \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ + make -j8; \ + make install DESTDIR=/home/build; \ + make install + + #include(transform360.m4) # Fetch gmmlib ARG GMMLIB_VER=intel-gmmlib-18.4.1 diff --git a/XeonE3/centos-7.4/ffmpeg+gst+dev/Dockerfile.m4 b/XeonE3/centos-7.4/ffmpeg+gst+dev/Dockerfile.m4 index 45fe68244..3cbeeddb7 100644 --- a/XeonE3/centos-7.4/ffmpeg+gst+dev/Dockerfile.m4 +++ b/XeonE3/centos-7.4/ffmpeg+gst+dev/Dockerfile.m4 @@ -14,6 +14,7 @@ include(libaom.m4) include(libx264.m4) include(libx265.m4) include(svt-hevc.m4) +include(svt-av1.m4) #include(transform360.m4) include(gmmlib.m4) #include(libdrm.m4) diff --git a/XeonE3/centos-7.4/ffmpeg/Dockerfile b/XeonE3/centos-7.4/ffmpeg/Dockerfile index 6246b60d9..8abed1de5 100644 --- a/XeonE3/centos-7.4/ffmpeg/Dockerfile +++ b/XeonE3/centos-7.4/ffmpeg/Dockerfile @@ -162,6 +162,20 @@ RUN git clone ${SVT_HEVC_REPO}; \ make install ) +# Fetch SVT-AV1 +ARG SVT_AV1_VER=a39acb2 +ARG SVT_AV1_REPO=https://github.com/OpenVisualCloud/SVT-AV1 + +RUN git clone ${SVT_AV1_REPO}; \ + cd SVT-AV1/Build/linux; \ + git checkout ${SVT_AV1_VER}; \ + mkdir -p ../../Bin/Release; \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ + make -j8; \ + make install DESTDIR=/home/build; \ + make install + + #include(transform360.m4) # Fetch gmmlib ARG GMMLIB_VER=intel-gmmlib-18.4.1 diff --git a/XeonE3/centos-7.4/ffmpeg/Dockerfile.m4 b/XeonE3/centos-7.4/ffmpeg/Dockerfile.m4 index 398fbbac3..719bac3ca 100644 --- a/XeonE3/centos-7.4/ffmpeg/Dockerfile.m4 +++ b/XeonE3/centos-7.4/ffmpeg/Dockerfile.m4 @@ -14,6 +14,7 @@ include(libaom.m4) include(libx264.m4) include(libx265.m4) include(svt-hevc.m4) +include(svt-av1.m4) #include(transform360.m4) include(gmmlib.m4) #include(libdrm.m4) diff --git a/XeonE3/centos-7.4/gst/Dockerfile b/XeonE3/centos-7.4/gst/Dockerfile index 57c89d066..e8e21ce98 100644 --- a/XeonE3/centos-7.4/gst/Dockerfile +++ b/XeonE3/centos-7.4/gst/Dockerfile @@ -162,6 +162,20 @@ RUN git clone ${SVT_HEVC_REPO}; \ make install ) +# Fetch SVT-AV1 +ARG SVT_AV1_VER=a39acb2 +ARG SVT_AV1_REPO=https://github.com/OpenVisualCloud/SVT-AV1 + +RUN git clone ${SVT_AV1_REPO}; \ + cd SVT-AV1/Build/linux; \ + git checkout ${SVT_AV1_VER}; \ + mkdir -p ../../Bin/Release; \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ + make -j8; \ + make install DESTDIR=/home/build; \ + make install + + # Fetch gmmlib ARG GMMLIB_VER=intel-gmmlib-18.4.1 ARG GMMLIB_REPO=https://github.com/intel/gmmlib/archive/${GMMLIB_VER}.tar.gz diff --git a/XeonE3/centos-7.4/gst/Dockerfile.m4 b/XeonE3/centos-7.4/gst/Dockerfile.m4 index 5d8efc8a4..7ae6feb52 100644 --- a/XeonE3/centos-7.4/gst/Dockerfile.m4 +++ b/XeonE3/centos-7.4/gst/Dockerfile.m4 @@ -14,6 +14,7 @@ include(libaom.m4) include(libx264.m4) include(libx265.m4) include(svt-hevc.m4) +include(svt-av1.m4) include(gmmlib.m4) #include(libdrm.m4) include(libva.m4) diff --git a/XeonE3/centos-7.5/ffmpeg+gst+dev/Dockerfile b/XeonE3/centos-7.5/ffmpeg+gst+dev/Dockerfile index 87e745cd6..34bdaa08f 100644 --- a/XeonE3/centos-7.5/ffmpeg+gst+dev/Dockerfile +++ b/XeonE3/centos-7.5/ffmpeg+gst+dev/Dockerfile @@ -162,6 +162,20 @@ RUN git clone ${SVT_HEVC_REPO}; \ make install ) +# Fetch SVT-AV1 +ARG SVT_AV1_VER=a39acb2 +ARG SVT_AV1_REPO=https://github.com/OpenVisualCloud/SVT-AV1 + +RUN git clone ${SVT_AV1_REPO}; \ + cd SVT-AV1/Build/linux; \ + git checkout ${SVT_AV1_VER}; \ + mkdir -p ../../Bin/Release; \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ + make -j8; \ + make install DESTDIR=/home/build; \ + make install + + #include(transform360.m4) # Fetch gmmlib ARG GMMLIB_VER=intel-gmmlib-18.4.1 diff --git a/XeonE3/centos-7.5/ffmpeg+gst+dev/Dockerfile.m4 b/XeonE3/centos-7.5/ffmpeg+gst+dev/Dockerfile.m4 index f27b28712..c7501a300 100644 --- a/XeonE3/centos-7.5/ffmpeg+gst+dev/Dockerfile.m4 +++ b/XeonE3/centos-7.5/ffmpeg+gst+dev/Dockerfile.m4 @@ -14,6 +14,7 @@ include(libaom.m4) include(libx264.m4) include(libx265.m4) include(svt-hevc.m4) +include(svt-av1.m4) #include(transform360.m4) include(gmmlib.m4) #include(libdrm.m4) diff --git a/XeonE3/centos-7.5/ffmpeg/Dockerfile b/XeonE3/centos-7.5/ffmpeg/Dockerfile index 152163127..0f6743a29 100644 --- a/XeonE3/centos-7.5/ffmpeg/Dockerfile +++ b/XeonE3/centos-7.5/ffmpeg/Dockerfile @@ -162,6 +162,20 @@ RUN git clone ${SVT_HEVC_REPO}; \ make install ) +# Fetch SVT-AV1 +ARG SVT_AV1_VER=a39acb2 +ARG SVT_AV1_REPO=https://github.com/OpenVisualCloud/SVT-AV1 + +RUN git clone ${SVT_AV1_REPO}; \ + cd SVT-AV1/Build/linux; \ + git checkout ${SVT_AV1_VER}; \ + mkdir -p ../../Bin/Release; \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ + make -j8; \ + make install DESTDIR=/home/build; \ + make install + + #include(transform360.m4) # Fetch gmmlib ARG GMMLIB_VER=intel-gmmlib-18.4.1 diff --git a/XeonE3/centos-7.5/ffmpeg/Dockerfile.m4 b/XeonE3/centos-7.5/ffmpeg/Dockerfile.m4 index d02b11e3f..5b9d41852 100644 --- a/XeonE3/centos-7.5/ffmpeg/Dockerfile.m4 +++ b/XeonE3/centos-7.5/ffmpeg/Dockerfile.m4 @@ -14,6 +14,7 @@ include(libaom.m4) include(libx264.m4) include(libx265.m4) include(svt-hevc.m4) +include(svt-av1.m4) #include(transform360.m4) include(gmmlib.m4) #include(libdrm.m4) diff --git a/XeonE3/centos-7.5/gst/Dockerfile b/XeonE3/centos-7.5/gst/Dockerfile index 03bbff93b..a6060f263 100644 --- a/XeonE3/centos-7.5/gst/Dockerfile +++ b/XeonE3/centos-7.5/gst/Dockerfile @@ -162,6 +162,20 @@ RUN git clone ${SVT_HEVC_REPO}; \ make install ) +# Fetch SVT-AV1 +ARG SVT_AV1_VER=a39acb2 +ARG SVT_AV1_REPO=https://github.com/OpenVisualCloud/SVT-AV1 + +RUN git clone ${SVT_AV1_REPO}; \ + cd SVT-AV1/Build/linux; \ + git checkout ${SVT_AV1_VER}; \ + mkdir -p ../../Bin/Release; \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ + make -j8; \ + make install DESTDIR=/home/build; \ + make install + + # Fetch gmmlib ARG GMMLIB_VER=intel-gmmlib-18.4.1 ARG GMMLIB_REPO=https://github.com/intel/gmmlib/archive/${GMMLIB_VER}.tar.gz diff --git a/XeonE3/centos-7.5/gst/Dockerfile.m4 b/XeonE3/centos-7.5/gst/Dockerfile.m4 index 728094ad6..0ea120b03 100644 --- a/XeonE3/centos-7.5/gst/Dockerfile.m4 +++ b/XeonE3/centos-7.5/gst/Dockerfile.m4 @@ -14,6 +14,7 @@ include(libaom.m4) include(libx264.m4) include(libx265.m4) include(svt-hevc.m4) +include(svt-av1.m4) include(gmmlib.m4) #include(libdrm.m4) include(libva.m4) diff --git a/XeonE3/centos-7.6/ffmpeg+gst+dev/Dockerfile b/XeonE3/centos-7.6/ffmpeg+gst+dev/Dockerfile index c8f95dc65..34c1b236a 100644 --- a/XeonE3/centos-7.6/ffmpeg+gst+dev/Dockerfile +++ b/XeonE3/centos-7.6/ffmpeg+gst+dev/Dockerfile @@ -162,6 +162,20 @@ RUN git clone ${SVT_HEVC_REPO}; \ make install ) +# Fetch SVT-AV1 +ARG SVT_AV1_VER=a39acb2 +ARG SVT_AV1_REPO=https://github.com/OpenVisualCloud/SVT-AV1 + +RUN git clone ${SVT_AV1_REPO}; \ + cd SVT-AV1/Build/linux; \ + git checkout ${SVT_AV1_VER}; \ + mkdir -p ../../Bin/Release; \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ + make -j8; \ + make install DESTDIR=/home/build; \ + make install + + #include(transform360.m4) # Fetch gmmlib ARG GMMLIB_VER=intel-gmmlib-18.4.1 diff --git a/XeonE3/centos-7.6/ffmpeg+gst+dev/Dockerfile.m4 b/XeonE3/centos-7.6/ffmpeg+gst+dev/Dockerfile.m4 index 4b721b347..c3d4b4dce 100644 --- a/XeonE3/centos-7.6/ffmpeg+gst+dev/Dockerfile.m4 +++ b/XeonE3/centos-7.6/ffmpeg+gst+dev/Dockerfile.m4 @@ -14,6 +14,7 @@ include(libaom.m4) include(libx264.m4) include(libx265.m4) include(svt-hevc.m4) +include(svt-av1.m4) #include(transform360.m4) include(gmmlib.m4) #include(libdrm.m4) diff --git a/XeonE3/centos-7.6/ffmpeg/Dockerfile b/XeonE3/centos-7.6/ffmpeg/Dockerfile index 53a9b90a8..e619589f4 100644 --- a/XeonE3/centos-7.6/ffmpeg/Dockerfile +++ b/XeonE3/centos-7.6/ffmpeg/Dockerfile @@ -162,6 +162,20 @@ RUN git clone ${SVT_HEVC_REPO}; \ make install ) +# Fetch SVT-AV1 +ARG SVT_AV1_VER=a39acb2 +ARG SVT_AV1_REPO=https://github.com/OpenVisualCloud/SVT-AV1 + +RUN git clone ${SVT_AV1_REPO}; \ + cd SVT-AV1/Build/linux; \ + git checkout ${SVT_AV1_VER}; \ + mkdir -p ../../Bin/Release; \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ + make -j8; \ + make install DESTDIR=/home/build; \ + make install + + #include(transform360.m4) # Fetch gmmlib ARG GMMLIB_VER=intel-gmmlib-18.4.1 diff --git a/XeonE3/centos-7.6/ffmpeg/Dockerfile.m4 b/XeonE3/centos-7.6/ffmpeg/Dockerfile.m4 index 324535598..40445ed4f 100644 --- a/XeonE3/centos-7.6/ffmpeg/Dockerfile.m4 +++ b/XeonE3/centos-7.6/ffmpeg/Dockerfile.m4 @@ -14,6 +14,7 @@ include(libaom.m4) include(libx264.m4) include(libx265.m4) include(svt-hevc.m4) +include(svt-av1.m4) #include(transform360.m4) include(gmmlib.m4) #include(libdrm.m4) diff --git a/XeonE3/centos-7.6/gst/Dockerfile b/XeonE3/centos-7.6/gst/Dockerfile index 231ff2e5d..02ea69d30 100644 --- a/XeonE3/centos-7.6/gst/Dockerfile +++ b/XeonE3/centos-7.6/gst/Dockerfile @@ -162,6 +162,20 @@ RUN git clone ${SVT_HEVC_REPO}; \ make install ) +# Fetch SVT-AV1 +ARG SVT_AV1_VER=a39acb2 +ARG SVT_AV1_REPO=https://github.com/OpenVisualCloud/SVT-AV1 + +RUN git clone ${SVT_AV1_REPO}; \ + cd SVT-AV1/Build/linux; \ + git checkout ${SVT_AV1_VER}; \ + mkdir -p ../../Bin/Release; \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ + make -j8; \ + make install DESTDIR=/home/build; \ + make install + + # Fetch gmmlib ARG GMMLIB_VER=intel-gmmlib-18.4.1 ARG GMMLIB_REPO=https://github.com/intel/gmmlib/archive/${GMMLIB_VER}.tar.gz diff --git a/XeonE3/centos-7.6/gst/Dockerfile.m4 b/XeonE3/centos-7.6/gst/Dockerfile.m4 index 223c6f902..fc78f8775 100644 --- a/XeonE3/centos-7.6/gst/Dockerfile.m4 +++ b/XeonE3/centos-7.6/gst/Dockerfile.m4 @@ -14,6 +14,7 @@ include(libaom.m4) include(libx264.m4) include(libx265.m4) include(svt-hevc.m4) +include(svt-av1.m4) include(gmmlib.m4) #include(libdrm.m4) include(libva.m4) diff --git a/XeonE3/ubuntu-16.04/ffmpeg+gst+dev/Dockerfile b/XeonE3/ubuntu-16.04/ffmpeg+gst+dev/Dockerfile index 29ebe12ec..77b8e98d5 100644 --- a/XeonE3/ubuntu-16.04/ffmpeg+gst+dev/Dockerfile +++ b/XeonE3/ubuntu-16.04/ffmpeg+gst+dev/Dockerfile @@ -158,6 +158,20 @@ RUN git clone ${SVT_HEVC_REPO}; \ make install +# Fetch SVT-AV1 +ARG SVT_AV1_VER=a39acb2 +ARG SVT_AV1_REPO=https://github.com/OpenVisualCloud/SVT-AV1 + +RUN git clone ${SVT_AV1_REPO}; \ + cd SVT-AV1/Build/linux; \ + git checkout ${SVT_AV1_VER}; \ + mkdir -p ../../Bin/Release; \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ + make -j8; \ + make install DESTDIR=/home/build; \ + make install + + #include(transform360.m4) # Fetch gmmlib ARG GMMLIB_VER=intel-gmmlib-18.4.1 diff --git a/XeonE3/ubuntu-16.04/ffmpeg+gst+dev/Dockerfile.m4 b/XeonE3/ubuntu-16.04/ffmpeg+gst+dev/Dockerfile.m4 index 911f541e0..a15af6b61 100644 --- a/XeonE3/ubuntu-16.04/ffmpeg+gst+dev/Dockerfile.m4 +++ b/XeonE3/ubuntu-16.04/ffmpeg+gst+dev/Dockerfile.m4 @@ -14,6 +14,7 @@ include(libaom.m4) include(libx264.m4) include(libx265.m4) include(svt-hevc.m4) +include(svt-av1.m4) #include(transform360.m4) include(gmmlib.m4) include(libva.m4) diff --git a/XeonE3/ubuntu-16.04/ffmpeg/Dockerfile b/XeonE3/ubuntu-16.04/ffmpeg/Dockerfile index 2dcf723bb..273b48524 100644 --- a/XeonE3/ubuntu-16.04/ffmpeg/Dockerfile +++ b/XeonE3/ubuntu-16.04/ffmpeg/Dockerfile @@ -158,6 +158,20 @@ RUN git clone ${SVT_HEVC_REPO}; \ make install +# Fetch SVT-AV1 +ARG SVT_AV1_VER=a39acb2 +ARG SVT_AV1_REPO=https://github.com/OpenVisualCloud/SVT-AV1 + +RUN git clone ${SVT_AV1_REPO}; \ + cd SVT-AV1/Build/linux; \ + git checkout ${SVT_AV1_VER}; \ + mkdir -p ../../Bin/Release; \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ + make -j8; \ + make install DESTDIR=/home/build; \ + make install + + #include(transform360.m4) # Fetch gmmlib ARG GMMLIB_VER=intel-gmmlib-18.4.1 diff --git a/XeonE3/ubuntu-16.04/ffmpeg/Dockerfile.m4 b/XeonE3/ubuntu-16.04/ffmpeg/Dockerfile.m4 index 7a8c36682..2fd110453 100644 --- a/XeonE3/ubuntu-16.04/ffmpeg/Dockerfile.m4 +++ b/XeonE3/ubuntu-16.04/ffmpeg/Dockerfile.m4 @@ -14,6 +14,7 @@ include(libaom.m4) include(libx264.m4) include(libx265.m4) include(svt-hevc.m4) +include(svt-av1.m4) #include(transform360.m4) include(gmmlib.m4) include(libva.m4) diff --git a/XeonE3/ubuntu-16.04/gst/Dockerfile b/XeonE3/ubuntu-16.04/gst/Dockerfile index 31ecfb8e9..10feedca7 100644 --- a/XeonE3/ubuntu-16.04/gst/Dockerfile +++ b/XeonE3/ubuntu-16.04/gst/Dockerfile @@ -158,6 +158,20 @@ RUN git clone ${SVT_HEVC_REPO}; \ make install +# Fetch SVT-AV1 +ARG SVT_AV1_VER=a39acb2 +ARG SVT_AV1_REPO=https://github.com/OpenVisualCloud/SVT-AV1 + +RUN git clone ${SVT_AV1_REPO}; \ + cd SVT-AV1/Build/linux; \ + git checkout ${SVT_AV1_VER}; \ + mkdir -p ../../Bin/Release; \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ + make -j8; \ + make install DESTDIR=/home/build; \ + make install + + # Fetch gmmlib ARG GMMLIB_VER=intel-gmmlib-18.4.1 ARG GMMLIB_REPO=https://github.com/intel/gmmlib/archive/${GMMLIB_VER}.tar.gz diff --git a/XeonE3/ubuntu-16.04/gst/Dockerfile.m4 b/XeonE3/ubuntu-16.04/gst/Dockerfile.m4 index 14e37d6fc..2fcf8a6ca 100644 --- a/XeonE3/ubuntu-16.04/gst/Dockerfile.m4 +++ b/XeonE3/ubuntu-16.04/gst/Dockerfile.m4 @@ -14,6 +14,7 @@ include(libaom.m4) include(libx264.m4) include(libx265.m4) include(svt-hevc.m4) +include(svt-av1.m4) include(gmmlib.m4) include(libva.m4) include(media-driver.m4) diff --git a/XeonE3/ubuntu-18.04/ffmpeg+gst+dev/Dockerfile b/XeonE3/ubuntu-18.04/ffmpeg+gst+dev/Dockerfile index b1e59e56d..92ba40a09 100644 --- a/XeonE3/ubuntu-18.04/ffmpeg+gst+dev/Dockerfile +++ b/XeonE3/ubuntu-18.04/ffmpeg+gst+dev/Dockerfile @@ -158,6 +158,20 @@ RUN git clone ${SVT_HEVC_REPO}; \ make install +# Fetch SVT-AV1 +ARG SVT_AV1_VER=a39acb2 +ARG SVT_AV1_REPO=https://github.com/OpenVisualCloud/SVT-AV1 + +RUN git clone ${SVT_AV1_REPO}; \ + cd SVT-AV1/Build/linux; \ + git checkout ${SVT_AV1_VER}; \ + mkdir -p ../../Bin/Release; \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ + make -j8; \ + make install DESTDIR=/home/build; \ + make install + + #include(transform360.m4) # Fetch gmmlib ARG GMMLIB_VER=intel-gmmlib-18.4.1 diff --git a/XeonE3/ubuntu-18.04/ffmpeg+gst+dev/Dockerfile.m4 b/XeonE3/ubuntu-18.04/ffmpeg+gst+dev/Dockerfile.m4 index a1f5e9074..e3274a933 100644 --- a/XeonE3/ubuntu-18.04/ffmpeg+gst+dev/Dockerfile.m4 +++ b/XeonE3/ubuntu-18.04/ffmpeg+gst+dev/Dockerfile.m4 @@ -14,6 +14,7 @@ include(libaom.m4) include(libx264.m4) include(libx265.m4) include(svt-hevc.m4) +include(svt-av1.m4) #include(transform360.m4) include(gmmlib.m4) include(libva.m4) diff --git a/XeonE3/ubuntu-18.04/ffmpeg/Dockerfile b/XeonE3/ubuntu-18.04/ffmpeg/Dockerfile index 23a7eb4a1..ee2a2817b 100644 --- a/XeonE3/ubuntu-18.04/ffmpeg/Dockerfile +++ b/XeonE3/ubuntu-18.04/ffmpeg/Dockerfile @@ -158,6 +158,20 @@ RUN git clone ${SVT_HEVC_REPO}; \ make install +# Fetch SVT-AV1 +ARG SVT_AV1_VER=a39acb2 +ARG SVT_AV1_REPO=https://github.com/OpenVisualCloud/SVT-AV1 + +RUN git clone ${SVT_AV1_REPO}; \ + cd SVT-AV1/Build/linux; \ + git checkout ${SVT_AV1_VER}; \ + mkdir -p ../../Bin/Release; \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ + make -j8; \ + make install DESTDIR=/home/build; \ + make install + + #include(transform360.m4) # Fetch gmmlib ARG GMMLIB_VER=intel-gmmlib-18.4.1 diff --git a/XeonE3/ubuntu-18.04/ffmpeg/Dockerfile.m4 b/XeonE3/ubuntu-18.04/ffmpeg/Dockerfile.m4 index d7e6a16cd..1af2950f7 100644 --- a/XeonE3/ubuntu-18.04/ffmpeg/Dockerfile.m4 +++ b/XeonE3/ubuntu-18.04/ffmpeg/Dockerfile.m4 @@ -14,6 +14,7 @@ include(libaom.m4) include(libx264.m4) include(libx265.m4) include(svt-hevc.m4) +include(svt-av1.m4) #include(transform360.m4) include(gmmlib.m4) include(libva.m4) diff --git a/XeonE3/ubuntu-18.04/gst/Dockerfile b/XeonE3/ubuntu-18.04/gst/Dockerfile index 93cfab0cd..80db49be7 100644 --- a/XeonE3/ubuntu-18.04/gst/Dockerfile +++ b/XeonE3/ubuntu-18.04/gst/Dockerfile @@ -158,6 +158,20 @@ RUN git clone ${SVT_HEVC_REPO}; \ make install +# Fetch SVT-AV1 +ARG SVT_AV1_VER=a39acb2 +ARG SVT_AV1_REPO=https://github.com/OpenVisualCloud/SVT-AV1 + +RUN git clone ${SVT_AV1_REPO}; \ + cd SVT-AV1/Build/linux; \ + git checkout ${SVT_AV1_VER}; \ + mkdir -p ../../Bin/Release; \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ + make -j8; \ + make install DESTDIR=/home/build; \ + make install + + # Fetch gmmlib ARG GMMLIB_VER=intel-gmmlib-18.4.1 ARG GMMLIB_REPO=https://github.com/intel/gmmlib/archive/${GMMLIB_VER}.tar.gz diff --git a/XeonE3/ubuntu-18.04/gst/Dockerfile.m4 b/XeonE3/ubuntu-18.04/gst/Dockerfile.m4 index 0efe8b05c..cb284128c 100644 --- a/XeonE3/ubuntu-18.04/gst/Dockerfile.m4 +++ b/XeonE3/ubuntu-18.04/gst/Dockerfile.m4 @@ -14,6 +14,7 @@ include(libaom.m4) include(libx264.m4) include(libx265.m4) include(svt-hevc.m4) +include(svt-av1.m4) include(gmmlib.m4) include(libva.m4) include(media-driver.m4) diff --git a/template/svt-av1.m4 b/template/svt-av1.m4 new file mode 100644 index 000000000..ac97d4a12 --- /dev/null +++ b/template/svt-av1.m4 @@ -0,0 +1,13 @@ +# Fetch SVT-AV1 +ARG SVT_AV1_VER=a39acb2 +ARG SVT_AV1_REPO=https://github.com/OpenVisualCloud/SVT-AV1 + +RUN git clone ${SVT_AV1_REPO}; \ + cd SVT-AV1/Build/linux; \ + git checkout ${SVT_AV1_VER}; \ + mkdir -p ../../Bin/Release; \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=ifelse(index(DOCKER_IMAGE,ubuntu),-1,lib64,lib/x86_64-linux-gnu) -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ + make -j8; \ + make install DESTDIR=/home/build; \ + make install + diff --git a/test/svt_av1.sh b/test/svt_av1.sh new file mode 100755 index 000000000..ff410d186 --- /dev/null +++ b/test/svt_av1.sh @@ -0,0 +1,4 @@ +#!/bin/bash -e + +dd if=/dev/urandom bs=115200 count=300 of=test.yuv # 10 seconds video +SvtAv1EncApp -i test.yuv -w 320 -h 240 -b out.ivf . From 427b8f6067e05607e58c8811125b97e6fe384e94 Mon Sep 17 00:00:00 2001 From: Patel Dhaval Date: Thu, 14 Mar 2019 16:19:17 -0700 Subject: [PATCH 2/2] replacing semicolon with && --- VCA2/centos-7.4/ffmpeg+gst+dev/Dockerfile | 317 +++++++++--------- VCA2/centos-7.4/ffmpeg+gst+dev/Dockerfile.m4 | 1 + VCA2/centos-7.4/ffmpeg/Dockerfile | 240 ++++++------- VCA2/centos-7.4/gst/Dockerfile | 297 ++++++++-------- VCA2/centos-7.4/gst/Dockerfile.m4 | 1 + VCA2/centos-7.4/nginx+rtmp/Dockerfile | 40 +-- VCA2/centos-7.5/ffmpeg+gst+dev/Dockerfile | 317 +++++++++--------- VCA2/centos-7.5/ffmpeg+gst+dev/Dockerfile.m4 | 1 + VCA2/centos-7.5/ffmpeg/Dockerfile | 240 ++++++------- VCA2/centos-7.5/gst/Dockerfile | 297 ++++++++-------- VCA2/centos-7.5/gst/Dockerfile.m4 | 1 + VCA2/centos-7.5/nginx+rtmp/Dockerfile | 40 +-- VCA2/centos-7.6/ffmpeg+gst+dev/Dockerfile | 317 +++++++++--------- VCA2/centos-7.6/ffmpeg+gst+dev/Dockerfile.m4 | 1 + VCA2/centos-7.6/ffmpeg/Dockerfile | 240 ++++++------- VCA2/centos-7.6/gst/Dockerfile | 297 ++++++++-------- VCA2/centos-7.6/gst/Dockerfile.m4 | 1 + VCA2/centos-7.6/nginx+rtmp/Dockerfile | 40 +-- VCA2/ubuntu-16.04/ffmpeg+gst+dev/Dockerfile | 292 ++++++++-------- VCA2/ubuntu-16.04/ffmpeg/Dockerfile | 234 ++++++------- VCA2/ubuntu-16.04/gst/Dockerfile | 272 +++++++-------- VCA2/ubuntu-16.04/nginx+rtmp/Dockerfile | 40 +-- VCA2/ubuntu-18.04/ffmpeg+gst+dev/Dockerfile | 292 ++++++++-------- VCA2/ubuntu-18.04/ffmpeg/Dockerfile | 234 ++++++------- VCA2/ubuntu-18.04/gst/Dockerfile | 272 +++++++-------- VCA2/ubuntu-18.04/nginx+rtmp/Dockerfile | 40 +-- Xeon/centos-7.4/dldt+ffmpeg/Dockerfile | 202 +++++------ Xeon/centos-7.4/dldt+gst/Dockerfile | 267 ++++++++------- Xeon/centos-7.4/dldt+gst/Dockerfile.m4 | 1 + Xeon/centos-7.4/ffmpeg+gst+dev/Dockerfile | 275 +++++++-------- Xeon/centos-7.4/ffmpeg+gst+dev/Dockerfile.m4 | 1 + Xeon/centos-7.4/ffmpeg/Dockerfile | 202 +++++------ Xeon/centos-7.4/gst/Dockerfile | 267 ++++++++------- Xeon/centos-7.4/gst/Dockerfile.m4 | 1 + Xeon/centos-7.4/nginx+rtmp/Dockerfile | 40 +-- Xeon/centos-7.5/dldt+ffmpeg/Dockerfile | 202 +++++------ Xeon/centos-7.5/dldt+gst/Dockerfile | 267 ++++++++------- Xeon/centos-7.5/dldt+gst/Dockerfile.m4 | 1 + Xeon/centos-7.5/ffmpeg+gst+dev/Dockerfile | 275 +++++++-------- Xeon/centos-7.5/ffmpeg+gst+dev/Dockerfile.m4 | 1 + Xeon/centos-7.5/ffmpeg/Dockerfile | 202 +++++------ Xeon/centos-7.5/gst/Dockerfile | 267 ++++++++------- Xeon/centos-7.5/gst/Dockerfile.m4 | 1 + Xeon/centos-7.5/nginx+rtmp/Dockerfile | 40 +-- Xeon/centos-7.6/dldt+ffmpeg/Dockerfile | 202 +++++------ Xeon/centos-7.6/dldt+gst/Dockerfile | 267 ++++++++------- Xeon/centos-7.6/dldt+gst/Dockerfile.m4 | 1 + Xeon/centos-7.6/ffmpeg+gst+dev/Dockerfile | 275 +++++++-------- Xeon/centos-7.6/ffmpeg+gst+dev/Dockerfile.m4 | 1 + Xeon/centos-7.6/ffmpeg/Dockerfile | 202 +++++------ Xeon/centos-7.6/gst/Dockerfile | 267 ++++++++------- Xeon/centos-7.6/gst/Dockerfile.m4 | 1 + Xeon/centos-7.6/nginx+rtmp/Dockerfile | 40 +-- Xeon/ubuntu-16.04/dldt+ffmpeg/Dockerfile | 196 +++++------ Xeon/ubuntu-16.04/dldt+gst/Dockerfile | 250 +++++++------- Xeon/ubuntu-16.04/ffmpeg+gst+dev/Dockerfile | 258 +++++++------- Xeon/ubuntu-16.04/ffmpeg/Dockerfile | 196 +++++------ Xeon/ubuntu-16.04/gst/Dockerfile | 250 +++++++------- Xeon/ubuntu-16.04/nginx+rtmp/Dockerfile | 40 +-- Xeon/ubuntu-18.04/dldt+ffmpeg/Dockerfile | 196 +++++------ Xeon/ubuntu-18.04/dldt+gst/Dockerfile | 250 +++++++------- Xeon/ubuntu-18.04/ffmpeg+gst+dev/Dockerfile | 258 +++++++------- Xeon/ubuntu-18.04/ffmpeg/Dockerfile | 196 +++++------ Xeon/ubuntu-18.04/gst/Dockerfile | 250 +++++++------- Xeon/ubuntu-18.04/nginx+rtmp/Dockerfile | 40 +-- XeonE3/centos-7.4/ffmpeg+gst+dev/Dockerfile | 317 +++++++++--------- .../centos-7.4/ffmpeg+gst+dev/Dockerfile.m4 | 1 + XeonE3/centos-7.4/ffmpeg/Dockerfile | 240 ++++++------- XeonE3/centos-7.4/gst/Dockerfile | 297 ++++++++-------- XeonE3/centos-7.4/gst/Dockerfile.m4 | 1 + XeonE3/centos-7.4/nginx+rtmp/Dockerfile | 40 +-- XeonE3/centos-7.5/ffmpeg+gst+dev/Dockerfile | 317 +++++++++--------- .../centos-7.5/ffmpeg+gst+dev/Dockerfile.m4 | 1 + XeonE3/centos-7.5/ffmpeg/Dockerfile | 240 ++++++------- XeonE3/centos-7.5/gst/Dockerfile | 297 ++++++++-------- XeonE3/centos-7.5/gst/Dockerfile.m4 | 1 + XeonE3/centos-7.5/nginx+rtmp/Dockerfile | 40 +-- XeonE3/centos-7.6/ffmpeg+gst+dev/Dockerfile | 317 +++++++++--------- .../centos-7.6/ffmpeg+gst+dev/Dockerfile.m4 | 1 + XeonE3/centos-7.6/ffmpeg/Dockerfile | 240 ++++++------- XeonE3/centos-7.6/gst/Dockerfile | 297 ++++++++-------- XeonE3/centos-7.6/gst/Dockerfile.m4 | 1 + XeonE3/centos-7.6/nginx+rtmp/Dockerfile | 40 +-- XeonE3/ubuntu-16.04/ffmpeg+gst+dev/Dockerfile | 292 ++++++++-------- XeonE3/ubuntu-16.04/ffmpeg/Dockerfile | 234 ++++++------- XeonE3/ubuntu-16.04/gst/Dockerfile | 272 +++++++-------- XeonE3/ubuntu-16.04/nginx+rtmp/Dockerfile | 40 +-- XeonE3/ubuntu-18.04/ffmpeg+gst+dev/Dockerfile | 292 ++++++++-------- XeonE3/ubuntu-18.04/ffmpeg/Dockerfile | 234 ++++++------- XeonE3/ubuntu-18.04/gst/Dockerfile | 272 +++++++-------- XeonE3/ubuntu-18.04/nginx+rtmp/Dockerfile | 40 +-- template/automake.m4 | 8 +- template/cleanup.m4 | 8 +- template/cmake.m4 | 8 +- template/ffmpeg.m4 | 14 +- template/gst-plugin-bad.m4 | 12 +- template/gst-plugin-base.m4 | 12 +- template/gst-plugin-good.m4 | 12 +- template/gst-plugin-libav.m4 | 8 +- template/gst-plugin-ugly.m4 | 12 +- template/gst.m4 | 18 +- template/libaom.m4 | 14 +- template/libdrm.m4 | 12 +- template/libfdk-aac.m4 | 12 +- template/libmp3lame.m4 | 10 +- template/libogg.m4 | 10 +- template/libopus.m4 | 10 +- template/libva.m4 | 10 +- template/libvorbis.m4 | 10 +- template/libvpx.m4 | 12 +- template/libx264.m4 | 12 +- template/libx265.m4 | 10 +- template/media-driver.m4 | 12 +- template/media-sdk.m4 | 16 +- template/nasm.m4 | 12 +- template/nginx-qat.m4 | 18 +- template/nginx-rtmp.m4 | 10 +- template/nginx.m4 | 22 +- template/qat-driver.m4 | 26 +- template/qat-engine.m4 | 12 +- template/qat-openssl.m4 | 14 +- template/qat-zip.m4 | 16 +- template/svt-av1.m4 | 14 +- template/svt-hevc.m4 | 20 +- template/svt-vp9.m4 | 16 +- template/transform360.m4 | 24 +- template/yasm.m4 | 10 +- 127 files changed, 7802 insertions(+), 7550 deletions(-) diff --git a/VCA2/centos-7.4/ffmpeg+gst+dev/Dockerfile b/VCA2/centos-7.4/ffmpeg+gst+dev/Dockerfile index 4b6ac72f3..192bb9575 100644 --- a/VCA2/centos-7.4/ffmpeg+gst+dev/Dockerfile +++ b/VCA2/centos-7.4/ffmpeg+gst+dev/Dockerfile @@ -8,76 +8,76 @@ RUN yum install -y -q bzip2 make autoconf libtool git wget ca-certificates pkg-c # Install cmake ARG CMAKE_VER=3.13.1 ARG CMAKE_REPO=https://cmake.org/files -RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz; \ - cd cmake-${CMAKE_VER}; \ - ./bootstrap --prefix="/usr"; \ - make -j8; \ +RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz && \ + cd cmake-${CMAKE_VER} && \ + ./bootstrap --prefix="/usr" && \ + make -j8 && \ make install # Build NASM ARG NASM_VER=2.13.03 ARG NASM_REPO=https://www.nasm.us/pub/nasm/releasebuilds/${NASM_VER}/nasm-${NASM_VER}.tar.bz2 -RUN wget ${NASM_REPO}; \ - tar -xaf nasm*; \ - cd nasm-${NASM_VER}; \ - ./autogen.sh; \ - ./configure --prefix="/usr" --libdir=/usr/lib64; \ - make -j8; \ +RUN wget ${NASM_REPO} && \ + tar -xaf nasm* && \ + cd nasm-${NASM_VER} && \ + ./autogen.sh && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 && \ + make -j8 && \ make install # Build YASM ARG YASM_VER=1.3.0 ARG YASM_REPO=https://www.tortall.net/projects/yasm/releases/yasm-${YASM_VER}.tar.gz -RUN wget -O - ${YASM_REPO} | tar xz; \ - cd yasm-${YASM_VER}; \ - sed -i "s/) ytasm.*/)/" Makefile.in; \ - ./configure --prefix="/usr" --libdir=/usr/lib64; \ - make -j8; \ +RUN wget -O - ${YASM_REPO} | tar xz && \ + cd yasm-${YASM_VER} && \ + sed -i "s/) ytasm.*/)/" Makefile.in && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 && \ + make -j8 && \ make install # Build ogg ARG OGG_VER=1.3.3 ARG OGG_REPO=https://downloads.xiph.org/releases/ogg/libogg-${OGG_VER}.tar.xz -RUN wget -O - ${OGG_REPO} | tar xJ; \ - cd libogg-${OGG_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${OGG_REPO} | tar xJ && \ + cd libogg-${OGG_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build vorbis ARG VORBIS_VER=1.3.6 ARG VORBIS_REPO=https://downloads.xiph.org/releases/vorbis/libvorbis-${VORBIS_VER}.tar.xz -RUN wget -O - ${VORBIS_REPO} | tar xJ; \ - cd libvorbis-${VORBIS_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${VORBIS_REPO} | tar xJ && \ + cd libvorbis-${VORBIS_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build mp3lame ARG MP3LAME_VER=3.100 ARG MP3LAME_REPO=https://sourceforge.net/projects/lame/files/lame/${MP3LAME_VER}/lame-${MP3LAME_VER}.tar.gz -RUN wget -O - ${MP3LAME_REPO} | tar xz; \ - cd lame-${MP3LAME_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --enable-nasm; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${MP3LAME_REPO} | tar xz && \ + cd lame-${MP3LAME_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --enable-nasm && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build fdk-aac ARG FDK_AAC_VER=v0.1.6 ARG FDK_AAC_REPO=https://github.com/mstorsjo/fdk-aac/archive/${FDK_AAC_VER}.tar.gz -RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac; \ - cd fdk-aac; \ - autoreconf -fiv; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac && \ + cd fdk-aac && \ + autoreconf -fiv && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -85,23 +85,23 @@ RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac; \ ARG OPUS_VER=1.2.1 ARG OPUS_REPO=https://archive.mozilla.org/pub/opus/opus-${OPUS_VER}.tar.gz -RUN wget -O - ${OPUS_REPO} | tar xz; \ - cd opus-${OPUS_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${OPUS_REPO} | tar xz && \ + cd opus-${OPUS_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build vpx ARG VPX_VER=tags/v1.7.0 ARG VPX_REPO=https://chromium.googlesource.com/webm/libvpx.git -RUN git clone ${VPX_REPO}; \ - cd libvpx; \ - git checkout ${VPX_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=nasm; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${VPX_REPO} && \ + cd libvpx && \ + git checkout ${VPX_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=nasm && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -109,25 +109,25 @@ RUN git clone ${VPX_REPO}; \ ARG AOM_VER=tags/v1.0.0 ARG AOM_REPO=https://aomedia.googlesource.com/aom -RUN git clone ${AOM_REPO}; \ - mkdir aom/aom_build; \ - cd aom/aom_build; \ - git checkout ${AOM_VER}; \ - cmake -DBUILD_SHARED_LIBS=ON -DENABLE_NASM=ON -DENABLE_TESTS=OFF -DENABLE_DOCS=OFF -DCMAKE_INSTALL_PREFIX="/usr" -DLIB_INSTALL_DIR=/usr/lib64 ..; \ - make -j8; \ - make install DESTDIR="/home/build"; \ +RUN git clone ${AOM_REPO} && \ + mkdir aom/aom_build && \ + cd aom/aom_build && \ + git checkout ${AOM_VER} && \ + cmake -DBUILD_SHARED_LIBS=ON -DENABLE_NASM=ON -DENABLE_TESTS=OFF -DENABLE_DOCS=OFF -DCMAKE_INSTALL_PREFIX="/usr" -DLIB_INSTALL_DIR=/usr/lib64 .. && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ make install # Build x264 ARG X264_VER=stable ARG X264_REPO=https://github.com/mirror/x264 -RUN git clone ${X264_REPO}; \ - cd x264; \ - git checkout ${X264_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared; \ - make -j8; \ - make install DESTDIR="/home/build"; \ +RUN git clone ${X264_REPO} && \ + cd x264 && \ + git checkout ${X264_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ make install @@ -137,28 +137,28 @@ ARG X265_REPO=https://github.com/videolan/x265/archive/${X265_VER}.tar.gz RUN yum install -y -q numactl-devel libpciaccess-devel -RUN wget -O - ${X265_REPO} | tar xz && mv x265-${X265_VER} x265; \ - cd x265/build/linux; \ - cmake -DBUILD_SHARED_LIBS=ON -DENABLE_TESTS=OFF -DCMAKE_INSTALL_PREFIX=/usr -DLIB_INSTALL_DIR=/usr/lib64 ../../source; \ - make -j8; \ - make install DESTDIR="/home/build"; \ +RUN wget -O - ${X265_REPO} | tar xz && mv x265-${X265_VER} x265 && \ + cd x265/build/linux && \ + cmake -DBUILD_SHARED_LIBS=ON -DENABLE_TESTS=OFF -DCMAKE_INSTALL_PREFIX=/usr -DLIB_INSTALL_DIR=/usr/lib64 ../../source && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ make install # Fetch SVT-HEVC ARG SVT_HEVC_VER=v1.3.0 ARG SVT_HEVC_REPO=https://github.com/intel/SVT-HEVC -RUN yum install -y -q patch centos-release-scl; \ +RUN yum install -y -q patch centos-release-scl && \ yum install -y -q devtoolset-7 -RUN git clone ${SVT_HEVC_REPO}; \ - cd SVT-HEVC/Build/linux; \ - git checkout ${SVT_HEVC_VER}; \ - mkdir -p ../../Bin/Release; \ - ( source /opt/rh/devtoolset-7/enable; \ - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${SVT_HEVC_REPO} && \ + cd SVT-HEVC/Build/linux && \ + git checkout ${SVT_HEVC_VER} && \ + mkdir -p ../../Bin/Release && \ + ( source /opt/rh/devtoolset-7/enable && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install ) @@ -166,13 +166,13 @@ RUN git clone ${SVT_HEVC_REPO}; \ ARG SVT_AV1_VER=a39acb2 ARG SVT_AV1_REPO=https://github.com/OpenVisualCloud/SVT-AV1 -RUN git clone ${SVT_AV1_REPO}; \ - cd SVT-AV1/Build/linux; \ - git checkout ${SVT_AV1_VER}; \ - mkdir -p ../../Bin/Release; \ - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${SVT_AV1_REPO} && \ + cd SVT-AV1/Build/linux && \ + git checkout ${SVT_AV1_VER} && \ + mkdir -p ../../Bin/Release && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -180,14 +180,14 @@ RUN git clone ${SVT_AV1_REPO}; \ ARG SVT_VP9_VER=e92a57c ARG SVT_VP9_REPO=https://github.com/OpenVisualCloud/SVT-VP9 -RUN git clone ${SVT_VP9_REPO}; \ - cd SVT-VP9/Build/linux; \ - git checkout ${SVT_VP9_VER}; \ - mkdir -p ../../Bin/Release; \ - ( source /opt/rh/devtoolset-7/enable; \ - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${SVT_VP9_REPO} && \ + cd SVT-VP9/Build/linux && \ + git checkout ${SVT_VP9_VER} && \ + mkdir -p ../../Bin/Release && \ + ( source /opt/rh/devtoolset-7/enable && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install ) #include(transform360.m4) @@ -205,11 +205,11 @@ ARG LIBVA_REPO=https://github.com/intel/libva/archive/${LIBVA_VER}.tar.gz RUN yum install -y -q libX11-devel mesa-libGL-devel which libdrm-devel -RUN wget -O - ${LIBVA_REPO} | tar xz; \ - cd libva-${LIBVA_VER}; \ - ./autogen.sh --prefix=/usr --libdir=/usr/lib64; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${LIBVA_REPO} | tar xz && \ + cd libva-${LIBVA_VER} && \ + ./autogen.sh --prefix=/usr --libdir=/usr/lib64 && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install; @@ -219,12 +219,12 @@ ARG MEDIA_DRIVER_REPO=https://github.com/VCDP/media-driver/archive/${MEDIA_DRIVE RUN yum install -y -q libX11-devel mesa-libGL-devel libpciaccess-devel libXext-devel -RUN wget -O - ${MEDIA_DRIVER_REPO} | tar xz && mv media-driver-${MEDIA_DRIVER_VER} media-driver; \ - mkdir -p media-driver/build; \ - cd media-driver/build; \ - cmake -DBUILD_TYPE=release -DBUILD_ALONG_WITH_CMRTLIB=1 -DMEDIA_VERSION="2.0.0" -DBS_DIR_GMMLIB=/home/gmmlib/Source/GmmLib -DBS_DIR_COMMON=/home/gmmlib/Source/Common -DBS_DIR_INC=/home/gmmlib/Source/inc -DBS_DIR_MEDIA=/home/media-driver -Wno-dev -DCMAKE_INSTALL_PREFIX=/usr ..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${MEDIA_DRIVER_REPO} | tar xz && mv media-driver-${MEDIA_DRIVER_VER} media-driver && \ + mkdir -p media-driver/build && \ + cd media-driver/build && \ + cmake -DBUILD_TYPE=release -DBUILD_ALONG_WITH_CMRTLIB=1 -DMEDIA_VERSION="2.0.0" -DBS_DIR_GMMLIB=/home/gmmlib/Source/GmmLib -DBS_DIR_COMMON=/home/gmmlib/Source/Common -DBS_DIR_INC=/home/gmmlib/Source/inc -DBS_DIR_MEDIA=/home/media-driver -Wno-dev -DCMAKE_INSTALL_PREFIX=/usr .. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -233,12 +233,12 @@ RUN wget -O - ${MEDIA_DRIVER_REPO} | tar xz && mv media-driver-${MEDIA_DRIVER_VE ARG MSDK_VER=MSS-KBL-2019-R1 ARG MSDK_REPO=https://github.com/Intel-Media-SDK/MediaSDK/archive/${MSDK_VER}.tar.gz -RUN wget -O - ${MSDK_REPO} | tar xz && mv MediaSDK-${MSDK_VER} MediaSDK; \ - mkdir -p MediaSDK/build; \ - cd MediaSDK/build; \ - cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_INCLUDEDIR=include/mfx -DBUILD_SAMPLES=OFF -DENABLE_OPENCL=OFF -Wno-dev ..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${MSDK_REPO} | tar xz && mv MediaSDK-${MSDK_VER} MediaSDK && \ + mkdir -p MediaSDK/build && \ + cd MediaSDK/build && \ + cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_INCLUDEDIR=include/mfx -DBUILD_SAMPLES=OFF -DENABLE_OPENCL=OFF -Wno-dev .. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install; # Build DLDT-Inference Engine @@ -276,62 +276,73 @@ RUN git clone -b ${DLDT_VER} ${DLDT_REPO}; \ echo "Cflags: -I\${includedir}" >> "$pc"; \ done; +# Install automake +ARG AUTOMAKE_VER=1.14 +ARG AUTOMAKE_REPO=https://ftp.gnu.org/pub/gnu/automake/automake-${AUTOMAKE_VER}.tar.xz + +RUN wget -O - ${AUTOMAKE_REPO} | tar xJ && \ + cd automake-${AUTOMAKE_VER} && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --disable-doc && \ + make -j8 && \ + make install + + # Build the gstremaer core ARG GST_VER=1.14.4 ARG GST_REPO=https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${GST_VER}.tar.xz -RUN yum install -y -q glib2-devel-2.56.1 -RUN wget -O - ${GST_REPO} | tar xJ; \ - cd gstreamer-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples ; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN yum install -y -q glib2-devel-2.56.1 gettext-devel gtk-doc +RUN wget -O - ${GST_REPO} | tar xJ && \ + cd gstreamer-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin base ARG GST_PLUGIN_BASE_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_BASE_REPO} | tar xJ; \ - cd gst-plugins-base-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples ; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${GST_PLUGIN_BASE_REPO} | tar xJ && \ + cd gst-plugins-base-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin good set ARG GST_PLUGIN_GOOD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_GOOD_REPO} | tar xJ; \ - cd gst-plugins-good-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples ; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${GST_PLUGIN_GOOD_REPO} | tar xJ && \ + cd gst-plugins-good-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin bad set ARG GST_PLUGIN_BAD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_BAD_REPO} | tar xJ; \ - cd gst-plugins-bad-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples ; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${GST_PLUGIN_BAD_REPO} | tar xJ && \ + cd gst-plugins-bad-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin ugly set ARG GST_PLUGIN_UGLY_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_UGLY_REPO} | tar xJ; \ - cd gst-plugins-ugly-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples ; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${GST_PLUGIN_UGLY_REPO} | tar xJ && \ + cd gst-plugins-ugly-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build gst-libav @@ -339,10 +350,10 @@ ARG GST_PLUGIN_LIBAV_REPO=https://gstreamer.freedesktop.org/src/gst-libav/gst-li RUN yum install -y -q zlib-devel openssl-devel -RUN wget -O - ${GST_PLUGIN_LIBAV_REPO} | tar xJ; \ - cd gst-libav-${GST_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --enable-gpl; \ - make -j8; \ +RUN wget -O - ${GST_PLUGIN_LIBAV_REPO} | tar xJ && \ + cd gst-libav-${GST_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --enable-gpl && \ + make -j8 && \ make install DESTDIR="/home/build" @@ -351,10 +362,10 @@ RUN wget -O - ${GST_PLUGIN_LIBAV_REPO} | tar xJ; \ ARG AUTOMAKE_VER=1.14 ARG AUTOMAKE_REPO=https://ftp.gnu.org/pub/gnu/automake/automake-${AUTOMAKE_VER}.tar.xz -RUN wget -O - ${AUTOMAKE_REPO} | tar xJ; \ - cd automake-${AUTOMAKE_VER}; \ - ./configure --prefix=/usr --libdir=/usr/lib64 --disable-doc; \ - make -j8; \ +RUN wget -O - ${AUTOMAKE_REPO} | tar xJ && \ + cd automake-${AUTOMAKE_VER} && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --disable-doc && \ + make -j8 && \ make install @@ -380,20 +391,20 @@ ARG FFMPEG_1TN_PATCH_REPO=https://patchwork.ffmpeg.org/patch/11625/raw ARG FFMPEG_THREAD_PATCH_REPO=https://patchwork.ffmpeg.org/patch/11035/raw RUN yum install -y -q libass-devel freetype-devel SDL2-devel libxcb-devel libvdpau-devel texinfo zlib-devel openssl-devel -RUN wget -O - ${FFMPEG_REPO} | tar xz && mv FFmpeg-${FFMPEG_VER} FFmpeg; \ - cd FFmpeg; \ - wget -O - ${FFMPEG_FLV_PATCH_REPO} | patch -p1; \ - wget -O - ${FFMPEG_1TN_PATCH_REPO} | patch -p1; \ +RUN wget -O - ${FFMPEG_REPO} | tar xz && mv FFmpeg-${FFMPEG_VER} FFmpeg && \ + cd FFmpeg && \ + wget -O - ${FFMPEG_FLV_PATCH_REPO} | patch -p1 && \ + wget -O - ${FFMPEG_1TN_PATCH_REPO} | patch -p1 && \ wget -O - ${FFMPEG_THREAD_PATCH_REPO} | patch -p1; # Patch FFmpeg source for SVT-HEVC -RUN cd /home/FFmpeg; \ +RUN cd /home/FFmpeg && \ patch -p1 < ../SVT-HEVC/ffmpeg_plugin/0001-lavc-svt_hevc-add-libsvt-hevc-encoder-wrapper.patch; # Compile FFmpeg -RUN cd /home/FFmpeg; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --extra-libs="-lpthread -lm" --enable-shared --enable-gpl --enable-libass --enable-libfreetype --enable-openssl --enable-nonfree --enable-libdrm --enable-libmfx --enable-libfdk-aac --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-libaom --enable-libsvthevc ; \ - make -j8; \ +RUN cd /home/FFmpeg && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --extra-libs="-lpthread -lm" --enable-shared --enable-gpl --enable-libass --enable-libfreetype --enable-openssl --enable-nonfree --enable-libdrm --enable-libmfx --enable-libfdk-aac --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-libaom --enable-libsvthevc && \ + make -j8 && \ make install DESTDIR="/home/build" diff --git a/VCA2/centos-7.4/ffmpeg+gst+dev/Dockerfile.m4 b/VCA2/centos-7.4/ffmpeg+gst+dev/Dockerfile.m4 index 93ac92410..6dec56675 100644 --- a/VCA2/centos-7.4/ffmpeg+gst+dev/Dockerfile.m4 +++ b/VCA2/centos-7.4/ffmpeg+gst+dev/Dockerfile.m4 @@ -23,6 +23,7 @@ include(libva.m4) include(media-driver.m4) include(media-sdk.m4) include(dldt-ie.m4) +include(automake.m4) include(gst.m4) include(gst-plugin-base.m4) include(gst-plugin-good.m4) diff --git a/VCA2/centos-7.4/ffmpeg/Dockerfile b/VCA2/centos-7.4/ffmpeg/Dockerfile index f2694c847..71e15db22 100644 --- a/VCA2/centos-7.4/ffmpeg/Dockerfile +++ b/VCA2/centos-7.4/ffmpeg/Dockerfile @@ -8,76 +8,76 @@ RUN yum install -y -q bzip2 make autoconf libtool git wget ca-certificates pkg-c # Install cmake ARG CMAKE_VER=3.13.1 ARG CMAKE_REPO=https://cmake.org/files -RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz; \ - cd cmake-${CMAKE_VER}; \ - ./bootstrap --prefix="/usr"; \ - make -j8; \ +RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz && \ + cd cmake-${CMAKE_VER} && \ + ./bootstrap --prefix="/usr" && \ + make -j8 && \ make install # Build NASM ARG NASM_VER=2.13.03 ARG NASM_REPO=https://www.nasm.us/pub/nasm/releasebuilds/${NASM_VER}/nasm-${NASM_VER}.tar.bz2 -RUN wget ${NASM_REPO}; \ - tar -xaf nasm*; \ - cd nasm-${NASM_VER}; \ - ./autogen.sh; \ - ./configure --prefix="/usr" --libdir=/usr/lib64; \ - make -j8; \ +RUN wget ${NASM_REPO} && \ + tar -xaf nasm* && \ + cd nasm-${NASM_VER} && \ + ./autogen.sh && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 && \ + make -j8 && \ make install # Build YASM ARG YASM_VER=1.3.0 ARG YASM_REPO=https://www.tortall.net/projects/yasm/releases/yasm-${YASM_VER}.tar.gz -RUN wget -O - ${YASM_REPO} | tar xz; \ - cd yasm-${YASM_VER}; \ - sed -i "s/) ytasm.*/)/" Makefile.in; \ - ./configure --prefix="/usr" --libdir=/usr/lib64; \ - make -j8; \ +RUN wget -O - ${YASM_REPO} | tar xz && \ + cd yasm-${YASM_VER} && \ + sed -i "s/) ytasm.*/)/" Makefile.in && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 && \ + make -j8 && \ make install # Build ogg ARG OGG_VER=1.3.3 ARG OGG_REPO=https://downloads.xiph.org/releases/ogg/libogg-${OGG_VER}.tar.xz -RUN wget -O - ${OGG_REPO} | tar xJ; \ - cd libogg-${OGG_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${OGG_REPO} | tar xJ && \ + cd libogg-${OGG_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build vorbis ARG VORBIS_VER=1.3.6 ARG VORBIS_REPO=https://downloads.xiph.org/releases/vorbis/libvorbis-${VORBIS_VER}.tar.xz -RUN wget -O - ${VORBIS_REPO} | tar xJ; \ - cd libvorbis-${VORBIS_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${VORBIS_REPO} | tar xJ && \ + cd libvorbis-${VORBIS_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build mp3lame ARG MP3LAME_VER=3.100 ARG MP3LAME_REPO=https://sourceforge.net/projects/lame/files/lame/${MP3LAME_VER}/lame-${MP3LAME_VER}.tar.gz -RUN wget -O - ${MP3LAME_REPO} | tar xz; \ - cd lame-${MP3LAME_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --enable-nasm; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${MP3LAME_REPO} | tar xz && \ + cd lame-${MP3LAME_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --enable-nasm && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build fdk-aac ARG FDK_AAC_VER=v0.1.6 ARG FDK_AAC_REPO=https://github.com/mstorsjo/fdk-aac/archive/${FDK_AAC_VER}.tar.gz -RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac; \ - cd fdk-aac; \ - autoreconf -fiv; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac && \ + cd fdk-aac && \ + autoreconf -fiv && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -85,23 +85,23 @@ RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac; \ ARG OPUS_VER=1.2.1 ARG OPUS_REPO=https://archive.mozilla.org/pub/opus/opus-${OPUS_VER}.tar.gz -RUN wget -O - ${OPUS_REPO} | tar xz; \ - cd opus-${OPUS_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${OPUS_REPO} | tar xz && \ + cd opus-${OPUS_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build vpx ARG VPX_VER=tags/v1.7.0 ARG VPX_REPO=https://chromium.googlesource.com/webm/libvpx.git -RUN git clone ${VPX_REPO}; \ - cd libvpx; \ - git checkout ${VPX_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=nasm; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${VPX_REPO} && \ + cd libvpx && \ + git checkout ${VPX_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=nasm && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -109,25 +109,25 @@ RUN git clone ${VPX_REPO}; \ ARG AOM_VER=tags/v1.0.0 ARG AOM_REPO=https://aomedia.googlesource.com/aom -RUN git clone ${AOM_REPO}; \ - mkdir aom/aom_build; \ - cd aom/aom_build; \ - git checkout ${AOM_VER}; \ - cmake -DBUILD_SHARED_LIBS=ON -DENABLE_NASM=ON -DENABLE_TESTS=OFF -DENABLE_DOCS=OFF -DCMAKE_INSTALL_PREFIX="/usr" -DLIB_INSTALL_DIR=/usr/lib64 ..; \ - make -j8; \ - make install DESTDIR="/home/build"; \ +RUN git clone ${AOM_REPO} && \ + mkdir aom/aom_build && \ + cd aom/aom_build && \ + git checkout ${AOM_VER} && \ + cmake -DBUILD_SHARED_LIBS=ON -DENABLE_NASM=ON -DENABLE_TESTS=OFF -DENABLE_DOCS=OFF -DCMAKE_INSTALL_PREFIX="/usr" -DLIB_INSTALL_DIR=/usr/lib64 .. && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ make install # Build x264 ARG X264_VER=stable ARG X264_REPO=https://github.com/mirror/x264 -RUN git clone ${X264_REPO}; \ - cd x264; \ - git checkout ${X264_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared; \ - make -j8; \ - make install DESTDIR="/home/build"; \ +RUN git clone ${X264_REPO} && \ + cd x264 && \ + git checkout ${X264_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ make install @@ -137,28 +137,28 @@ ARG X265_REPO=https://github.com/videolan/x265/archive/${X265_VER}.tar.gz RUN yum install -y -q numactl-devel libpciaccess-devel -RUN wget -O - ${X265_REPO} | tar xz && mv x265-${X265_VER} x265; \ - cd x265/build/linux; \ - cmake -DBUILD_SHARED_LIBS=ON -DENABLE_TESTS=OFF -DCMAKE_INSTALL_PREFIX=/usr -DLIB_INSTALL_DIR=/usr/lib64 ../../source; \ - make -j8; \ - make install DESTDIR="/home/build"; \ +RUN wget -O - ${X265_REPO} | tar xz && mv x265-${X265_VER} x265 && \ + cd x265/build/linux && \ + cmake -DBUILD_SHARED_LIBS=ON -DENABLE_TESTS=OFF -DCMAKE_INSTALL_PREFIX=/usr -DLIB_INSTALL_DIR=/usr/lib64 ../../source && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ make install # Fetch SVT-HEVC ARG SVT_HEVC_VER=v1.3.0 ARG SVT_HEVC_REPO=https://github.com/intel/SVT-HEVC -RUN yum install -y -q patch centos-release-scl; \ +RUN yum install -y -q patch centos-release-scl && \ yum install -y -q devtoolset-7 -RUN git clone ${SVT_HEVC_REPO}; \ - cd SVT-HEVC/Build/linux; \ - git checkout ${SVT_HEVC_VER}; \ - mkdir -p ../../Bin/Release; \ - ( source /opt/rh/devtoolset-7/enable; \ - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${SVT_HEVC_REPO} && \ + cd SVT-HEVC/Build/linux && \ + git checkout ${SVT_HEVC_VER} && \ + mkdir -p ../../Bin/Release && \ + ( source /opt/rh/devtoolset-7/enable && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install ) @@ -166,13 +166,13 @@ RUN git clone ${SVT_HEVC_REPO}; \ ARG SVT_AV1_VER=a39acb2 ARG SVT_AV1_REPO=https://github.com/OpenVisualCloud/SVT-AV1 -RUN git clone ${SVT_AV1_REPO}; \ - cd SVT-AV1/Build/linux; \ - git checkout ${SVT_AV1_VER}; \ - mkdir -p ../../Bin/Release; \ - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${SVT_AV1_REPO} && \ + cd SVT-AV1/Build/linux && \ + git checkout ${SVT_AV1_VER} && \ + mkdir -p ../../Bin/Release && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -180,14 +180,14 @@ RUN git clone ${SVT_AV1_REPO}; \ ARG SVT_VP9_VER=e92a57c ARG SVT_VP9_REPO=https://github.com/OpenVisualCloud/SVT-VP9 -RUN git clone ${SVT_VP9_REPO}; \ - cd SVT-VP9/Build/linux; \ - git checkout ${SVT_VP9_VER}; \ - mkdir -p ../../Bin/Release; \ - ( source /opt/rh/devtoolset-7/enable; \ - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${SVT_VP9_REPO} && \ + cd SVT-VP9/Build/linux && \ + git checkout ${SVT_VP9_VER} && \ + mkdir -p ../../Bin/Release && \ + ( source /opt/rh/devtoolset-7/enable && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install ) #include(transform360.m4) @@ -205,11 +205,11 @@ ARG LIBVA_REPO=https://github.com/intel/libva/archive/${LIBVA_VER}.tar.gz RUN yum install -y -q libX11-devel mesa-libGL-devel which libdrm-devel -RUN wget -O - ${LIBVA_REPO} | tar xz; \ - cd libva-${LIBVA_VER}; \ - ./autogen.sh --prefix=/usr --libdir=/usr/lib64; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${LIBVA_REPO} | tar xz && \ + cd libva-${LIBVA_VER} && \ + ./autogen.sh --prefix=/usr --libdir=/usr/lib64 && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install; @@ -219,12 +219,12 @@ ARG MEDIA_DRIVER_REPO=https://github.com/VCDP/media-driver/archive/${MEDIA_DRIVE RUN yum install -y -q libX11-devel mesa-libGL-devel libpciaccess-devel libXext-devel -RUN wget -O - ${MEDIA_DRIVER_REPO} | tar xz && mv media-driver-${MEDIA_DRIVER_VER} media-driver; \ - mkdir -p media-driver/build; \ - cd media-driver/build; \ - cmake -DBUILD_TYPE=release -DBUILD_ALONG_WITH_CMRTLIB=1 -DMEDIA_VERSION="2.0.0" -DBS_DIR_GMMLIB=/home/gmmlib/Source/GmmLib -DBS_DIR_COMMON=/home/gmmlib/Source/Common -DBS_DIR_INC=/home/gmmlib/Source/inc -DBS_DIR_MEDIA=/home/media-driver -Wno-dev -DCMAKE_INSTALL_PREFIX=/usr ..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${MEDIA_DRIVER_REPO} | tar xz && mv media-driver-${MEDIA_DRIVER_VER} media-driver && \ + mkdir -p media-driver/build && \ + cd media-driver/build && \ + cmake -DBUILD_TYPE=release -DBUILD_ALONG_WITH_CMRTLIB=1 -DMEDIA_VERSION="2.0.0" -DBS_DIR_GMMLIB=/home/gmmlib/Source/GmmLib -DBS_DIR_COMMON=/home/gmmlib/Source/Common -DBS_DIR_INC=/home/gmmlib/Source/inc -DBS_DIR_MEDIA=/home/media-driver -Wno-dev -DCMAKE_INSTALL_PREFIX=/usr .. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -233,14 +233,14 @@ RUN wget -O - ${MEDIA_DRIVER_REPO} | tar xz && mv media-driver-${MEDIA_DRIVER_VE ARG MSDK_VER=MSS-KBL-2019-R1 ARG MSDK_REPO=https://github.com/Intel-Media-SDK/MediaSDK/archive/${MSDK_VER}.tar.gz -RUN wget -O - ${MSDK_REPO} | tar xz && mv MediaSDK-${MSDK_VER} MediaSDK; \ - mkdir -p MediaSDK/build; \ - cd MediaSDK/build; \ - cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_INCLUDEDIR=include/mfx -DBUILD_SAMPLES=OFF -DENABLE_OPENCL=OFF -Wno-dev ..; \ - make -j8; \ - make install DESTDIR=/home/build; \ - rm -rf /home/build/usr/samples; \ - rm -rf /home/build/usr/plugins; \ +RUN wget -O - ${MSDK_REPO} | tar xz && mv MediaSDK-${MSDK_VER} MediaSDK && \ + mkdir -p MediaSDK/build && \ + cd MediaSDK/build && \ + cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_INCLUDEDIR=include/mfx -DBUILD_SAMPLES=OFF -DENABLE_OPENCL=OFF -Wno-dev .. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ + rm -rf /home/build/usr/samples && \ + rm -rf /home/build/usr/plugins && \ make install; # Fetch FFmpeg source @@ -251,28 +251,28 @@ ARG FFMPEG_1TN_PATCH_REPO=https://patchwork.ffmpeg.org/patch/11625/raw ARG FFMPEG_THREAD_PATCH_REPO=https://patchwork.ffmpeg.org/patch/11035/raw RUN yum install -y -q SDL2-devel libxcb-devel libvdpau-devel zlib-devel openssl-devel -RUN wget -O - ${FFMPEG_REPO} | tar xz && mv FFmpeg-${FFMPEG_VER} FFmpeg; \ - cd FFmpeg; \ - wget -O - ${FFMPEG_FLV_PATCH_REPO} | patch -p1; \ - wget -O - ${FFMPEG_1TN_PATCH_REPO} | patch -p1; \ +RUN wget -O - ${FFMPEG_REPO} | tar xz && mv FFmpeg-${FFMPEG_VER} FFmpeg && \ + cd FFmpeg && \ + wget -O - ${FFMPEG_FLV_PATCH_REPO} | patch -p1 && \ + wget -O - ${FFMPEG_1TN_PATCH_REPO} | patch -p1 && \ wget -O - ${FFMPEG_THREAD_PATCH_REPO} | patch -p1; # Patch FFmpeg source for SVT-HEVC -RUN cd /home/FFmpeg; \ +RUN cd /home/FFmpeg && \ patch -p1 < ../SVT-HEVC/ffmpeg_plugin/0001-lavc-svt_hevc-add-libsvt-hevc-encoder-wrapper.patch; # Compile FFmpeg -RUN cd /home/FFmpeg; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --extra-libs="-lpthread -lm" --enable-shared --enable-gpl --enable-openssl --enable-nonfree --enable-libdrm --enable-libmfx --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --enable-libfdk-aac --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-libaom --enable-libsvthevc ; \ - make -j8; \ +RUN cd /home/FFmpeg && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --extra-libs="-lpthread -lm" --enable-shared --enable-gpl --enable-openssl --enable-nonfree --enable-libdrm --enable-libmfx --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --enable-libfdk-aac --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-libaom --enable-libsvthevc && \ + make -j8 && \ make install DESTDIR="/home/build" # Clean up after build -RUN rm -rf /home/build/usr/include; \ - rm -rf /home/build/usr/share/doc; \ - rm -rf /home/build/usr/share/gtk-doc; \ - rm -rf /home/build/usr/share/man; \ +RUN rm -rf /home/build/usr/include && \ + rm -rf /home/build/usr/share/doc && \ + rm -rf /home/build/usr/share/gtk-doc && \ + rm -rf /home/build/usr/share/man && \ find /home/build -name "*.a" -exec rm -f {} \; FROM centos:7.4.1708 diff --git a/VCA2/centos-7.4/gst/Dockerfile b/VCA2/centos-7.4/gst/Dockerfile index 7b911685d..aa5ab7a7f 100644 --- a/VCA2/centos-7.4/gst/Dockerfile +++ b/VCA2/centos-7.4/gst/Dockerfile @@ -8,76 +8,76 @@ RUN yum install -y -q bzip2 make autoconf libtool git wget ca-certificates pkg-c # Install cmake ARG CMAKE_VER=3.13.1 ARG CMAKE_REPO=https://cmake.org/files -RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz; \ - cd cmake-${CMAKE_VER}; \ - ./bootstrap --prefix="/usr"; \ - make -j8; \ +RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz && \ + cd cmake-${CMAKE_VER} && \ + ./bootstrap --prefix="/usr" && \ + make -j8 && \ make install # Build NASM ARG NASM_VER=2.13.03 ARG NASM_REPO=https://www.nasm.us/pub/nasm/releasebuilds/${NASM_VER}/nasm-${NASM_VER}.tar.bz2 -RUN wget ${NASM_REPO}; \ - tar -xaf nasm*; \ - cd nasm-${NASM_VER}; \ - ./autogen.sh; \ - ./configure --prefix="/usr" --libdir=/usr/lib64; \ - make -j8; \ +RUN wget ${NASM_REPO} && \ + tar -xaf nasm* && \ + cd nasm-${NASM_VER} && \ + ./autogen.sh && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 && \ + make -j8 && \ make install # Build YASM ARG YASM_VER=1.3.0 ARG YASM_REPO=https://www.tortall.net/projects/yasm/releases/yasm-${YASM_VER}.tar.gz -RUN wget -O - ${YASM_REPO} | tar xz; \ - cd yasm-${YASM_VER}; \ - sed -i "s/) ytasm.*/)/" Makefile.in; \ - ./configure --prefix="/usr" --libdir=/usr/lib64; \ - make -j8; \ +RUN wget -O - ${YASM_REPO} | tar xz && \ + cd yasm-${YASM_VER} && \ + sed -i "s/) ytasm.*/)/" Makefile.in && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 && \ + make -j8 && \ make install # Build ogg ARG OGG_VER=1.3.3 ARG OGG_REPO=https://downloads.xiph.org/releases/ogg/libogg-${OGG_VER}.tar.xz -RUN wget -O - ${OGG_REPO} | tar xJ; \ - cd libogg-${OGG_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${OGG_REPO} | tar xJ && \ + cd libogg-${OGG_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build vorbis ARG VORBIS_VER=1.3.6 ARG VORBIS_REPO=https://downloads.xiph.org/releases/vorbis/libvorbis-${VORBIS_VER}.tar.xz -RUN wget -O - ${VORBIS_REPO} | tar xJ; \ - cd libvorbis-${VORBIS_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${VORBIS_REPO} | tar xJ && \ + cd libvorbis-${VORBIS_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build mp3lame ARG MP3LAME_VER=3.100 ARG MP3LAME_REPO=https://sourceforge.net/projects/lame/files/lame/${MP3LAME_VER}/lame-${MP3LAME_VER}.tar.gz -RUN wget -O - ${MP3LAME_REPO} | tar xz; \ - cd lame-${MP3LAME_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --enable-nasm; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${MP3LAME_REPO} | tar xz && \ + cd lame-${MP3LAME_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --enable-nasm && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build fdk-aac ARG FDK_AAC_VER=v0.1.6 ARG FDK_AAC_REPO=https://github.com/mstorsjo/fdk-aac/archive/${FDK_AAC_VER}.tar.gz -RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac; \ - cd fdk-aac; \ - autoreconf -fiv; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac && \ + cd fdk-aac && \ + autoreconf -fiv && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -85,23 +85,23 @@ RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac; \ ARG OPUS_VER=1.2.1 ARG OPUS_REPO=https://archive.mozilla.org/pub/opus/opus-${OPUS_VER}.tar.gz -RUN wget -O - ${OPUS_REPO} | tar xz; \ - cd opus-${OPUS_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${OPUS_REPO} | tar xz && \ + cd opus-${OPUS_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build vpx ARG VPX_VER=tags/v1.7.0 ARG VPX_REPO=https://chromium.googlesource.com/webm/libvpx.git -RUN git clone ${VPX_REPO}; \ - cd libvpx; \ - git checkout ${VPX_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=nasm; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${VPX_REPO} && \ + cd libvpx && \ + git checkout ${VPX_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=nasm && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -109,25 +109,25 @@ RUN git clone ${VPX_REPO}; \ ARG AOM_VER=tags/v1.0.0 ARG AOM_REPO=https://aomedia.googlesource.com/aom -RUN git clone ${AOM_REPO}; \ - mkdir aom/aom_build; \ - cd aom/aom_build; \ - git checkout ${AOM_VER}; \ - cmake -DBUILD_SHARED_LIBS=ON -DENABLE_NASM=ON -DENABLE_TESTS=OFF -DENABLE_DOCS=OFF -DCMAKE_INSTALL_PREFIX="/usr" -DLIB_INSTALL_DIR=/usr/lib64 ..; \ - make -j8; \ - make install DESTDIR="/home/build"; \ +RUN git clone ${AOM_REPO} && \ + mkdir aom/aom_build && \ + cd aom/aom_build && \ + git checkout ${AOM_VER} && \ + cmake -DBUILD_SHARED_LIBS=ON -DENABLE_NASM=ON -DENABLE_TESTS=OFF -DENABLE_DOCS=OFF -DCMAKE_INSTALL_PREFIX="/usr" -DLIB_INSTALL_DIR=/usr/lib64 .. && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ make install # Build x264 ARG X264_VER=stable ARG X264_REPO=https://github.com/mirror/x264 -RUN git clone ${X264_REPO}; \ - cd x264; \ - git checkout ${X264_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared; \ - make -j8; \ - make install DESTDIR="/home/build"; \ +RUN git clone ${X264_REPO} && \ + cd x264 && \ + git checkout ${X264_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ make install @@ -137,28 +137,28 @@ ARG X265_REPO=https://github.com/videolan/x265/archive/${X265_VER}.tar.gz RUN yum install -y -q numactl-devel libpciaccess-devel -RUN wget -O - ${X265_REPO} | tar xz && mv x265-${X265_VER} x265; \ - cd x265/build/linux; \ - cmake -DBUILD_SHARED_LIBS=ON -DENABLE_TESTS=OFF -DCMAKE_INSTALL_PREFIX=/usr -DLIB_INSTALL_DIR=/usr/lib64 ../../source; \ - make -j8; \ - make install DESTDIR="/home/build"; \ +RUN wget -O - ${X265_REPO} | tar xz && mv x265-${X265_VER} x265 && \ + cd x265/build/linux && \ + cmake -DBUILD_SHARED_LIBS=ON -DENABLE_TESTS=OFF -DCMAKE_INSTALL_PREFIX=/usr -DLIB_INSTALL_DIR=/usr/lib64 ../../source && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ make install # Fetch SVT-HEVC ARG SVT_HEVC_VER=v1.3.0 ARG SVT_HEVC_REPO=https://github.com/intel/SVT-HEVC -RUN yum install -y -q patch centos-release-scl; \ +RUN yum install -y -q patch centos-release-scl && \ yum install -y -q devtoolset-7 -RUN git clone ${SVT_HEVC_REPO}; \ - cd SVT-HEVC/Build/linux; \ - git checkout ${SVT_HEVC_VER}; \ - mkdir -p ../../Bin/Release; \ - ( source /opt/rh/devtoolset-7/enable; \ - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${SVT_HEVC_REPO} && \ + cd SVT-HEVC/Build/linux && \ + git checkout ${SVT_HEVC_VER} && \ + mkdir -p ../../Bin/Release && \ + ( source /opt/rh/devtoolset-7/enable && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install ) @@ -166,13 +166,13 @@ RUN git clone ${SVT_HEVC_REPO}; \ ARG SVT_AV1_VER=a39acb2 ARG SVT_AV1_REPO=https://github.com/OpenVisualCloud/SVT-AV1 -RUN git clone ${SVT_AV1_REPO}; \ - cd SVT-AV1/Build/linux; \ - git checkout ${SVT_AV1_VER}; \ - mkdir -p ../../Bin/Release; \ - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${SVT_AV1_REPO} && \ + cd SVT-AV1/Build/linux && \ + git checkout ${SVT_AV1_VER} && \ + mkdir -p ../../Bin/Release && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -180,14 +180,14 @@ RUN git clone ${SVT_AV1_REPO}; \ ARG SVT_VP9_VER=e92a57c ARG SVT_VP9_REPO=https://github.com/OpenVisualCloud/SVT-VP9 -RUN git clone ${SVT_VP9_REPO}; \ - cd SVT-VP9/Build/linux; \ - git checkout ${SVT_VP9_VER}; \ - mkdir -p ../../Bin/Release; \ - ( source /opt/rh/devtoolset-7/enable; \ - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${SVT_VP9_REPO} && \ + cd SVT-VP9/Build/linux && \ + git checkout ${SVT_VP9_VER} && \ + mkdir -p ../../Bin/Release && \ + ( source /opt/rh/devtoolset-7/enable && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install ) # Fetch gmmlib @@ -204,11 +204,11 @@ ARG LIBVA_REPO=https://github.com/intel/libva/archive/${LIBVA_VER}.tar.gz RUN yum install -y -q libX11-devel mesa-libGL-devel which libdrm-devel -RUN wget -O - ${LIBVA_REPO} | tar xz; \ - cd libva-${LIBVA_VER}; \ - ./autogen.sh --prefix=/usr --libdir=/usr/lib64; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${LIBVA_REPO} | tar xz && \ + cd libva-${LIBVA_VER} && \ + ./autogen.sh --prefix=/usr --libdir=/usr/lib64 && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install; @@ -218,72 +218,83 @@ ARG MEDIA_DRIVER_REPO=https://github.com/VCDP/media-driver/archive/${MEDIA_DRIVE RUN yum install -y -q libX11-devel mesa-libGL-devel libpciaccess-devel libXext-devel -RUN wget -O - ${MEDIA_DRIVER_REPO} | tar xz && mv media-driver-${MEDIA_DRIVER_VER} media-driver; \ - mkdir -p media-driver/build; \ - cd media-driver/build; \ - cmake -DBUILD_TYPE=release -DBUILD_ALONG_WITH_CMRTLIB=1 -DMEDIA_VERSION="2.0.0" -DBS_DIR_GMMLIB=/home/gmmlib/Source/GmmLib -DBS_DIR_COMMON=/home/gmmlib/Source/Common -DBS_DIR_INC=/home/gmmlib/Source/inc -DBS_DIR_MEDIA=/home/media-driver -Wno-dev -DCMAKE_INSTALL_PREFIX=/usr ..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${MEDIA_DRIVER_REPO} | tar xz && mv media-driver-${MEDIA_DRIVER_VER} media-driver && \ + mkdir -p media-driver/build && \ + cd media-driver/build && \ + cmake -DBUILD_TYPE=release -DBUILD_ALONG_WITH_CMRTLIB=1 -DMEDIA_VERSION="2.0.0" -DBS_DIR_GMMLIB=/home/gmmlib/Source/GmmLib -DBS_DIR_COMMON=/home/gmmlib/Source/Common -DBS_DIR_INC=/home/gmmlib/Source/inc -DBS_DIR_MEDIA=/home/media-driver -Wno-dev -DCMAKE_INSTALL_PREFIX=/usr .. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install +# Install automake +ARG AUTOMAKE_VER=1.14 +ARG AUTOMAKE_REPO=https://ftp.gnu.org/pub/gnu/automake/automake-${AUTOMAKE_VER}.tar.xz + +RUN wget -O - ${AUTOMAKE_REPO} | tar xJ && \ + cd automake-${AUTOMAKE_VER} && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --disable-doc && \ + make -j8 && \ + make install + + # Build the gstremaer core ARG GST_VER=1.14.4 ARG GST_REPO=https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${GST_VER}.tar.xz -RUN yum install -y -q glib2-devel-2.56.1 -RUN wget -O - ${GST_REPO} | tar xJ; \ - cd gstreamer-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-gst-debug --disable-debug --disable-benchmarks --disable-check; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN yum install -y -q glib2-devel-2.56.1 gettext-devel gtk-doc +RUN wget -O - ${GST_REPO} | tar xJ && \ + cd gstreamer-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-gst-debug --disable-debug --disable-benchmarks --disable-check && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin base ARG GST_PLUGIN_BASE_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_BASE_REPO} | tar xJ; \ - cd gst-plugins-base-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-debug; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${GST_PLUGIN_BASE_REPO} | tar xJ && \ + cd gst-plugins-base-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-debug && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin good set ARG GST_PLUGIN_GOOD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_GOOD_REPO} | tar xJ; \ - cd gst-plugins-good-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-debug; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${GST_PLUGIN_GOOD_REPO} | tar xJ && \ + cd gst-plugins-good-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-debug && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin bad set ARG GST_PLUGIN_BAD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_BAD_REPO} | tar xJ; \ - cd gst-plugins-bad-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-debug; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${GST_PLUGIN_BAD_REPO} | tar xJ && \ + cd gst-plugins-bad-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-debug && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin ugly set ARG GST_PLUGIN_UGLY_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_UGLY_REPO} | tar xJ; \ - cd gst-plugins-ugly-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-debug; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${GST_PLUGIN_UGLY_REPO} | tar xJ && \ + cd gst-plugins-ugly-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-debug && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build gst-libav @@ -291,10 +302,10 @@ ARG GST_PLUGIN_LIBAV_REPO=https://gstreamer.freedesktop.org/src/gst-libav/gst-li RUN yum install -y -q zlib-devel openssl-devel -RUN wget -O - ${GST_PLUGIN_LIBAV_REPO} | tar xJ; \ - cd gst-libav-${GST_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --enable-gpl; \ - make -j8; \ +RUN wget -O - ${GST_PLUGIN_LIBAV_REPO} | tar xJ && \ + cd gst-libav-${GST_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --enable-gpl && \ + make -j8 && \ make install DESTDIR="/home/build" @@ -303,10 +314,10 @@ RUN wget -O - ${GST_PLUGIN_LIBAV_REPO} | tar xJ; \ ARG AUTOMAKE_VER=1.14 ARG AUTOMAKE_REPO=https://ftp.gnu.org/pub/gnu/automake/automake-${AUTOMAKE_VER}.tar.xz -RUN wget -O - ${AUTOMAKE_REPO} | tar xJ; \ - cd automake-${AUTOMAKE_VER}; \ - ./configure --prefix=/usr --libdir=/usr/lib64 --disable-doc; \ - make -j8; \ +RUN wget -O - ${AUTOMAKE_REPO} | tar xJ && \ + cd automake-${AUTOMAKE_VER} && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --disable-doc && \ + make -j8 && \ make install @@ -325,10 +336,10 @@ RUN wget -O - ${GST_PLUGIN_VAAPI_REPO} | tar xJ; \ # Clean up after build -RUN rm -rf /home/build/usr/include; \ - rm -rf /home/build/usr/share/doc; \ - rm -rf /home/build/usr/share/gtk-doc; \ - rm -rf /home/build/usr/share/man; \ +RUN rm -rf /home/build/usr/include && \ + rm -rf /home/build/usr/share/doc && \ + rm -rf /home/build/usr/share/gtk-doc && \ + rm -rf /home/build/usr/share/man && \ find /home/build -name "*.a" -exec rm -f {} \; FROM centos:7.4.1708 diff --git a/VCA2/centos-7.4/gst/Dockerfile.m4 b/VCA2/centos-7.4/gst/Dockerfile.m4 index b33574e48..f4062f610 100644 --- a/VCA2/centos-7.4/gst/Dockerfile.m4 +++ b/VCA2/centos-7.4/gst/Dockerfile.m4 @@ -20,6 +20,7 @@ include(gmmlib.m4) #include(libdrm.m4) include(libva.m4) include(media-driver.m4) +include(automake.m4) include(gst.m4) include(gst-plugin-base.m4) include(gst-plugin-good.m4) diff --git a/VCA2/centos-7.4/nginx+rtmp/Dockerfile b/VCA2/centos-7.4/nginx+rtmp/Dockerfile index 4d8568ddd..3e2ade6b4 100644 --- a/VCA2/centos-7.4/nginx+rtmp/Dockerfile +++ b/VCA2/centos-7.4/nginx+rtmp/Dockerfile @@ -8,10 +8,10 @@ RUN yum install -y -q bzip2 make autoconf libtool git wget ca-certificates pkg-c # Install cmake ARG CMAKE_VER=3.13.1 ARG CMAKE_REPO=https://cmake.org/files -RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz; \ - cd cmake-${CMAKE_VER}; \ - ./bootstrap --prefix="/usr"; \ - make -j8; \ +RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz && \ + cd cmake-${CMAKE_VER} && \ + ./bootstrap --prefix="/usr" && \ + make -j8 && \ make install @@ -21,11 +21,11 @@ ARG NGINX_RTMP_REPO=https://github.com/arut/nginx-rtmp-module/archive/${NGINX_RT ARG NGINX_RTMP_PATCH_HLS=https://raw.githubusercontent.com/VCDP/CDN/master/0001-add-hevc-support-for-rtmp-and-hls.patch ARG NGINX_RTMP_PATCH_DASH=https://raw.githubusercontent.com/VCDP/CDN/master/0002-add-HEVC-support-for-dash.patch -RUN wget -O - ${NGINX_RTMP_REPO} | tar xz && mv nginx-rtmp-module-${NGINX_RTMP_VER#v} nginx-rtmp-module; \ - cd nginx-rtmp-module; \ - mkdir -p /home/build/var/www/html; \ - cp -f stat.xsl /home/build/var/www/html; \ - wget -O - ${NGINX_RTMP_PATCH_HLS} | patch -p1; \ +RUN wget -O - ${NGINX_RTMP_REPO} | tar xz && mv nginx-rtmp-module-${NGINX_RTMP_VER#v} nginx-rtmp-module && \ + cd nginx-rtmp-module && \ + mkdir -p /home/build/var/www/html && \ + cp -f stat.xsl /home/build/var/www/html && \ + wget -O - ${NGINX_RTMP_PATCH_HLS} | patch -p1 && \ wget -O - ${NGINX_RTMP_PATCH_DASH} | patch -p1; # Build nginx & nginx-rtmp @@ -34,21 +34,21 @@ ARG NGINX_REPO=https://nginx.org/download/nginx-${NGINX_VER}.tar.gz RUN yum install -y -q openssl-devel pcre2-devel zlib-devel libxslt-devel -RUN wget -O - ${NGINX_REPO} | tar xz; \ - cd nginx-${NGINX_VER}; \ - ./configure --prefix=/var/www --sbin-path=/usr/sbin/nginx --modules-path=/usr/lib64/nginx/modules --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/www/log/error.log --pid-path=/var/www/nginx.pid --lock-path=/var/www/nginx.lock --http-log-path=/var/www/log/access.log --http-client-body-temp-path=/var/www/tmp/client_body --http-proxy-temp-path=/var/www/tmp/proxy --http-fastcgi-temp-path=/var/www/tmp/fastcgi --http-uwsgi-temp-path=/var/www/tmp/uwsgi --http-scgi-temp-path=/var/www/tmp/scgi --user=nobody --group=nobody --with-select_module --with-poll_module --with-threads --with-file-aio --with-http_ssl_module --with-http_v2_module --with-http_realip_module --with-http_addition_module --with-http_xslt_module --with-http_sub_module --with-http_dav_module --with-http_flv_module --with-http_mp4_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_auth_request_module --with-http_random_index_module --with-http_secure_link_module --with-http_degradation_module --with-http_slice_module --with-http_stub_status_module --with-stream --with-stream_ssl_module --with-stream_realip_module --with-stream_ssl_preread_module --with-pcre --add-module=../nginx-rtmp-module ; \ - make -j8; \ +RUN wget -O - ${NGINX_REPO} | tar xz && \ + cd nginx-${NGINX_VER} && \ + ./configure --prefix=/var/www --sbin-path=/usr/sbin/nginx --modules-path=/usr/lib64/nginx/modules --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/www/log/error.log --pid-path=/var/www/nginx.pid --lock-path=/var/www/nginx.lock --http-log-path=/var/www/log/access.log --http-client-body-temp-path=/var/www/tmp/client_body --http-proxy-temp-path=/var/www/tmp/proxy --http-fastcgi-temp-path=/var/www/tmp/fastcgi --http-uwsgi-temp-path=/var/www/tmp/uwsgi --http-scgi-temp-path=/var/www/tmp/scgi --user=nobody --group=nobody --with-select_module --with-poll_module --with-threads --with-file-aio --with-http_ssl_module --with-http_v2_module --with-http_realip_module --with-http_addition_module --with-http_xslt_module --with-http_sub_module --with-http_dav_module --with-http_flv_module --with-http_mp4_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_auth_request_module --with-http_random_index_module --with-http_secure_link_module --with-http_degradation_module --with-http_slice_module --with-http_stub_status_module --with-stream --with-stream_ssl_module --with-stream_realip_module --with-stream_ssl_preread_module --with-pcre --add-module=../nginx-rtmp-module && \ + make -j8 && \ make install DESTDIR=/home/build; # NGINX Setup COPY nginx.conf /home/build/etc/nginx -RUN mkdir -p /home/build/var/www/tmp/client_body; \ - mkdir -p /home/build/var/www/tmp/proxy; \ - mkdir -p /home/build/var/www/tmp/fastcgi; \ - mkdir -p /home/build/var/www/tmp/uwsgi; \ - mkdir -p /home/build/var/www/tmp/scgi; \ - mkdir -p /home/build/var/www/cache; \ - mkdir -p /home/build/var/www/html; \ +RUN mkdir -p /home/build/var/www/tmp/client_body && \ + mkdir -p /home/build/var/www/tmp/proxy && \ + mkdir -p /home/build/var/www/tmp/fastcgi && \ + mkdir -p /home/build/var/www/tmp/uwsgi && \ + mkdir -p /home/build/var/www/tmp/scgi && \ + mkdir -p /home/build/var/www/cache && \ + mkdir -p /home/build/var/www/html && \ touch /home/build/var/www/html/index.html; diff --git a/VCA2/centos-7.5/ffmpeg+gst+dev/Dockerfile b/VCA2/centos-7.5/ffmpeg+gst+dev/Dockerfile index d5ce5c1f4..5f1ad84f5 100644 --- a/VCA2/centos-7.5/ffmpeg+gst+dev/Dockerfile +++ b/VCA2/centos-7.5/ffmpeg+gst+dev/Dockerfile @@ -8,76 +8,76 @@ RUN yum install -y -q bzip2 make autoconf libtool git wget ca-certificates pkg-c # Install cmake ARG CMAKE_VER=3.13.1 ARG CMAKE_REPO=https://cmake.org/files -RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz; \ - cd cmake-${CMAKE_VER}; \ - ./bootstrap --prefix="/usr"; \ - make -j8; \ +RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz && \ + cd cmake-${CMAKE_VER} && \ + ./bootstrap --prefix="/usr" && \ + make -j8 && \ make install # Build NASM ARG NASM_VER=2.13.03 ARG NASM_REPO=https://www.nasm.us/pub/nasm/releasebuilds/${NASM_VER}/nasm-${NASM_VER}.tar.bz2 -RUN wget ${NASM_REPO}; \ - tar -xaf nasm*; \ - cd nasm-${NASM_VER}; \ - ./autogen.sh; \ - ./configure --prefix="/usr" --libdir=/usr/lib64; \ - make -j8; \ +RUN wget ${NASM_REPO} && \ + tar -xaf nasm* && \ + cd nasm-${NASM_VER} && \ + ./autogen.sh && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 && \ + make -j8 && \ make install # Build YASM ARG YASM_VER=1.3.0 ARG YASM_REPO=https://www.tortall.net/projects/yasm/releases/yasm-${YASM_VER}.tar.gz -RUN wget -O - ${YASM_REPO} | tar xz; \ - cd yasm-${YASM_VER}; \ - sed -i "s/) ytasm.*/)/" Makefile.in; \ - ./configure --prefix="/usr" --libdir=/usr/lib64; \ - make -j8; \ +RUN wget -O - ${YASM_REPO} | tar xz && \ + cd yasm-${YASM_VER} && \ + sed -i "s/) ytasm.*/)/" Makefile.in && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 && \ + make -j8 && \ make install # Build ogg ARG OGG_VER=1.3.3 ARG OGG_REPO=https://downloads.xiph.org/releases/ogg/libogg-${OGG_VER}.tar.xz -RUN wget -O - ${OGG_REPO} | tar xJ; \ - cd libogg-${OGG_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${OGG_REPO} | tar xJ && \ + cd libogg-${OGG_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build vorbis ARG VORBIS_VER=1.3.6 ARG VORBIS_REPO=https://downloads.xiph.org/releases/vorbis/libvorbis-${VORBIS_VER}.tar.xz -RUN wget -O - ${VORBIS_REPO} | tar xJ; \ - cd libvorbis-${VORBIS_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${VORBIS_REPO} | tar xJ && \ + cd libvorbis-${VORBIS_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build mp3lame ARG MP3LAME_VER=3.100 ARG MP3LAME_REPO=https://sourceforge.net/projects/lame/files/lame/${MP3LAME_VER}/lame-${MP3LAME_VER}.tar.gz -RUN wget -O - ${MP3LAME_REPO} | tar xz; \ - cd lame-${MP3LAME_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --enable-nasm; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${MP3LAME_REPO} | tar xz && \ + cd lame-${MP3LAME_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --enable-nasm && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build fdk-aac ARG FDK_AAC_VER=v0.1.6 ARG FDK_AAC_REPO=https://github.com/mstorsjo/fdk-aac/archive/${FDK_AAC_VER}.tar.gz -RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac; \ - cd fdk-aac; \ - autoreconf -fiv; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac && \ + cd fdk-aac && \ + autoreconf -fiv && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -85,23 +85,23 @@ RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac; \ ARG OPUS_VER=1.2.1 ARG OPUS_REPO=https://archive.mozilla.org/pub/opus/opus-${OPUS_VER}.tar.gz -RUN wget -O - ${OPUS_REPO} | tar xz; \ - cd opus-${OPUS_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${OPUS_REPO} | tar xz && \ + cd opus-${OPUS_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build vpx ARG VPX_VER=tags/v1.7.0 ARG VPX_REPO=https://chromium.googlesource.com/webm/libvpx.git -RUN git clone ${VPX_REPO}; \ - cd libvpx; \ - git checkout ${VPX_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=nasm; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${VPX_REPO} && \ + cd libvpx && \ + git checkout ${VPX_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=nasm && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -109,25 +109,25 @@ RUN git clone ${VPX_REPO}; \ ARG AOM_VER=tags/v1.0.0 ARG AOM_REPO=https://aomedia.googlesource.com/aom -RUN git clone ${AOM_REPO}; \ - mkdir aom/aom_build; \ - cd aom/aom_build; \ - git checkout ${AOM_VER}; \ - cmake -DBUILD_SHARED_LIBS=ON -DENABLE_NASM=ON -DENABLE_TESTS=OFF -DENABLE_DOCS=OFF -DCMAKE_INSTALL_PREFIX="/usr" -DLIB_INSTALL_DIR=/usr/lib64 ..; \ - make -j8; \ - make install DESTDIR="/home/build"; \ +RUN git clone ${AOM_REPO} && \ + mkdir aom/aom_build && \ + cd aom/aom_build && \ + git checkout ${AOM_VER} && \ + cmake -DBUILD_SHARED_LIBS=ON -DENABLE_NASM=ON -DENABLE_TESTS=OFF -DENABLE_DOCS=OFF -DCMAKE_INSTALL_PREFIX="/usr" -DLIB_INSTALL_DIR=/usr/lib64 .. && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ make install # Build x264 ARG X264_VER=stable ARG X264_REPO=https://github.com/mirror/x264 -RUN git clone ${X264_REPO}; \ - cd x264; \ - git checkout ${X264_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared; \ - make -j8; \ - make install DESTDIR="/home/build"; \ +RUN git clone ${X264_REPO} && \ + cd x264 && \ + git checkout ${X264_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ make install @@ -137,28 +137,28 @@ ARG X265_REPO=https://github.com/videolan/x265/archive/${X265_VER}.tar.gz RUN yum install -y -q numactl-devel libpciaccess-devel -RUN wget -O - ${X265_REPO} | tar xz && mv x265-${X265_VER} x265; \ - cd x265/build/linux; \ - cmake -DBUILD_SHARED_LIBS=ON -DENABLE_TESTS=OFF -DCMAKE_INSTALL_PREFIX=/usr -DLIB_INSTALL_DIR=/usr/lib64 ../../source; \ - make -j8; \ - make install DESTDIR="/home/build"; \ +RUN wget -O - ${X265_REPO} | tar xz && mv x265-${X265_VER} x265 && \ + cd x265/build/linux && \ + cmake -DBUILD_SHARED_LIBS=ON -DENABLE_TESTS=OFF -DCMAKE_INSTALL_PREFIX=/usr -DLIB_INSTALL_DIR=/usr/lib64 ../../source && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ make install # Fetch SVT-HEVC ARG SVT_HEVC_VER=v1.3.0 ARG SVT_HEVC_REPO=https://github.com/intel/SVT-HEVC -RUN yum install -y -q patch centos-release-scl; \ +RUN yum install -y -q patch centos-release-scl && \ yum install -y -q devtoolset-7 -RUN git clone ${SVT_HEVC_REPO}; \ - cd SVT-HEVC/Build/linux; \ - git checkout ${SVT_HEVC_VER}; \ - mkdir -p ../../Bin/Release; \ - ( source /opt/rh/devtoolset-7/enable; \ - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${SVT_HEVC_REPO} && \ + cd SVT-HEVC/Build/linux && \ + git checkout ${SVT_HEVC_VER} && \ + mkdir -p ../../Bin/Release && \ + ( source /opt/rh/devtoolset-7/enable && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install ) @@ -166,13 +166,13 @@ RUN git clone ${SVT_HEVC_REPO}; \ ARG SVT_AV1_VER=a39acb2 ARG SVT_AV1_REPO=https://github.com/OpenVisualCloud/SVT-AV1 -RUN git clone ${SVT_AV1_REPO}; \ - cd SVT-AV1/Build/linux; \ - git checkout ${SVT_AV1_VER}; \ - mkdir -p ../../Bin/Release; \ - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${SVT_AV1_REPO} && \ + cd SVT-AV1/Build/linux && \ + git checkout ${SVT_AV1_VER} && \ + mkdir -p ../../Bin/Release && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -180,14 +180,14 @@ RUN git clone ${SVT_AV1_REPO}; \ ARG SVT_VP9_VER=e92a57c ARG SVT_VP9_REPO=https://github.com/OpenVisualCloud/SVT-VP9 -RUN git clone ${SVT_VP9_REPO}; \ - cd SVT-VP9/Build/linux; \ - git checkout ${SVT_VP9_VER}; \ - mkdir -p ../../Bin/Release; \ - ( source /opt/rh/devtoolset-7/enable; \ - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${SVT_VP9_REPO} && \ + cd SVT-VP9/Build/linux && \ + git checkout ${SVT_VP9_VER} && \ + mkdir -p ../../Bin/Release && \ + ( source /opt/rh/devtoolset-7/enable && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install ) #include(transform360.m4) @@ -205,11 +205,11 @@ ARG LIBVA_REPO=https://github.com/intel/libva/archive/${LIBVA_VER}.tar.gz RUN yum install -y -q libX11-devel mesa-libGL-devel which libdrm-devel -RUN wget -O - ${LIBVA_REPO} | tar xz; \ - cd libva-${LIBVA_VER}; \ - ./autogen.sh --prefix=/usr --libdir=/usr/lib64; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${LIBVA_REPO} | tar xz && \ + cd libva-${LIBVA_VER} && \ + ./autogen.sh --prefix=/usr --libdir=/usr/lib64 && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install; @@ -219,12 +219,12 @@ ARG MEDIA_DRIVER_REPO=https://github.com/VCDP/media-driver/archive/${MEDIA_DRIVE RUN yum install -y -q libX11-devel mesa-libGL-devel libpciaccess-devel libXext-devel -RUN wget -O - ${MEDIA_DRIVER_REPO} | tar xz && mv media-driver-${MEDIA_DRIVER_VER} media-driver; \ - mkdir -p media-driver/build; \ - cd media-driver/build; \ - cmake -DBUILD_TYPE=release -DBUILD_ALONG_WITH_CMRTLIB=1 -DMEDIA_VERSION="2.0.0" -DBS_DIR_GMMLIB=/home/gmmlib/Source/GmmLib -DBS_DIR_COMMON=/home/gmmlib/Source/Common -DBS_DIR_INC=/home/gmmlib/Source/inc -DBS_DIR_MEDIA=/home/media-driver -Wno-dev -DCMAKE_INSTALL_PREFIX=/usr ..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${MEDIA_DRIVER_REPO} | tar xz && mv media-driver-${MEDIA_DRIVER_VER} media-driver && \ + mkdir -p media-driver/build && \ + cd media-driver/build && \ + cmake -DBUILD_TYPE=release -DBUILD_ALONG_WITH_CMRTLIB=1 -DMEDIA_VERSION="2.0.0" -DBS_DIR_GMMLIB=/home/gmmlib/Source/GmmLib -DBS_DIR_COMMON=/home/gmmlib/Source/Common -DBS_DIR_INC=/home/gmmlib/Source/inc -DBS_DIR_MEDIA=/home/media-driver -Wno-dev -DCMAKE_INSTALL_PREFIX=/usr .. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -233,12 +233,12 @@ RUN wget -O - ${MEDIA_DRIVER_REPO} | tar xz && mv media-driver-${MEDIA_DRIVER_VE ARG MSDK_VER=MSS-KBL-2019-R1 ARG MSDK_REPO=https://github.com/Intel-Media-SDK/MediaSDK/archive/${MSDK_VER}.tar.gz -RUN wget -O - ${MSDK_REPO} | tar xz && mv MediaSDK-${MSDK_VER} MediaSDK; \ - mkdir -p MediaSDK/build; \ - cd MediaSDK/build; \ - cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_INCLUDEDIR=include/mfx -DBUILD_SAMPLES=OFF -DENABLE_OPENCL=OFF -Wno-dev ..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${MSDK_REPO} | tar xz && mv MediaSDK-${MSDK_VER} MediaSDK && \ + mkdir -p MediaSDK/build && \ + cd MediaSDK/build && \ + cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_INCLUDEDIR=include/mfx -DBUILD_SAMPLES=OFF -DENABLE_OPENCL=OFF -Wno-dev .. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install; # Build DLDT-Inference Engine @@ -276,62 +276,73 @@ RUN git clone -b ${DLDT_VER} ${DLDT_REPO}; \ echo "Cflags: -I\${includedir}" >> "$pc"; \ done; +# Install automake +ARG AUTOMAKE_VER=1.14 +ARG AUTOMAKE_REPO=https://ftp.gnu.org/pub/gnu/automake/automake-${AUTOMAKE_VER}.tar.xz + +RUN wget -O - ${AUTOMAKE_REPO} | tar xJ && \ + cd automake-${AUTOMAKE_VER} && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --disable-doc && \ + make -j8 && \ + make install + + # Build the gstremaer core ARG GST_VER=1.14.4 ARG GST_REPO=https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${GST_VER}.tar.xz -RUN yum install -y -q glib2-devel-2.56.1 -RUN wget -O - ${GST_REPO} | tar xJ; \ - cd gstreamer-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples ; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN yum install -y -q glib2-devel-2.56.1 gettext-devel gtk-doc +RUN wget -O - ${GST_REPO} | tar xJ && \ + cd gstreamer-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin base ARG GST_PLUGIN_BASE_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_BASE_REPO} | tar xJ; \ - cd gst-plugins-base-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples ; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${GST_PLUGIN_BASE_REPO} | tar xJ && \ + cd gst-plugins-base-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin good set ARG GST_PLUGIN_GOOD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_GOOD_REPO} | tar xJ; \ - cd gst-plugins-good-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples ; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${GST_PLUGIN_GOOD_REPO} | tar xJ && \ + cd gst-plugins-good-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin bad set ARG GST_PLUGIN_BAD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_BAD_REPO} | tar xJ; \ - cd gst-plugins-bad-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples ; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${GST_PLUGIN_BAD_REPO} | tar xJ && \ + cd gst-plugins-bad-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin ugly set ARG GST_PLUGIN_UGLY_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_UGLY_REPO} | tar xJ; \ - cd gst-plugins-ugly-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples ; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${GST_PLUGIN_UGLY_REPO} | tar xJ && \ + cd gst-plugins-ugly-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build gst-libav @@ -339,10 +350,10 @@ ARG GST_PLUGIN_LIBAV_REPO=https://gstreamer.freedesktop.org/src/gst-libav/gst-li RUN yum install -y -q zlib-devel openssl-devel -RUN wget -O - ${GST_PLUGIN_LIBAV_REPO} | tar xJ; \ - cd gst-libav-${GST_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --enable-gpl; \ - make -j8; \ +RUN wget -O - ${GST_PLUGIN_LIBAV_REPO} | tar xJ && \ + cd gst-libav-${GST_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --enable-gpl && \ + make -j8 && \ make install DESTDIR="/home/build" @@ -351,10 +362,10 @@ RUN wget -O - ${GST_PLUGIN_LIBAV_REPO} | tar xJ; \ ARG AUTOMAKE_VER=1.14 ARG AUTOMAKE_REPO=https://ftp.gnu.org/pub/gnu/automake/automake-${AUTOMAKE_VER}.tar.xz -RUN wget -O - ${AUTOMAKE_REPO} | tar xJ; \ - cd automake-${AUTOMAKE_VER}; \ - ./configure --prefix=/usr --libdir=/usr/lib64 --disable-doc; \ - make -j8; \ +RUN wget -O - ${AUTOMAKE_REPO} | tar xJ && \ + cd automake-${AUTOMAKE_VER} && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --disable-doc && \ + make -j8 && \ make install @@ -380,20 +391,20 @@ ARG FFMPEG_1TN_PATCH_REPO=https://patchwork.ffmpeg.org/patch/11625/raw ARG FFMPEG_THREAD_PATCH_REPO=https://patchwork.ffmpeg.org/patch/11035/raw RUN yum install -y -q libass-devel freetype-devel SDL2-devel libxcb-devel libvdpau-devel texinfo zlib-devel openssl-devel -RUN wget -O - ${FFMPEG_REPO} | tar xz && mv FFmpeg-${FFMPEG_VER} FFmpeg; \ - cd FFmpeg; \ - wget -O - ${FFMPEG_FLV_PATCH_REPO} | patch -p1; \ - wget -O - ${FFMPEG_1TN_PATCH_REPO} | patch -p1; \ +RUN wget -O - ${FFMPEG_REPO} | tar xz && mv FFmpeg-${FFMPEG_VER} FFmpeg && \ + cd FFmpeg && \ + wget -O - ${FFMPEG_FLV_PATCH_REPO} | patch -p1 && \ + wget -O - ${FFMPEG_1TN_PATCH_REPO} | patch -p1 && \ wget -O - ${FFMPEG_THREAD_PATCH_REPO} | patch -p1; # Patch FFmpeg source for SVT-HEVC -RUN cd /home/FFmpeg; \ +RUN cd /home/FFmpeg && \ patch -p1 < ../SVT-HEVC/ffmpeg_plugin/0001-lavc-svt_hevc-add-libsvt-hevc-encoder-wrapper.patch; # Compile FFmpeg -RUN cd /home/FFmpeg; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --extra-libs="-lpthread -lm" --enable-shared --enable-gpl --enable-libass --enable-libfreetype --enable-openssl --enable-nonfree --enable-libdrm --enable-libmfx --enable-libfdk-aac --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-libaom --enable-libsvthevc ; \ - make -j8; \ +RUN cd /home/FFmpeg && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --extra-libs="-lpthread -lm" --enable-shared --enable-gpl --enable-libass --enable-libfreetype --enable-openssl --enable-nonfree --enable-libdrm --enable-libmfx --enable-libfdk-aac --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-libaom --enable-libsvthevc && \ + make -j8 && \ make install DESTDIR="/home/build" diff --git a/VCA2/centos-7.5/ffmpeg+gst+dev/Dockerfile.m4 b/VCA2/centos-7.5/ffmpeg+gst+dev/Dockerfile.m4 index 7f2f9235d..3c5e07103 100644 --- a/VCA2/centos-7.5/ffmpeg+gst+dev/Dockerfile.m4 +++ b/VCA2/centos-7.5/ffmpeg+gst+dev/Dockerfile.m4 @@ -23,6 +23,7 @@ include(libva.m4) include(media-driver.m4) include(media-sdk.m4) include(dldt-ie.m4) +include(automake.m4) include(gst.m4) include(gst-plugin-base.m4) include(gst-plugin-good.m4) diff --git a/VCA2/centos-7.5/ffmpeg/Dockerfile b/VCA2/centos-7.5/ffmpeg/Dockerfile index 4cb0fb23d..939489e72 100644 --- a/VCA2/centos-7.5/ffmpeg/Dockerfile +++ b/VCA2/centos-7.5/ffmpeg/Dockerfile @@ -8,76 +8,76 @@ RUN yum install -y -q bzip2 make autoconf libtool git wget ca-certificates pkg-c # Install cmake ARG CMAKE_VER=3.13.1 ARG CMAKE_REPO=https://cmake.org/files -RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz; \ - cd cmake-${CMAKE_VER}; \ - ./bootstrap --prefix="/usr"; \ - make -j8; \ +RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz && \ + cd cmake-${CMAKE_VER} && \ + ./bootstrap --prefix="/usr" && \ + make -j8 && \ make install # Build NASM ARG NASM_VER=2.13.03 ARG NASM_REPO=https://www.nasm.us/pub/nasm/releasebuilds/${NASM_VER}/nasm-${NASM_VER}.tar.bz2 -RUN wget ${NASM_REPO}; \ - tar -xaf nasm*; \ - cd nasm-${NASM_VER}; \ - ./autogen.sh; \ - ./configure --prefix="/usr" --libdir=/usr/lib64; \ - make -j8; \ +RUN wget ${NASM_REPO} && \ + tar -xaf nasm* && \ + cd nasm-${NASM_VER} && \ + ./autogen.sh && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 && \ + make -j8 && \ make install # Build YASM ARG YASM_VER=1.3.0 ARG YASM_REPO=https://www.tortall.net/projects/yasm/releases/yasm-${YASM_VER}.tar.gz -RUN wget -O - ${YASM_REPO} | tar xz; \ - cd yasm-${YASM_VER}; \ - sed -i "s/) ytasm.*/)/" Makefile.in; \ - ./configure --prefix="/usr" --libdir=/usr/lib64; \ - make -j8; \ +RUN wget -O - ${YASM_REPO} | tar xz && \ + cd yasm-${YASM_VER} && \ + sed -i "s/) ytasm.*/)/" Makefile.in && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 && \ + make -j8 && \ make install # Build ogg ARG OGG_VER=1.3.3 ARG OGG_REPO=https://downloads.xiph.org/releases/ogg/libogg-${OGG_VER}.tar.xz -RUN wget -O - ${OGG_REPO} | tar xJ; \ - cd libogg-${OGG_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${OGG_REPO} | tar xJ && \ + cd libogg-${OGG_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build vorbis ARG VORBIS_VER=1.3.6 ARG VORBIS_REPO=https://downloads.xiph.org/releases/vorbis/libvorbis-${VORBIS_VER}.tar.xz -RUN wget -O - ${VORBIS_REPO} | tar xJ; \ - cd libvorbis-${VORBIS_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${VORBIS_REPO} | tar xJ && \ + cd libvorbis-${VORBIS_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build mp3lame ARG MP3LAME_VER=3.100 ARG MP3LAME_REPO=https://sourceforge.net/projects/lame/files/lame/${MP3LAME_VER}/lame-${MP3LAME_VER}.tar.gz -RUN wget -O - ${MP3LAME_REPO} | tar xz; \ - cd lame-${MP3LAME_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --enable-nasm; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${MP3LAME_REPO} | tar xz && \ + cd lame-${MP3LAME_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --enable-nasm && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build fdk-aac ARG FDK_AAC_VER=v0.1.6 ARG FDK_AAC_REPO=https://github.com/mstorsjo/fdk-aac/archive/${FDK_AAC_VER}.tar.gz -RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac; \ - cd fdk-aac; \ - autoreconf -fiv; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac && \ + cd fdk-aac && \ + autoreconf -fiv && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -85,23 +85,23 @@ RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac; \ ARG OPUS_VER=1.2.1 ARG OPUS_REPO=https://archive.mozilla.org/pub/opus/opus-${OPUS_VER}.tar.gz -RUN wget -O - ${OPUS_REPO} | tar xz; \ - cd opus-${OPUS_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${OPUS_REPO} | tar xz && \ + cd opus-${OPUS_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build vpx ARG VPX_VER=tags/v1.7.0 ARG VPX_REPO=https://chromium.googlesource.com/webm/libvpx.git -RUN git clone ${VPX_REPO}; \ - cd libvpx; \ - git checkout ${VPX_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=nasm; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${VPX_REPO} && \ + cd libvpx && \ + git checkout ${VPX_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=nasm && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -109,25 +109,25 @@ RUN git clone ${VPX_REPO}; \ ARG AOM_VER=tags/v1.0.0 ARG AOM_REPO=https://aomedia.googlesource.com/aom -RUN git clone ${AOM_REPO}; \ - mkdir aom/aom_build; \ - cd aom/aom_build; \ - git checkout ${AOM_VER}; \ - cmake -DBUILD_SHARED_LIBS=ON -DENABLE_NASM=ON -DENABLE_TESTS=OFF -DENABLE_DOCS=OFF -DCMAKE_INSTALL_PREFIX="/usr" -DLIB_INSTALL_DIR=/usr/lib64 ..; \ - make -j8; \ - make install DESTDIR="/home/build"; \ +RUN git clone ${AOM_REPO} && \ + mkdir aom/aom_build && \ + cd aom/aom_build && \ + git checkout ${AOM_VER} && \ + cmake -DBUILD_SHARED_LIBS=ON -DENABLE_NASM=ON -DENABLE_TESTS=OFF -DENABLE_DOCS=OFF -DCMAKE_INSTALL_PREFIX="/usr" -DLIB_INSTALL_DIR=/usr/lib64 .. && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ make install # Build x264 ARG X264_VER=stable ARG X264_REPO=https://github.com/mirror/x264 -RUN git clone ${X264_REPO}; \ - cd x264; \ - git checkout ${X264_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared; \ - make -j8; \ - make install DESTDIR="/home/build"; \ +RUN git clone ${X264_REPO} && \ + cd x264 && \ + git checkout ${X264_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ make install @@ -137,28 +137,28 @@ ARG X265_REPO=https://github.com/videolan/x265/archive/${X265_VER}.tar.gz RUN yum install -y -q numactl-devel libpciaccess-devel -RUN wget -O - ${X265_REPO} | tar xz && mv x265-${X265_VER} x265; \ - cd x265/build/linux; \ - cmake -DBUILD_SHARED_LIBS=ON -DENABLE_TESTS=OFF -DCMAKE_INSTALL_PREFIX=/usr -DLIB_INSTALL_DIR=/usr/lib64 ../../source; \ - make -j8; \ - make install DESTDIR="/home/build"; \ +RUN wget -O - ${X265_REPO} | tar xz && mv x265-${X265_VER} x265 && \ + cd x265/build/linux && \ + cmake -DBUILD_SHARED_LIBS=ON -DENABLE_TESTS=OFF -DCMAKE_INSTALL_PREFIX=/usr -DLIB_INSTALL_DIR=/usr/lib64 ../../source && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ make install # Fetch SVT-HEVC ARG SVT_HEVC_VER=v1.3.0 ARG SVT_HEVC_REPO=https://github.com/intel/SVT-HEVC -RUN yum install -y -q patch centos-release-scl; \ +RUN yum install -y -q patch centos-release-scl && \ yum install -y -q devtoolset-7 -RUN git clone ${SVT_HEVC_REPO}; \ - cd SVT-HEVC/Build/linux; \ - git checkout ${SVT_HEVC_VER}; \ - mkdir -p ../../Bin/Release; \ - ( source /opt/rh/devtoolset-7/enable; \ - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${SVT_HEVC_REPO} && \ + cd SVT-HEVC/Build/linux && \ + git checkout ${SVT_HEVC_VER} && \ + mkdir -p ../../Bin/Release && \ + ( source /opt/rh/devtoolset-7/enable && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install ) @@ -166,13 +166,13 @@ RUN git clone ${SVT_HEVC_REPO}; \ ARG SVT_AV1_VER=a39acb2 ARG SVT_AV1_REPO=https://github.com/OpenVisualCloud/SVT-AV1 -RUN git clone ${SVT_AV1_REPO}; \ - cd SVT-AV1/Build/linux; \ - git checkout ${SVT_AV1_VER}; \ - mkdir -p ../../Bin/Release; \ - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${SVT_AV1_REPO} && \ + cd SVT-AV1/Build/linux && \ + git checkout ${SVT_AV1_VER} && \ + mkdir -p ../../Bin/Release && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -180,14 +180,14 @@ RUN git clone ${SVT_AV1_REPO}; \ ARG SVT_VP9_VER=e92a57c ARG SVT_VP9_REPO=https://github.com/OpenVisualCloud/SVT-VP9 -RUN git clone ${SVT_VP9_REPO}; \ - cd SVT-VP9/Build/linux; \ - git checkout ${SVT_VP9_VER}; \ - mkdir -p ../../Bin/Release; \ - ( source /opt/rh/devtoolset-7/enable; \ - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${SVT_VP9_REPO} && \ + cd SVT-VP9/Build/linux && \ + git checkout ${SVT_VP9_VER} && \ + mkdir -p ../../Bin/Release && \ + ( source /opt/rh/devtoolset-7/enable && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install ) #include(transform360.m4) @@ -205,11 +205,11 @@ ARG LIBVA_REPO=https://github.com/intel/libva/archive/${LIBVA_VER}.tar.gz RUN yum install -y -q libX11-devel mesa-libGL-devel which libdrm-devel -RUN wget -O - ${LIBVA_REPO} | tar xz; \ - cd libva-${LIBVA_VER}; \ - ./autogen.sh --prefix=/usr --libdir=/usr/lib64; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${LIBVA_REPO} | tar xz && \ + cd libva-${LIBVA_VER} && \ + ./autogen.sh --prefix=/usr --libdir=/usr/lib64 && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install; @@ -219,12 +219,12 @@ ARG MEDIA_DRIVER_REPO=https://github.com/VCDP/media-driver/archive/${MEDIA_DRIVE RUN yum install -y -q libX11-devel mesa-libGL-devel libpciaccess-devel libXext-devel -RUN wget -O - ${MEDIA_DRIVER_REPO} | tar xz && mv media-driver-${MEDIA_DRIVER_VER} media-driver; \ - mkdir -p media-driver/build; \ - cd media-driver/build; \ - cmake -DBUILD_TYPE=release -DBUILD_ALONG_WITH_CMRTLIB=1 -DMEDIA_VERSION="2.0.0" -DBS_DIR_GMMLIB=/home/gmmlib/Source/GmmLib -DBS_DIR_COMMON=/home/gmmlib/Source/Common -DBS_DIR_INC=/home/gmmlib/Source/inc -DBS_DIR_MEDIA=/home/media-driver -Wno-dev -DCMAKE_INSTALL_PREFIX=/usr ..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${MEDIA_DRIVER_REPO} | tar xz && mv media-driver-${MEDIA_DRIVER_VER} media-driver && \ + mkdir -p media-driver/build && \ + cd media-driver/build && \ + cmake -DBUILD_TYPE=release -DBUILD_ALONG_WITH_CMRTLIB=1 -DMEDIA_VERSION="2.0.0" -DBS_DIR_GMMLIB=/home/gmmlib/Source/GmmLib -DBS_DIR_COMMON=/home/gmmlib/Source/Common -DBS_DIR_INC=/home/gmmlib/Source/inc -DBS_DIR_MEDIA=/home/media-driver -Wno-dev -DCMAKE_INSTALL_PREFIX=/usr .. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -233,14 +233,14 @@ RUN wget -O - ${MEDIA_DRIVER_REPO} | tar xz && mv media-driver-${MEDIA_DRIVER_VE ARG MSDK_VER=MSS-KBL-2019-R1 ARG MSDK_REPO=https://github.com/Intel-Media-SDK/MediaSDK/archive/${MSDK_VER}.tar.gz -RUN wget -O - ${MSDK_REPO} | tar xz && mv MediaSDK-${MSDK_VER} MediaSDK; \ - mkdir -p MediaSDK/build; \ - cd MediaSDK/build; \ - cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_INCLUDEDIR=include/mfx -DBUILD_SAMPLES=OFF -DENABLE_OPENCL=OFF -Wno-dev ..; \ - make -j8; \ - make install DESTDIR=/home/build; \ - rm -rf /home/build/usr/samples; \ - rm -rf /home/build/usr/plugins; \ +RUN wget -O - ${MSDK_REPO} | tar xz && mv MediaSDK-${MSDK_VER} MediaSDK && \ + mkdir -p MediaSDK/build && \ + cd MediaSDK/build && \ + cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_INCLUDEDIR=include/mfx -DBUILD_SAMPLES=OFF -DENABLE_OPENCL=OFF -Wno-dev .. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ + rm -rf /home/build/usr/samples && \ + rm -rf /home/build/usr/plugins && \ make install; # Fetch FFmpeg source @@ -251,28 +251,28 @@ ARG FFMPEG_1TN_PATCH_REPO=https://patchwork.ffmpeg.org/patch/11625/raw ARG FFMPEG_THREAD_PATCH_REPO=https://patchwork.ffmpeg.org/patch/11035/raw RUN yum install -y -q SDL2-devel libxcb-devel libvdpau-devel zlib-devel openssl-devel -RUN wget -O - ${FFMPEG_REPO} | tar xz && mv FFmpeg-${FFMPEG_VER} FFmpeg; \ - cd FFmpeg; \ - wget -O - ${FFMPEG_FLV_PATCH_REPO} | patch -p1; \ - wget -O - ${FFMPEG_1TN_PATCH_REPO} | patch -p1; \ +RUN wget -O - ${FFMPEG_REPO} | tar xz && mv FFmpeg-${FFMPEG_VER} FFmpeg && \ + cd FFmpeg && \ + wget -O - ${FFMPEG_FLV_PATCH_REPO} | patch -p1 && \ + wget -O - ${FFMPEG_1TN_PATCH_REPO} | patch -p1 && \ wget -O - ${FFMPEG_THREAD_PATCH_REPO} | patch -p1; # Patch FFmpeg source for SVT-HEVC -RUN cd /home/FFmpeg; \ +RUN cd /home/FFmpeg && \ patch -p1 < ../SVT-HEVC/ffmpeg_plugin/0001-lavc-svt_hevc-add-libsvt-hevc-encoder-wrapper.patch; # Compile FFmpeg -RUN cd /home/FFmpeg; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --extra-libs="-lpthread -lm" --enable-shared --enable-gpl --enable-openssl --enable-nonfree --enable-libdrm --enable-libmfx --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --enable-libfdk-aac --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-libaom --enable-libsvthevc ; \ - make -j8; \ +RUN cd /home/FFmpeg && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --extra-libs="-lpthread -lm" --enable-shared --enable-gpl --enable-openssl --enable-nonfree --enable-libdrm --enable-libmfx --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --enable-libfdk-aac --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-libaom --enable-libsvthevc && \ + make -j8 && \ make install DESTDIR="/home/build" # Clean up after build -RUN rm -rf /home/build/usr/include; \ - rm -rf /home/build/usr/share/doc; \ - rm -rf /home/build/usr/share/gtk-doc; \ - rm -rf /home/build/usr/share/man; \ +RUN rm -rf /home/build/usr/include && \ + rm -rf /home/build/usr/share/doc && \ + rm -rf /home/build/usr/share/gtk-doc && \ + rm -rf /home/build/usr/share/man && \ find /home/build -name "*.a" -exec rm -f {} \; FROM centos:7.5.1804 diff --git a/VCA2/centos-7.5/gst/Dockerfile b/VCA2/centos-7.5/gst/Dockerfile index e8f8bb31c..a54a76517 100644 --- a/VCA2/centos-7.5/gst/Dockerfile +++ b/VCA2/centos-7.5/gst/Dockerfile @@ -8,76 +8,76 @@ RUN yum install -y -q bzip2 make autoconf libtool git wget ca-certificates pkg-c # Install cmake ARG CMAKE_VER=3.13.1 ARG CMAKE_REPO=https://cmake.org/files -RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz; \ - cd cmake-${CMAKE_VER}; \ - ./bootstrap --prefix="/usr"; \ - make -j8; \ +RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz && \ + cd cmake-${CMAKE_VER} && \ + ./bootstrap --prefix="/usr" && \ + make -j8 && \ make install # Build NASM ARG NASM_VER=2.13.03 ARG NASM_REPO=https://www.nasm.us/pub/nasm/releasebuilds/${NASM_VER}/nasm-${NASM_VER}.tar.bz2 -RUN wget ${NASM_REPO}; \ - tar -xaf nasm*; \ - cd nasm-${NASM_VER}; \ - ./autogen.sh; \ - ./configure --prefix="/usr" --libdir=/usr/lib64; \ - make -j8; \ +RUN wget ${NASM_REPO} && \ + tar -xaf nasm* && \ + cd nasm-${NASM_VER} && \ + ./autogen.sh && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 && \ + make -j8 && \ make install # Build YASM ARG YASM_VER=1.3.0 ARG YASM_REPO=https://www.tortall.net/projects/yasm/releases/yasm-${YASM_VER}.tar.gz -RUN wget -O - ${YASM_REPO} | tar xz; \ - cd yasm-${YASM_VER}; \ - sed -i "s/) ytasm.*/)/" Makefile.in; \ - ./configure --prefix="/usr" --libdir=/usr/lib64; \ - make -j8; \ +RUN wget -O - ${YASM_REPO} | tar xz && \ + cd yasm-${YASM_VER} && \ + sed -i "s/) ytasm.*/)/" Makefile.in && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 && \ + make -j8 && \ make install # Build ogg ARG OGG_VER=1.3.3 ARG OGG_REPO=https://downloads.xiph.org/releases/ogg/libogg-${OGG_VER}.tar.xz -RUN wget -O - ${OGG_REPO} | tar xJ; \ - cd libogg-${OGG_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${OGG_REPO} | tar xJ && \ + cd libogg-${OGG_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build vorbis ARG VORBIS_VER=1.3.6 ARG VORBIS_REPO=https://downloads.xiph.org/releases/vorbis/libvorbis-${VORBIS_VER}.tar.xz -RUN wget -O - ${VORBIS_REPO} | tar xJ; \ - cd libvorbis-${VORBIS_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${VORBIS_REPO} | tar xJ && \ + cd libvorbis-${VORBIS_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build mp3lame ARG MP3LAME_VER=3.100 ARG MP3LAME_REPO=https://sourceforge.net/projects/lame/files/lame/${MP3LAME_VER}/lame-${MP3LAME_VER}.tar.gz -RUN wget -O - ${MP3LAME_REPO} | tar xz; \ - cd lame-${MP3LAME_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --enable-nasm; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${MP3LAME_REPO} | tar xz && \ + cd lame-${MP3LAME_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --enable-nasm && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build fdk-aac ARG FDK_AAC_VER=v0.1.6 ARG FDK_AAC_REPO=https://github.com/mstorsjo/fdk-aac/archive/${FDK_AAC_VER}.tar.gz -RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac; \ - cd fdk-aac; \ - autoreconf -fiv; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac && \ + cd fdk-aac && \ + autoreconf -fiv && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -85,23 +85,23 @@ RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac; \ ARG OPUS_VER=1.2.1 ARG OPUS_REPO=https://archive.mozilla.org/pub/opus/opus-${OPUS_VER}.tar.gz -RUN wget -O - ${OPUS_REPO} | tar xz; \ - cd opus-${OPUS_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${OPUS_REPO} | tar xz && \ + cd opus-${OPUS_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build vpx ARG VPX_VER=tags/v1.7.0 ARG VPX_REPO=https://chromium.googlesource.com/webm/libvpx.git -RUN git clone ${VPX_REPO}; \ - cd libvpx; \ - git checkout ${VPX_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=nasm; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${VPX_REPO} && \ + cd libvpx && \ + git checkout ${VPX_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=nasm && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -109,25 +109,25 @@ RUN git clone ${VPX_REPO}; \ ARG AOM_VER=tags/v1.0.0 ARG AOM_REPO=https://aomedia.googlesource.com/aom -RUN git clone ${AOM_REPO}; \ - mkdir aom/aom_build; \ - cd aom/aom_build; \ - git checkout ${AOM_VER}; \ - cmake -DBUILD_SHARED_LIBS=ON -DENABLE_NASM=ON -DENABLE_TESTS=OFF -DENABLE_DOCS=OFF -DCMAKE_INSTALL_PREFIX="/usr" -DLIB_INSTALL_DIR=/usr/lib64 ..; \ - make -j8; \ - make install DESTDIR="/home/build"; \ +RUN git clone ${AOM_REPO} && \ + mkdir aom/aom_build && \ + cd aom/aom_build && \ + git checkout ${AOM_VER} && \ + cmake -DBUILD_SHARED_LIBS=ON -DENABLE_NASM=ON -DENABLE_TESTS=OFF -DENABLE_DOCS=OFF -DCMAKE_INSTALL_PREFIX="/usr" -DLIB_INSTALL_DIR=/usr/lib64 .. && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ make install # Build x264 ARG X264_VER=stable ARG X264_REPO=https://github.com/mirror/x264 -RUN git clone ${X264_REPO}; \ - cd x264; \ - git checkout ${X264_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared; \ - make -j8; \ - make install DESTDIR="/home/build"; \ +RUN git clone ${X264_REPO} && \ + cd x264 && \ + git checkout ${X264_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ make install @@ -137,28 +137,28 @@ ARG X265_REPO=https://github.com/videolan/x265/archive/${X265_VER}.tar.gz RUN yum install -y -q numactl-devel libpciaccess-devel -RUN wget -O - ${X265_REPO} | tar xz && mv x265-${X265_VER} x265; \ - cd x265/build/linux; \ - cmake -DBUILD_SHARED_LIBS=ON -DENABLE_TESTS=OFF -DCMAKE_INSTALL_PREFIX=/usr -DLIB_INSTALL_DIR=/usr/lib64 ../../source; \ - make -j8; \ - make install DESTDIR="/home/build"; \ +RUN wget -O - ${X265_REPO} | tar xz && mv x265-${X265_VER} x265 && \ + cd x265/build/linux && \ + cmake -DBUILD_SHARED_LIBS=ON -DENABLE_TESTS=OFF -DCMAKE_INSTALL_PREFIX=/usr -DLIB_INSTALL_DIR=/usr/lib64 ../../source && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ make install # Fetch SVT-HEVC ARG SVT_HEVC_VER=v1.3.0 ARG SVT_HEVC_REPO=https://github.com/intel/SVT-HEVC -RUN yum install -y -q patch centos-release-scl; \ +RUN yum install -y -q patch centos-release-scl && \ yum install -y -q devtoolset-7 -RUN git clone ${SVT_HEVC_REPO}; \ - cd SVT-HEVC/Build/linux; \ - git checkout ${SVT_HEVC_VER}; \ - mkdir -p ../../Bin/Release; \ - ( source /opt/rh/devtoolset-7/enable; \ - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${SVT_HEVC_REPO} && \ + cd SVT-HEVC/Build/linux && \ + git checkout ${SVT_HEVC_VER} && \ + mkdir -p ../../Bin/Release && \ + ( source /opt/rh/devtoolset-7/enable && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install ) @@ -166,13 +166,13 @@ RUN git clone ${SVT_HEVC_REPO}; \ ARG SVT_AV1_VER=a39acb2 ARG SVT_AV1_REPO=https://github.com/OpenVisualCloud/SVT-AV1 -RUN git clone ${SVT_AV1_REPO}; \ - cd SVT-AV1/Build/linux; \ - git checkout ${SVT_AV1_VER}; \ - mkdir -p ../../Bin/Release; \ - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${SVT_AV1_REPO} && \ + cd SVT-AV1/Build/linux && \ + git checkout ${SVT_AV1_VER} && \ + mkdir -p ../../Bin/Release && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -180,14 +180,14 @@ RUN git clone ${SVT_AV1_REPO}; \ ARG SVT_VP9_VER=e92a57c ARG SVT_VP9_REPO=https://github.com/OpenVisualCloud/SVT-VP9 -RUN git clone ${SVT_VP9_REPO}; \ - cd SVT-VP9/Build/linux; \ - git checkout ${SVT_VP9_VER}; \ - mkdir -p ../../Bin/Release; \ - ( source /opt/rh/devtoolset-7/enable; \ - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${SVT_VP9_REPO} && \ + cd SVT-VP9/Build/linux && \ + git checkout ${SVT_VP9_VER} && \ + mkdir -p ../../Bin/Release && \ + ( source /opt/rh/devtoolset-7/enable && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install ) # Fetch gmmlib @@ -204,11 +204,11 @@ ARG LIBVA_REPO=https://github.com/intel/libva/archive/${LIBVA_VER}.tar.gz RUN yum install -y -q libX11-devel mesa-libGL-devel which libdrm-devel -RUN wget -O - ${LIBVA_REPO} | tar xz; \ - cd libva-${LIBVA_VER}; \ - ./autogen.sh --prefix=/usr --libdir=/usr/lib64; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${LIBVA_REPO} | tar xz && \ + cd libva-${LIBVA_VER} && \ + ./autogen.sh --prefix=/usr --libdir=/usr/lib64 && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install; @@ -218,72 +218,83 @@ ARG MEDIA_DRIVER_REPO=https://github.com/VCDP/media-driver/archive/${MEDIA_DRIVE RUN yum install -y -q libX11-devel mesa-libGL-devel libpciaccess-devel libXext-devel -RUN wget -O - ${MEDIA_DRIVER_REPO} | tar xz && mv media-driver-${MEDIA_DRIVER_VER} media-driver; \ - mkdir -p media-driver/build; \ - cd media-driver/build; \ - cmake -DBUILD_TYPE=release -DBUILD_ALONG_WITH_CMRTLIB=1 -DMEDIA_VERSION="2.0.0" -DBS_DIR_GMMLIB=/home/gmmlib/Source/GmmLib -DBS_DIR_COMMON=/home/gmmlib/Source/Common -DBS_DIR_INC=/home/gmmlib/Source/inc -DBS_DIR_MEDIA=/home/media-driver -Wno-dev -DCMAKE_INSTALL_PREFIX=/usr ..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${MEDIA_DRIVER_REPO} | tar xz && mv media-driver-${MEDIA_DRIVER_VER} media-driver && \ + mkdir -p media-driver/build && \ + cd media-driver/build && \ + cmake -DBUILD_TYPE=release -DBUILD_ALONG_WITH_CMRTLIB=1 -DMEDIA_VERSION="2.0.0" -DBS_DIR_GMMLIB=/home/gmmlib/Source/GmmLib -DBS_DIR_COMMON=/home/gmmlib/Source/Common -DBS_DIR_INC=/home/gmmlib/Source/inc -DBS_DIR_MEDIA=/home/media-driver -Wno-dev -DCMAKE_INSTALL_PREFIX=/usr .. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install +# Install automake +ARG AUTOMAKE_VER=1.14 +ARG AUTOMAKE_REPO=https://ftp.gnu.org/pub/gnu/automake/automake-${AUTOMAKE_VER}.tar.xz + +RUN wget -O - ${AUTOMAKE_REPO} | tar xJ && \ + cd automake-${AUTOMAKE_VER} && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --disable-doc && \ + make -j8 && \ + make install + + # Build the gstremaer core ARG GST_VER=1.14.4 ARG GST_REPO=https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${GST_VER}.tar.xz -RUN yum install -y -q glib2-devel-2.56.1 -RUN wget -O - ${GST_REPO} | tar xJ; \ - cd gstreamer-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-gst-debug --disable-debug --disable-benchmarks --disable-check; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN yum install -y -q glib2-devel-2.56.1 gettext-devel gtk-doc +RUN wget -O - ${GST_REPO} | tar xJ && \ + cd gstreamer-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-gst-debug --disable-debug --disable-benchmarks --disable-check && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin base ARG GST_PLUGIN_BASE_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_BASE_REPO} | tar xJ; \ - cd gst-plugins-base-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-debug; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${GST_PLUGIN_BASE_REPO} | tar xJ && \ + cd gst-plugins-base-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-debug && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin good set ARG GST_PLUGIN_GOOD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_GOOD_REPO} | tar xJ; \ - cd gst-plugins-good-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-debug; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${GST_PLUGIN_GOOD_REPO} | tar xJ && \ + cd gst-plugins-good-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-debug && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin bad set ARG GST_PLUGIN_BAD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_BAD_REPO} | tar xJ; \ - cd gst-plugins-bad-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-debug; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${GST_PLUGIN_BAD_REPO} | tar xJ && \ + cd gst-plugins-bad-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-debug && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin ugly set ARG GST_PLUGIN_UGLY_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_UGLY_REPO} | tar xJ; \ - cd gst-plugins-ugly-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-debug; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${GST_PLUGIN_UGLY_REPO} | tar xJ && \ + cd gst-plugins-ugly-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-debug && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build gst-libav @@ -291,10 +302,10 @@ ARG GST_PLUGIN_LIBAV_REPO=https://gstreamer.freedesktop.org/src/gst-libav/gst-li RUN yum install -y -q zlib-devel openssl-devel -RUN wget -O - ${GST_PLUGIN_LIBAV_REPO} | tar xJ; \ - cd gst-libav-${GST_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --enable-gpl; \ - make -j8; \ +RUN wget -O - ${GST_PLUGIN_LIBAV_REPO} | tar xJ && \ + cd gst-libav-${GST_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --enable-gpl && \ + make -j8 && \ make install DESTDIR="/home/build" @@ -303,10 +314,10 @@ RUN wget -O - ${GST_PLUGIN_LIBAV_REPO} | tar xJ; \ ARG AUTOMAKE_VER=1.14 ARG AUTOMAKE_REPO=https://ftp.gnu.org/pub/gnu/automake/automake-${AUTOMAKE_VER}.tar.xz -RUN wget -O - ${AUTOMAKE_REPO} | tar xJ; \ - cd automake-${AUTOMAKE_VER}; \ - ./configure --prefix=/usr --libdir=/usr/lib64 --disable-doc; \ - make -j8; \ +RUN wget -O - ${AUTOMAKE_REPO} | tar xJ && \ + cd automake-${AUTOMAKE_VER} && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --disable-doc && \ + make -j8 && \ make install @@ -325,10 +336,10 @@ RUN wget -O - ${GST_PLUGIN_VAAPI_REPO} | tar xJ; \ # Clean up after build -RUN rm -rf /home/build/usr/include; \ - rm -rf /home/build/usr/share/doc; \ - rm -rf /home/build/usr/share/gtk-doc; \ - rm -rf /home/build/usr/share/man; \ +RUN rm -rf /home/build/usr/include && \ + rm -rf /home/build/usr/share/doc && \ + rm -rf /home/build/usr/share/gtk-doc && \ + rm -rf /home/build/usr/share/man && \ find /home/build -name "*.a" -exec rm -f {} \; FROM centos:7.5.1804 diff --git a/VCA2/centos-7.5/gst/Dockerfile.m4 b/VCA2/centos-7.5/gst/Dockerfile.m4 index a6a97548b..961a0fc0b 100644 --- a/VCA2/centos-7.5/gst/Dockerfile.m4 +++ b/VCA2/centos-7.5/gst/Dockerfile.m4 @@ -20,6 +20,7 @@ include(gmmlib.m4) #include(libdrm.m4) include(libva.m4) include(media-driver.m4) +include(automake.m4) include(gst.m4) include(gst-plugin-base.m4) include(gst-plugin-good.m4) diff --git a/VCA2/centos-7.5/nginx+rtmp/Dockerfile b/VCA2/centos-7.5/nginx+rtmp/Dockerfile index c672607a5..7b075ffa9 100644 --- a/VCA2/centos-7.5/nginx+rtmp/Dockerfile +++ b/VCA2/centos-7.5/nginx+rtmp/Dockerfile @@ -8,10 +8,10 @@ RUN yum install -y -q bzip2 make autoconf libtool git wget ca-certificates pkg-c # Install cmake ARG CMAKE_VER=3.13.1 ARG CMAKE_REPO=https://cmake.org/files -RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz; \ - cd cmake-${CMAKE_VER}; \ - ./bootstrap --prefix="/usr"; \ - make -j8; \ +RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz && \ + cd cmake-${CMAKE_VER} && \ + ./bootstrap --prefix="/usr" && \ + make -j8 && \ make install @@ -21,11 +21,11 @@ ARG NGINX_RTMP_REPO=https://github.com/arut/nginx-rtmp-module/archive/${NGINX_RT ARG NGINX_RTMP_PATCH_HLS=https://raw.githubusercontent.com/VCDP/CDN/master/0001-add-hevc-support-for-rtmp-and-hls.patch ARG NGINX_RTMP_PATCH_DASH=https://raw.githubusercontent.com/VCDP/CDN/master/0002-add-HEVC-support-for-dash.patch -RUN wget -O - ${NGINX_RTMP_REPO} | tar xz && mv nginx-rtmp-module-${NGINX_RTMP_VER#v} nginx-rtmp-module; \ - cd nginx-rtmp-module; \ - mkdir -p /home/build/var/www/html; \ - cp -f stat.xsl /home/build/var/www/html; \ - wget -O - ${NGINX_RTMP_PATCH_HLS} | patch -p1; \ +RUN wget -O - ${NGINX_RTMP_REPO} | tar xz && mv nginx-rtmp-module-${NGINX_RTMP_VER#v} nginx-rtmp-module && \ + cd nginx-rtmp-module && \ + mkdir -p /home/build/var/www/html && \ + cp -f stat.xsl /home/build/var/www/html && \ + wget -O - ${NGINX_RTMP_PATCH_HLS} | patch -p1 && \ wget -O - ${NGINX_RTMP_PATCH_DASH} | patch -p1; # Build nginx & nginx-rtmp @@ -34,21 +34,21 @@ ARG NGINX_REPO=https://nginx.org/download/nginx-${NGINX_VER}.tar.gz RUN yum install -y -q openssl-devel pcre2-devel zlib-devel libxslt-devel -RUN wget -O - ${NGINX_REPO} | tar xz; \ - cd nginx-${NGINX_VER}; \ - ./configure --prefix=/var/www --sbin-path=/usr/sbin/nginx --modules-path=/usr/lib64/nginx/modules --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/www/log/error.log --pid-path=/var/www/nginx.pid --lock-path=/var/www/nginx.lock --http-log-path=/var/www/log/access.log --http-client-body-temp-path=/var/www/tmp/client_body --http-proxy-temp-path=/var/www/tmp/proxy --http-fastcgi-temp-path=/var/www/tmp/fastcgi --http-uwsgi-temp-path=/var/www/tmp/uwsgi --http-scgi-temp-path=/var/www/tmp/scgi --user=nobody --group=nobody --with-select_module --with-poll_module --with-threads --with-file-aio --with-http_ssl_module --with-http_v2_module --with-http_realip_module --with-http_addition_module --with-http_xslt_module --with-http_sub_module --with-http_dav_module --with-http_flv_module --with-http_mp4_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_auth_request_module --with-http_random_index_module --with-http_secure_link_module --with-http_degradation_module --with-http_slice_module --with-http_stub_status_module --with-stream --with-stream_ssl_module --with-stream_realip_module --with-stream_ssl_preread_module --with-pcre --add-module=../nginx-rtmp-module ; \ - make -j8; \ +RUN wget -O - ${NGINX_REPO} | tar xz && \ + cd nginx-${NGINX_VER} && \ + ./configure --prefix=/var/www --sbin-path=/usr/sbin/nginx --modules-path=/usr/lib64/nginx/modules --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/www/log/error.log --pid-path=/var/www/nginx.pid --lock-path=/var/www/nginx.lock --http-log-path=/var/www/log/access.log --http-client-body-temp-path=/var/www/tmp/client_body --http-proxy-temp-path=/var/www/tmp/proxy --http-fastcgi-temp-path=/var/www/tmp/fastcgi --http-uwsgi-temp-path=/var/www/tmp/uwsgi --http-scgi-temp-path=/var/www/tmp/scgi --user=nobody --group=nobody --with-select_module --with-poll_module --with-threads --with-file-aio --with-http_ssl_module --with-http_v2_module --with-http_realip_module --with-http_addition_module --with-http_xslt_module --with-http_sub_module --with-http_dav_module --with-http_flv_module --with-http_mp4_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_auth_request_module --with-http_random_index_module --with-http_secure_link_module --with-http_degradation_module --with-http_slice_module --with-http_stub_status_module --with-stream --with-stream_ssl_module --with-stream_realip_module --with-stream_ssl_preread_module --with-pcre --add-module=../nginx-rtmp-module && \ + make -j8 && \ make install DESTDIR=/home/build; # NGINX Setup COPY nginx.conf /home/build/etc/nginx -RUN mkdir -p /home/build/var/www/tmp/client_body; \ - mkdir -p /home/build/var/www/tmp/proxy; \ - mkdir -p /home/build/var/www/tmp/fastcgi; \ - mkdir -p /home/build/var/www/tmp/uwsgi; \ - mkdir -p /home/build/var/www/tmp/scgi; \ - mkdir -p /home/build/var/www/cache; \ - mkdir -p /home/build/var/www/html; \ +RUN mkdir -p /home/build/var/www/tmp/client_body && \ + mkdir -p /home/build/var/www/tmp/proxy && \ + mkdir -p /home/build/var/www/tmp/fastcgi && \ + mkdir -p /home/build/var/www/tmp/uwsgi && \ + mkdir -p /home/build/var/www/tmp/scgi && \ + mkdir -p /home/build/var/www/cache && \ + mkdir -p /home/build/var/www/html && \ touch /home/build/var/www/html/index.html; diff --git a/VCA2/centos-7.6/ffmpeg+gst+dev/Dockerfile b/VCA2/centos-7.6/ffmpeg+gst+dev/Dockerfile index bac08f527..a5724c240 100644 --- a/VCA2/centos-7.6/ffmpeg+gst+dev/Dockerfile +++ b/VCA2/centos-7.6/ffmpeg+gst+dev/Dockerfile @@ -8,76 +8,76 @@ RUN yum install -y -q bzip2 make autoconf libtool git wget ca-certificates pkg-c # Install cmake ARG CMAKE_VER=3.13.1 ARG CMAKE_REPO=https://cmake.org/files -RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz; \ - cd cmake-${CMAKE_VER}; \ - ./bootstrap --prefix="/usr"; \ - make -j8; \ +RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz && \ + cd cmake-${CMAKE_VER} && \ + ./bootstrap --prefix="/usr" && \ + make -j8 && \ make install # Build NASM ARG NASM_VER=2.13.03 ARG NASM_REPO=https://www.nasm.us/pub/nasm/releasebuilds/${NASM_VER}/nasm-${NASM_VER}.tar.bz2 -RUN wget ${NASM_REPO}; \ - tar -xaf nasm*; \ - cd nasm-${NASM_VER}; \ - ./autogen.sh; \ - ./configure --prefix="/usr" --libdir=/usr/lib64; \ - make -j8; \ +RUN wget ${NASM_REPO} && \ + tar -xaf nasm* && \ + cd nasm-${NASM_VER} && \ + ./autogen.sh && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 && \ + make -j8 && \ make install # Build YASM ARG YASM_VER=1.3.0 ARG YASM_REPO=https://www.tortall.net/projects/yasm/releases/yasm-${YASM_VER}.tar.gz -RUN wget -O - ${YASM_REPO} | tar xz; \ - cd yasm-${YASM_VER}; \ - sed -i "s/) ytasm.*/)/" Makefile.in; \ - ./configure --prefix="/usr" --libdir=/usr/lib64; \ - make -j8; \ +RUN wget -O - ${YASM_REPO} | tar xz && \ + cd yasm-${YASM_VER} && \ + sed -i "s/) ytasm.*/)/" Makefile.in && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 && \ + make -j8 && \ make install # Build ogg ARG OGG_VER=1.3.3 ARG OGG_REPO=https://downloads.xiph.org/releases/ogg/libogg-${OGG_VER}.tar.xz -RUN wget -O - ${OGG_REPO} | tar xJ; \ - cd libogg-${OGG_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${OGG_REPO} | tar xJ && \ + cd libogg-${OGG_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build vorbis ARG VORBIS_VER=1.3.6 ARG VORBIS_REPO=https://downloads.xiph.org/releases/vorbis/libvorbis-${VORBIS_VER}.tar.xz -RUN wget -O - ${VORBIS_REPO} | tar xJ; \ - cd libvorbis-${VORBIS_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${VORBIS_REPO} | tar xJ && \ + cd libvorbis-${VORBIS_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build mp3lame ARG MP3LAME_VER=3.100 ARG MP3LAME_REPO=https://sourceforge.net/projects/lame/files/lame/${MP3LAME_VER}/lame-${MP3LAME_VER}.tar.gz -RUN wget -O - ${MP3LAME_REPO} | tar xz; \ - cd lame-${MP3LAME_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --enable-nasm; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${MP3LAME_REPO} | tar xz && \ + cd lame-${MP3LAME_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --enable-nasm && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build fdk-aac ARG FDK_AAC_VER=v0.1.6 ARG FDK_AAC_REPO=https://github.com/mstorsjo/fdk-aac/archive/${FDK_AAC_VER}.tar.gz -RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac; \ - cd fdk-aac; \ - autoreconf -fiv; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac && \ + cd fdk-aac && \ + autoreconf -fiv && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -85,23 +85,23 @@ RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac; \ ARG OPUS_VER=1.2.1 ARG OPUS_REPO=https://archive.mozilla.org/pub/opus/opus-${OPUS_VER}.tar.gz -RUN wget -O - ${OPUS_REPO} | tar xz; \ - cd opus-${OPUS_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${OPUS_REPO} | tar xz && \ + cd opus-${OPUS_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build vpx ARG VPX_VER=tags/v1.7.0 ARG VPX_REPO=https://chromium.googlesource.com/webm/libvpx.git -RUN git clone ${VPX_REPO}; \ - cd libvpx; \ - git checkout ${VPX_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=nasm; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${VPX_REPO} && \ + cd libvpx && \ + git checkout ${VPX_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=nasm && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -109,25 +109,25 @@ RUN git clone ${VPX_REPO}; \ ARG AOM_VER=tags/v1.0.0 ARG AOM_REPO=https://aomedia.googlesource.com/aom -RUN git clone ${AOM_REPO}; \ - mkdir aom/aom_build; \ - cd aom/aom_build; \ - git checkout ${AOM_VER}; \ - cmake -DBUILD_SHARED_LIBS=ON -DENABLE_NASM=ON -DENABLE_TESTS=OFF -DENABLE_DOCS=OFF -DCMAKE_INSTALL_PREFIX="/usr" -DLIB_INSTALL_DIR=/usr/lib64 ..; \ - make -j8; \ - make install DESTDIR="/home/build"; \ +RUN git clone ${AOM_REPO} && \ + mkdir aom/aom_build && \ + cd aom/aom_build && \ + git checkout ${AOM_VER} && \ + cmake -DBUILD_SHARED_LIBS=ON -DENABLE_NASM=ON -DENABLE_TESTS=OFF -DENABLE_DOCS=OFF -DCMAKE_INSTALL_PREFIX="/usr" -DLIB_INSTALL_DIR=/usr/lib64 .. && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ make install # Build x264 ARG X264_VER=stable ARG X264_REPO=https://github.com/mirror/x264 -RUN git clone ${X264_REPO}; \ - cd x264; \ - git checkout ${X264_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared; \ - make -j8; \ - make install DESTDIR="/home/build"; \ +RUN git clone ${X264_REPO} && \ + cd x264 && \ + git checkout ${X264_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ make install @@ -137,28 +137,28 @@ ARG X265_REPO=https://github.com/videolan/x265/archive/${X265_VER}.tar.gz RUN yum install -y -q numactl-devel libpciaccess-devel -RUN wget -O - ${X265_REPO} | tar xz && mv x265-${X265_VER} x265; \ - cd x265/build/linux; \ - cmake -DBUILD_SHARED_LIBS=ON -DENABLE_TESTS=OFF -DCMAKE_INSTALL_PREFIX=/usr -DLIB_INSTALL_DIR=/usr/lib64 ../../source; \ - make -j8; \ - make install DESTDIR="/home/build"; \ +RUN wget -O - ${X265_REPO} | tar xz && mv x265-${X265_VER} x265 && \ + cd x265/build/linux && \ + cmake -DBUILD_SHARED_LIBS=ON -DENABLE_TESTS=OFF -DCMAKE_INSTALL_PREFIX=/usr -DLIB_INSTALL_DIR=/usr/lib64 ../../source && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ make install # Fetch SVT-HEVC ARG SVT_HEVC_VER=v1.3.0 ARG SVT_HEVC_REPO=https://github.com/intel/SVT-HEVC -RUN yum install -y -q patch centos-release-scl; \ +RUN yum install -y -q patch centos-release-scl && \ yum install -y -q devtoolset-7 -RUN git clone ${SVT_HEVC_REPO}; \ - cd SVT-HEVC/Build/linux; \ - git checkout ${SVT_HEVC_VER}; \ - mkdir -p ../../Bin/Release; \ - ( source /opt/rh/devtoolset-7/enable; \ - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${SVT_HEVC_REPO} && \ + cd SVT-HEVC/Build/linux && \ + git checkout ${SVT_HEVC_VER} && \ + mkdir -p ../../Bin/Release && \ + ( source /opt/rh/devtoolset-7/enable && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install ) @@ -166,13 +166,13 @@ RUN git clone ${SVT_HEVC_REPO}; \ ARG SVT_AV1_VER=a39acb2 ARG SVT_AV1_REPO=https://github.com/OpenVisualCloud/SVT-AV1 -RUN git clone ${SVT_AV1_REPO}; \ - cd SVT-AV1/Build/linux; \ - git checkout ${SVT_AV1_VER}; \ - mkdir -p ../../Bin/Release; \ - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${SVT_AV1_REPO} && \ + cd SVT-AV1/Build/linux && \ + git checkout ${SVT_AV1_VER} && \ + mkdir -p ../../Bin/Release && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -180,14 +180,14 @@ RUN git clone ${SVT_AV1_REPO}; \ ARG SVT_VP9_VER=e92a57c ARG SVT_VP9_REPO=https://github.com/OpenVisualCloud/SVT-VP9 -RUN git clone ${SVT_VP9_REPO}; \ - cd SVT-VP9/Build/linux; \ - git checkout ${SVT_VP9_VER}; \ - mkdir -p ../../Bin/Release; \ - ( source /opt/rh/devtoolset-7/enable; \ - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${SVT_VP9_REPO} && \ + cd SVT-VP9/Build/linux && \ + git checkout ${SVT_VP9_VER} && \ + mkdir -p ../../Bin/Release && \ + ( source /opt/rh/devtoolset-7/enable && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install ) #include(transform360.m4) @@ -205,11 +205,11 @@ ARG LIBVA_REPO=https://github.com/intel/libva/archive/${LIBVA_VER}.tar.gz RUN yum install -y -q libX11-devel mesa-libGL-devel which libdrm-devel -RUN wget -O - ${LIBVA_REPO} | tar xz; \ - cd libva-${LIBVA_VER}; \ - ./autogen.sh --prefix=/usr --libdir=/usr/lib64; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${LIBVA_REPO} | tar xz && \ + cd libva-${LIBVA_VER} && \ + ./autogen.sh --prefix=/usr --libdir=/usr/lib64 && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install; @@ -219,12 +219,12 @@ ARG MEDIA_DRIVER_REPO=https://github.com/VCDP/media-driver/archive/${MEDIA_DRIVE RUN yum install -y -q libX11-devel mesa-libGL-devel libpciaccess-devel libXext-devel -RUN wget -O - ${MEDIA_DRIVER_REPO} | tar xz && mv media-driver-${MEDIA_DRIVER_VER} media-driver; \ - mkdir -p media-driver/build; \ - cd media-driver/build; \ - cmake -DBUILD_TYPE=release -DBUILD_ALONG_WITH_CMRTLIB=1 -DMEDIA_VERSION="2.0.0" -DBS_DIR_GMMLIB=/home/gmmlib/Source/GmmLib -DBS_DIR_COMMON=/home/gmmlib/Source/Common -DBS_DIR_INC=/home/gmmlib/Source/inc -DBS_DIR_MEDIA=/home/media-driver -Wno-dev -DCMAKE_INSTALL_PREFIX=/usr ..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${MEDIA_DRIVER_REPO} | tar xz && mv media-driver-${MEDIA_DRIVER_VER} media-driver && \ + mkdir -p media-driver/build && \ + cd media-driver/build && \ + cmake -DBUILD_TYPE=release -DBUILD_ALONG_WITH_CMRTLIB=1 -DMEDIA_VERSION="2.0.0" -DBS_DIR_GMMLIB=/home/gmmlib/Source/GmmLib -DBS_DIR_COMMON=/home/gmmlib/Source/Common -DBS_DIR_INC=/home/gmmlib/Source/inc -DBS_DIR_MEDIA=/home/media-driver -Wno-dev -DCMAKE_INSTALL_PREFIX=/usr .. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -233,12 +233,12 @@ RUN wget -O - ${MEDIA_DRIVER_REPO} | tar xz && mv media-driver-${MEDIA_DRIVER_VE ARG MSDK_VER=MSS-KBL-2019-R1 ARG MSDK_REPO=https://github.com/Intel-Media-SDK/MediaSDK/archive/${MSDK_VER}.tar.gz -RUN wget -O - ${MSDK_REPO} | tar xz && mv MediaSDK-${MSDK_VER} MediaSDK; \ - mkdir -p MediaSDK/build; \ - cd MediaSDK/build; \ - cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_INCLUDEDIR=include/mfx -DBUILD_SAMPLES=OFF -DENABLE_OPENCL=OFF -Wno-dev ..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${MSDK_REPO} | tar xz && mv MediaSDK-${MSDK_VER} MediaSDK && \ + mkdir -p MediaSDK/build && \ + cd MediaSDK/build && \ + cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_INCLUDEDIR=include/mfx -DBUILD_SAMPLES=OFF -DENABLE_OPENCL=OFF -Wno-dev .. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install; # Build DLDT-Inference Engine @@ -276,62 +276,73 @@ RUN git clone -b ${DLDT_VER} ${DLDT_REPO}; \ echo "Cflags: -I\${includedir}" >> "$pc"; \ done; +# Install automake +ARG AUTOMAKE_VER=1.14 +ARG AUTOMAKE_REPO=https://ftp.gnu.org/pub/gnu/automake/automake-${AUTOMAKE_VER}.tar.xz + +RUN wget -O - ${AUTOMAKE_REPO} | tar xJ && \ + cd automake-${AUTOMAKE_VER} && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --disable-doc && \ + make -j8 && \ + make install + + # Build the gstremaer core ARG GST_VER=1.14.4 ARG GST_REPO=https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${GST_VER}.tar.xz -RUN yum install -y -q glib2-devel-2.56.1 -RUN wget -O - ${GST_REPO} | tar xJ; \ - cd gstreamer-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples ; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN yum install -y -q glib2-devel-2.56.1 gettext-devel gtk-doc +RUN wget -O - ${GST_REPO} | tar xJ && \ + cd gstreamer-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin base ARG GST_PLUGIN_BASE_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_BASE_REPO} | tar xJ; \ - cd gst-plugins-base-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples ; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${GST_PLUGIN_BASE_REPO} | tar xJ && \ + cd gst-plugins-base-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin good set ARG GST_PLUGIN_GOOD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_GOOD_REPO} | tar xJ; \ - cd gst-plugins-good-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples ; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${GST_PLUGIN_GOOD_REPO} | tar xJ && \ + cd gst-plugins-good-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin bad set ARG GST_PLUGIN_BAD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_BAD_REPO} | tar xJ; \ - cd gst-plugins-bad-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples ; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${GST_PLUGIN_BAD_REPO} | tar xJ && \ + cd gst-plugins-bad-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin ugly set ARG GST_PLUGIN_UGLY_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_UGLY_REPO} | tar xJ; \ - cd gst-plugins-ugly-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples ; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${GST_PLUGIN_UGLY_REPO} | tar xJ && \ + cd gst-plugins-ugly-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build gst-libav @@ -339,10 +350,10 @@ ARG GST_PLUGIN_LIBAV_REPO=https://gstreamer.freedesktop.org/src/gst-libav/gst-li RUN yum install -y -q zlib-devel openssl-devel -RUN wget -O - ${GST_PLUGIN_LIBAV_REPO} | tar xJ; \ - cd gst-libav-${GST_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --enable-gpl; \ - make -j8; \ +RUN wget -O - ${GST_PLUGIN_LIBAV_REPO} | tar xJ && \ + cd gst-libav-${GST_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --enable-gpl && \ + make -j8 && \ make install DESTDIR="/home/build" @@ -351,10 +362,10 @@ RUN wget -O - ${GST_PLUGIN_LIBAV_REPO} | tar xJ; \ ARG AUTOMAKE_VER=1.14 ARG AUTOMAKE_REPO=https://ftp.gnu.org/pub/gnu/automake/automake-${AUTOMAKE_VER}.tar.xz -RUN wget -O - ${AUTOMAKE_REPO} | tar xJ; \ - cd automake-${AUTOMAKE_VER}; \ - ./configure --prefix=/usr --libdir=/usr/lib64 --disable-doc; \ - make -j8; \ +RUN wget -O - ${AUTOMAKE_REPO} | tar xJ && \ + cd automake-${AUTOMAKE_VER} && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --disable-doc && \ + make -j8 && \ make install @@ -380,20 +391,20 @@ ARG FFMPEG_1TN_PATCH_REPO=https://patchwork.ffmpeg.org/patch/11625/raw ARG FFMPEG_THREAD_PATCH_REPO=https://patchwork.ffmpeg.org/patch/11035/raw RUN yum install -y -q libass-devel freetype-devel SDL2-devel libxcb-devel libvdpau-devel texinfo zlib-devel openssl-devel -RUN wget -O - ${FFMPEG_REPO} | tar xz && mv FFmpeg-${FFMPEG_VER} FFmpeg; \ - cd FFmpeg; \ - wget -O - ${FFMPEG_FLV_PATCH_REPO} | patch -p1; \ - wget -O - ${FFMPEG_1TN_PATCH_REPO} | patch -p1; \ +RUN wget -O - ${FFMPEG_REPO} | tar xz && mv FFmpeg-${FFMPEG_VER} FFmpeg && \ + cd FFmpeg && \ + wget -O - ${FFMPEG_FLV_PATCH_REPO} | patch -p1 && \ + wget -O - ${FFMPEG_1TN_PATCH_REPO} | patch -p1 && \ wget -O - ${FFMPEG_THREAD_PATCH_REPO} | patch -p1; # Patch FFmpeg source for SVT-HEVC -RUN cd /home/FFmpeg; \ +RUN cd /home/FFmpeg && \ patch -p1 < ../SVT-HEVC/ffmpeg_plugin/0001-lavc-svt_hevc-add-libsvt-hevc-encoder-wrapper.patch; # Compile FFmpeg -RUN cd /home/FFmpeg; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --extra-libs="-lpthread -lm" --enable-shared --enable-gpl --enable-libass --enable-libfreetype --enable-openssl --enable-nonfree --enable-libdrm --enable-libmfx --enable-libfdk-aac --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-libaom --enable-libsvthevc ; \ - make -j8; \ +RUN cd /home/FFmpeg && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --extra-libs="-lpthread -lm" --enable-shared --enable-gpl --enable-libass --enable-libfreetype --enable-openssl --enable-nonfree --enable-libdrm --enable-libmfx --enable-libfdk-aac --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-libaom --enable-libsvthevc && \ + make -j8 && \ make install DESTDIR="/home/build" diff --git a/VCA2/centos-7.6/ffmpeg+gst+dev/Dockerfile.m4 b/VCA2/centos-7.6/ffmpeg+gst+dev/Dockerfile.m4 index 16a122ff3..f6980e999 100644 --- a/VCA2/centos-7.6/ffmpeg+gst+dev/Dockerfile.m4 +++ b/VCA2/centos-7.6/ffmpeg+gst+dev/Dockerfile.m4 @@ -23,6 +23,7 @@ include(libva.m4) include(media-driver.m4) include(media-sdk.m4) include(dldt-ie.m4) +include(automake.m4) include(gst.m4) include(gst-plugin-base.m4) include(gst-plugin-good.m4) diff --git a/VCA2/centos-7.6/ffmpeg/Dockerfile b/VCA2/centos-7.6/ffmpeg/Dockerfile index 0f23e4360..04de76bb0 100644 --- a/VCA2/centos-7.6/ffmpeg/Dockerfile +++ b/VCA2/centos-7.6/ffmpeg/Dockerfile @@ -8,76 +8,76 @@ RUN yum install -y -q bzip2 make autoconf libtool git wget ca-certificates pkg-c # Install cmake ARG CMAKE_VER=3.13.1 ARG CMAKE_REPO=https://cmake.org/files -RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz; \ - cd cmake-${CMAKE_VER}; \ - ./bootstrap --prefix="/usr"; \ - make -j8; \ +RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz && \ + cd cmake-${CMAKE_VER} && \ + ./bootstrap --prefix="/usr" && \ + make -j8 && \ make install # Build NASM ARG NASM_VER=2.13.03 ARG NASM_REPO=https://www.nasm.us/pub/nasm/releasebuilds/${NASM_VER}/nasm-${NASM_VER}.tar.bz2 -RUN wget ${NASM_REPO}; \ - tar -xaf nasm*; \ - cd nasm-${NASM_VER}; \ - ./autogen.sh; \ - ./configure --prefix="/usr" --libdir=/usr/lib64; \ - make -j8; \ +RUN wget ${NASM_REPO} && \ + tar -xaf nasm* && \ + cd nasm-${NASM_VER} && \ + ./autogen.sh && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 && \ + make -j8 && \ make install # Build YASM ARG YASM_VER=1.3.0 ARG YASM_REPO=https://www.tortall.net/projects/yasm/releases/yasm-${YASM_VER}.tar.gz -RUN wget -O - ${YASM_REPO} | tar xz; \ - cd yasm-${YASM_VER}; \ - sed -i "s/) ytasm.*/)/" Makefile.in; \ - ./configure --prefix="/usr" --libdir=/usr/lib64; \ - make -j8; \ +RUN wget -O - ${YASM_REPO} | tar xz && \ + cd yasm-${YASM_VER} && \ + sed -i "s/) ytasm.*/)/" Makefile.in && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 && \ + make -j8 && \ make install # Build ogg ARG OGG_VER=1.3.3 ARG OGG_REPO=https://downloads.xiph.org/releases/ogg/libogg-${OGG_VER}.tar.xz -RUN wget -O - ${OGG_REPO} | tar xJ; \ - cd libogg-${OGG_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${OGG_REPO} | tar xJ && \ + cd libogg-${OGG_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build vorbis ARG VORBIS_VER=1.3.6 ARG VORBIS_REPO=https://downloads.xiph.org/releases/vorbis/libvorbis-${VORBIS_VER}.tar.xz -RUN wget -O - ${VORBIS_REPO} | tar xJ; \ - cd libvorbis-${VORBIS_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${VORBIS_REPO} | tar xJ && \ + cd libvorbis-${VORBIS_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build mp3lame ARG MP3LAME_VER=3.100 ARG MP3LAME_REPO=https://sourceforge.net/projects/lame/files/lame/${MP3LAME_VER}/lame-${MP3LAME_VER}.tar.gz -RUN wget -O - ${MP3LAME_REPO} | tar xz; \ - cd lame-${MP3LAME_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --enable-nasm; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${MP3LAME_REPO} | tar xz && \ + cd lame-${MP3LAME_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --enable-nasm && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build fdk-aac ARG FDK_AAC_VER=v0.1.6 ARG FDK_AAC_REPO=https://github.com/mstorsjo/fdk-aac/archive/${FDK_AAC_VER}.tar.gz -RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac; \ - cd fdk-aac; \ - autoreconf -fiv; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac && \ + cd fdk-aac && \ + autoreconf -fiv && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -85,23 +85,23 @@ RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac; \ ARG OPUS_VER=1.2.1 ARG OPUS_REPO=https://archive.mozilla.org/pub/opus/opus-${OPUS_VER}.tar.gz -RUN wget -O - ${OPUS_REPO} | tar xz; \ - cd opus-${OPUS_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${OPUS_REPO} | tar xz && \ + cd opus-${OPUS_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build vpx ARG VPX_VER=tags/v1.7.0 ARG VPX_REPO=https://chromium.googlesource.com/webm/libvpx.git -RUN git clone ${VPX_REPO}; \ - cd libvpx; \ - git checkout ${VPX_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=nasm; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${VPX_REPO} && \ + cd libvpx && \ + git checkout ${VPX_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=nasm && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -109,25 +109,25 @@ RUN git clone ${VPX_REPO}; \ ARG AOM_VER=tags/v1.0.0 ARG AOM_REPO=https://aomedia.googlesource.com/aom -RUN git clone ${AOM_REPO}; \ - mkdir aom/aom_build; \ - cd aom/aom_build; \ - git checkout ${AOM_VER}; \ - cmake -DBUILD_SHARED_LIBS=ON -DENABLE_NASM=ON -DENABLE_TESTS=OFF -DENABLE_DOCS=OFF -DCMAKE_INSTALL_PREFIX="/usr" -DLIB_INSTALL_DIR=/usr/lib64 ..; \ - make -j8; \ - make install DESTDIR="/home/build"; \ +RUN git clone ${AOM_REPO} && \ + mkdir aom/aom_build && \ + cd aom/aom_build && \ + git checkout ${AOM_VER} && \ + cmake -DBUILD_SHARED_LIBS=ON -DENABLE_NASM=ON -DENABLE_TESTS=OFF -DENABLE_DOCS=OFF -DCMAKE_INSTALL_PREFIX="/usr" -DLIB_INSTALL_DIR=/usr/lib64 .. && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ make install # Build x264 ARG X264_VER=stable ARG X264_REPO=https://github.com/mirror/x264 -RUN git clone ${X264_REPO}; \ - cd x264; \ - git checkout ${X264_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared; \ - make -j8; \ - make install DESTDIR="/home/build"; \ +RUN git clone ${X264_REPO} && \ + cd x264 && \ + git checkout ${X264_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ make install @@ -137,28 +137,28 @@ ARG X265_REPO=https://github.com/videolan/x265/archive/${X265_VER}.tar.gz RUN yum install -y -q numactl-devel libpciaccess-devel -RUN wget -O - ${X265_REPO} | tar xz && mv x265-${X265_VER} x265; \ - cd x265/build/linux; \ - cmake -DBUILD_SHARED_LIBS=ON -DENABLE_TESTS=OFF -DCMAKE_INSTALL_PREFIX=/usr -DLIB_INSTALL_DIR=/usr/lib64 ../../source; \ - make -j8; \ - make install DESTDIR="/home/build"; \ +RUN wget -O - ${X265_REPO} | tar xz && mv x265-${X265_VER} x265 && \ + cd x265/build/linux && \ + cmake -DBUILD_SHARED_LIBS=ON -DENABLE_TESTS=OFF -DCMAKE_INSTALL_PREFIX=/usr -DLIB_INSTALL_DIR=/usr/lib64 ../../source && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ make install # Fetch SVT-HEVC ARG SVT_HEVC_VER=v1.3.0 ARG SVT_HEVC_REPO=https://github.com/intel/SVT-HEVC -RUN yum install -y -q patch centos-release-scl; \ +RUN yum install -y -q patch centos-release-scl && \ yum install -y -q devtoolset-7 -RUN git clone ${SVT_HEVC_REPO}; \ - cd SVT-HEVC/Build/linux; \ - git checkout ${SVT_HEVC_VER}; \ - mkdir -p ../../Bin/Release; \ - ( source /opt/rh/devtoolset-7/enable; \ - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${SVT_HEVC_REPO} && \ + cd SVT-HEVC/Build/linux && \ + git checkout ${SVT_HEVC_VER} && \ + mkdir -p ../../Bin/Release && \ + ( source /opt/rh/devtoolset-7/enable && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install ) @@ -166,13 +166,13 @@ RUN git clone ${SVT_HEVC_REPO}; \ ARG SVT_AV1_VER=a39acb2 ARG SVT_AV1_REPO=https://github.com/OpenVisualCloud/SVT-AV1 -RUN git clone ${SVT_AV1_REPO}; \ - cd SVT-AV1/Build/linux; \ - git checkout ${SVT_AV1_VER}; \ - mkdir -p ../../Bin/Release; \ - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${SVT_AV1_REPO} && \ + cd SVT-AV1/Build/linux && \ + git checkout ${SVT_AV1_VER} && \ + mkdir -p ../../Bin/Release && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -180,14 +180,14 @@ RUN git clone ${SVT_AV1_REPO}; \ ARG SVT_VP9_VER=e92a57c ARG SVT_VP9_REPO=https://github.com/OpenVisualCloud/SVT-VP9 -RUN git clone ${SVT_VP9_REPO}; \ - cd SVT-VP9/Build/linux; \ - git checkout ${SVT_VP9_VER}; \ - mkdir -p ../../Bin/Release; \ - ( source /opt/rh/devtoolset-7/enable; \ - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${SVT_VP9_REPO} && \ + cd SVT-VP9/Build/linux && \ + git checkout ${SVT_VP9_VER} && \ + mkdir -p ../../Bin/Release && \ + ( source /opt/rh/devtoolset-7/enable && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install ) #include(transform360.m4) @@ -205,11 +205,11 @@ ARG LIBVA_REPO=https://github.com/intel/libva/archive/${LIBVA_VER}.tar.gz RUN yum install -y -q libX11-devel mesa-libGL-devel which libdrm-devel -RUN wget -O - ${LIBVA_REPO} | tar xz; \ - cd libva-${LIBVA_VER}; \ - ./autogen.sh --prefix=/usr --libdir=/usr/lib64; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${LIBVA_REPO} | tar xz && \ + cd libva-${LIBVA_VER} && \ + ./autogen.sh --prefix=/usr --libdir=/usr/lib64 && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install; @@ -219,12 +219,12 @@ ARG MEDIA_DRIVER_REPO=https://github.com/VCDP/media-driver/archive/${MEDIA_DRIVE RUN yum install -y -q libX11-devel mesa-libGL-devel libpciaccess-devel libXext-devel -RUN wget -O - ${MEDIA_DRIVER_REPO} | tar xz && mv media-driver-${MEDIA_DRIVER_VER} media-driver; \ - mkdir -p media-driver/build; \ - cd media-driver/build; \ - cmake -DBUILD_TYPE=release -DBUILD_ALONG_WITH_CMRTLIB=1 -DMEDIA_VERSION="2.0.0" -DBS_DIR_GMMLIB=/home/gmmlib/Source/GmmLib -DBS_DIR_COMMON=/home/gmmlib/Source/Common -DBS_DIR_INC=/home/gmmlib/Source/inc -DBS_DIR_MEDIA=/home/media-driver -Wno-dev -DCMAKE_INSTALL_PREFIX=/usr ..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${MEDIA_DRIVER_REPO} | tar xz && mv media-driver-${MEDIA_DRIVER_VER} media-driver && \ + mkdir -p media-driver/build && \ + cd media-driver/build && \ + cmake -DBUILD_TYPE=release -DBUILD_ALONG_WITH_CMRTLIB=1 -DMEDIA_VERSION="2.0.0" -DBS_DIR_GMMLIB=/home/gmmlib/Source/GmmLib -DBS_DIR_COMMON=/home/gmmlib/Source/Common -DBS_DIR_INC=/home/gmmlib/Source/inc -DBS_DIR_MEDIA=/home/media-driver -Wno-dev -DCMAKE_INSTALL_PREFIX=/usr .. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -233,14 +233,14 @@ RUN wget -O - ${MEDIA_DRIVER_REPO} | tar xz && mv media-driver-${MEDIA_DRIVER_VE ARG MSDK_VER=MSS-KBL-2019-R1 ARG MSDK_REPO=https://github.com/Intel-Media-SDK/MediaSDK/archive/${MSDK_VER}.tar.gz -RUN wget -O - ${MSDK_REPO} | tar xz && mv MediaSDK-${MSDK_VER} MediaSDK; \ - mkdir -p MediaSDK/build; \ - cd MediaSDK/build; \ - cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_INCLUDEDIR=include/mfx -DBUILD_SAMPLES=OFF -DENABLE_OPENCL=OFF -Wno-dev ..; \ - make -j8; \ - make install DESTDIR=/home/build; \ - rm -rf /home/build/usr/samples; \ - rm -rf /home/build/usr/plugins; \ +RUN wget -O - ${MSDK_REPO} | tar xz && mv MediaSDK-${MSDK_VER} MediaSDK && \ + mkdir -p MediaSDK/build && \ + cd MediaSDK/build && \ + cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_INCLUDEDIR=include/mfx -DBUILD_SAMPLES=OFF -DENABLE_OPENCL=OFF -Wno-dev .. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ + rm -rf /home/build/usr/samples && \ + rm -rf /home/build/usr/plugins && \ make install; # Fetch FFmpeg source @@ -251,28 +251,28 @@ ARG FFMPEG_1TN_PATCH_REPO=https://patchwork.ffmpeg.org/patch/11625/raw ARG FFMPEG_THREAD_PATCH_REPO=https://patchwork.ffmpeg.org/patch/11035/raw RUN yum install -y -q SDL2-devel libxcb-devel libvdpau-devel zlib-devel openssl-devel -RUN wget -O - ${FFMPEG_REPO} | tar xz && mv FFmpeg-${FFMPEG_VER} FFmpeg; \ - cd FFmpeg; \ - wget -O - ${FFMPEG_FLV_PATCH_REPO} | patch -p1; \ - wget -O - ${FFMPEG_1TN_PATCH_REPO} | patch -p1; \ +RUN wget -O - ${FFMPEG_REPO} | tar xz && mv FFmpeg-${FFMPEG_VER} FFmpeg && \ + cd FFmpeg && \ + wget -O - ${FFMPEG_FLV_PATCH_REPO} | patch -p1 && \ + wget -O - ${FFMPEG_1TN_PATCH_REPO} | patch -p1 && \ wget -O - ${FFMPEG_THREAD_PATCH_REPO} | patch -p1; # Patch FFmpeg source for SVT-HEVC -RUN cd /home/FFmpeg; \ +RUN cd /home/FFmpeg && \ patch -p1 < ../SVT-HEVC/ffmpeg_plugin/0001-lavc-svt_hevc-add-libsvt-hevc-encoder-wrapper.patch; # Compile FFmpeg -RUN cd /home/FFmpeg; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --extra-libs="-lpthread -lm" --enable-shared --enable-gpl --enable-openssl --enable-nonfree --enable-libdrm --enable-libmfx --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --enable-libfdk-aac --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-libaom --enable-libsvthevc ; \ - make -j8; \ +RUN cd /home/FFmpeg && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --extra-libs="-lpthread -lm" --enable-shared --enable-gpl --enable-openssl --enable-nonfree --enable-libdrm --enable-libmfx --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --enable-libfdk-aac --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-libaom --enable-libsvthevc && \ + make -j8 && \ make install DESTDIR="/home/build" # Clean up after build -RUN rm -rf /home/build/usr/include; \ - rm -rf /home/build/usr/share/doc; \ - rm -rf /home/build/usr/share/gtk-doc; \ - rm -rf /home/build/usr/share/man; \ +RUN rm -rf /home/build/usr/include && \ + rm -rf /home/build/usr/share/doc && \ + rm -rf /home/build/usr/share/gtk-doc && \ + rm -rf /home/build/usr/share/man && \ find /home/build -name "*.a" -exec rm -f {} \; FROM centos:7.6.1810 diff --git a/VCA2/centos-7.6/gst/Dockerfile b/VCA2/centos-7.6/gst/Dockerfile index 418a6e129..b3855edfe 100644 --- a/VCA2/centos-7.6/gst/Dockerfile +++ b/VCA2/centos-7.6/gst/Dockerfile @@ -8,76 +8,76 @@ RUN yum install -y -q bzip2 make autoconf libtool git wget ca-certificates pkg-c # Install cmake ARG CMAKE_VER=3.13.1 ARG CMAKE_REPO=https://cmake.org/files -RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz; \ - cd cmake-${CMAKE_VER}; \ - ./bootstrap --prefix="/usr"; \ - make -j8; \ +RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz && \ + cd cmake-${CMAKE_VER} && \ + ./bootstrap --prefix="/usr" && \ + make -j8 && \ make install # Build NASM ARG NASM_VER=2.13.03 ARG NASM_REPO=https://www.nasm.us/pub/nasm/releasebuilds/${NASM_VER}/nasm-${NASM_VER}.tar.bz2 -RUN wget ${NASM_REPO}; \ - tar -xaf nasm*; \ - cd nasm-${NASM_VER}; \ - ./autogen.sh; \ - ./configure --prefix="/usr" --libdir=/usr/lib64; \ - make -j8; \ +RUN wget ${NASM_REPO} && \ + tar -xaf nasm* && \ + cd nasm-${NASM_VER} && \ + ./autogen.sh && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 && \ + make -j8 && \ make install # Build YASM ARG YASM_VER=1.3.0 ARG YASM_REPO=https://www.tortall.net/projects/yasm/releases/yasm-${YASM_VER}.tar.gz -RUN wget -O - ${YASM_REPO} | tar xz; \ - cd yasm-${YASM_VER}; \ - sed -i "s/) ytasm.*/)/" Makefile.in; \ - ./configure --prefix="/usr" --libdir=/usr/lib64; \ - make -j8; \ +RUN wget -O - ${YASM_REPO} | tar xz && \ + cd yasm-${YASM_VER} && \ + sed -i "s/) ytasm.*/)/" Makefile.in && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 && \ + make -j8 && \ make install # Build ogg ARG OGG_VER=1.3.3 ARG OGG_REPO=https://downloads.xiph.org/releases/ogg/libogg-${OGG_VER}.tar.xz -RUN wget -O - ${OGG_REPO} | tar xJ; \ - cd libogg-${OGG_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${OGG_REPO} | tar xJ && \ + cd libogg-${OGG_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build vorbis ARG VORBIS_VER=1.3.6 ARG VORBIS_REPO=https://downloads.xiph.org/releases/vorbis/libvorbis-${VORBIS_VER}.tar.xz -RUN wget -O - ${VORBIS_REPO} | tar xJ; \ - cd libvorbis-${VORBIS_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${VORBIS_REPO} | tar xJ && \ + cd libvorbis-${VORBIS_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build mp3lame ARG MP3LAME_VER=3.100 ARG MP3LAME_REPO=https://sourceforge.net/projects/lame/files/lame/${MP3LAME_VER}/lame-${MP3LAME_VER}.tar.gz -RUN wget -O - ${MP3LAME_REPO} | tar xz; \ - cd lame-${MP3LAME_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --enable-nasm; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${MP3LAME_REPO} | tar xz && \ + cd lame-${MP3LAME_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --enable-nasm && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build fdk-aac ARG FDK_AAC_VER=v0.1.6 ARG FDK_AAC_REPO=https://github.com/mstorsjo/fdk-aac/archive/${FDK_AAC_VER}.tar.gz -RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac; \ - cd fdk-aac; \ - autoreconf -fiv; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac && \ + cd fdk-aac && \ + autoreconf -fiv && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -85,23 +85,23 @@ RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac; \ ARG OPUS_VER=1.2.1 ARG OPUS_REPO=https://archive.mozilla.org/pub/opus/opus-${OPUS_VER}.tar.gz -RUN wget -O - ${OPUS_REPO} | tar xz; \ - cd opus-${OPUS_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${OPUS_REPO} | tar xz && \ + cd opus-${OPUS_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build vpx ARG VPX_VER=tags/v1.7.0 ARG VPX_REPO=https://chromium.googlesource.com/webm/libvpx.git -RUN git clone ${VPX_REPO}; \ - cd libvpx; \ - git checkout ${VPX_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=nasm; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${VPX_REPO} && \ + cd libvpx && \ + git checkout ${VPX_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=nasm && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -109,25 +109,25 @@ RUN git clone ${VPX_REPO}; \ ARG AOM_VER=tags/v1.0.0 ARG AOM_REPO=https://aomedia.googlesource.com/aom -RUN git clone ${AOM_REPO}; \ - mkdir aom/aom_build; \ - cd aom/aom_build; \ - git checkout ${AOM_VER}; \ - cmake -DBUILD_SHARED_LIBS=ON -DENABLE_NASM=ON -DENABLE_TESTS=OFF -DENABLE_DOCS=OFF -DCMAKE_INSTALL_PREFIX="/usr" -DLIB_INSTALL_DIR=/usr/lib64 ..; \ - make -j8; \ - make install DESTDIR="/home/build"; \ +RUN git clone ${AOM_REPO} && \ + mkdir aom/aom_build && \ + cd aom/aom_build && \ + git checkout ${AOM_VER} && \ + cmake -DBUILD_SHARED_LIBS=ON -DENABLE_NASM=ON -DENABLE_TESTS=OFF -DENABLE_DOCS=OFF -DCMAKE_INSTALL_PREFIX="/usr" -DLIB_INSTALL_DIR=/usr/lib64 .. && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ make install # Build x264 ARG X264_VER=stable ARG X264_REPO=https://github.com/mirror/x264 -RUN git clone ${X264_REPO}; \ - cd x264; \ - git checkout ${X264_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared; \ - make -j8; \ - make install DESTDIR="/home/build"; \ +RUN git clone ${X264_REPO} && \ + cd x264 && \ + git checkout ${X264_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ make install @@ -137,28 +137,28 @@ ARG X265_REPO=https://github.com/videolan/x265/archive/${X265_VER}.tar.gz RUN yum install -y -q numactl-devel libpciaccess-devel -RUN wget -O - ${X265_REPO} | tar xz && mv x265-${X265_VER} x265; \ - cd x265/build/linux; \ - cmake -DBUILD_SHARED_LIBS=ON -DENABLE_TESTS=OFF -DCMAKE_INSTALL_PREFIX=/usr -DLIB_INSTALL_DIR=/usr/lib64 ../../source; \ - make -j8; \ - make install DESTDIR="/home/build"; \ +RUN wget -O - ${X265_REPO} | tar xz && mv x265-${X265_VER} x265 && \ + cd x265/build/linux && \ + cmake -DBUILD_SHARED_LIBS=ON -DENABLE_TESTS=OFF -DCMAKE_INSTALL_PREFIX=/usr -DLIB_INSTALL_DIR=/usr/lib64 ../../source && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ make install # Fetch SVT-HEVC ARG SVT_HEVC_VER=v1.3.0 ARG SVT_HEVC_REPO=https://github.com/intel/SVT-HEVC -RUN yum install -y -q patch centos-release-scl; \ +RUN yum install -y -q patch centos-release-scl && \ yum install -y -q devtoolset-7 -RUN git clone ${SVT_HEVC_REPO}; \ - cd SVT-HEVC/Build/linux; \ - git checkout ${SVT_HEVC_VER}; \ - mkdir -p ../../Bin/Release; \ - ( source /opt/rh/devtoolset-7/enable; \ - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${SVT_HEVC_REPO} && \ + cd SVT-HEVC/Build/linux && \ + git checkout ${SVT_HEVC_VER} && \ + mkdir -p ../../Bin/Release && \ + ( source /opt/rh/devtoolset-7/enable && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install ) @@ -166,13 +166,13 @@ RUN git clone ${SVT_HEVC_REPO}; \ ARG SVT_AV1_VER=a39acb2 ARG SVT_AV1_REPO=https://github.com/OpenVisualCloud/SVT-AV1 -RUN git clone ${SVT_AV1_REPO}; \ - cd SVT-AV1/Build/linux; \ - git checkout ${SVT_AV1_VER}; \ - mkdir -p ../../Bin/Release; \ - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${SVT_AV1_REPO} && \ + cd SVT-AV1/Build/linux && \ + git checkout ${SVT_AV1_VER} && \ + mkdir -p ../../Bin/Release && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -180,14 +180,14 @@ RUN git clone ${SVT_AV1_REPO}; \ ARG SVT_VP9_VER=e92a57c ARG SVT_VP9_REPO=https://github.com/OpenVisualCloud/SVT-VP9 -RUN git clone ${SVT_VP9_REPO}; \ - cd SVT-VP9/Build/linux; \ - git checkout ${SVT_VP9_VER}; \ - mkdir -p ../../Bin/Release; \ - ( source /opt/rh/devtoolset-7/enable; \ - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${SVT_VP9_REPO} && \ + cd SVT-VP9/Build/linux && \ + git checkout ${SVT_VP9_VER} && \ + mkdir -p ../../Bin/Release && \ + ( source /opt/rh/devtoolset-7/enable && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install ) # Fetch gmmlib @@ -204,11 +204,11 @@ ARG LIBVA_REPO=https://github.com/intel/libva/archive/${LIBVA_VER}.tar.gz RUN yum install -y -q libX11-devel mesa-libGL-devel which libdrm-devel -RUN wget -O - ${LIBVA_REPO} | tar xz; \ - cd libva-${LIBVA_VER}; \ - ./autogen.sh --prefix=/usr --libdir=/usr/lib64; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${LIBVA_REPO} | tar xz && \ + cd libva-${LIBVA_VER} && \ + ./autogen.sh --prefix=/usr --libdir=/usr/lib64 && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install; @@ -218,72 +218,83 @@ ARG MEDIA_DRIVER_REPO=https://github.com/VCDP/media-driver/archive/${MEDIA_DRIVE RUN yum install -y -q libX11-devel mesa-libGL-devel libpciaccess-devel libXext-devel -RUN wget -O - ${MEDIA_DRIVER_REPO} | tar xz && mv media-driver-${MEDIA_DRIVER_VER} media-driver; \ - mkdir -p media-driver/build; \ - cd media-driver/build; \ - cmake -DBUILD_TYPE=release -DBUILD_ALONG_WITH_CMRTLIB=1 -DMEDIA_VERSION="2.0.0" -DBS_DIR_GMMLIB=/home/gmmlib/Source/GmmLib -DBS_DIR_COMMON=/home/gmmlib/Source/Common -DBS_DIR_INC=/home/gmmlib/Source/inc -DBS_DIR_MEDIA=/home/media-driver -Wno-dev -DCMAKE_INSTALL_PREFIX=/usr ..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${MEDIA_DRIVER_REPO} | tar xz && mv media-driver-${MEDIA_DRIVER_VER} media-driver && \ + mkdir -p media-driver/build && \ + cd media-driver/build && \ + cmake -DBUILD_TYPE=release -DBUILD_ALONG_WITH_CMRTLIB=1 -DMEDIA_VERSION="2.0.0" -DBS_DIR_GMMLIB=/home/gmmlib/Source/GmmLib -DBS_DIR_COMMON=/home/gmmlib/Source/Common -DBS_DIR_INC=/home/gmmlib/Source/inc -DBS_DIR_MEDIA=/home/media-driver -Wno-dev -DCMAKE_INSTALL_PREFIX=/usr .. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install +# Install automake +ARG AUTOMAKE_VER=1.14 +ARG AUTOMAKE_REPO=https://ftp.gnu.org/pub/gnu/automake/automake-${AUTOMAKE_VER}.tar.xz + +RUN wget -O - ${AUTOMAKE_REPO} | tar xJ && \ + cd automake-${AUTOMAKE_VER} && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --disable-doc && \ + make -j8 && \ + make install + + # Build the gstremaer core ARG GST_VER=1.14.4 ARG GST_REPO=https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${GST_VER}.tar.xz -RUN yum install -y -q glib2-devel-2.56.1 -RUN wget -O - ${GST_REPO} | tar xJ; \ - cd gstreamer-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-gst-debug --disable-debug --disable-benchmarks --disable-check; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN yum install -y -q glib2-devel-2.56.1 gettext-devel gtk-doc +RUN wget -O - ${GST_REPO} | tar xJ && \ + cd gstreamer-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-gst-debug --disable-debug --disable-benchmarks --disable-check && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin base ARG GST_PLUGIN_BASE_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_BASE_REPO} | tar xJ; \ - cd gst-plugins-base-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-debug; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${GST_PLUGIN_BASE_REPO} | tar xJ && \ + cd gst-plugins-base-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-debug && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin good set ARG GST_PLUGIN_GOOD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_GOOD_REPO} | tar xJ; \ - cd gst-plugins-good-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-debug; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${GST_PLUGIN_GOOD_REPO} | tar xJ && \ + cd gst-plugins-good-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-debug && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin bad set ARG GST_PLUGIN_BAD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_BAD_REPO} | tar xJ; \ - cd gst-plugins-bad-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-debug; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${GST_PLUGIN_BAD_REPO} | tar xJ && \ + cd gst-plugins-bad-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-debug && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin ugly set ARG GST_PLUGIN_UGLY_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_UGLY_REPO} | tar xJ; \ - cd gst-plugins-ugly-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-debug; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${GST_PLUGIN_UGLY_REPO} | tar xJ && \ + cd gst-plugins-ugly-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-debug && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build gst-libav @@ -291,10 +302,10 @@ ARG GST_PLUGIN_LIBAV_REPO=https://gstreamer.freedesktop.org/src/gst-libav/gst-li RUN yum install -y -q zlib-devel openssl-devel -RUN wget -O - ${GST_PLUGIN_LIBAV_REPO} | tar xJ; \ - cd gst-libav-${GST_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --enable-gpl; \ - make -j8; \ +RUN wget -O - ${GST_PLUGIN_LIBAV_REPO} | tar xJ && \ + cd gst-libav-${GST_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --enable-gpl && \ + make -j8 && \ make install DESTDIR="/home/build" @@ -303,10 +314,10 @@ RUN wget -O - ${GST_PLUGIN_LIBAV_REPO} | tar xJ; \ ARG AUTOMAKE_VER=1.14 ARG AUTOMAKE_REPO=https://ftp.gnu.org/pub/gnu/automake/automake-${AUTOMAKE_VER}.tar.xz -RUN wget -O - ${AUTOMAKE_REPO} | tar xJ; \ - cd automake-${AUTOMAKE_VER}; \ - ./configure --prefix=/usr --libdir=/usr/lib64 --disable-doc; \ - make -j8; \ +RUN wget -O - ${AUTOMAKE_REPO} | tar xJ && \ + cd automake-${AUTOMAKE_VER} && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --disable-doc && \ + make -j8 && \ make install @@ -325,10 +336,10 @@ RUN wget -O - ${GST_PLUGIN_VAAPI_REPO} | tar xJ; \ # Clean up after build -RUN rm -rf /home/build/usr/include; \ - rm -rf /home/build/usr/share/doc; \ - rm -rf /home/build/usr/share/gtk-doc; \ - rm -rf /home/build/usr/share/man; \ +RUN rm -rf /home/build/usr/include && \ + rm -rf /home/build/usr/share/doc && \ + rm -rf /home/build/usr/share/gtk-doc && \ + rm -rf /home/build/usr/share/man && \ find /home/build -name "*.a" -exec rm -f {} \; FROM centos:7.6.1810 diff --git a/VCA2/centos-7.6/gst/Dockerfile.m4 b/VCA2/centos-7.6/gst/Dockerfile.m4 index ecf4e5487..cbdfbd3b6 100644 --- a/VCA2/centos-7.6/gst/Dockerfile.m4 +++ b/VCA2/centos-7.6/gst/Dockerfile.m4 @@ -20,6 +20,7 @@ include(gmmlib.m4) #include(libdrm.m4) include(libva.m4) include(media-driver.m4) +include(automake.m4) include(gst.m4) include(gst-plugin-base.m4) include(gst-plugin-good.m4) diff --git a/VCA2/centos-7.6/nginx+rtmp/Dockerfile b/VCA2/centos-7.6/nginx+rtmp/Dockerfile index 6de877e07..d85d58e5f 100644 --- a/VCA2/centos-7.6/nginx+rtmp/Dockerfile +++ b/VCA2/centos-7.6/nginx+rtmp/Dockerfile @@ -8,10 +8,10 @@ RUN yum install -y -q bzip2 make autoconf libtool git wget ca-certificates pkg-c # Install cmake ARG CMAKE_VER=3.13.1 ARG CMAKE_REPO=https://cmake.org/files -RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz; \ - cd cmake-${CMAKE_VER}; \ - ./bootstrap --prefix="/usr"; \ - make -j8; \ +RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz && \ + cd cmake-${CMAKE_VER} && \ + ./bootstrap --prefix="/usr" && \ + make -j8 && \ make install @@ -21,11 +21,11 @@ ARG NGINX_RTMP_REPO=https://github.com/arut/nginx-rtmp-module/archive/${NGINX_RT ARG NGINX_RTMP_PATCH_HLS=https://raw.githubusercontent.com/VCDP/CDN/master/0001-add-hevc-support-for-rtmp-and-hls.patch ARG NGINX_RTMP_PATCH_DASH=https://raw.githubusercontent.com/VCDP/CDN/master/0002-add-HEVC-support-for-dash.patch -RUN wget -O - ${NGINX_RTMP_REPO} | tar xz && mv nginx-rtmp-module-${NGINX_RTMP_VER#v} nginx-rtmp-module; \ - cd nginx-rtmp-module; \ - mkdir -p /home/build/var/www/html; \ - cp -f stat.xsl /home/build/var/www/html; \ - wget -O - ${NGINX_RTMP_PATCH_HLS} | patch -p1; \ +RUN wget -O - ${NGINX_RTMP_REPO} | tar xz && mv nginx-rtmp-module-${NGINX_RTMP_VER#v} nginx-rtmp-module && \ + cd nginx-rtmp-module && \ + mkdir -p /home/build/var/www/html && \ + cp -f stat.xsl /home/build/var/www/html && \ + wget -O - ${NGINX_RTMP_PATCH_HLS} | patch -p1 && \ wget -O - ${NGINX_RTMP_PATCH_DASH} | patch -p1; # Build nginx & nginx-rtmp @@ -34,21 +34,21 @@ ARG NGINX_REPO=https://nginx.org/download/nginx-${NGINX_VER}.tar.gz RUN yum install -y -q openssl-devel pcre2-devel zlib-devel libxslt-devel -RUN wget -O - ${NGINX_REPO} | tar xz; \ - cd nginx-${NGINX_VER}; \ - ./configure --prefix=/var/www --sbin-path=/usr/sbin/nginx --modules-path=/usr/lib64/nginx/modules --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/www/log/error.log --pid-path=/var/www/nginx.pid --lock-path=/var/www/nginx.lock --http-log-path=/var/www/log/access.log --http-client-body-temp-path=/var/www/tmp/client_body --http-proxy-temp-path=/var/www/tmp/proxy --http-fastcgi-temp-path=/var/www/tmp/fastcgi --http-uwsgi-temp-path=/var/www/tmp/uwsgi --http-scgi-temp-path=/var/www/tmp/scgi --user=nobody --group=nobody --with-select_module --with-poll_module --with-threads --with-file-aio --with-http_ssl_module --with-http_v2_module --with-http_realip_module --with-http_addition_module --with-http_xslt_module --with-http_sub_module --with-http_dav_module --with-http_flv_module --with-http_mp4_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_auth_request_module --with-http_random_index_module --with-http_secure_link_module --with-http_degradation_module --with-http_slice_module --with-http_stub_status_module --with-stream --with-stream_ssl_module --with-stream_realip_module --with-stream_ssl_preread_module --with-pcre --add-module=../nginx-rtmp-module ; \ - make -j8; \ +RUN wget -O - ${NGINX_REPO} | tar xz && \ + cd nginx-${NGINX_VER} && \ + ./configure --prefix=/var/www --sbin-path=/usr/sbin/nginx --modules-path=/usr/lib64/nginx/modules --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/www/log/error.log --pid-path=/var/www/nginx.pid --lock-path=/var/www/nginx.lock --http-log-path=/var/www/log/access.log --http-client-body-temp-path=/var/www/tmp/client_body --http-proxy-temp-path=/var/www/tmp/proxy --http-fastcgi-temp-path=/var/www/tmp/fastcgi --http-uwsgi-temp-path=/var/www/tmp/uwsgi --http-scgi-temp-path=/var/www/tmp/scgi --user=nobody --group=nobody --with-select_module --with-poll_module --with-threads --with-file-aio --with-http_ssl_module --with-http_v2_module --with-http_realip_module --with-http_addition_module --with-http_xslt_module --with-http_sub_module --with-http_dav_module --with-http_flv_module --with-http_mp4_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_auth_request_module --with-http_random_index_module --with-http_secure_link_module --with-http_degradation_module --with-http_slice_module --with-http_stub_status_module --with-stream --with-stream_ssl_module --with-stream_realip_module --with-stream_ssl_preread_module --with-pcre --add-module=../nginx-rtmp-module && \ + make -j8 && \ make install DESTDIR=/home/build; # NGINX Setup COPY nginx.conf /home/build/etc/nginx -RUN mkdir -p /home/build/var/www/tmp/client_body; \ - mkdir -p /home/build/var/www/tmp/proxy; \ - mkdir -p /home/build/var/www/tmp/fastcgi; \ - mkdir -p /home/build/var/www/tmp/uwsgi; \ - mkdir -p /home/build/var/www/tmp/scgi; \ - mkdir -p /home/build/var/www/cache; \ - mkdir -p /home/build/var/www/html; \ +RUN mkdir -p /home/build/var/www/tmp/client_body && \ + mkdir -p /home/build/var/www/tmp/proxy && \ + mkdir -p /home/build/var/www/tmp/fastcgi && \ + mkdir -p /home/build/var/www/tmp/uwsgi && \ + mkdir -p /home/build/var/www/tmp/scgi && \ + mkdir -p /home/build/var/www/cache && \ + mkdir -p /home/build/var/www/html && \ touch /home/build/var/www/html/index.html; diff --git a/VCA2/ubuntu-16.04/ffmpeg+gst+dev/Dockerfile b/VCA2/ubuntu-16.04/ffmpeg+gst+dev/Dockerfile index 39c9f887c..4ca5958bf 100644 --- a/VCA2/ubuntu-16.04/ffmpeg+gst+dev/Dockerfile +++ b/VCA2/ubuntu-16.04/ffmpeg+gst+dev/Dockerfile @@ -8,76 +8,76 @@ RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no- # Install cmake ARG CMAKE_VER=3.13.1 ARG CMAKE_REPO=https://cmake.org/files -RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz; \ - cd cmake-${CMAKE_VER}; \ - ./bootstrap --prefix="/usr"; \ - make -j8; \ +RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz && \ + cd cmake-${CMAKE_VER} && \ + ./bootstrap --prefix="/usr" && \ + make -j8 && \ make install # Build NASM ARG NASM_VER=2.13.03 ARG NASM_REPO=https://www.nasm.us/pub/nasm/releasebuilds/${NASM_VER}/nasm-${NASM_VER}.tar.bz2 -RUN wget ${NASM_REPO}; \ - tar -xaf nasm*; \ - cd nasm-${NASM_VER}; \ - ./autogen.sh; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu; \ - make -j8; \ +RUN wget ${NASM_REPO} && \ + tar -xaf nasm* && \ + cd nasm-${NASM_VER} && \ + ./autogen.sh && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu && \ + make -j8 && \ make install # Build YASM ARG YASM_VER=1.3.0 ARG YASM_REPO=https://www.tortall.net/projects/yasm/releases/yasm-${YASM_VER}.tar.gz -RUN wget -O - ${YASM_REPO} | tar xz; \ - cd yasm-${YASM_VER}; \ - sed -i "s/) ytasm.*/)/" Makefile.in; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu; \ - make -j8; \ +RUN wget -O - ${YASM_REPO} | tar xz && \ + cd yasm-${YASM_VER} && \ + sed -i "s/) ytasm.*/)/" Makefile.in && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu && \ + make -j8 && \ make install # Build ogg ARG OGG_VER=1.3.3 ARG OGG_REPO=https://downloads.xiph.org/releases/ogg/libogg-${OGG_VER}.tar.xz -RUN wget -O - ${OGG_REPO} | tar xJ; \ - cd libogg-${OGG_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${OGG_REPO} | tar xJ && \ + cd libogg-${OGG_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build vorbis ARG VORBIS_VER=1.3.6 ARG VORBIS_REPO=https://downloads.xiph.org/releases/vorbis/libvorbis-${VORBIS_VER}.tar.xz -RUN wget -O - ${VORBIS_REPO} | tar xJ; \ - cd libvorbis-${VORBIS_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${VORBIS_REPO} | tar xJ && \ + cd libvorbis-${VORBIS_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build mp3lame ARG MP3LAME_VER=3.100 ARG MP3LAME_REPO=https://sourceforge.net/projects/lame/files/lame/${MP3LAME_VER}/lame-${MP3LAME_VER}.tar.gz -RUN wget -O - ${MP3LAME_REPO} | tar xz; \ - cd lame-${MP3LAME_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared --enable-nasm; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${MP3LAME_REPO} | tar xz && \ + cd lame-${MP3LAME_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared --enable-nasm && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build fdk-aac ARG FDK_AAC_VER=v0.1.6 ARG FDK_AAC_REPO=https://github.com/mstorsjo/fdk-aac/archive/${FDK_AAC_VER}.tar.gz -RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac; \ - cd fdk-aac; \ - autoreconf -fiv; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac && \ + cd fdk-aac && \ + autoreconf -fiv && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -85,23 +85,23 @@ RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac; \ ARG OPUS_VER=1.2.1 ARG OPUS_REPO=https://archive.mozilla.org/pub/opus/opus-${OPUS_VER}.tar.gz -RUN wget -O - ${OPUS_REPO} | tar xz; \ - cd opus-${OPUS_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${OPUS_REPO} | tar xz && \ + cd opus-${OPUS_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build vpx ARG VPX_VER=tags/v1.7.0 ARG VPX_REPO=https://chromium.googlesource.com/webm/libvpx.git -RUN git clone ${VPX_REPO}; \ - cd libvpx; \ - git checkout ${VPX_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=nasm; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${VPX_REPO} && \ + cd libvpx && \ + git checkout ${VPX_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=nasm && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -109,25 +109,25 @@ RUN git clone ${VPX_REPO}; \ ARG AOM_VER=tags/v1.0.0 ARG AOM_REPO=https://aomedia.googlesource.com/aom -RUN git clone ${AOM_REPO}; \ - mkdir aom/aom_build; \ - cd aom/aom_build; \ - git checkout ${AOM_VER}; \ - cmake -DBUILD_SHARED_LIBS=ON -DENABLE_NASM=ON -DENABLE_TESTS=OFF -DENABLE_DOCS=OFF -DCMAKE_INSTALL_PREFIX="/usr" -DLIB_INSTALL_DIR=/usr/lib/x86_64-linux-gnu ..; \ - make -j8; \ - make install DESTDIR="/home/build"; \ +RUN git clone ${AOM_REPO} && \ + mkdir aom/aom_build && \ + cd aom/aom_build && \ + git checkout ${AOM_VER} && \ + cmake -DBUILD_SHARED_LIBS=ON -DENABLE_NASM=ON -DENABLE_TESTS=OFF -DENABLE_DOCS=OFF -DCMAKE_INSTALL_PREFIX="/usr" -DLIB_INSTALL_DIR=/usr/lib/x86_64-linux-gnu .. && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ make install # Build x264 ARG X264_VER=stable ARG X264_REPO=https://github.com/mirror/x264 -RUN git clone ${X264_REPO}; \ - cd x264; \ - git checkout ${X264_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared; \ - make -j8; \ - make install DESTDIR="/home/build"; \ +RUN git clone ${X264_REPO} && \ + cd x264 && \ + git checkout ${X264_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ make install @@ -137,24 +137,24 @@ ARG X265_REPO=https://github.com/videolan/x265/archive/${X265_VER}.tar.gz RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libnuma-dev -RUN wget -O - ${X265_REPO} | tar xz && mv x265-${X265_VER} x265; \ - cd x265/build/linux; \ - cmake -DBUILD_SHARED_LIBS=ON -DENABLE_TESTS=OFF -DCMAKE_INSTALL_PREFIX=/usr -DLIB_INSTALL_DIR=/usr/lib/x86_64-linux-gnu ../../source; \ - make -j8; \ - make install DESTDIR="/home/build"; \ +RUN wget -O - ${X265_REPO} | tar xz && mv x265-${X265_VER} x265 && \ + cd x265/build/linux && \ + cmake -DBUILD_SHARED_LIBS=ON -DENABLE_TESTS=OFF -DCMAKE_INSTALL_PREFIX=/usr -DLIB_INSTALL_DIR=/usr/lib/x86_64-linux-gnu ../../source && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ make install # Fetch SVT-HEVC ARG SVT_HEVC_VER=v1.3.0 ARG SVT_HEVC_REPO=https://github.com/intel/SVT-HEVC -RUN git clone ${SVT_HEVC_REPO}; \ - cd SVT-HEVC/Build/linux; \ - git checkout ${SVT_HEVC_VER}; \ - mkdir -p ../../Bin/Release; \ - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${SVT_HEVC_REPO} && \ + cd SVT-HEVC/Build/linux && \ + git checkout ${SVT_HEVC_VER} && \ + mkdir -p ../../Bin/Release && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -162,13 +162,13 @@ RUN git clone ${SVT_HEVC_REPO}; \ ARG SVT_AV1_VER=a39acb2 ARG SVT_AV1_REPO=https://github.com/OpenVisualCloud/SVT-AV1 -RUN git clone ${SVT_AV1_REPO}; \ - cd SVT-AV1/Build/linux; \ - git checkout ${SVT_AV1_VER}; \ - mkdir -p ../../Bin/Release; \ - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${SVT_AV1_REPO} && \ + cd SVT-AV1/Build/linux && \ + git checkout ${SVT_AV1_VER} && \ + mkdir -p ../../Bin/Release && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -176,13 +176,13 @@ RUN git clone ${SVT_AV1_REPO}; \ ARG SVT_VP9_VER=e92a57c ARG SVT_VP9_REPO=https://github.com/OpenVisualCloud/SVT-VP9 -RUN git clone ${SVT_VP9_REPO}; \ - cd SVT-VP9/Build/linux; \ - git checkout ${SVT_VP9_VER}; \ - mkdir -p ../../Bin/Release; \ - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${SVT_VP9_REPO} && \ + cd SVT-VP9/Build/linux && \ + git checkout ${SVT_VP9_VER} && \ + mkdir -p ../../Bin/Release && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install #include(transform360.m4) @@ -199,11 +199,11 @@ ARG LIBVA_REPO=https://github.com/intel/libva/archive/${LIBVA_VER}.tar.gz RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libdrm-dev libx11-dev xorg-dev libgl1-mesa-dev -RUN wget -O - ${LIBVA_REPO} | tar xz; \ - cd libva-${LIBVA_VER}; \ - ./autogen.sh --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${LIBVA_REPO} | tar xz && \ + cd libva-${LIBVA_VER} && \ + ./autogen.sh --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install; @@ -213,12 +213,12 @@ ARG MEDIA_DRIVER_REPO=https://github.com/VCDP/media-driver/archive/${MEDIA_DRIVE RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libdrm-dev libpciaccess-dev libx11-dev xorg-dev libgl1-mesa-dev -RUN wget -O - ${MEDIA_DRIVER_REPO} | tar xz && mv media-driver-${MEDIA_DRIVER_VER} media-driver; \ - mkdir -p media-driver/build; \ - cd media-driver/build; \ - cmake -DBUILD_TYPE=release -DBUILD_ALONG_WITH_CMRTLIB=1 -DMEDIA_VERSION="2.0.0" -DBS_DIR_GMMLIB=/home/gmmlib/Source/GmmLib -DBS_DIR_COMMON=/home/gmmlib/Source/Common -DBS_DIR_INC=/home/gmmlib/Source/inc -DBS_DIR_MEDIA=/home/media-driver -Wno-dev -DCMAKE_INSTALL_PREFIX=/usr ..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${MEDIA_DRIVER_REPO} | tar xz && mv media-driver-${MEDIA_DRIVER_VER} media-driver && \ + mkdir -p media-driver/build && \ + cd media-driver/build && \ + cmake -DBUILD_TYPE=release -DBUILD_ALONG_WITH_CMRTLIB=1 -DMEDIA_VERSION="2.0.0" -DBS_DIR_GMMLIB=/home/gmmlib/Source/GmmLib -DBS_DIR_COMMON=/home/gmmlib/Source/Common -DBS_DIR_INC=/home/gmmlib/Source/inc -DBS_DIR_MEDIA=/home/media-driver -Wno-dev -DCMAKE_INSTALL_PREFIX=/usr .. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -227,12 +227,12 @@ RUN wget -O - ${MEDIA_DRIVER_REPO} | tar xz && mv media-driver-${MEDIA_DRIVER_VE ARG MSDK_VER=MSS-KBL-2019-R1 ARG MSDK_REPO=https://github.com/Intel-Media-SDK/MediaSDK/archive/${MSDK_VER}.tar.gz -RUN wget -O - ${MSDK_REPO} | tar xz && mv MediaSDK-${MSDK_VER} MediaSDK; \ - mkdir -p MediaSDK/build; \ - cd MediaSDK/build; \ - cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_INCLUDEDIR=include/mfx -DBUILD_SAMPLES=OFF -DENABLE_OPENCL=OFF -Wno-dev ..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${MSDK_REPO} | tar xz && mv MediaSDK-${MSDK_VER} MediaSDK && \ + mkdir -p MediaSDK/build && \ + cd MediaSDK/build && \ + cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_INCLUDEDIR=include/mfx -DBUILD_SAMPLES=OFF -DENABLE_OPENCL=OFF -Wno-dev .. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install; # Build DLDT-Inference Engine @@ -274,58 +274,58 @@ RUN git clone -b ${DLDT_VER} ${DLDT_REPO}; \ ARG GST_VER=1.14.4 ARG GST_REPO=https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${GST_VER}.tar.xz -RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libglib2.0-dev -RUN wget -O - ${GST_REPO} | tar xJ; \ - cd gstreamer-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples ; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libglib2.0-dev autopoint gtk-doc-tools +RUN wget -O - ${GST_REPO} | tar xJ && \ + cd gstreamer-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin base ARG GST_PLUGIN_BASE_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_BASE_REPO} | tar xJ; \ - cd gst-plugins-base-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples ; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${GST_PLUGIN_BASE_REPO} | tar xJ && \ + cd gst-plugins-base-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin good set ARG GST_PLUGIN_GOOD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_GOOD_REPO} | tar xJ; \ - cd gst-plugins-good-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples ; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${GST_PLUGIN_GOOD_REPO} | tar xJ && \ + cd gst-plugins-good-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin bad set ARG GST_PLUGIN_BAD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_BAD_REPO} | tar xJ; \ - cd gst-plugins-bad-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples ; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${GST_PLUGIN_BAD_REPO} | tar xJ && \ + cd gst-plugins-bad-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin ugly set ARG GST_PLUGIN_UGLY_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_UGLY_REPO} | tar xJ; \ - cd gst-plugins-ugly-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples ; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${GST_PLUGIN_UGLY_REPO} | tar xJ && \ + cd gst-plugins-ugly-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build gst-libav @@ -333,10 +333,10 @@ ARG GST_PLUGIN_LIBAV_REPO=https://gstreamer.freedesktop.org/src/gst-libav/gst-li RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends zlib1g-dev libssl-dev -RUN wget -O - ${GST_PLUGIN_LIBAV_REPO} | tar xJ; \ - cd gst-libav-${GST_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared --enable-gpl; \ - make -j8; \ +RUN wget -O - ${GST_PLUGIN_LIBAV_REPO} | tar xJ && \ + cd gst-libav-${GST_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared --enable-gpl && \ + make -j8 && \ make install DESTDIR="/home/build" @@ -363,20 +363,20 @@ ARG FFMPEG_1TN_PATCH_REPO=https://patchwork.ffmpeg.org/patch/11625/raw ARG FFMPEG_THREAD_PATCH_REPO=https://patchwork.ffmpeg.org/patch/11035/raw RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libass-dev libfreetype6-dev libvdpau-dev libsdl2-dev libxcb1-dev libxcb-shm0-dev libxcb-xfixes0-dev texinfo zlib1g-dev libssl-dev -RUN wget -O - ${FFMPEG_REPO} | tar xz && mv FFmpeg-${FFMPEG_VER} FFmpeg; \ - cd FFmpeg; \ - wget -O - ${FFMPEG_FLV_PATCH_REPO} | patch -p1; \ - wget -O - ${FFMPEG_1TN_PATCH_REPO} | patch -p1; \ +RUN wget -O - ${FFMPEG_REPO} | tar xz && mv FFmpeg-${FFMPEG_VER} FFmpeg && \ + cd FFmpeg && \ + wget -O - ${FFMPEG_FLV_PATCH_REPO} | patch -p1 && \ + wget -O - ${FFMPEG_1TN_PATCH_REPO} | patch -p1 && \ wget -O - ${FFMPEG_THREAD_PATCH_REPO} | patch -p1; # Patch FFmpeg source for SVT-HEVC -RUN cd /home/FFmpeg; \ +RUN cd /home/FFmpeg && \ patch -p1 < ../SVT-HEVC/ffmpeg_plugin/0001-lavc-svt_hevc-add-libsvt-hevc-encoder-wrapper.patch; # Compile FFmpeg -RUN cd /home/FFmpeg; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --extra-libs="-lpthread -lm" --enable-shared --enable-gpl --enable-libass --enable-libfreetype --enable-openssl --enable-nonfree --enable-libdrm --enable-libmfx --enable-libfdk-aac --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-libaom --enable-libsvthevc ; \ - make -j8; \ +RUN cd /home/FFmpeg && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --extra-libs="-lpthread -lm" --enable-shared --enable-gpl --enable-libass --enable-libfreetype --enable-openssl --enable-nonfree --enable-libdrm --enable-libmfx --enable-libfdk-aac --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-libaom --enable-libsvthevc && \ + make -j8 && \ make install DESTDIR="/home/build" diff --git a/VCA2/ubuntu-16.04/ffmpeg/Dockerfile b/VCA2/ubuntu-16.04/ffmpeg/Dockerfile index 50d3519bd..6157361f5 100644 --- a/VCA2/ubuntu-16.04/ffmpeg/Dockerfile +++ b/VCA2/ubuntu-16.04/ffmpeg/Dockerfile @@ -8,76 +8,76 @@ RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no- # Install cmake ARG CMAKE_VER=3.13.1 ARG CMAKE_REPO=https://cmake.org/files -RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz; \ - cd cmake-${CMAKE_VER}; \ - ./bootstrap --prefix="/usr"; \ - make -j8; \ +RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz && \ + cd cmake-${CMAKE_VER} && \ + ./bootstrap --prefix="/usr" && \ + make -j8 && \ make install # Build NASM ARG NASM_VER=2.13.03 ARG NASM_REPO=https://www.nasm.us/pub/nasm/releasebuilds/${NASM_VER}/nasm-${NASM_VER}.tar.bz2 -RUN wget ${NASM_REPO}; \ - tar -xaf nasm*; \ - cd nasm-${NASM_VER}; \ - ./autogen.sh; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu; \ - make -j8; \ +RUN wget ${NASM_REPO} && \ + tar -xaf nasm* && \ + cd nasm-${NASM_VER} && \ + ./autogen.sh && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu && \ + make -j8 && \ make install # Build YASM ARG YASM_VER=1.3.0 ARG YASM_REPO=https://www.tortall.net/projects/yasm/releases/yasm-${YASM_VER}.tar.gz -RUN wget -O - ${YASM_REPO} | tar xz; \ - cd yasm-${YASM_VER}; \ - sed -i "s/) ytasm.*/)/" Makefile.in; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu; \ - make -j8; \ +RUN wget -O - ${YASM_REPO} | tar xz && \ + cd yasm-${YASM_VER} && \ + sed -i "s/) ytasm.*/)/" Makefile.in && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu && \ + make -j8 && \ make install # Build ogg ARG OGG_VER=1.3.3 ARG OGG_REPO=https://downloads.xiph.org/releases/ogg/libogg-${OGG_VER}.tar.xz -RUN wget -O - ${OGG_REPO} | tar xJ; \ - cd libogg-${OGG_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${OGG_REPO} | tar xJ && \ + cd libogg-${OGG_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build vorbis ARG VORBIS_VER=1.3.6 ARG VORBIS_REPO=https://downloads.xiph.org/releases/vorbis/libvorbis-${VORBIS_VER}.tar.xz -RUN wget -O - ${VORBIS_REPO} | tar xJ; \ - cd libvorbis-${VORBIS_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${VORBIS_REPO} | tar xJ && \ + cd libvorbis-${VORBIS_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build mp3lame ARG MP3LAME_VER=3.100 ARG MP3LAME_REPO=https://sourceforge.net/projects/lame/files/lame/${MP3LAME_VER}/lame-${MP3LAME_VER}.tar.gz -RUN wget -O - ${MP3LAME_REPO} | tar xz; \ - cd lame-${MP3LAME_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared --enable-nasm; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${MP3LAME_REPO} | tar xz && \ + cd lame-${MP3LAME_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared --enable-nasm && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build fdk-aac ARG FDK_AAC_VER=v0.1.6 ARG FDK_AAC_REPO=https://github.com/mstorsjo/fdk-aac/archive/${FDK_AAC_VER}.tar.gz -RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac; \ - cd fdk-aac; \ - autoreconf -fiv; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac && \ + cd fdk-aac && \ + autoreconf -fiv && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -85,23 +85,23 @@ RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac; \ ARG OPUS_VER=1.2.1 ARG OPUS_REPO=https://archive.mozilla.org/pub/opus/opus-${OPUS_VER}.tar.gz -RUN wget -O - ${OPUS_REPO} | tar xz; \ - cd opus-${OPUS_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${OPUS_REPO} | tar xz && \ + cd opus-${OPUS_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build vpx ARG VPX_VER=tags/v1.7.0 ARG VPX_REPO=https://chromium.googlesource.com/webm/libvpx.git -RUN git clone ${VPX_REPO}; \ - cd libvpx; \ - git checkout ${VPX_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=nasm; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${VPX_REPO} && \ + cd libvpx && \ + git checkout ${VPX_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=nasm && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -109,25 +109,25 @@ RUN git clone ${VPX_REPO}; \ ARG AOM_VER=tags/v1.0.0 ARG AOM_REPO=https://aomedia.googlesource.com/aom -RUN git clone ${AOM_REPO}; \ - mkdir aom/aom_build; \ - cd aom/aom_build; \ - git checkout ${AOM_VER}; \ - cmake -DBUILD_SHARED_LIBS=ON -DENABLE_NASM=ON -DENABLE_TESTS=OFF -DENABLE_DOCS=OFF -DCMAKE_INSTALL_PREFIX="/usr" -DLIB_INSTALL_DIR=/usr/lib/x86_64-linux-gnu ..; \ - make -j8; \ - make install DESTDIR="/home/build"; \ +RUN git clone ${AOM_REPO} && \ + mkdir aom/aom_build && \ + cd aom/aom_build && \ + git checkout ${AOM_VER} && \ + cmake -DBUILD_SHARED_LIBS=ON -DENABLE_NASM=ON -DENABLE_TESTS=OFF -DENABLE_DOCS=OFF -DCMAKE_INSTALL_PREFIX="/usr" -DLIB_INSTALL_DIR=/usr/lib/x86_64-linux-gnu .. && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ make install # Build x264 ARG X264_VER=stable ARG X264_REPO=https://github.com/mirror/x264 -RUN git clone ${X264_REPO}; \ - cd x264; \ - git checkout ${X264_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared; \ - make -j8; \ - make install DESTDIR="/home/build"; \ +RUN git clone ${X264_REPO} && \ + cd x264 && \ + git checkout ${X264_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ make install @@ -137,24 +137,24 @@ ARG X265_REPO=https://github.com/videolan/x265/archive/${X265_VER}.tar.gz RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libnuma-dev -RUN wget -O - ${X265_REPO} | tar xz && mv x265-${X265_VER} x265; \ - cd x265/build/linux; \ - cmake -DBUILD_SHARED_LIBS=ON -DENABLE_TESTS=OFF -DCMAKE_INSTALL_PREFIX=/usr -DLIB_INSTALL_DIR=/usr/lib/x86_64-linux-gnu ../../source; \ - make -j8; \ - make install DESTDIR="/home/build"; \ +RUN wget -O - ${X265_REPO} | tar xz && mv x265-${X265_VER} x265 && \ + cd x265/build/linux && \ + cmake -DBUILD_SHARED_LIBS=ON -DENABLE_TESTS=OFF -DCMAKE_INSTALL_PREFIX=/usr -DLIB_INSTALL_DIR=/usr/lib/x86_64-linux-gnu ../../source && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ make install # Fetch SVT-HEVC ARG SVT_HEVC_VER=v1.3.0 ARG SVT_HEVC_REPO=https://github.com/intel/SVT-HEVC -RUN git clone ${SVT_HEVC_REPO}; \ - cd SVT-HEVC/Build/linux; \ - git checkout ${SVT_HEVC_VER}; \ - mkdir -p ../../Bin/Release; \ - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${SVT_HEVC_REPO} && \ + cd SVT-HEVC/Build/linux && \ + git checkout ${SVT_HEVC_VER} && \ + mkdir -p ../../Bin/Release && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -162,13 +162,13 @@ RUN git clone ${SVT_HEVC_REPO}; \ ARG SVT_AV1_VER=a39acb2 ARG SVT_AV1_REPO=https://github.com/OpenVisualCloud/SVT-AV1 -RUN git clone ${SVT_AV1_REPO}; \ - cd SVT-AV1/Build/linux; \ - git checkout ${SVT_AV1_VER}; \ - mkdir -p ../../Bin/Release; \ - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${SVT_AV1_REPO} && \ + cd SVT-AV1/Build/linux && \ + git checkout ${SVT_AV1_VER} && \ + mkdir -p ../../Bin/Release && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -176,13 +176,13 @@ RUN git clone ${SVT_AV1_REPO}; \ ARG SVT_VP9_VER=e92a57c ARG SVT_VP9_REPO=https://github.com/OpenVisualCloud/SVT-VP9 -RUN git clone ${SVT_VP9_REPO}; \ - cd SVT-VP9/Build/linux; \ - git checkout ${SVT_VP9_VER}; \ - mkdir -p ../../Bin/Release; \ - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${SVT_VP9_REPO} && \ + cd SVT-VP9/Build/linux && \ + git checkout ${SVT_VP9_VER} && \ + mkdir -p ../../Bin/Release && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install #include(transform360.m4) @@ -199,11 +199,11 @@ ARG LIBVA_REPO=https://github.com/intel/libva/archive/${LIBVA_VER}.tar.gz RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libdrm-dev libx11-dev xorg-dev libgl1-mesa-dev -RUN wget -O - ${LIBVA_REPO} | tar xz; \ - cd libva-${LIBVA_VER}; \ - ./autogen.sh --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${LIBVA_REPO} | tar xz && \ + cd libva-${LIBVA_VER} && \ + ./autogen.sh --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install; @@ -213,12 +213,12 @@ ARG MEDIA_DRIVER_REPO=https://github.com/VCDP/media-driver/archive/${MEDIA_DRIVE RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libdrm-dev libpciaccess-dev libx11-dev xorg-dev libgl1-mesa-dev -RUN wget -O - ${MEDIA_DRIVER_REPO} | tar xz && mv media-driver-${MEDIA_DRIVER_VER} media-driver; \ - mkdir -p media-driver/build; \ - cd media-driver/build; \ - cmake -DBUILD_TYPE=release -DBUILD_ALONG_WITH_CMRTLIB=1 -DMEDIA_VERSION="2.0.0" -DBS_DIR_GMMLIB=/home/gmmlib/Source/GmmLib -DBS_DIR_COMMON=/home/gmmlib/Source/Common -DBS_DIR_INC=/home/gmmlib/Source/inc -DBS_DIR_MEDIA=/home/media-driver -Wno-dev -DCMAKE_INSTALL_PREFIX=/usr ..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${MEDIA_DRIVER_REPO} | tar xz && mv media-driver-${MEDIA_DRIVER_VER} media-driver && \ + mkdir -p media-driver/build && \ + cd media-driver/build && \ + cmake -DBUILD_TYPE=release -DBUILD_ALONG_WITH_CMRTLIB=1 -DMEDIA_VERSION="2.0.0" -DBS_DIR_GMMLIB=/home/gmmlib/Source/GmmLib -DBS_DIR_COMMON=/home/gmmlib/Source/Common -DBS_DIR_INC=/home/gmmlib/Source/inc -DBS_DIR_MEDIA=/home/media-driver -Wno-dev -DCMAKE_INSTALL_PREFIX=/usr .. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -227,14 +227,14 @@ RUN wget -O - ${MEDIA_DRIVER_REPO} | tar xz && mv media-driver-${MEDIA_DRIVER_VE ARG MSDK_VER=MSS-KBL-2019-R1 ARG MSDK_REPO=https://github.com/Intel-Media-SDK/MediaSDK/archive/${MSDK_VER}.tar.gz -RUN wget -O - ${MSDK_REPO} | tar xz && mv MediaSDK-${MSDK_VER} MediaSDK; \ - mkdir -p MediaSDK/build; \ - cd MediaSDK/build; \ - cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_INCLUDEDIR=include/mfx -DBUILD_SAMPLES=OFF -DENABLE_OPENCL=OFF -Wno-dev ..; \ - make -j8; \ - make install DESTDIR=/home/build; \ - rm -rf /home/build/usr/samples; \ - rm -rf /home/build/usr/plugins; \ +RUN wget -O - ${MSDK_REPO} | tar xz && mv MediaSDK-${MSDK_VER} MediaSDK && \ + mkdir -p MediaSDK/build && \ + cd MediaSDK/build && \ + cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_INCLUDEDIR=include/mfx -DBUILD_SAMPLES=OFF -DENABLE_OPENCL=OFF -Wno-dev .. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ + rm -rf /home/build/usr/samples && \ + rm -rf /home/build/usr/plugins && \ make install; # Fetch FFmpeg source @@ -245,28 +245,28 @@ ARG FFMPEG_1TN_PATCH_REPO=https://patchwork.ffmpeg.org/patch/11625/raw ARG FFMPEG_THREAD_PATCH_REPO=https://patchwork.ffmpeg.org/patch/11035/raw RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libvdpau-dev libsdl2-dev libxcb1-dev libxcb-shm0-dev libxcb-xfixes0-dev zlib1g-dev libssl-dev -RUN wget -O - ${FFMPEG_REPO} | tar xz && mv FFmpeg-${FFMPEG_VER} FFmpeg; \ - cd FFmpeg; \ - wget -O - ${FFMPEG_FLV_PATCH_REPO} | patch -p1; \ - wget -O - ${FFMPEG_1TN_PATCH_REPO} | patch -p1; \ +RUN wget -O - ${FFMPEG_REPO} | tar xz && mv FFmpeg-${FFMPEG_VER} FFmpeg && \ + cd FFmpeg && \ + wget -O - ${FFMPEG_FLV_PATCH_REPO} | patch -p1 && \ + wget -O - ${FFMPEG_1TN_PATCH_REPO} | patch -p1 && \ wget -O - ${FFMPEG_THREAD_PATCH_REPO} | patch -p1; # Patch FFmpeg source for SVT-HEVC -RUN cd /home/FFmpeg; \ +RUN cd /home/FFmpeg && \ patch -p1 < ../SVT-HEVC/ffmpeg_plugin/0001-lavc-svt_hevc-add-libsvt-hevc-encoder-wrapper.patch; # Compile FFmpeg -RUN cd /home/FFmpeg; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --extra-libs="-lpthread -lm" --enable-shared --enable-gpl --enable-openssl --enable-nonfree --enable-libdrm --enable-libmfx --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --enable-libfdk-aac --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-libaom --enable-libsvthevc ; \ - make -j8; \ +RUN cd /home/FFmpeg && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --extra-libs="-lpthread -lm" --enable-shared --enable-gpl --enable-openssl --enable-nonfree --enable-libdrm --enable-libmfx --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --enable-libfdk-aac --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-libaom --enable-libsvthevc && \ + make -j8 && \ make install DESTDIR="/home/build" # Clean up after build -RUN rm -rf /home/build/usr/include; \ - rm -rf /home/build/usr/share/doc; \ - rm -rf /home/build/usr/share/gtk-doc; \ - rm -rf /home/build/usr/share/man; \ +RUN rm -rf /home/build/usr/include && \ + rm -rf /home/build/usr/share/doc && \ + rm -rf /home/build/usr/share/gtk-doc && \ + rm -rf /home/build/usr/share/man && \ find /home/build -name "*.a" -exec rm -f {} \; FROM ubuntu:16.04 diff --git a/VCA2/ubuntu-16.04/gst/Dockerfile b/VCA2/ubuntu-16.04/gst/Dockerfile index 5e3552494..c3413e423 100644 --- a/VCA2/ubuntu-16.04/gst/Dockerfile +++ b/VCA2/ubuntu-16.04/gst/Dockerfile @@ -8,76 +8,76 @@ RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no- # Install cmake ARG CMAKE_VER=3.13.1 ARG CMAKE_REPO=https://cmake.org/files -RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz; \ - cd cmake-${CMAKE_VER}; \ - ./bootstrap --prefix="/usr"; \ - make -j8; \ +RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz && \ + cd cmake-${CMAKE_VER} && \ + ./bootstrap --prefix="/usr" && \ + make -j8 && \ make install # Build NASM ARG NASM_VER=2.13.03 ARG NASM_REPO=https://www.nasm.us/pub/nasm/releasebuilds/${NASM_VER}/nasm-${NASM_VER}.tar.bz2 -RUN wget ${NASM_REPO}; \ - tar -xaf nasm*; \ - cd nasm-${NASM_VER}; \ - ./autogen.sh; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu; \ - make -j8; \ +RUN wget ${NASM_REPO} && \ + tar -xaf nasm* && \ + cd nasm-${NASM_VER} && \ + ./autogen.sh && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu && \ + make -j8 && \ make install # Build YASM ARG YASM_VER=1.3.0 ARG YASM_REPO=https://www.tortall.net/projects/yasm/releases/yasm-${YASM_VER}.tar.gz -RUN wget -O - ${YASM_REPO} | tar xz; \ - cd yasm-${YASM_VER}; \ - sed -i "s/) ytasm.*/)/" Makefile.in; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu; \ - make -j8; \ +RUN wget -O - ${YASM_REPO} | tar xz && \ + cd yasm-${YASM_VER} && \ + sed -i "s/) ytasm.*/)/" Makefile.in && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu && \ + make -j8 && \ make install # Build ogg ARG OGG_VER=1.3.3 ARG OGG_REPO=https://downloads.xiph.org/releases/ogg/libogg-${OGG_VER}.tar.xz -RUN wget -O - ${OGG_REPO} | tar xJ; \ - cd libogg-${OGG_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${OGG_REPO} | tar xJ && \ + cd libogg-${OGG_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build vorbis ARG VORBIS_VER=1.3.6 ARG VORBIS_REPO=https://downloads.xiph.org/releases/vorbis/libvorbis-${VORBIS_VER}.tar.xz -RUN wget -O - ${VORBIS_REPO} | tar xJ; \ - cd libvorbis-${VORBIS_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${VORBIS_REPO} | tar xJ && \ + cd libvorbis-${VORBIS_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build mp3lame ARG MP3LAME_VER=3.100 ARG MP3LAME_REPO=https://sourceforge.net/projects/lame/files/lame/${MP3LAME_VER}/lame-${MP3LAME_VER}.tar.gz -RUN wget -O - ${MP3LAME_REPO} | tar xz; \ - cd lame-${MP3LAME_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared --enable-nasm; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${MP3LAME_REPO} | tar xz && \ + cd lame-${MP3LAME_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared --enable-nasm && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build fdk-aac ARG FDK_AAC_VER=v0.1.6 ARG FDK_AAC_REPO=https://github.com/mstorsjo/fdk-aac/archive/${FDK_AAC_VER}.tar.gz -RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac; \ - cd fdk-aac; \ - autoreconf -fiv; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac && \ + cd fdk-aac && \ + autoreconf -fiv && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -85,23 +85,23 @@ RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac; \ ARG OPUS_VER=1.2.1 ARG OPUS_REPO=https://archive.mozilla.org/pub/opus/opus-${OPUS_VER}.tar.gz -RUN wget -O - ${OPUS_REPO} | tar xz; \ - cd opus-${OPUS_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${OPUS_REPO} | tar xz && \ + cd opus-${OPUS_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build vpx ARG VPX_VER=tags/v1.7.0 ARG VPX_REPO=https://chromium.googlesource.com/webm/libvpx.git -RUN git clone ${VPX_REPO}; \ - cd libvpx; \ - git checkout ${VPX_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=nasm; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${VPX_REPO} && \ + cd libvpx && \ + git checkout ${VPX_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=nasm && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -109,25 +109,25 @@ RUN git clone ${VPX_REPO}; \ ARG AOM_VER=tags/v1.0.0 ARG AOM_REPO=https://aomedia.googlesource.com/aom -RUN git clone ${AOM_REPO}; \ - mkdir aom/aom_build; \ - cd aom/aom_build; \ - git checkout ${AOM_VER}; \ - cmake -DBUILD_SHARED_LIBS=ON -DENABLE_NASM=ON -DENABLE_TESTS=OFF -DENABLE_DOCS=OFF -DCMAKE_INSTALL_PREFIX="/usr" -DLIB_INSTALL_DIR=/usr/lib/x86_64-linux-gnu ..; \ - make -j8; \ - make install DESTDIR="/home/build"; \ +RUN git clone ${AOM_REPO} && \ + mkdir aom/aom_build && \ + cd aom/aom_build && \ + git checkout ${AOM_VER} && \ + cmake -DBUILD_SHARED_LIBS=ON -DENABLE_NASM=ON -DENABLE_TESTS=OFF -DENABLE_DOCS=OFF -DCMAKE_INSTALL_PREFIX="/usr" -DLIB_INSTALL_DIR=/usr/lib/x86_64-linux-gnu .. && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ make install # Build x264 ARG X264_VER=stable ARG X264_REPO=https://github.com/mirror/x264 -RUN git clone ${X264_REPO}; \ - cd x264; \ - git checkout ${X264_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared; \ - make -j8; \ - make install DESTDIR="/home/build"; \ +RUN git clone ${X264_REPO} && \ + cd x264 && \ + git checkout ${X264_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ make install @@ -137,24 +137,24 @@ ARG X265_REPO=https://github.com/videolan/x265/archive/${X265_VER}.tar.gz RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libnuma-dev -RUN wget -O - ${X265_REPO} | tar xz && mv x265-${X265_VER} x265; \ - cd x265/build/linux; \ - cmake -DBUILD_SHARED_LIBS=ON -DENABLE_TESTS=OFF -DCMAKE_INSTALL_PREFIX=/usr -DLIB_INSTALL_DIR=/usr/lib/x86_64-linux-gnu ../../source; \ - make -j8; \ - make install DESTDIR="/home/build"; \ +RUN wget -O - ${X265_REPO} | tar xz && mv x265-${X265_VER} x265 && \ + cd x265/build/linux && \ + cmake -DBUILD_SHARED_LIBS=ON -DENABLE_TESTS=OFF -DCMAKE_INSTALL_PREFIX=/usr -DLIB_INSTALL_DIR=/usr/lib/x86_64-linux-gnu ../../source && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ make install # Fetch SVT-HEVC ARG SVT_HEVC_VER=v1.3.0 ARG SVT_HEVC_REPO=https://github.com/intel/SVT-HEVC -RUN git clone ${SVT_HEVC_REPO}; \ - cd SVT-HEVC/Build/linux; \ - git checkout ${SVT_HEVC_VER}; \ - mkdir -p ../../Bin/Release; \ - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${SVT_HEVC_REPO} && \ + cd SVT-HEVC/Build/linux && \ + git checkout ${SVT_HEVC_VER} && \ + mkdir -p ../../Bin/Release && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -162,13 +162,13 @@ RUN git clone ${SVT_HEVC_REPO}; \ ARG SVT_AV1_VER=a39acb2 ARG SVT_AV1_REPO=https://github.com/OpenVisualCloud/SVT-AV1 -RUN git clone ${SVT_AV1_REPO}; \ - cd SVT-AV1/Build/linux; \ - git checkout ${SVT_AV1_VER}; \ - mkdir -p ../../Bin/Release; \ - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${SVT_AV1_REPO} && \ + cd SVT-AV1/Build/linux && \ + git checkout ${SVT_AV1_VER} && \ + mkdir -p ../../Bin/Release && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -176,13 +176,13 @@ RUN git clone ${SVT_AV1_REPO}; \ ARG SVT_VP9_VER=e92a57c ARG SVT_VP9_REPO=https://github.com/OpenVisualCloud/SVT-VP9 -RUN git clone ${SVT_VP9_REPO}; \ - cd SVT-VP9/Build/linux; \ - git checkout ${SVT_VP9_VER}; \ - mkdir -p ../../Bin/Release; \ - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${SVT_VP9_REPO} && \ + cd SVT-VP9/Build/linux && \ + git checkout ${SVT_VP9_VER} && \ + mkdir -p ../../Bin/Release && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Fetch gmmlib @@ -198,11 +198,11 @@ ARG LIBVA_REPO=https://github.com/intel/libva/archive/${LIBVA_VER}.tar.gz RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libdrm-dev libx11-dev xorg-dev libgl1-mesa-dev -RUN wget -O - ${LIBVA_REPO} | tar xz; \ - cd libva-${LIBVA_VER}; \ - ./autogen.sh --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${LIBVA_REPO} | tar xz && \ + cd libva-${LIBVA_VER} && \ + ./autogen.sh --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install; @@ -212,12 +212,12 @@ ARG MEDIA_DRIVER_REPO=https://github.com/VCDP/media-driver/archive/${MEDIA_DRIVE RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libdrm-dev libpciaccess-dev libx11-dev xorg-dev libgl1-mesa-dev -RUN wget -O - ${MEDIA_DRIVER_REPO} | tar xz && mv media-driver-${MEDIA_DRIVER_VER} media-driver; \ - mkdir -p media-driver/build; \ - cd media-driver/build; \ - cmake -DBUILD_TYPE=release -DBUILD_ALONG_WITH_CMRTLIB=1 -DMEDIA_VERSION="2.0.0" -DBS_DIR_GMMLIB=/home/gmmlib/Source/GmmLib -DBS_DIR_COMMON=/home/gmmlib/Source/Common -DBS_DIR_INC=/home/gmmlib/Source/inc -DBS_DIR_MEDIA=/home/media-driver -Wno-dev -DCMAKE_INSTALL_PREFIX=/usr ..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${MEDIA_DRIVER_REPO} | tar xz && mv media-driver-${MEDIA_DRIVER_VER} media-driver && \ + mkdir -p media-driver/build && \ + cd media-driver/build && \ + cmake -DBUILD_TYPE=release -DBUILD_ALONG_WITH_CMRTLIB=1 -DMEDIA_VERSION="2.0.0" -DBS_DIR_GMMLIB=/home/gmmlib/Source/GmmLib -DBS_DIR_COMMON=/home/gmmlib/Source/Common -DBS_DIR_INC=/home/gmmlib/Source/inc -DBS_DIR_MEDIA=/home/media-driver -Wno-dev -DCMAKE_INSTALL_PREFIX=/usr .. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -226,58 +226,58 @@ RUN wget -O - ${MEDIA_DRIVER_REPO} | tar xz && mv media-driver-${MEDIA_DRIVER_VE ARG GST_VER=1.14.4 ARG GST_REPO=https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${GST_VER}.tar.xz -RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libglib2.0-dev -RUN wget -O - ${GST_REPO} | tar xJ; \ - cd gstreamer-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples --disable-gst-debug --disable-debug --disable-benchmarks --disable-check; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libglib2.0-dev autopoint gtk-doc-tools +RUN wget -O - ${GST_REPO} | tar xJ && \ + cd gstreamer-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples --disable-gst-debug --disable-debug --disable-benchmarks --disable-check && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin base ARG GST_PLUGIN_BASE_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_BASE_REPO} | tar xJ; \ - cd gst-plugins-base-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples --disable-debug; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${GST_PLUGIN_BASE_REPO} | tar xJ && \ + cd gst-plugins-base-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples --disable-debug && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin good set ARG GST_PLUGIN_GOOD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_GOOD_REPO} | tar xJ; \ - cd gst-plugins-good-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples --disable-debug; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${GST_PLUGIN_GOOD_REPO} | tar xJ && \ + cd gst-plugins-good-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples --disable-debug && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin bad set ARG GST_PLUGIN_BAD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_BAD_REPO} | tar xJ; \ - cd gst-plugins-bad-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples --disable-debug; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${GST_PLUGIN_BAD_REPO} | tar xJ && \ + cd gst-plugins-bad-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples --disable-debug && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin ugly set ARG GST_PLUGIN_UGLY_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_UGLY_REPO} | tar xJ; \ - cd gst-plugins-ugly-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples --disable-debug; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${GST_PLUGIN_UGLY_REPO} | tar xJ && \ + cd gst-plugins-ugly-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples --disable-debug && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build gst-libav @@ -285,10 +285,10 @@ ARG GST_PLUGIN_LIBAV_REPO=https://gstreamer.freedesktop.org/src/gst-libav/gst-li RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends zlib1g-dev libssl-dev -RUN wget -O - ${GST_PLUGIN_LIBAV_REPO} | tar xJ; \ - cd gst-libav-${GST_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared --enable-gpl; \ - make -j8; \ +RUN wget -O - ${GST_PLUGIN_LIBAV_REPO} | tar xJ && \ + cd gst-libav-${GST_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared --enable-gpl && \ + make -j8 && \ make install DESTDIR="/home/build" @@ -308,10 +308,10 @@ RUN wget -O - ${GST_PLUGIN_VAAPI_REPO} | tar xJ; \ # Clean up after build -RUN rm -rf /home/build/usr/include; \ - rm -rf /home/build/usr/share/doc; \ - rm -rf /home/build/usr/share/gtk-doc; \ - rm -rf /home/build/usr/share/man; \ +RUN rm -rf /home/build/usr/include && \ + rm -rf /home/build/usr/share/doc && \ + rm -rf /home/build/usr/share/gtk-doc && \ + rm -rf /home/build/usr/share/man && \ find /home/build -name "*.a" -exec rm -f {} \; FROM ubuntu:16.04 diff --git a/VCA2/ubuntu-16.04/nginx+rtmp/Dockerfile b/VCA2/ubuntu-16.04/nginx+rtmp/Dockerfile index 86d914bbc..b2603c26c 100644 --- a/VCA2/ubuntu-16.04/nginx+rtmp/Dockerfile +++ b/VCA2/ubuntu-16.04/nginx+rtmp/Dockerfile @@ -8,10 +8,10 @@ RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no- # Install cmake ARG CMAKE_VER=3.13.1 ARG CMAKE_REPO=https://cmake.org/files -RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz; \ - cd cmake-${CMAKE_VER}; \ - ./bootstrap --prefix="/usr"; \ - make -j8; \ +RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz && \ + cd cmake-${CMAKE_VER} && \ + ./bootstrap --prefix="/usr" && \ + make -j8 && \ make install @@ -21,11 +21,11 @@ ARG NGINX_RTMP_REPO=https://github.com/arut/nginx-rtmp-module/archive/${NGINX_RT ARG NGINX_RTMP_PATCH_HLS=https://raw.githubusercontent.com/VCDP/CDN/master/0001-add-hevc-support-for-rtmp-and-hls.patch ARG NGINX_RTMP_PATCH_DASH=https://raw.githubusercontent.com/VCDP/CDN/master/0002-add-HEVC-support-for-dash.patch -RUN wget -O - ${NGINX_RTMP_REPO} | tar xz && mv nginx-rtmp-module-${NGINX_RTMP_VER#v} nginx-rtmp-module; \ - cd nginx-rtmp-module; \ - mkdir -p /home/build/var/www/html; \ - cp -f stat.xsl /home/build/var/www/html; \ - wget -O - ${NGINX_RTMP_PATCH_HLS} | patch -p1; \ +RUN wget -O - ${NGINX_RTMP_REPO} | tar xz && mv nginx-rtmp-module-${NGINX_RTMP_VER#v} nginx-rtmp-module && \ + cd nginx-rtmp-module && \ + mkdir -p /home/build/var/www/html && \ + cp -f stat.xsl /home/build/var/www/html && \ + wget -O - ${NGINX_RTMP_PATCH_HLS} | patch -p1 && \ wget -O - ${NGINX_RTMP_PATCH_DASH} | patch -p1; # Build nginx & nginx-rtmp @@ -34,21 +34,21 @@ ARG NGINX_REPO=https://nginx.org/download/nginx-${NGINX_VER}.tar.gz RUN apt-get update && apt-get install -y -q --no-install-recommends libssl-dev libpcre3-dev zlib1g-dev libxslt1-dev -RUN wget -O - ${NGINX_REPO} | tar xz; \ - cd nginx-${NGINX_VER}; \ - ./configure --prefix=/var/www --sbin-path=/usr/sbin/nginx --modules-path=/usr/lib/x86_64-linux-gnu/nginx/modules --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/www/log/error.log --pid-path=/var/www/nginx.pid --lock-path=/var/www/nginx.lock --http-log-path=/var/www/log/access.log --http-client-body-temp-path=/var/www/tmp/client_body --http-proxy-temp-path=/var/www/tmp/proxy --http-fastcgi-temp-path=/var/www/tmp/fastcgi --http-uwsgi-temp-path=/var/www/tmp/uwsgi --http-scgi-temp-path=/var/www/tmp/scgi --user=www-data --group=www-data --with-select_module --with-poll_module --with-threads --with-file-aio --with-http_ssl_module --with-http_v2_module --with-http_realip_module --with-http_addition_module --with-http_xslt_module --with-http_sub_module --with-http_dav_module --with-http_flv_module --with-http_mp4_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_auth_request_module --with-http_random_index_module --with-http_secure_link_module --with-http_degradation_module --with-http_slice_module --with-http_stub_status_module --with-stream --with-stream_ssl_module --with-stream_realip_module --with-stream_ssl_preread_module --with-pcre --add-module=../nginx-rtmp-module ; \ - make -j8; \ +RUN wget -O - ${NGINX_REPO} | tar xz && \ + cd nginx-${NGINX_VER} && \ + ./configure --prefix=/var/www --sbin-path=/usr/sbin/nginx --modules-path=/usr/lib/x86_64-linux-gnu/nginx/modules --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/www/log/error.log --pid-path=/var/www/nginx.pid --lock-path=/var/www/nginx.lock --http-log-path=/var/www/log/access.log --http-client-body-temp-path=/var/www/tmp/client_body --http-proxy-temp-path=/var/www/tmp/proxy --http-fastcgi-temp-path=/var/www/tmp/fastcgi --http-uwsgi-temp-path=/var/www/tmp/uwsgi --http-scgi-temp-path=/var/www/tmp/scgi --user=www-data --group=www-data --with-select_module --with-poll_module --with-threads --with-file-aio --with-http_ssl_module --with-http_v2_module --with-http_realip_module --with-http_addition_module --with-http_xslt_module --with-http_sub_module --with-http_dav_module --with-http_flv_module --with-http_mp4_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_auth_request_module --with-http_random_index_module --with-http_secure_link_module --with-http_degradation_module --with-http_slice_module --with-http_stub_status_module --with-stream --with-stream_ssl_module --with-stream_realip_module --with-stream_ssl_preread_module --with-pcre --add-module=../nginx-rtmp-module && \ + make -j8 && \ make install DESTDIR=/home/build; # NGINX Setup COPY nginx.conf /home/build/etc/nginx -RUN mkdir -p /home/build/var/www/tmp/client_body; \ - mkdir -p /home/build/var/www/tmp/proxy; \ - mkdir -p /home/build/var/www/tmp/fastcgi; \ - mkdir -p /home/build/var/www/tmp/uwsgi; \ - mkdir -p /home/build/var/www/tmp/scgi; \ - mkdir -p /home/build/var/www/cache; \ - mkdir -p /home/build/var/www/html; \ +RUN mkdir -p /home/build/var/www/tmp/client_body && \ + mkdir -p /home/build/var/www/tmp/proxy && \ + mkdir -p /home/build/var/www/tmp/fastcgi && \ + mkdir -p /home/build/var/www/tmp/uwsgi && \ + mkdir -p /home/build/var/www/tmp/scgi && \ + mkdir -p /home/build/var/www/cache && \ + mkdir -p /home/build/var/www/html && \ touch /home/build/var/www/html/index.html; diff --git a/VCA2/ubuntu-18.04/ffmpeg+gst+dev/Dockerfile b/VCA2/ubuntu-18.04/ffmpeg+gst+dev/Dockerfile index 04521877d..9e37eb860 100644 --- a/VCA2/ubuntu-18.04/ffmpeg+gst+dev/Dockerfile +++ b/VCA2/ubuntu-18.04/ffmpeg+gst+dev/Dockerfile @@ -8,76 +8,76 @@ RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no- # Install cmake ARG CMAKE_VER=3.13.1 ARG CMAKE_REPO=https://cmake.org/files -RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz; \ - cd cmake-${CMAKE_VER}; \ - ./bootstrap --prefix="/usr"; \ - make -j8; \ +RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz && \ + cd cmake-${CMAKE_VER} && \ + ./bootstrap --prefix="/usr" && \ + make -j8 && \ make install # Build NASM ARG NASM_VER=2.13.03 ARG NASM_REPO=https://www.nasm.us/pub/nasm/releasebuilds/${NASM_VER}/nasm-${NASM_VER}.tar.bz2 -RUN wget ${NASM_REPO}; \ - tar -xaf nasm*; \ - cd nasm-${NASM_VER}; \ - ./autogen.sh; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu; \ - make -j8; \ +RUN wget ${NASM_REPO} && \ + tar -xaf nasm* && \ + cd nasm-${NASM_VER} && \ + ./autogen.sh && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu && \ + make -j8 && \ make install # Build YASM ARG YASM_VER=1.3.0 ARG YASM_REPO=https://www.tortall.net/projects/yasm/releases/yasm-${YASM_VER}.tar.gz -RUN wget -O - ${YASM_REPO} | tar xz; \ - cd yasm-${YASM_VER}; \ - sed -i "s/) ytasm.*/)/" Makefile.in; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu; \ - make -j8; \ +RUN wget -O - ${YASM_REPO} | tar xz && \ + cd yasm-${YASM_VER} && \ + sed -i "s/) ytasm.*/)/" Makefile.in && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu && \ + make -j8 && \ make install # Build ogg ARG OGG_VER=1.3.3 ARG OGG_REPO=https://downloads.xiph.org/releases/ogg/libogg-${OGG_VER}.tar.xz -RUN wget -O - ${OGG_REPO} | tar xJ; \ - cd libogg-${OGG_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${OGG_REPO} | tar xJ && \ + cd libogg-${OGG_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build vorbis ARG VORBIS_VER=1.3.6 ARG VORBIS_REPO=https://downloads.xiph.org/releases/vorbis/libvorbis-${VORBIS_VER}.tar.xz -RUN wget -O - ${VORBIS_REPO} | tar xJ; \ - cd libvorbis-${VORBIS_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${VORBIS_REPO} | tar xJ && \ + cd libvorbis-${VORBIS_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build mp3lame ARG MP3LAME_VER=3.100 ARG MP3LAME_REPO=https://sourceforge.net/projects/lame/files/lame/${MP3LAME_VER}/lame-${MP3LAME_VER}.tar.gz -RUN wget -O - ${MP3LAME_REPO} | tar xz; \ - cd lame-${MP3LAME_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared --enable-nasm; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${MP3LAME_REPO} | tar xz && \ + cd lame-${MP3LAME_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared --enable-nasm && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build fdk-aac ARG FDK_AAC_VER=v0.1.6 ARG FDK_AAC_REPO=https://github.com/mstorsjo/fdk-aac/archive/${FDK_AAC_VER}.tar.gz -RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac; \ - cd fdk-aac; \ - autoreconf -fiv; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac && \ + cd fdk-aac && \ + autoreconf -fiv && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -85,23 +85,23 @@ RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac; \ ARG OPUS_VER=1.2.1 ARG OPUS_REPO=https://archive.mozilla.org/pub/opus/opus-${OPUS_VER}.tar.gz -RUN wget -O - ${OPUS_REPO} | tar xz; \ - cd opus-${OPUS_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${OPUS_REPO} | tar xz && \ + cd opus-${OPUS_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build vpx ARG VPX_VER=tags/v1.7.0 ARG VPX_REPO=https://chromium.googlesource.com/webm/libvpx.git -RUN git clone ${VPX_REPO}; \ - cd libvpx; \ - git checkout ${VPX_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=nasm; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${VPX_REPO} && \ + cd libvpx && \ + git checkout ${VPX_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=nasm && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -109,25 +109,25 @@ RUN git clone ${VPX_REPO}; \ ARG AOM_VER=tags/v1.0.0 ARG AOM_REPO=https://aomedia.googlesource.com/aom -RUN git clone ${AOM_REPO}; \ - mkdir aom/aom_build; \ - cd aom/aom_build; \ - git checkout ${AOM_VER}; \ - cmake -DBUILD_SHARED_LIBS=ON -DENABLE_NASM=ON -DENABLE_TESTS=OFF -DENABLE_DOCS=OFF -DCMAKE_INSTALL_PREFIX="/usr" -DLIB_INSTALL_DIR=/usr/lib/x86_64-linux-gnu ..; \ - make -j8; \ - make install DESTDIR="/home/build"; \ +RUN git clone ${AOM_REPO} && \ + mkdir aom/aom_build && \ + cd aom/aom_build && \ + git checkout ${AOM_VER} && \ + cmake -DBUILD_SHARED_LIBS=ON -DENABLE_NASM=ON -DENABLE_TESTS=OFF -DENABLE_DOCS=OFF -DCMAKE_INSTALL_PREFIX="/usr" -DLIB_INSTALL_DIR=/usr/lib/x86_64-linux-gnu .. && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ make install # Build x264 ARG X264_VER=stable ARG X264_REPO=https://github.com/mirror/x264 -RUN git clone ${X264_REPO}; \ - cd x264; \ - git checkout ${X264_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared; \ - make -j8; \ - make install DESTDIR="/home/build"; \ +RUN git clone ${X264_REPO} && \ + cd x264 && \ + git checkout ${X264_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ make install @@ -137,24 +137,24 @@ ARG X265_REPO=https://github.com/videolan/x265/archive/${X265_VER}.tar.gz RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libnuma-dev -RUN wget -O - ${X265_REPO} | tar xz && mv x265-${X265_VER} x265; \ - cd x265/build/linux; \ - cmake -DBUILD_SHARED_LIBS=ON -DENABLE_TESTS=OFF -DCMAKE_INSTALL_PREFIX=/usr -DLIB_INSTALL_DIR=/usr/lib/x86_64-linux-gnu ../../source; \ - make -j8; \ - make install DESTDIR="/home/build"; \ +RUN wget -O - ${X265_REPO} | tar xz && mv x265-${X265_VER} x265 && \ + cd x265/build/linux && \ + cmake -DBUILD_SHARED_LIBS=ON -DENABLE_TESTS=OFF -DCMAKE_INSTALL_PREFIX=/usr -DLIB_INSTALL_DIR=/usr/lib/x86_64-linux-gnu ../../source && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ make install # Fetch SVT-HEVC ARG SVT_HEVC_VER=v1.3.0 ARG SVT_HEVC_REPO=https://github.com/intel/SVT-HEVC -RUN git clone ${SVT_HEVC_REPO}; \ - cd SVT-HEVC/Build/linux; \ - git checkout ${SVT_HEVC_VER}; \ - mkdir -p ../../Bin/Release; \ - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${SVT_HEVC_REPO} && \ + cd SVT-HEVC/Build/linux && \ + git checkout ${SVT_HEVC_VER} && \ + mkdir -p ../../Bin/Release && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -162,13 +162,13 @@ RUN git clone ${SVT_HEVC_REPO}; \ ARG SVT_AV1_VER=a39acb2 ARG SVT_AV1_REPO=https://github.com/OpenVisualCloud/SVT-AV1 -RUN git clone ${SVT_AV1_REPO}; \ - cd SVT-AV1/Build/linux; \ - git checkout ${SVT_AV1_VER}; \ - mkdir -p ../../Bin/Release; \ - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${SVT_AV1_REPO} && \ + cd SVT-AV1/Build/linux && \ + git checkout ${SVT_AV1_VER} && \ + mkdir -p ../../Bin/Release && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -176,13 +176,13 @@ RUN git clone ${SVT_AV1_REPO}; \ ARG SVT_VP9_VER=e92a57c ARG SVT_VP9_REPO=https://github.com/OpenVisualCloud/SVT-VP9 -RUN git clone ${SVT_VP9_REPO}; \ - cd SVT-VP9/Build/linux; \ - git checkout ${SVT_VP9_VER}; \ - mkdir -p ../../Bin/Release; \ - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${SVT_VP9_REPO} && \ + cd SVT-VP9/Build/linux && \ + git checkout ${SVT_VP9_VER} && \ + mkdir -p ../../Bin/Release && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install #include(transform360.m4) @@ -199,11 +199,11 @@ ARG LIBVA_REPO=https://github.com/intel/libva/archive/${LIBVA_VER}.tar.gz RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libdrm-dev libx11-dev xorg-dev libgl1-mesa-dev -RUN wget -O - ${LIBVA_REPO} | tar xz; \ - cd libva-${LIBVA_VER}; \ - ./autogen.sh --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${LIBVA_REPO} | tar xz && \ + cd libva-${LIBVA_VER} && \ + ./autogen.sh --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install; @@ -213,12 +213,12 @@ ARG MEDIA_DRIVER_REPO=https://github.com/VCDP/media-driver/archive/${MEDIA_DRIVE RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libdrm-dev libpciaccess-dev libx11-dev xorg-dev libgl1-mesa-dev -RUN wget -O - ${MEDIA_DRIVER_REPO} | tar xz && mv media-driver-${MEDIA_DRIVER_VER} media-driver; \ - mkdir -p media-driver/build; \ - cd media-driver/build; \ - cmake -DBUILD_TYPE=release -DBUILD_ALONG_WITH_CMRTLIB=1 -DMEDIA_VERSION="2.0.0" -DBS_DIR_GMMLIB=/home/gmmlib/Source/GmmLib -DBS_DIR_COMMON=/home/gmmlib/Source/Common -DBS_DIR_INC=/home/gmmlib/Source/inc -DBS_DIR_MEDIA=/home/media-driver -Wno-dev -DCMAKE_INSTALL_PREFIX=/usr ..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${MEDIA_DRIVER_REPO} | tar xz && mv media-driver-${MEDIA_DRIVER_VER} media-driver && \ + mkdir -p media-driver/build && \ + cd media-driver/build && \ + cmake -DBUILD_TYPE=release -DBUILD_ALONG_WITH_CMRTLIB=1 -DMEDIA_VERSION="2.0.0" -DBS_DIR_GMMLIB=/home/gmmlib/Source/GmmLib -DBS_DIR_COMMON=/home/gmmlib/Source/Common -DBS_DIR_INC=/home/gmmlib/Source/inc -DBS_DIR_MEDIA=/home/media-driver -Wno-dev -DCMAKE_INSTALL_PREFIX=/usr .. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -227,12 +227,12 @@ RUN wget -O - ${MEDIA_DRIVER_REPO} | tar xz && mv media-driver-${MEDIA_DRIVER_VE ARG MSDK_VER=MSS-KBL-2019-R1 ARG MSDK_REPO=https://github.com/Intel-Media-SDK/MediaSDK/archive/${MSDK_VER}.tar.gz -RUN wget -O - ${MSDK_REPO} | tar xz && mv MediaSDK-${MSDK_VER} MediaSDK; \ - mkdir -p MediaSDK/build; \ - cd MediaSDK/build; \ - cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_INCLUDEDIR=include/mfx -DBUILD_SAMPLES=OFF -DENABLE_OPENCL=OFF -Wno-dev ..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${MSDK_REPO} | tar xz && mv MediaSDK-${MSDK_VER} MediaSDK && \ + mkdir -p MediaSDK/build && \ + cd MediaSDK/build && \ + cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_INCLUDEDIR=include/mfx -DBUILD_SAMPLES=OFF -DENABLE_OPENCL=OFF -Wno-dev .. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install; # Build DLDT-Inference Engine @@ -275,58 +275,58 @@ ARG GST_VER=1.14.4 ARG GST_REPO=https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${GST_VER}.tar.xz RUN ln -sf /usr/share/zoneinfo/UTC /etc/localtime; \ - DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libglib2.0-dev -RUN wget -O - ${GST_REPO} | tar xJ; \ - cd gstreamer-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples ; \ - make -j8; \ - make install DESTDIR=/home/build; \ + DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libglib2.0-dev autopoint gtk-doc-tools +RUN wget -O - ${GST_REPO} | tar xJ && \ + cd gstreamer-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin base ARG GST_PLUGIN_BASE_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_BASE_REPO} | tar xJ; \ - cd gst-plugins-base-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples ; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${GST_PLUGIN_BASE_REPO} | tar xJ && \ + cd gst-plugins-base-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin good set ARG GST_PLUGIN_GOOD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_GOOD_REPO} | tar xJ; \ - cd gst-plugins-good-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples ; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${GST_PLUGIN_GOOD_REPO} | tar xJ && \ + cd gst-plugins-good-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin bad set ARG GST_PLUGIN_BAD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_BAD_REPO} | tar xJ; \ - cd gst-plugins-bad-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples ; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${GST_PLUGIN_BAD_REPO} | tar xJ && \ + cd gst-plugins-bad-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin ugly set ARG GST_PLUGIN_UGLY_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_UGLY_REPO} | tar xJ; \ - cd gst-plugins-ugly-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples ; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${GST_PLUGIN_UGLY_REPO} | tar xJ && \ + cd gst-plugins-ugly-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build gst-libav @@ -334,10 +334,10 @@ ARG GST_PLUGIN_LIBAV_REPO=https://gstreamer.freedesktop.org/src/gst-libav/gst-li RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends zlib1g-dev libssl-dev -RUN wget -O - ${GST_PLUGIN_LIBAV_REPO} | tar xJ; \ - cd gst-libav-${GST_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared --enable-gpl; \ - make -j8; \ +RUN wget -O - ${GST_PLUGIN_LIBAV_REPO} | tar xJ && \ + cd gst-libav-${GST_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared --enable-gpl && \ + make -j8 && \ make install DESTDIR="/home/build" @@ -364,20 +364,20 @@ ARG FFMPEG_1TN_PATCH_REPO=https://patchwork.ffmpeg.org/patch/11625/raw ARG FFMPEG_THREAD_PATCH_REPO=https://patchwork.ffmpeg.org/patch/11035/raw RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libass-dev libfreetype6-dev libvdpau-dev libsdl2-dev libxcb1-dev libxcb-shm0-dev libxcb-xfixes0-dev texinfo zlib1g-dev libssl-dev -RUN wget -O - ${FFMPEG_REPO} | tar xz && mv FFmpeg-${FFMPEG_VER} FFmpeg; \ - cd FFmpeg; \ - wget -O - ${FFMPEG_FLV_PATCH_REPO} | patch -p1; \ - wget -O - ${FFMPEG_1TN_PATCH_REPO} | patch -p1; \ +RUN wget -O - ${FFMPEG_REPO} | tar xz && mv FFmpeg-${FFMPEG_VER} FFmpeg && \ + cd FFmpeg && \ + wget -O - ${FFMPEG_FLV_PATCH_REPO} | patch -p1 && \ + wget -O - ${FFMPEG_1TN_PATCH_REPO} | patch -p1 && \ wget -O - ${FFMPEG_THREAD_PATCH_REPO} | patch -p1; # Patch FFmpeg source for SVT-HEVC -RUN cd /home/FFmpeg; \ +RUN cd /home/FFmpeg && \ patch -p1 < ../SVT-HEVC/ffmpeg_plugin/0001-lavc-svt_hevc-add-libsvt-hevc-encoder-wrapper.patch; # Compile FFmpeg -RUN cd /home/FFmpeg; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --extra-libs="-lpthread -lm" --enable-shared --enable-gpl --enable-libass --enable-libfreetype --enable-openssl --enable-nonfree --enable-libdrm --enable-libmfx --enable-libfdk-aac --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-libaom --enable-libsvthevc ; \ - make -j8; \ +RUN cd /home/FFmpeg && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --extra-libs="-lpthread -lm" --enable-shared --enable-gpl --enable-libass --enable-libfreetype --enable-openssl --enable-nonfree --enable-libdrm --enable-libmfx --enable-libfdk-aac --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-libaom --enable-libsvthevc && \ + make -j8 && \ make install DESTDIR="/home/build" diff --git a/VCA2/ubuntu-18.04/ffmpeg/Dockerfile b/VCA2/ubuntu-18.04/ffmpeg/Dockerfile index cb52c9c99..b5f5dea38 100644 --- a/VCA2/ubuntu-18.04/ffmpeg/Dockerfile +++ b/VCA2/ubuntu-18.04/ffmpeg/Dockerfile @@ -8,76 +8,76 @@ RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no- # Install cmake ARG CMAKE_VER=3.13.1 ARG CMAKE_REPO=https://cmake.org/files -RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz; \ - cd cmake-${CMAKE_VER}; \ - ./bootstrap --prefix="/usr"; \ - make -j8; \ +RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz && \ + cd cmake-${CMAKE_VER} && \ + ./bootstrap --prefix="/usr" && \ + make -j8 && \ make install # Build NASM ARG NASM_VER=2.13.03 ARG NASM_REPO=https://www.nasm.us/pub/nasm/releasebuilds/${NASM_VER}/nasm-${NASM_VER}.tar.bz2 -RUN wget ${NASM_REPO}; \ - tar -xaf nasm*; \ - cd nasm-${NASM_VER}; \ - ./autogen.sh; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu; \ - make -j8; \ +RUN wget ${NASM_REPO} && \ + tar -xaf nasm* && \ + cd nasm-${NASM_VER} && \ + ./autogen.sh && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu && \ + make -j8 && \ make install # Build YASM ARG YASM_VER=1.3.0 ARG YASM_REPO=https://www.tortall.net/projects/yasm/releases/yasm-${YASM_VER}.tar.gz -RUN wget -O - ${YASM_REPO} | tar xz; \ - cd yasm-${YASM_VER}; \ - sed -i "s/) ytasm.*/)/" Makefile.in; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu; \ - make -j8; \ +RUN wget -O - ${YASM_REPO} | tar xz && \ + cd yasm-${YASM_VER} && \ + sed -i "s/) ytasm.*/)/" Makefile.in && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu && \ + make -j8 && \ make install # Build ogg ARG OGG_VER=1.3.3 ARG OGG_REPO=https://downloads.xiph.org/releases/ogg/libogg-${OGG_VER}.tar.xz -RUN wget -O - ${OGG_REPO} | tar xJ; \ - cd libogg-${OGG_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${OGG_REPO} | tar xJ && \ + cd libogg-${OGG_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build vorbis ARG VORBIS_VER=1.3.6 ARG VORBIS_REPO=https://downloads.xiph.org/releases/vorbis/libvorbis-${VORBIS_VER}.tar.xz -RUN wget -O - ${VORBIS_REPO} | tar xJ; \ - cd libvorbis-${VORBIS_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${VORBIS_REPO} | tar xJ && \ + cd libvorbis-${VORBIS_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build mp3lame ARG MP3LAME_VER=3.100 ARG MP3LAME_REPO=https://sourceforge.net/projects/lame/files/lame/${MP3LAME_VER}/lame-${MP3LAME_VER}.tar.gz -RUN wget -O - ${MP3LAME_REPO} | tar xz; \ - cd lame-${MP3LAME_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared --enable-nasm; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${MP3LAME_REPO} | tar xz && \ + cd lame-${MP3LAME_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared --enable-nasm && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build fdk-aac ARG FDK_AAC_VER=v0.1.6 ARG FDK_AAC_REPO=https://github.com/mstorsjo/fdk-aac/archive/${FDK_AAC_VER}.tar.gz -RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac; \ - cd fdk-aac; \ - autoreconf -fiv; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac && \ + cd fdk-aac && \ + autoreconf -fiv && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -85,23 +85,23 @@ RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac; \ ARG OPUS_VER=1.2.1 ARG OPUS_REPO=https://archive.mozilla.org/pub/opus/opus-${OPUS_VER}.tar.gz -RUN wget -O - ${OPUS_REPO} | tar xz; \ - cd opus-${OPUS_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${OPUS_REPO} | tar xz && \ + cd opus-${OPUS_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build vpx ARG VPX_VER=tags/v1.7.0 ARG VPX_REPO=https://chromium.googlesource.com/webm/libvpx.git -RUN git clone ${VPX_REPO}; \ - cd libvpx; \ - git checkout ${VPX_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=nasm; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${VPX_REPO} && \ + cd libvpx && \ + git checkout ${VPX_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=nasm && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -109,25 +109,25 @@ RUN git clone ${VPX_REPO}; \ ARG AOM_VER=tags/v1.0.0 ARG AOM_REPO=https://aomedia.googlesource.com/aom -RUN git clone ${AOM_REPO}; \ - mkdir aom/aom_build; \ - cd aom/aom_build; \ - git checkout ${AOM_VER}; \ - cmake -DBUILD_SHARED_LIBS=ON -DENABLE_NASM=ON -DENABLE_TESTS=OFF -DENABLE_DOCS=OFF -DCMAKE_INSTALL_PREFIX="/usr" -DLIB_INSTALL_DIR=/usr/lib/x86_64-linux-gnu ..; \ - make -j8; \ - make install DESTDIR="/home/build"; \ +RUN git clone ${AOM_REPO} && \ + mkdir aom/aom_build && \ + cd aom/aom_build && \ + git checkout ${AOM_VER} && \ + cmake -DBUILD_SHARED_LIBS=ON -DENABLE_NASM=ON -DENABLE_TESTS=OFF -DENABLE_DOCS=OFF -DCMAKE_INSTALL_PREFIX="/usr" -DLIB_INSTALL_DIR=/usr/lib/x86_64-linux-gnu .. && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ make install # Build x264 ARG X264_VER=stable ARG X264_REPO=https://github.com/mirror/x264 -RUN git clone ${X264_REPO}; \ - cd x264; \ - git checkout ${X264_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared; \ - make -j8; \ - make install DESTDIR="/home/build"; \ +RUN git clone ${X264_REPO} && \ + cd x264 && \ + git checkout ${X264_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ make install @@ -137,24 +137,24 @@ ARG X265_REPO=https://github.com/videolan/x265/archive/${X265_VER}.tar.gz RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libnuma-dev -RUN wget -O - ${X265_REPO} | tar xz && mv x265-${X265_VER} x265; \ - cd x265/build/linux; \ - cmake -DBUILD_SHARED_LIBS=ON -DENABLE_TESTS=OFF -DCMAKE_INSTALL_PREFIX=/usr -DLIB_INSTALL_DIR=/usr/lib/x86_64-linux-gnu ../../source; \ - make -j8; \ - make install DESTDIR="/home/build"; \ +RUN wget -O - ${X265_REPO} | tar xz && mv x265-${X265_VER} x265 && \ + cd x265/build/linux && \ + cmake -DBUILD_SHARED_LIBS=ON -DENABLE_TESTS=OFF -DCMAKE_INSTALL_PREFIX=/usr -DLIB_INSTALL_DIR=/usr/lib/x86_64-linux-gnu ../../source && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ make install # Fetch SVT-HEVC ARG SVT_HEVC_VER=v1.3.0 ARG SVT_HEVC_REPO=https://github.com/intel/SVT-HEVC -RUN git clone ${SVT_HEVC_REPO}; \ - cd SVT-HEVC/Build/linux; \ - git checkout ${SVT_HEVC_VER}; \ - mkdir -p ../../Bin/Release; \ - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${SVT_HEVC_REPO} && \ + cd SVT-HEVC/Build/linux && \ + git checkout ${SVT_HEVC_VER} && \ + mkdir -p ../../Bin/Release && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -162,13 +162,13 @@ RUN git clone ${SVT_HEVC_REPO}; \ ARG SVT_AV1_VER=a39acb2 ARG SVT_AV1_REPO=https://github.com/OpenVisualCloud/SVT-AV1 -RUN git clone ${SVT_AV1_REPO}; \ - cd SVT-AV1/Build/linux; \ - git checkout ${SVT_AV1_VER}; \ - mkdir -p ../../Bin/Release; \ - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${SVT_AV1_REPO} && \ + cd SVT-AV1/Build/linux && \ + git checkout ${SVT_AV1_VER} && \ + mkdir -p ../../Bin/Release && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -176,13 +176,13 @@ RUN git clone ${SVT_AV1_REPO}; \ ARG SVT_VP9_VER=e92a57c ARG SVT_VP9_REPO=https://github.com/OpenVisualCloud/SVT-VP9 -RUN git clone ${SVT_VP9_REPO}; \ - cd SVT-VP9/Build/linux; \ - git checkout ${SVT_VP9_VER}; \ - mkdir -p ../../Bin/Release; \ - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${SVT_VP9_REPO} && \ + cd SVT-VP9/Build/linux && \ + git checkout ${SVT_VP9_VER} && \ + mkdir -p ../../Bin/Release && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install #include(transform360.m4) @@ -199,11 +199,11 @@ ARG LIBVA_REPO=https://github.com/intel/libva/archive/${LIBVA_VER}.tar.gz RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libdrm-dev libx11-dev xorg-dev libgl1-mesa-dev -RUN wget -O - ${LIBVA_REPO} | tar xz; \ - cd libva-${LIBVA_VER}; \ - ./autogen.sh --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${LIBVA_REPO} | tar xz && \ + cd libva-${LIBVA_VER} && \ + ./autogen.sh --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install; @@ -213,12 +213,12 @@ ARG MEDIA_DRIVER_REPO=https://github.com/VCDP/media-driver/archive/${MEDIA_DRIVE RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libdrm-dev libpciaccess-dev libx11-dev xorg-dev libgl1-mesa-dev -RUN wget -O - ${MEDIA_DRIVER_REPO} | tar xz && mv media-driver-${MEDIA_DRIVER_VER} media-driver; \ - mkdir -p media-driver/build; \ - cd media-driver/build; \ - cmake -DBUILD_TYPE=release -DBUILD_ALONG_WITH_CMRTLIB=1 -DMEDIA_VERSION="2.0.0" -DBS_DIR_GMMLIB=/home/gmmlib/Source/GmmLib -DBS_DIR_COMMON=/home/gmmlib/Source/Common -DBS_DIR_INC=/home/gmmlib/Source/inc -DBS_DIR_MEDIA=/home/media-driver -Wno-dev -DCMAKE_INSTALL_PREFIX=/usr ..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${MEDIA_DRIVER_REPO} | tar xz && mv media-driver-${MEDIA_DRIVER_VER} media-driver && \ + mkdir -p media-driver/build && \ + cd media-driver/build && \ + cmake -DBUILD_TYPE=release -DBUILD_ALONG_WITH_CMRTLIB=1 -DMEDIA_VERSION="2.0.0" -DBS_DIR_GMMLIB=/home/gmmlib/Source/GmmLib -DBS_DIR_COMMON=/home/gmmlib/Source/Common -DBS_DIR_INC=/home/gmmlib/Source/inc -DBS_DIR_MEDIA=/home/media-driver -Wno-dev -DCMAKE_INSTALL_PREFIX=/usr .. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -227,14 +227,14 @@ RUN wget -O - ${MEDIA_DRIVER_REPO} | tar xz && mv media-driver-${MEDIA_DRIVER_VE ARG MSDK_VER=MSS-KBL-2019-R1 ARG MSDK_REPO=https://github.com/Intel-Media-SDK/MediaSDK/archive/${MSDK_VER}.tar.gz -RUN wget -O - ${MSDK_REPO} | tar xz && mv MediaSDK-${MSDK_VER} MediaSDK; \ - mkdir -p MediaSDK/build; \ - cd MediaSDK/build; \ - cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_INCLUDEDIR=include/mfx -DBUILD_SAMPLES=OFF -DENABLE_OPENCL=OFF -Wno-dev ..; \ - make -j8; \ - make install DESTDIR=/home/build; \ - rm -rf /home/build/usr/samples; \ - rm -rf /home/build/usr/plugins; \ +RUN wget -O - ${MSDK_REPO} | tar xz && mv MediaSDK-${MSDK_VER} MediaSDK && \ + mkdir -p MediaSDK/build && \ + cd MediaSDK/build && \ + cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_INCLUDEDIR=include/mfx -DBUILD_SAMPLES=OFF -DENABLE_OPENCL=OFF -Wno-dev .. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ + rm -rf /home/build/usr/samples && \ + rm -rf /home/build/usr/plugins && \ make install; # Fetch FFmpeg source @@ -245,28 +245,28 @@ ARG FFMPEG_1TN_PATCH_REPO=https://patchwork.ffmpeg.org/patch/11625/raw ARG FFMPEG_THREAD_PATCH_REPO=https://patchwork.ffmpeg.org/patch/11035/raw RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libvdpau-dev libsdl2-dev libxcb1-dev libxcb-shm0-dev libxcb-xfixes0-dev zlib1g-dev libssl-dev -RUN wget -O - ${FFMPEG_REPO} | tar xz && mv FFmpeg-${FFMPEG_VER} FFmpeg; \ - cd FFmpeg; \ - wget -O - ${FFMPEG_FLV_PATCH_REPO} | patch -p1; \ - wget -O - ${FFMPEG_1TN_PATCH_REPO} | patch -p1; \ +RUN wget -O - ${FFMPEG_REPO} | tar xz && mv FFmpeg-${FFMPEG_VER} FFmpeg && \ + cd FFmpeg && \ + wget -O - ${FFMPEG_FLV_PATCH_REPO} | patch -p1 && \ + wget -O - ${FFMPEG_1TN_PATCH_REPO} | patch -p1 && \ wget -O - ${FFMPEG_THREAD_PATCH_REPO} | patch -p1; # Patch FFmpeg source for SVT-HEVC -RUN cd /home/FFmpeg; \ +RUN cd /home/FFmpeg && \ patch -p1 < ../SVT-HEVC/ffmpeg_plugin/0001-lavc-svt_hevc-add-libsvt-hevc-encoder-wrapper.patch; # Compile FFmpeg -RUN cd /home/FFmpeg; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --extra-libs="-lpthread -lm" --enable-shared --enable-gpl --enable-openssl --enable-nonfree --enable-libdrm --enable-libmfx --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --enable-libfdk-aac --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-libaom --enable-libsvthevc ; \ - make -j8; \ +RUN cd /home/FFmpeg && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --extra-libs="-lpthread -lm" --enable-shared --enable-gpl --enable-openssl --enable-nonfree --enable-libdrm --enable-libmfx --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --enable-libfdk-aac --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-libaom --enable-libsvthevc && \ + make -j8 && \ make install DESTDIR="/home/build" # Clean up after build -RUN rm -rf /home/build/usr/include; \ - rm -rf /home/build/usr/share/doc; \ - rm -rf /home/build/usr/share/gtk-doc; \ - rm -rf /home/build/usr/share/man; \ +RUN rm -rf /home/build/usr/include && \ + rm -rf /home/build/usr/share/doc && \ + rm -rf /home/build/usr/share/gtk-doc && \ + rm -rf /home/build/usr/share/man && \ find /home/build -name "*.a" -exec rm -f {} \; FROM ubuntu:18.04 diff --git a/VCA2/ubuntu-18.04/gst/Dockerfile b/VCA2/ubuntu-18.04/gst/Dockerfile index a548f7266..d7e34beec 100644 --- a/VCA2/ubuntu-18.04/gst/Dockerfile +++ b/VCA2/ubuntu-18.04/gst/Dockerfile @@ -8,76 +8,76 @@ RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no- # Install cmake ARG CMAKE_VER=3.13.1 ARG CMAKE_REPO=https://cmake.org/files -RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz; \ - cd cmake-${CMAKE_VER}; \ - ./bootstrap --prefix="/usr"; \ - make -j8; \ +RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz && \ + cd cmake-${CMAKE_VER} && \ + ./bootstrap --prefix="/usr" && \ + make -j8 && \ make install # Build NASM ARG NASM_VER=2.13.03 ARG NASM_REPO=https://www.nasm.us/pub/nasm/releasebuilds/${NASM_VER}/nasm-${NASM_VER}.tar.bz2 -RUN wget ${NASM_REPO}; \ - tar -xaf nasm*; \ - cd nasm-${NASM_VER}; \ - ./autogen.sh; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu; \ - make -j8; \ +RUN wget ${NASM_REPO} && \ + tar -xaf nasm* && \ + cd nasm-${NASM_VER} && \ + ./autogen.sh && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu && \ + make -j8 && \ make install # Build YASM ARG YASM_VER=1.3.0 ARG YASM_REPO=https://www.tortall.net/projects/yasm/releases/yasm-${YASM_VER}.tar.gz -RUN wget -O - ${YASM_REPO} | tar xz; \ - cd yasm-${YASM_VER}; \ - sed -i "s/) ytasm.*/)/" Makefile.in; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu; \ - make -j8; \ +RUN wget -O - ${YASM_REPO} | tar xz && \ + cd yasm-${YASM_VER} && \ + sed -i "s/) ytasm.*/)/" Makefile.in && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu && \ + make -j8 && \ make install # Build ogg ARG OGG_VER=1.3.3 ARG OGG_REPO=https://downloads.xiph.org/releases/ogg/libogg-${OGG_VER}.tar.xz -RUN wget -O - ${OGG_REPO} | tar xJ; \ - cd libogg-${OGG_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${OGG_REPO} | tar xJ && \ + cd libogg-${OGG_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build vorbis ARG VORBIS_VER=1.3.6 ARG VORBIS_REPO=https://downloads.xiph.org/releases/vorbis/libvorbis-${VORBIS_VER}.tar.xz -RUN wget -O - ${VORBIS_REPO} | tar xJ; \ - cd libvorbis-${VORBIS_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${VORBIS_REPO} | tar xJ && \ + cd libvorbis-${VORBIS_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build mp3lame ARG MP3LAME_VER=3.100 ARG MP3LAME_REPO=https://sourceforge.net/projects/lame/files/lame/${MP3LAME_VER}/lame-${MP3LAME_VER}.tar.gz -RUN wget -O - ${MP3LAME_REPO} | tar xz; \ - cd lame-${MP3LAME_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared --enable-nasm; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${MP3LAME_REPO} | tar xz && \ + cd lame-${MP3LAME_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared --enable-nasm && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build fdk-aac ARG FDK_AAC_VER=v0.1.6 ARG FDK_AAC_REPO=https://github.com/mstorsjo/fdk-aac/archive/${FDK_AAC_VER}.tar.gz -RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac; \ - cd fdk-aac; \ - autoreconf -fiv; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac && \ + cd fdk-aac && \ + autoreconf -fiv && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -85,23 +85,23 @@ RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac; \ ARG OPUS_VER=1.2.1 ARG OPUS_REPO=https://archive.mozilla.org/pub/opus/opus-${OPUS_VER}.tar.gz -RUN wget -O - ${OPUS_REPO} | tar xz; \ - cd opus-${OPUS_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${OPUS_REPO} | tar xz && \ + cd opus-${OPUS_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build vpx ARG VPX_VER=tags/v1.7.0 ARG VPX_REPO=https://chromium.googlesource.com/webm/libvpx.git -RUN git clone ${VPX_REPO}; \ - cd libvpx; \ - git checkout ${VPX_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=nasm; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${VPX_REPO} && \ + cd libvpx && \ + git checkout ${VPX_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=nasm && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -109,25 +109,25 @@ RUN git clone ${VPX_REPO}; \ ARG AOM_VER=tags/v1.0.0 ARG AOM_REPO=https://aomedia.googlesource.com/aom -RUN git clone ${AOM_REPO}; \ - mkdir aom/aom_build; \ - cd aom/aom_build; \ - git checkout ${AOM_VER}; \ - cmake -DBUILD_SHARED_LIBS=ON -DENABLE_NASM=ON -DENABLE_TESTS=OFF -DENABLE_DOCS=OFF -DCMAKE_INSTALL_PREFIX="/usr" -DLIB_INSTALL_DIR=/usr/lib/x86_64-linux-gnu ..; \ - make -j8; \ - make install DESTDIR="/home/build"; \ +RUN git clone ${AOM_REPO} && \ + mkdir aom/aom_build && \ + cd aom/aom_build && \ + git checkout ${AOM_VER} && \ + cmake -DBUILD_SHARED_LIBS=ON -DENABLE_NASM=ON -DENABLE_TESTS=OFF -DENABLE_DOCS=OFF -DCMAKE_INSTALL_PREFIX="/usr" -DLIB_INSTALL_DIR=/usr/lib/x86_64-linux-gnu .. && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ make install # Build x264 ARG X264_VER=stable ARG X264_REPO=https://github.com/mirror/x264 -RUN git clone ${X264_REPO}; \ - cd x264; \ - git checkout ${X264_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared; \ - make -j8; \ - make install DESTDIR="/home/build"; \ +RUN git clone ${X264_REPO} && \ + cd x264 && \ + git checkout ${X264_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ make install @@ -137,24 +137,24 @@ ARG X265_REPO=https://github.com/videolan/x265/archive/${X265_VER}.tar.gz RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libnuma-dev -RUN wget -O - ${X265_REPO} | tar xz && mv x265-${X265_VER} x265; \ - cd x265/build/linux; \ - cmake -DBUILD_SHARED_LIBS=ON -DENABLE_TESTS=OFF -DCMAKE_INSTALL_PREFIX=/usr -DLIB_INSTALL_DIR=/usr/lib/x86_64-linux-gnu ../../source; \ - make -j8; \ - make install DESTDIR="/home/build"; \ +RUN wget -O - ${X265_REPO} | tar xz && mv x265-${X265_VER} x265 && \ + cd x265/build/linux && \ + cmake -DBUILD_SHARED_LIBS=ON -DENABLE_TESTS=OFF -DCMAKE_INSTALL_PREFIX=/usr -DLIB_INSTALL_DIR=/usr/lib/x86_64-linux-gnu ../../source && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ make install # Fetch SVT-HEVC ARG SVT_HEVC_VER=v1.3.0 ARG SVT_HEVC_REPO=https://github.com/intel/SVT-HEVC -RUN git clone ${SVT_HEVC_REPO}; \ - cd SVT-HEVC/Build/linux; \ - git checkout ${SVT_HEVC_VER}; \ - mkdir -p ../../Bin/Release; \ - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${SVT_HEVC_REPO} && \ + cd SVT-HEVC/Build/linux && \ + git checkout ${SVT_HEVC_VER} && \ + mkdir -p ../../Bin/Release && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -162,13 +162,13 @@ RUN git clone ${SVT_HEVC_REPO}; \ ARG SVT_AV1_VER=a39acb2 ARG SVT_AV1_REPO=https://github.com/OpenVisualCloud/SVT-AV1 -RUN git clone ${SVT_AV1_REPO}; \ - cd SVT-AV1/Build/linux; \ - git checkout ${SVT_AV1_VER}; \ - mkdir -p ../../Bin/Release; \ - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${SVT_AV1_REPO} && \ + cd SVT-AV1/Build/linux && \ + git checkout ${SVT_AV1_VER} && \ + mkdir -p ../../Bin/Release && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -176,13 +176,13 @@ RUN git clone ${SVT_AV1_REPO}; \ ARG SVT_VP9_VER=e92a57c ARG SVT_VP9_REPO=https://github.com/OpenVisualCloud/SVT-VP9 -RUN git clone ${SVT_VP9_REPO}; \ - cd SVT-VP9/Build/linux; \ - git checkout ${SVT_VP9_VER}; \ - mkdir -p ../../Bin/Release; \ - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${SVT_VP9_REPO} && \ + cd SVT-VP9/Build/linux && \ + git checkout ${SVT_VP9_VER} && \ + mkdir -p ../../Bin/Release && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Fetch gmmlib @@ -198,11 +198,11 @@ ARG LIBVA_REPO=https://github.com/intel/libva/archive/${LIBVA_VER}.tar.gz RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libdrm-dev libx11-dev xorg-dev libgl1-mesa-dev -RUN wget -O - ${LIBVA_REPO} | tar xz; \ - cd libva-${LIBVA_VER}; \ - ./autogen.sh --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${LIBVA_REPO} | tar xz && \ + cd libva-${LIBVA_VER} && \ + ./autogen.sh --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install; @@ -212,12 +212,12 @@ ARG MEDIA_DRIVER_REPO=https://github.com/VCDP/media-driver/archive/${MEDIA_DRIVE RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libdrm-dev libpciaccess-dev libx11-dev xorg-dev libgl1-mesa-dev -RUN wget -O - ${MEDIA_DRIVER_REPO} | tar xz && mv media-driver-${MEDIA_DRIVER_VER} media-driver; \ - mkdir -p media-driver/build; \ - cd media-driver/build; \ - cmake -DBUILD_TYPE=release -DBUILD_ALONG_WITH_CMRTLIB=1 -DMEDIA_VERSION="2.0.0" -DBS_DIR_GMMLIB=/home/gmmlib/Source/GmmLib -DBS_DIR_COMMON=/home/gmmlib/Source/Common -DBS_DIR_INC=/home/gmmlib/Source/inc -DBS_DIR_MEDIA=/home/media-driver -Wno-dev -DCMAKE_INSTALL_PREFIX=/usr ..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${MEDIA_DRIVER_REPO} | tar xz && mv media-driver-${MEDIA_DRIVER_VER} media-driver && \ + mkdir -p media-driver/build && \ + cd media-driver/build && \ + cmake -DBUILD_TYPE=release -DBUILD_ALONG_WITH_CMRTLIB=1 -DMEDIA_VERSION="2.0.0" -DBS_DIR_GMMLIB=/home/gmmlib/Source/GmmLib -DBS_DIR_COMMON=/home/gmmlib/Source/Common -DBS_DIR_INC=/home/gmmlib/Source/inc -DBS_DIR_MEDIA=/home/media-driver -Wno-dev -DCMAKE_INSTALL_PREFIX=/usr .. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -227,58 +227,58 @@ ARG GST_VER=1.14.4 ARG GST_REPO=https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${GST_VER}.tar.xz RUN ln -sf /usr/share/zoneinfo/UTC /etc/localtime; \ - DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libglib2.0-dev -RUN wget -O - ${GST_REPO} | tar xJ; \ - cd gstreamer-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples --disable-gst-debug --disable-debug --disable-benchmarks --disable-check; \ - make -j8; \ - make install DESTDIR=/home/build; \ + DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libglib2.0-dev autopoint gtk-doc-tools +RUN wget -O - ${GST_REPO} | tar xJ && \ + cd gstreamer-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples --disable-gst-debug --disable-debug --disable-benchmarks --disable-check && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin base ARG GST_PLUGIN_BASE_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_BASE_REPO} | tar xJ; \ - cd gst-plugins-base-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples --disable-debug; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${GST_PLUGIN_BASE_REPO} | tar xJ && \ + cd gst-plugins-base-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples --disable-debug && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin good set ARG GST_PLUGIN_GOOD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_GOOD_REPO} | tar xJ; \ - cd gst-plugins-good-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples --disable-debug; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${GST_PLUGIN_GOOD_REPO} | tar xJ && \ + cd gst-plugins-good-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples --disable-debug && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin bad set ARG GST_PLUGIN_BAD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_BAD_REPO} | tar xJ; \ - cd gst-plugins-bad-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples --disable-debug; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${GST_PLUGIN_BAD_REPO} | tar xJ && \ + cd gst-plugins-bad-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples --disable-debug && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin ugly set ARG GST_PLUGIN_UGLY_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_UGLY_REPO} | tar xJ; \ - cd gst-plugins-ugly-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples --disable-debug; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${GST_PLUGIN_UGLY_REPO} | tar xJ && \ + cd gst-plugins-ugly-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples --disable-debug && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build gst-libav @@ -286,10 +286,10 @@ ARG GST_PLUGIN_LIBAV_REPO=https://gstreamer.freedesktop.org/src/gst-libav/gst-li RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends zlib1g-dev libssl-dev -RUN wget -O - ${GST_PLUGIN_LIBAV_REPO} | tar xJ; \ - cd gst-libav-${GST_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared --enable-gpl; \ - make -j8; \ +RUN wget -O - ${GST_PLUGIN_LIBAV_REPO} | tar xJ && \ + cd gst-libav-${GST_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared --enable-gpl && \ + make -j8 && \ make install DESTDIR="/home/build" @@ -309,10 +309,10 @@ RUN wget -O - ${GST_PLUGIN_VAAPI_REPO} | tar xJ; \ # Clean up after build -RUN rm -rf /home/build/usr/include; \ - rm -rf /home/build/usr/share/doc; \ - rm -rf /home/build/usr/share/gtk-doc; \ - rm -rf /home/build/usr/share/man; \ +RUN rm -rf /home/build/usr/include && \ + rm -rf /home/build/usr/share/doc && \ + rm -rf /home/build/usr/share/gtk-doc && \ + rm -rf /home/build/usr/share/man && \ find /home/build -name "*.a" -exec rm -f {} \; FROM ubuntu:18.04 diff --git a/VCA2/ubuntu-18.04/nginx+rtmp/Dockerfile b/VCA2/ubuntu-18.04/nginx+rtmp/Dockerfile index 4b7aa9733..464799b07 100644 --- a/VCA2/ubuntu-18.04/nginx+rtmp/Dockerfile +++ b/VCA2/ubuntu-18.04/nginx+rtmp/Dockerfile @@ -8,10 +8,10 @@ RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no- # Install cmake ARG CMAKE_VER=3.13.1 ARG CMAKE_REPO=https://cmake.org/files -RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz; \ - cd cmake-${CMAKE_VER}; \ - ./bootstrap --prefix="/usr"; \ - make -j8; \ +RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz && \ + cd cmake-${CMAKE_VER} && \ + ./bootstrap --prefix="/usr" && \ + make -j8 && \ make install @@ -21,11 +21,11 @@ ARG NGINX_RTMP_REPO=https://github.com/arut/nginx-rtmp-module/archive/${NGINX_RT ARG NGINX_RTMP_PATCH_HLS=https://raw.githubusercontent.com/VCDP/CDN/master/0001-add-hevc-support-for-rtmp-and-hls.patch ARG NGINX_RTMP_PATCH_DASH=https://raw.githubusercontent.com/VCDP/CDN/master/0002-add-HEVC-support-for-dash.patch -RUN wget -O - ${NGINX_RTMP_REPO} | tar xz && mv nginx-rtmp-module-${NGINX_RTMP_VER#v} nginx-rtmp-module; \ - cd nginx-rtmp-module; \ - mkdir -p /home/build/var/www/html; \ - cp -f stat.xsl /home/build/var/www/html; \ - wget -O - ${NGINX_RTMP_PATCH_HLS} | patch -p1; \ +RUN wget -O - ${NGINX_RTMP_REPO} | tar xz && mv nginx-rtmp-module-${NGINX_RTMP_VER#v} nginx-rtmp-module && \ + cd nginx-rtmp-module && \ + mkdir -p /home/build/var/www/html && \ + cp -f stat.xsl /home/build/var/www/html && \ + wget -O - ${NGINX_RTMP_PATCH_HLS} | patch -p1 && \ wget -O - ${NGINX_RTMP_PATCH_DASH} | patch -p1; # Build nginx & nginx-rtmp @@ -34,21 +34,21 @@ ARG NGINX_REPO=https://nginx.org/download/nginx-${NGINX_VER}.tar.gz RUN apt-get update && apt-get install -y -q --no-install-recommends libssl-dev libpcre3-dev zlib1g-dev libxslt1-dev -RUN wget -O - ${NGINX_REPO} | tar xz; \ - cd nginx-${NGINX_VER}; \ - ./configure --prefix=/var/www --sbin-path=/usr/sbin/nginx --modules-path=/usr/lib/x86_64-linux-gnu/nginx/modules --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/www/log/error.log --pid-path=/var/www/nginx.pid --lock-path=/var/www/nginx.lock --http-log-path=/var/www/log/access.log --http-client-body-temp-path=/var/www/tmp/client_body --http-proxy-temp-path=/var/www/tmp/proxy --http-fastcgi-temp-path=/var/www/tmp/fastcgi --http-uwsgi-temp-path=/var/www/tmp/uwsgi --http-scgi-temp-path=/var/www/tmp/scgi --user=www-data --group=www-data --with-select_module --with-poll_module --with-threads --with-file-aio --with-http_ssl_module --with-http_v2_module --with-http_realip_module --with-http_addition_module --with-http_xslt_module --with-http_sub_module --with-http_dav_module --with-http_flv_module --with-http_mp4_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_auth_request_module --with-http_random_index_module --with-http_secure_link_module --with-http_degradation_module --with-http_slice_module --with-http_stub_status_module --with-stream --with-stream_ssl_module --with-stream_realip_module --with-stream_ssl_preread_module --with-pcre --add-module=../nginx-rtmp-module ; \ - make -j8; \ +RUN wget -O - ${NGINX_REPO} | tar xz && \ + cd nginx-${NGINX_VER} && \ + ./configure --prefix=/var/www --sbin-path=/usr/sbin/nginx --modules-path=/usr/lib/x86_64-linux-gnu/nginx/modules --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/www/log/error.log --pid-path=/var/www/nginx.pid --lock-path=/var/www/nginx.lock --http-log-path=/var/www/log/access.log --http-client-body-temp-path=/var/www/tmp/client_body --http-proxy-temp-path=/var/www/tmp/proxy --http-fastcgi-temp-path=/var/www/tmp/fastcgi --http-uwsgi-temp-path=/var/www/tmp/uwsgi --http-scgi-temp-path=/var/www/tmp/scgi --user=www-data --group=www-data --with-select_module --with-poll_module --with-threads --with-file-aio --with-http_ssl_module --with-http_v2_module --with-http_realip_module --with-http_addition_module --with-http_xslt_module --with-http_sub_module --with-http_dav_module --with-http_flv_module --with-http_mp4_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_auth_request_module --with-http_random_index_module --with-http_secure_link_module --with-http_degradation_module --with-http_slice_module --with-http_stub_status_module --with-stream --with-stream_ssl_module --with-stream_realip_module --with-stream_ssl_preread_module --with-pcre --add-module=../nginx-rtmp-module && \ + make -j8 && \ make install DESTDIR=/home/build; # NGINX Setup COPY nginx.conf /home/build/etc/nginx -RUN mkdir -p /home/build/var/www/tmp/client_body; \ - mkdir -p /home/build/var/www/tmp/proxy; \ - mkdir -p /home/build/var/www/tmp/fastcgi; \ - mkdir -p /home/build/var/www/tmp/uwsgi; \ - mkdir -p /home/build/var/www/tmp/scgi; \ - mkdir -p /home/build/var/www/cache; \ - mkdir -p /home/build/var/www/html; \ +RUN mkdir -p /home/build/var/www/tmp/client_body && \ + mkdir -p /home/build/var/www/tmp/proxy && \ + mkdir -p /home/build/var/www/tmp/fastcgi && \ + mkdir -p /home/build/var/www/tmp/uwsgi && \ + mkdir -p /home/build/var/www/tmp/scgi && \ + mkdir -p /home/build/var/www/cache && \ + mkdir -p /home/build/var/www/html && \ touch /home/build/var/www/html/index.html; diff --git a/Xeon/centos-7.4/dldt+ffmpeg/Dockerfile b/Xeon/centos-7.4/dldt+ffmpeg/Dockerfile index ffdd7ce8b..45fcc2a8d 100644 --- a/Xeon/centos-7.4/dldt+ffmpeg/Dockerfile +++ b/Xeon/centos-7.4/dldt+ffmpeg/Dockerfile @@ -8,76 +8,76 @@ RUN yum install -y -q bzip2 make autoconf libtool git wget ca-certificates pkg-c # Install cmake ARG CMAKE_VER=3.13.1 ARG CMAKE_REPO=https://cmake.org/files -RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz; \ - cd cmake-${CMAKE_VER}; \ - ./bootstrap --prefix="/usr"; \ - make -j8; \ +RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz && \ + cd cmake-${CMAKE_VER} && \ + ./bootstrap --prefix="/usr" && \ + make -j8 && \ make install # Build NASM ARG NASM_VER=2.13.03 ARG NASM_REPO=https://www.nasm.us/pub/nasm/releasebuilds/${NASM_VER}/nasm-${NASM_VER}.tar.bz2 -RUN wget ${NASM_REPO}; \ - tar -xaf nasm*; \ - cd nasm-${NASM_VER}; \ - ./autogen.sh; \ - ./configure --prefix="/usr" --libdir=/usr/lib64; \ - make -j8; \ +RUN wget ${NASM_REPO} && \ + tar -xaf nasm* && \ + cd nasm-${NASM_VER} && \ + ./autogen.sh && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 && \ + make -j8 && \ make install # Build YASM ARG YASM_VER=1.3.0 ARG YASM_REPO=https://www.tortall.net/projects/yasm/releases/yasm-${YASM_VER}.tar.gz -RUN wget -O - ${YASM_REPO} | tar xz; \ - cd yasm-${YASM_VER}; \ - sed -i "s/) ytasm.*/)/" Makefile.in; \ - ./configure --prefix="/usr" --libdir=/usr/lib64; \ - make -j8; \ +RUN wget -O - ${YASM_REPO} | tar xz && \ + cd yasm-${YASM_VER} && \ + sed -i "s/) ytasm.*/)/" Makefile.in && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 && \ + make -j8 && \ make install # Build ogg ARG OGG_VER=1.3.3 ARG OGG_REPO=https://downloads.xiph.org/releases/ogg/libogg-${OGG_VER}.tar.xz -RUN wget -O - ${OGG_REPO} | tar xJ; \ - cd libogg-${OGG_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${OGG_REPO} | tar xJ && \ + cd libogg-${OGG_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build vorbis ARG VORBIS_VER=1.3.6 ARG VORBIS_REPO=https://downloads.xiph.org/releases/vorbis/libvorbis-${VORBIS_VER}.tar.xz -RUN wget -O - ${VORBIS_REPO} | tar xJ; \ - cd libvorbis-${VORBIS_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${VORBIS_REPO} | tar xJ && \ + cd libvorbis-${VORBIS_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build mp3lame ARG MP3LAME_VER=3.100 ARG MP3LAME_REPO=https://sourceforge.net/projects/lame/files/lame/${MP3LAME_VER}/lame-${MP3LAME_VER}.tar.gz -RUN wget -O - ${MP3LAME_REPO} | tar xz; \ - cd lame-${MP3LAME_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --enable-nasm; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${MP3LAME_REPO} | tar xz && \ + cd lame-${MP3LAME_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --enable-nasm && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build fdk-aac ARG FDK_AAC_VER=v0.1.6 ARG FDK_AAC_REPO=https://github.com/mstorsjo/fdk-aac/archive/${FDK_AAC_VER}.tar.gz -RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac; \ - cd fdk-aac; \ - autoreconf -fiv; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac && \ + cd fdk-aac && \ + autoreconf -fiv && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -85,23 +85,23 @@ RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac; \ ARG OPUS_VER=1.2.1 ARG OPUS_REPO=https://archive.mozilla.org/pub/opus/opus-${OPUS_VER}.tar.gz -RUN wget -O - ${OPUS_REPO} | tar xz; \ - cd opus-${OPUS_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${OPUS_REPO} | tar xz && \ + cd opus-${OPUS_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build vpx ARG VPX_VER=tags/v1.7.0 ARG VPX_REPO=https://chromium.googlesource.com/webm/libvpx.git -RUN git clone ${VPX_REPO}; \ - cd libvpx; \ - git checkout ${VPX_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=nasm; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${VPX_REPO} && \ + cd libvpx && \ + git checkout ${VPX_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=nasm && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -109,25 +109,25 @@ RUN git clone ${VPX_REPO}; \ ARG AOM_VER=tags/v1.0.0 ARG AOM_REPO=https://aomedia.googlesource.com/aom -RUN git clone ${AOM_REPO}; \ - mkdir aom/aom_build; \ - cd aom/aom_build; \ - git checkout ${AOM_VER}; \ - cmake -DBUILD_SHARED_LIBS=ON -DENABLE_NASM=ON -DENABLE_TESTS=OFF -DENABLE_DOCS=OFF -DCMAKE_INSTALL_PREFIX="/usr" -DLIB_INSTALL_DIR=/usr/lib64 ..; \ - make -j8; \ - make install DESTDIR="/home/build"; \ +RUN git clone ${AOM_REPO} && \ + mkdir aom/aom_build && \ + cd aom/aom_build && \ + git checkout ${AOM_VER} && \ + cmake -DBUILD_SHARED_LIBS=ON -DENABLE_NASM=ON -DENABLE_TESTS=OFF -DENABLE_DOCS=OFF -DCMAKE_INSTALL_PREFIX="/usr" -DLIB_INSTALL_DIR=/usr/lib64 .. && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ make install # Build x264 ARG X264_VER=stable ARG X264_REPO=https://github.com/mirror/x264 -RUN git clone ${X264_REPO}; \ - cd x264; \ - git checkout ${X264_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared; \ - make -j8; \ - make install DESTDIR="/home/build"; \ +RUN git clone ${X264_REPO} && \ + cd x264 && \ + git checkout ${X264_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ make install @@ -137,28 +137,28 @@ ARG X265_REPO=https://github.com/videolan/x265/archive/${X265_VER}.tar.gz RUN yum install -y -q numactl-devel libpciaccess-devel -RUN wget -O - ${X265_REPO} | tar xz && mv x265-${X265_VER} x265; \ - cd x265/build/linux; \ - cmake -DBUILD_SHARED_LIBS=ON -DENABLE_TESTS=OFF -DCMAKE_INSTALL_PREFIX=/usr -DLIB_INSTALL_DIR=/usr/lib64 ../../source; \ - make -j8; \ - make install DESTDIR="/home/build"; \ +RUN wget -O - ${X265_REPO} | tar xz && mv x265-${X265_VER} x265 && \ + cd x265/build/linux && \ + cmake -DBUILD_SHARED_LIBS=ON -DENABLE_TESTS=OFF -DCMAKE_INSTALL_PREFIX=/usr -DLIB_INSTALL_DIR=/usr/lib64 ../../source && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ make install # Fetch SVT-HEVC ARG SVT_HEVC_VER=v1.3.0 ARG SVT_HEVC_REPO=https://github.com/intel/SVT-HEVC -RUN yum install -y -q patch centos-release-scl; \ +RUN yum install -y -q patch centos-release-scl && \ yum install -y -q devtoolset-7 -RUN git clone ${SVT_HEVC_REPO}; \ - cd SVT-HEVC/Build/linux; \ - git checkout ${SVT_HEVC_VER}; \ - mkdir -p ../../Bin/Release; \ - ( source /opt/rh/devtoolset-7/enable; \ - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${SVT_HEVC_REPO} && \ + cd SVT-HEVC/Build/linux && \ + git checkout ${SVT_HEVC_VER} && \ + mkdir -p ../../Bin/Release && \ + ( source /opt/rh/devtoolset-7/enable && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install ) @@ -166,13 +166,13 @@ RUN git clone ${SVT_HEVC_REPO}; \ ARG SVT_AV1_VER=a39acb2 ARG SVT_AV1_REPO=https://github.com/OpenVisualCloud/SVT-AV1 -RUN git clone ${SVT_AV1_REPO}; \ - cd SVT-AV1/Build/linux; \ - git checkout ${SVT_AV1_VER}; \ - mkdir -p ../../Bin/Release; \ - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${SVT_AV1_REPO} && \ + cd SVT-AV1/Build/linux && \ + git checkout ${SVT_AV1_VER} && \ + mkdir -p ../../Bin/Release && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -180,14 +180,14 @@ RUN git clone ${SVT_AV1_REPO}; \ ARG SVT_VP9_VER=e92a57c ARG SVT_VP9_REPO=https://github.com/OpenVisualCloud/SVT-VP9 -RUN git clone ${SVT_VP9_REPO}; \ - cd SVT-VP9/Build/linux; \ - git checkout ${SVT_VP9_VER}; \ - mkdir -p ../../Bin/Release; \ - ( source /opt/rh/devtoolset-7/enable; \ - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${SVT_VP9_REPO} && \ + cd SVT-VP9/Build/linux && \ + git checkout ${SVT_VP9_VER} && \ + mkdir -p ../../Bin/Release && \ + ( source /opt/rh/devtoolset-7/enable && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install ) #include(transform360.m4) @@ -234,28 +234,28 @@ ARG FFMPEG_1TN_PATCH_REPO=https://patchwork.ffmpeg.org/patch/11625/raw ARG FFMPEG_THREAD_PATCH_REPO=https://patchwork.ffmpeg.org/patch/11035/raw RUN yum install -y -q zlib-devel openssl-devel -RUN wget -O - ${FFMPEG_REPO} | tar xz && mv FFmpeg-${FFMPEG_VER} FFmpeg; \ - cd FFmpeg; \ - wget -O - ${FFMPEG_FLV_PATCH_REPO} | patch -p1; \ - wget -O - ${FFMPEG_1TN_PATCH_REPO} | patch -p1; \ +RUN wget -O - ${FFMPEG_REPO} | tar xz && mv FFmpeg-${FFMPEG_VER} FFmpeg && \ + cd FFmpeg && \ + wget -O - ${FFMPEG_FLV_PATCH_REPO} | patch -p1 && \ + wget -O - ${FFMPEG_1TN_PATCH_REPO} | patch -p1 && \ wget -O - ${FFMPEG_THREAD_PATCH_REPO} | patch -p1; # Patch FFmpeg source for SVT-HEVC -RUN cd /home/FFmpeg; \ +RUN cd /home/FFmpeg && \ patch -p1 < ../SVT-HEVC/ffmpeg_plugin/0001-lavc-svt_hevc-add-libsvt-hevc-encoder-wrapper.patch; # Compile FFmpeg -RUN cd /home/FFmpeg; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --extra-libs="-lpthread -lm" --enable-shared --enable-gpl --disable-xlib --disable-sdl2 --enable-openssl --enable-nonfree --disable-vaapi --disable-hwaccels --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --enable-libfdk-aac --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-libaom --enable-libsvthevc ; \ - make -j8; \ +RUN cd /home/FFmpeg && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --extra-libs="-lpthread -lm" --enable-shared --enable-gpl --disable-xlib --disable-sdl2 --enable-openssl --enable-nonfree --disable-vaapi --disable-hwaccels --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --enable-libfdk-aac --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-libaom --enable-libsvthevc && \ + make -j8 && \ make install DESTDIR="/home/build" # Clean up after build -RUN rm -rf /home/build/usr/include; \ - rm -rf /home/build/usr/share/doc; \ - rm -rf /home/build/usr/share/gtk-doc; \ - rm -rf /home/build/usr/share/man; \ +RUN rm -rf /home/build/usr/include && \ + rm -rf /home/build/usr/share/doc && \ + rm -rf /home/build/usr/share/gtk-doc && \ + rm -rf /home/build/usr/share/man && \ find /home/build -name "*.a" -exec rm -f {} \; FROM centos:7.4.1708 diff --git a/Xeon/centos-7.4/dldt+gst/Dockerfile b/Xeon/centos-7.4/dldt+gst/Dockerfile index 46128cbaa..2548eed09 100644 --- a/Xeon/centos-7.4/dldt+gst/Dockerfile +++ b/Xeon/centos-7.4/dldt+gst/Dockerfile @@ -8,76 +8,76 @@ RUN yum install -y -q bzip2 make autoconf libtool git wget ca-certificates pkg-c # Install cmake ARG CMAKE_VER=3.13.1 ARG CMAKE_REPO=https://cmake.org/files -RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz; \ - cd cmake-${CMAKE_VER}; \ - ./bootstrap --prefix="/usr"; \ - make -j8; \ +RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz && \ + cd cmake-${CMAKE_VER} && \ + ./bootstrap --prefix="/usr" && \ + make -j8 && \ make install # Build NASM ARG NASM_VER=2.13.03 ARG NASM_REPO=https://www.nasm.us/pub/nasm/releasebuilds/${NASM_VER}/nasm-${NASM_VER}.tar.bz2 -RUN wget ${NASM_REPO}; \ - tar -xaf nasm*; \ - cd nasm-${NASM_VER}; \ - ./autogen.sh; \ - ./configure --prefix="/usr" --libdir=/usr/lib64; \ - make -j8; \ +RUN wget ${NASM_REPO} && \ + tar -xaf nasm* && \ + cd nasm-${NASM_VER} && \ + ./autogen.sh && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 && \ + make -j8 && \ make install # Build YASM ARG YASM_VER=1.3.0 ARG YASM_REPO=https://www.tortall.net/projects/yasm/releases/yasm-${YASM_VER}.tar.gz -RUN wget -O - ${YASM_REPO} | tar xz; \ - cd yasm-${YASM_VER}; \ - sed -i "s/) ytasm.*/)/" Makefile.in; \ - ./configure --prefix="/usr" --libdir=/usr/lib64; \ - make -j8; \ +RUN wget -O - ${YASM_REPO} | tar xz && \ + cd yasm-${YASM_VER} && \ + sed -i "s/) ytasm.*/)/" Makefile.in && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 && \ + make -j8 && \ make install # Build ogg ARG OGG_VER=1.3.3 ARG OGG_REPO=https://downloads.xiph.org/releases/ogg/libogg-${OGG_VER}.tar.xz -RUN wget -O - ${OGG_REPO} | tar xJ; \ - cd libogg-${OGG_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${OGG_REPO} | tar xJ && \ + cd libogg-${OGG_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build vorbis ARG VORBIS_VER=1.3.6 ARG VORBIS_REPO=https://downloads.xiph.org/releases/vorbis/libvorbis-${VORBIS_VER}.tar.xz -RUN wget -O - ${VORBIS_REPO} | tar xJ; \ - cd libvorbis-${VORBIS_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${VORBIS_REPO} | tar xJ && \ + cd libvorbis-${VORBIS_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build mp3lame ARG MP3LAME_VER=3.100 ARG MP3LAME_REPO=https://sourceforge.net/projects/lame/files/lame/${MP3LAME_VER}/lame-${MP3LAME_VER}.tar.gz -RUN wget -O - ${MP3LAME_REPO} | tar xz; \ - cd lame-${MP3LAME_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --enable-nasm; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${MP3LAME_REPO} | tar xz && \ + cd lame-${MP3LAME_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --enable-nasm && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build fdk-aac ARG FDK_AAC_VER=v0.1.6 ARG FDK_AAC_REPO=https://github.com/mstorsjo/fdk-aac/archive/${FDK_AAC_VER}.tar.gz -RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac; \ - cd fdk-aac; \ - autoreconf -fiv; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac && \ + cd fdk-aac && \ + autoreconf -fiv && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -85,23 +85,23 @@ RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac; \ ARG OPUS_VER=1.2.1 ARG OPUS_REPO=https://archive.mozilla.org/pub/opus/opus-${OPUS_VER}.tar.gz -RUN wget -O - ${OPUS_REPO} | tar xz; \ - cd opus-${OPUS_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${OPUS_REPO} | tar xz && \ + cd opus-${OPUS_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build vpx ARG VPX_VER=tags/v1.7.0 ARG VPX_REPO=https://chromium.googlesource.com/webm/libvpx.git -RUN git clone ${VPX_REPO}; \ - cd libvpx; \ - git checkout ${VPX_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=nasm; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${VPX_REPO} && \ + cd libvpx && \ + git checkout ${VPX_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=nasm && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -109,25 +109,25 @@ RUN git clone ${VPX_REPO}; \ ARG AOM_VER=tags/v1.0.0 ARG AOM_REPO=https://aomedia.googlesource.com/aom -RUN git clone ${AOM_REPO}; \ - mkdir aom/aom_build; \ - cd aom/aom_build; \ - git checkout ${AOM_VER}; \ - cmake -DBUILD_SHARED_LIBS=ON -DENABLE_NASM=ON -DENABLE_TESTS=OFF -DENABLE_DOCS=OFF -DCMAKE_INSTALL_PREFIX="/usr" -DLIB_INSTALL_DIR=/usr/lib64 ..; \ - make -j8; \ - make install DESTDIR="/home/build"; \ +RUN git clone ${AOM_REPO} && \ + mkdir aom/aom_build && \ + cd aom/aom_build && \ + git checkout ${AOM_VER} && \ + cmake -DBUILD_SHARED_LIBS=ON -DENABLE_NASM=ON -DENABLE_TESTS=OFF -DENABLE_DOCS=OFF -DCMAKE_INSTALL_PREFIX="/usr" -DLIB_INSTALL_DIR=/usr/lib64 .. && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ make install # Build x264 ARG X264_VER=stable ARG X264_REPO=https://github.com/mirror/x264 -RUN git clone ${X264_REPO}; \ - cd x264; \ - git checkout ${X264_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared; \ - make -j8; \ - make install DESTDIR="/home/build"; \ +RUN git clone ${X264_REPO} && \ + cd x264 && \ + git checkout ${X264_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ make install @@ -137,28 +137,28 @@ ARG X265_REPO=https://github.com/videolan/x265/archive/${X265_VER}.tar.gz RUN yum install -y -q numactl-devel libpciaccess-devel -RUN wget -O - ${X265_REPO} | tar xz && mv x265-${X265_VER} x265; \ - cd x265/build/linux; \ - cmake -DBUILD_SHARED_LIBS=ON -DENABLE_TESTS=OFF -DCMAKE_INSTALL_PREFIX=/usr -DLIB_INSTALL_DIR=/usr/lib64 ../../source; \ - make -j8; \ - make install DESTDIR="/home/build"; \ +RUN wget -O - ${X265_REPO} | tar xz && mv x265-${X265_VER} x265 && \ + cd x265/build/linux && \ + cmake -DBUILD_SHARED_LIBS=ON -DENABLE_TESTS=OFF -DCMAKE_INSTALL_PREFIX=/usr -DLIB_INSTALL_DIR=/usr/lib64 ../../source && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ make install # Fetch SVT-HEVC ARG SVT_HEVC_VER=v1.3.0 ARG SVT_HEVC_REPO=https://github.com/intel/SVT-HEVC -RUN yum install -y -q patch centos-release-scl; \ +RUN yum install -y -q patch centos-release-scl && \ yum install -y -q devtoolset-7 -RUN git clone ${SVT_HEVC_REPO}; \ - cd SVT-HEVC/Build/linux; \ - git checkout ${SVT_HEVC_VER}; \ - mkdir -p ../../Bin/Release; \ - ( source /opt/rh/devtoolset-7/enable; \ - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${SVT_HEVC_REPO} && \ + cd SVT-HEVC/Build/linux && \ + git checkout ${SVT_HEVC_VER} && \ + mkdir -p ../../Bin/Release && \ + ( source /opt/rh/devtoolset-7/enable && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install ) @@ -166,13 +166,13 @@ RUN git clone ${SVT_HEVC_REPO}; \ ARG SVT_AV1_VER=a39acb2 ARG SVT_AV1_REPO=https://github.com/OpenVisualCloud/SVT-AV1 -RUN git clone ${SVT_AV1_REPO}; \ - cd SVT-AV1/Build/linux; \ - git checkout ${SVT_AV1_VER}; \ - mkdir -p ../../Bin/Release; \ - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${SVT_AV1_REPO} && \ + cd SVT-AV1/Build/linux && \ + git checkout ${SVT_AV1_VER} && \ + mkdir -p ../../Bin/Release && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -180,14 +180,14 @@ RUN git clone ${SVT_AV1_REPO}; \ ARG SVT_VP9_VER=e92a57c ARG SVT_VP9_REPO=https://github.com/OpenVisualCloud/SVT-VP9 -RUN git clone ${SVT_VP9_REPO}; \ - cd SVT-VP9/Build/linux; \ - git checkout ${SVT_VP9_VER}; \ - mkdir -p ../../Bin/Release; \ - ( source /opt/rh/devtoolset-7/enable; \ - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${SVT_VP9_REPO} && \ + cd SVT-VP9/Build/linux && \ + git checkout ${SVT_VP9_VER} && \ + mkdir -p ../../Bin/Release && \ + ( source /opt/rh/devtoolset-7/enable && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install ) # Build DLDT-Inference Engine @@ -225,62 +225,73 @@ RUN git clone -b ${DLDT_VER} ${DLDT_REPO}; \ echo "Cflags: -I\${includedir}" >> "$pc"; \ done; +# Install automake +ARG AUTOMAKE_VER=1.14 +ARG AUTOMAKE_REPO=https://ftp.gnu.org/pub/gnu/automake/automake-${AUTOMAKE_VER}.tar.xz + +RUN wget -O - ${AUTOMAKE_REPO} | tar xJ && \ + cd automake-${AUTOMAKE_VER} && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --disable-doc && \ + make -j8 && \ + make install + + # Build the gstremaer core ARG GST_VER=1.14.4 ARG GST_REPO=https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${GST_VER}.tar.xz -RUN yum install -y -q glib2-devel-2.56.1 -RUN wget -O - ${GST_REPO} | tar xJ; \ - cd gstreamer-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-gst-debug --disable-debug --disable-benchmarks --disable-check; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN yum install -y -q glib2-devel-2.56.1 gettext-devel gtk-doc +RUN wget -O - ${GST_REPO} | tar xJ && \ + cd gstreamer-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-gst-debug --disable-debug --disable-benchmarks --disable-check && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin base ARG GST_PLUGIN_BASE_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_BASE_REPO} | tar xJ; \ - cd gst-plugins-base-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-debug; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${GST_PLUGIN_BASE_REPO} | tar xJ && \ + cd gst-plugins-base-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-debug && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin good set ARG GST_PLUGIN_GOOD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_GOOD_REPO} | tar xJ; \ - cd gst-plugins-good-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-debug; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${GST_PLUGIN_GOOD_REPO} | tar xJ && \ + cd gst-plugins-good-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-debug && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin bad set ARG GST_PLUGIN_BAD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_BAD_REPO} | tar xJ; \ - cd gst-plugins-bad-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-debug; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${GST_PLUGIN_BAD_REPO} | tar xJ && \ + cd gst-plugins-bad-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-debug && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin ugly set ARG GST_PLUGIN_UGLY_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_UGLY_REPO} | tar xJ; \ - cd gst-plugins-ugly-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-debug; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${GST_PLUGIN_UGLY_REPO} | tar xJ && \ + cd gst-plugins-ugly-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-debug && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build gst-libav @@ -288,19 +299,19 @@ ARG GST_PLUGIN_LIBAV_REPO=https://gstreamer.freedesktop.org/src/gst-libav/gst-li RUN yum install -y -q zlib-devel openssl-devel -RUN wget -O - ${GST_PLUGIN_LIBAV_REPO} | tar xJ; \ - cd gst-libav-${GST_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --enable-gpl; \ - make -j8; \ +RUN wget -O - ${GST_PLUGIN_LIBAV_REPO} | tar xJ && \ + cd gst-libav-${GST_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --enable-gpl && \ + make -j8 && \ make install DESTDIR="/home/build" # Clean up after build -RUN rm -rf /home/build/usr/include; \ - rm -rf /home/build/usr/share/doc; \ - rm -rf /home/build/usr/share/gtk-doc; \ - rm -rf /home/build/usr/share/man; \ +RUN rm -rf /home/build/usr/include && \ + rm -rf /home/build/usr/share/doc && \ + rm -rf /home/build/usr/share/gtk-doc && \ + rm -rf /home/build/usr/share/man && \ find /home/build -name "*.a" -exec rm -f {} \; FROM centos:7.4.1708 diff --git a/Xeon/centos-7.4/dldt+gst/Dockerfile.m4 b/Xeon/centos-7.4/dldt+gst/Dockerfile.m4 index 0998dccc1..3ba0eab9e 100644 --- a/Xeon/centos-7.4/dldt+gst/Dockerfile.m4 +++ b/Xeon/centos-7.4/dldt+gst/Dockerfile.m4 @@ -17,6 +17,7 @@ include(svt-hevc.m4) include(svt-av1.m4) include(svt-vp9.m4) include(dldt-ie.m4) +include(automake.m4) include(gst.m4) include(gst-plugin-base.m4) include(gst-plugin-good.m4) diff --git a/Xeon/centos-7.4/ffmpeg+gst+dev/Dockerfile b/Xeon/centos-7.4/ffmpeg+gst+dev/Dockerfile index d1f32ca01..074661447 100644 --- a/Xeon/centos-7.4/ffmpeg+gst+dev/Dockerfile +++ b/Xeon/centos-7.4/ffmpeg+gst+dev/Dockerfile @@ -8,76 +8,76 @@ RUN yum install -y -q bzip2 make autoconf libtool git wget ca-certificates pkg-c # Install cmake ARG CMAKE_VER=3.13.1 ARG CMAKE_REPO=https://cmake.org/files -RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz; \ - cd cmake-${CMAKE_VER}; \ - ./bootstrap --prefix="/usr"; \ - make -j8; \ +RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz && \ + cd cmake-${CMAKE_VER} && \ + ./bootstrap --prefix="/usr" && \ + make -j8 && \ make install # Build NASM ARG NASM_VER=2.13.03 ARG NASM_REPO=https://www.nasm.us/pub/nasm/releasebuilds/${NASM_VER}/nasm-${NASM_VER}.tar.bz2 -RUN wget ${NASM_REPO}; \ - tar -xaf nasm*; \ - cd nasm-${NASM_VER}; \ - ./autogen.sh; \ - ./configure --prefix="/usr" --libdir=/usr/lib64; \ - make -j8; \ +RUN wget ${NASM_REPO} && \ + tar -xaf nasm* && \ + cd nasm-${NASM_VER} && \ + ./autogen.sh && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 && \ + make -j8 && \ make install # Build YASM ARG YASM_VER=1.3.0 ARG YASM_REPO=https://www.tortall.net/projects/yasm/releases/yasm-${YASM_VER}.tar.gz -RUN wget -O - ${YASM_REPO} | tar xz; \ - cd yasm-${YASM_VER}; \ - sed -i "s/) ytasm.*/)/" Makefile.in; \ - ./configure --prefix="/usr" --libdir=/usr/lib64; \ - make -j8; \ +RUN wget -O - ${YASM_REPO} | tar xz && \ + cd yasm-${YASM_VER} && \ + sed -i "s/) ytasm.*/)/" Makefile.in && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 && \ + make -j8 && \ make install # Build ogg ARG OGG_VER=1.3.3 ARG OGG_REPO=https://downloads.xiph.org/releases/ogg/libogg-${OGG_VER}.tar.xz -RUN wget -O - ${OGG_REPO} | tar xJ; \ - cd libogg-${OGG_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${OGG_REPO} | tar xJ && \ + cd libogg-${OGG_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build vorbis ARG VORBIS_VER=1.3.6 ARG VORBIS_REPO=https://downloads.xiph.org/releases/vorbis/libvorbis-${VORBIS_VER}.tar.xz -RUN wget -O - ${VORBIS_REPO} | tar xJ; \ - cd libvorbis-${VORBIS_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${VORBIS_REPO} | tar xJ && \ + cd libvorbis-${VORBIS_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build mp3lame ARG MP3LAME_VER=3.100 ARG MP3LAME_REPO=https://sourceforge.net/projects/lame/files/lame/${MP3LAME_VER}/lame-${MP3LAME_VER}.tar.gz -RUN wget -O - ${MP3LAME_REPO} | tar xz; \ - cd lame-${MP3LAME_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --enable-nasm; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${MP3LAME_REPO} | tar xz && \ + cd lame-${MP3LAME_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --enable-nasm && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build fdk-aac ARG FDK_AAC_VER=v0.1.6 ARG FDK_AAC_REPO=https://github.com/mstorsjo/fdk-aac/archive/${FDK_AAC_VER}.tar.gz -RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac; \ - cd fdk-aac; \ - autoreconf -fiv; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac && \ + cd fdk-aac && \ + autoreconf -fiv && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -85,23 +85,23 @@ RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac; \ ARG OPUS_VER=1.2.1 ARG OPUS_REPO=https://archive.mozilla.org/pub/opus/opus-${OPUS_VER}.tar.gz -RUN wget -O - ${OPUS_REPO} | tar xz; \ - cd opus-${OPUS_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${OPUS_REPO} | tar xz && \ + cd opus-${OPUS_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build vpx ARG VPX_VER=tags/v1.7.0 ARG VPX_REPO=https://chromium.googlesource.com/webm/libvpx.git -RUN git clone ${VPX_REPO}; \ - cd libvpx; \ - git checkout ${VPX_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=nasm; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${VPX_REPO} && \ + cd libvpx && \ + git checkout ${VPX_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=nasm && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -109,25 +109,25 @@ RUN git clone ${VPX_REPO}; \ ARG AOM_VER=tags/v1.0.0 ARG AOM_REPO=https://aomedia.googlesource.com/aom -RUN git clone ${AOM_REPO}; \ - mkdir aom/aom_build; \ - cd aom/aom_build; \ - git checkout ${AOM_VER}; \ - cmake -DBUILD_SHARED_LIBS=ON -DENABLE_NASM=ON -DENABLE_TESTS=OFF -DENABLE_DOCS=OFF -DCMAKE_INSTALL_PREFIX="/usr" -DLIB_INSTALL_DIR=/usr/lib64 ..; \ - make -j8; \ - make install DESTDIR="/home/build"; \ +RUN git clone ${AOM_REPO} && \ + mkdir aom/aom_build && \ + cd aom/aom_build && \ + git checkout ${AOM_VER} && \ + cmake -DBUILD_SHARED_LIBS=ON -DENABLE_NASM=ON -DENABLE_TESTS=OFF -DENABLE_DOCS=OFF -DCMAKE_INSTALL_PREFIX="/usr" -DLIB_INSTALL_DIR=/usr/lib64 .. && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ make install # Build x264 ARG X264_VER=stable ARG X264_REPO=https://github.com/mirror/x264 -RUN git clone ${X264_REPO}; \ - cd x264; \ - git checkout ${X264_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared; \ - make -j8; \ - make install DESTDIR="/home/build"; \ +RUN git clone ${X264_REPO} && \ + cd x264 && \ + git checkout ${X264_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ make install @@ -137,28 +137,28 @@ ARG X265_REPO=https://github.com/videolan/x265/archive/${X265_VER}.tar.gz RUN yum install -y -q numactl-devel libpciaccess-devel -RUN wget -O - ${X265_REPO} | tar xz && mv x265-${X265_VER} x265; \ - cd x265/build/linux; \ - cmake -DBUILD_SHARED_LIBS=ON -DENABLE_TESTS=OFF -DCMAKE_INSTALL_PREFIX=/usr -DLIB_INSTALL_DIR=/usr/lib64 ../../source; \ - make -j8; \ - make install DESTDIR="/home/build"; \ +RUN wget -O - ${X265_REPO} | tar xz && mv x265-${X265_VER} x265 && \ + cd x265/build/linux && \ + cmake -DBUILD_SHARED_LIBS=ON -DENABLE_TESTS=OFF -DCMAKE_INSTALL_PREFIX=/usr -DLIB_INSTALL_DIR=/usr/lib64 ../../source && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ make install # Fetch SVT-HEVC ARG SVT_HEVC_VER=v1.3.0 ARG SVT_HEVC_REPO=https://github.com/intel/SVT-HEVC -RUN yum install -y -q patch centos-release-scl; \ +RUN yum install -y -q patch centos-release-scl && \ yum install -y -q devtoolset-7 -RUN git clone ${SVT_HEVC_REPO}; \ - cd SVT-HEVC/Build/linux; \ - git checkout ${SVT_HEVC_VER}; \ - mkdir -p ../../Bin/Release; \ - ( source /opt/rh/devtoolset-7/enable; \ - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${SVT_HEVC_REPO} && \ + cd SVT-HEVC/Build/linux && \ + git checkout ${SVT_HEVC_VER} && \ + mkdir -p ../../Bin/Release && \ + ( source /opt/rh/devtoolset-7/enable && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install ) @@ -166,13 +166,13 @@ RUN git clone ${SVT_HEVC_REPO}; \ ARG SVT_AV1_VER=a39acb2 ARG SVT_AV1_REPO=https://github.com/OpenVisualCloud/SVT-AV1 -RUN git clone ${SVT_AV1_REPO}; \ - cd SVT-AV1/Build/linux; \ - git checkout ${SVT_AV1_VER}; \ - mkdir -p ../../Bin/Release; \ - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${SVT_AV1_REPO} && \ + cd SVT-AV1/Build/linux && \ + git checkout ${SVT_AV1_VER} && \ + mkdir -p ../../Bin/Release && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -180,14 +180,14 @@ RUN git clone ${SVT_AV1_REPO}; \ ARG SVT_VP9_VER=e92a57c ARG SVT_VP9_REPO=https://github.com/OpenVisualCloud/SVT-VP9 -RUN git clone ${SVT_VP9_REPO}; \ - cd SVT-VP9/Build/linux; \ - git checkout ${SVT_VP9_VER}; \ - mkdir -p ../../Bin/Release; \ - ( source /opt/rh/devtoolset-7/enable; \ - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${SVT_VP9_REPO} && \ + cd SVT-VP9/Build/linux && \ + git checkout ${SVT_VP9_VER} && \ + mkdir -p ../../Bin/Release && \ + ( source /opt/rh/devtoolset-7/enable && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install ) #include(transform360.m4) @@ -226,62 +226,73 @@ RUN git clone -b ${DLDT_VER} ${DLDT_REPO}; \ echo "Cflags: -I\${includedir}" >> "$pc"; \ done; +# Install automake +ARG AUTOMAKE_VER=1.14 +ARG AUTOMAKE_REPO=https://ftp.gnu.org/pub/gnu/automake/automake-${AUTOMAKE_VER}.tar.xz + +RUN wget -O - ${AUTOMAKE_REPO} | tar xJ && \ + cd automake-${AUTOMAKE_VER} && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --disable-doc && \ + make -j8 && \ + make install + + # Build the gstremaer core ARG GST_VER=1.14.4 ARG GST_REPO=https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${GST_VER}.tar.xz -RUN yum install -y -q glib2-devel-2.56.1 -RUN wget -O - ${GST_REPO} | tar xJ; \ - cd gstreamer-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples ; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN yum install -y -q glib2-devel-2.56.1 gettext-devel gtk-doc +RUN wget -O - ${GST_REPO} | tar xJ && \ + cd gstreamer-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin base ARG GST_PLUGIN_BASE_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_BASE_REPO} | tar xJ; \ - cd gst-plugins-base-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples ; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${GST_PLUGIN_BASE_REPO} | tar xJ && \ + cd gst-plugins-base-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin good set ARG GST_PLUGIN_GOOD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_GOOD_REPO} | tar xJ; \ - cd gst-plugins-good-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples ; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${GST_PLUGIN_GOOD_REPO} | tar xJ && \ + cd gst-plugins-good-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin bad set ARG GST_PLUGIN_BAD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_BAD_REPO} | tar xJ; \ - cd gst-plugins-bad-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples ; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${GST_PLUGIN_BAD_REPO} | tar xJ && \ + cd gst-plugins-bad-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin ugly set ARG GST_PLUGIN_UGLY_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_UGLY_REPO} | tar xJ; \ - cd gst-plugins-ugly-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples ; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${GST_PLUGIN_UGLY_REPO} | tar xJ && \ + cd gst-plugins-ugly-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build gst-libav @@ -289,10 +300,10 @@ ARG GST_PLUGIN_LIBAV_REPO=https://gstreamer.freedesktop.org/src/gst-libav/gst-li RUN yum install -y -q zlib-devel openssl-devel -RUN wget -O - ${GST_PLUGIN_LIBAV_REPO} | tar xJ; \ - cd gst-libav-${GST_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --enable-gpl; \ - make -j8; \ +RUN wget -O - ${GST_PLUGIN_LIBAV_REPO} | tar xJ && \ + cd gst-libav-${GST_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --enable-gpl && \ + make -j8 && \ make install DESTDIR="/home/build" @@ -305,20 +316,20 @@ ARG FFMPEG_1TN_PATCH_REPO=https://patchwork.ffmpeg.org/patch/11625/raw ARG FFMPEG_THREAD_PATCH_REPO=https://patchwork.ffmpeg.org/patch/11035/raw RUN yum install -y -q libass-devel freetype-devel SDL2-devel libxcb-devel texinfo zlib-devel openssl-devel -RUN wget -O - ${FFMPEG_REPO} | tar xz && mv FFmpeg-${FFMPEG_VER} FFmpeg; \ - cd FFmpeg; \ - wget -O - ${FFMPEG_FLV_PATCH_REPO} | patch -p1; \ - wget -O - ${FFMPEG_1TN_PATCH_REPO} | patch -p1; \ +RUN wget -O - ${FFMPEG_REPO} | tar xz && mv FFmpeg-${FFMPEG_VER} FFmpeg && \ + cd FFmpeg && \ + wget -O - ${FFMPEG_FLV_PATCH_REPO} | patch -p1 && \ + wget -O - ${FFMPEG_1TN_PATCH_REPO} | patch -p1 && \ wget -O - ${FFMPEG_THREAD_PATCH_REPO} | patch -p1; # Patch FFmpeg source for SVT-HEVC -RUN cd /home/FFmpeg; \ +RUN cd /home/FFmpeg && \ patch -p1 < ../SVT-HEVC/ffmpeg_plugin/0001-lavc-svt_hevc-add-libsvt-hevc-encoder-wrapper.patch; # Compile FFmpeg -RUN cd /home/FFmpeg; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --extra-libs="-lpthread -lm" --enable-shared --enable-gpl --enable-libass --enable-libfreetype --enable-openssl --enable-nonfree --disable-vaapi --disable-hwaccels --enable-libfdk-aac --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-libaom --enable-libsvthevc ; \ - make -j8; \ +RUN cd /home/FFmpeg && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --extra-libs="-lpthread -lm" --enable-shared --enable-gpl --enable-libass --enable-libfreetype --enable-openssl --enable-nonfree --disable-vaapi --disable-hwaccels --enable-libfdk-aac --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-libaom --enable-libsvthevc && \ + make -j8 && \ make install DESTDIR="/home/build" diff --git a/Xeon/centos-7.4/ffmpeg+gst+dev/Dockerfile.m4 b/Xeon/centos-7.4/ffmpeg+gst+dev/Dockerfile.m4 index c9cadbfde..1dc9c50f9 100644 --- a/Xeon/centos-7.4/ffmpeg+gst+dev/Dockerfile.m4 +++ b/Xeon/centos-7.4/ffmpeg+gst+dev/Dockerfile.m4 @@ -18,6 +18,7 @@ include(svt-av1.m4) include(svt-vp9.m4) #include(transform360.m4) include(dldt-ie.m4) +include(automake.m4) include(gst.m4) include(gst-plugin-base.m4) include(gst-plugin-good.m4) diff --git a/Xeon/centos-7.4/ffmpeg/Dockerfile b/Xeon/centos-7.4/ffmpeg/Dockerfile index 5548c81cc..29d905429 100644 --- a/Xeon/centos-7.4/ffmpeg/Dockerfile +++ b/Xeon/centos-7.4/ffmpeg/Dockerfile @@ -8,76 +8,76 @@ RUN yum install -y -q bzip2 make autoconf libtool git wget ca-certificates pkg-c # Install cmake ARG CMAKE_VER=3.13.1 ARG CMAKE_REPO=https://cmake.org/files -RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz; \ - cd cmake-${CMAKE_VER}; \ - ./bootstrap --prefix="/usr"; \ - make -j8; \ +RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz && \ + cd cmake-${CMAKE_VER} && \ + ./bootstrap --prefix="/usr" && \ + make -j8 && \ make install # Build NASM ARG NASM_VER=2.13.03 ARG NASM_REPO=https://www.nasm.us/pub/nasm/releasebuilds/${NASM_VER}/nasm-${NASM_VER}.tar.bz2 -RUN wget ${NASM_REPO}; \ - tar -xaf nasm*; \ - cd nasm-${NASM_VER}; \ - ./autogen.sh; \ - ./configure --prefix="/usr" --libdir=/usr/lib64; \ - make -j8; \ +RUN wget ${NASM_REPO} && \ + tar -xaf nasm* && \ + cd nasm-${NASM_VER} && \ + ./autogen.sh && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 && \ + make -j8 && \ make install # Build YASM ARG YASM_VER=1.3.0 ARG YASM_REPO=https://www.tortall.net/projects/yasm/releases/yasm-${YASM_VER}.tar.gz -RUN wget -O - ${YASM_REPO} | tar xz; \ - cd yasm-${YASM_VER}; \ - sed -i "s/) ytasm.*/)/" Makefile.in; \ - ./configure --prefix="/usr" --libdir=/usr/lib64; \ - make -j8; \ +RUN wget -O - ${YASM_REPO} | tar xz && \ + cd yasm-${YASM_VER} && \ + sed -i "s/) ytasm.*/)/" Makefile.in && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 && \ + make -j8 && \ make install # Build ogg ARG OGG_VER=1.3.3 ARG OGG_REPO=https://downloads.xiph.org/releases/ogg/libogg-${OGG_VER}.tar.xz -RUN wget -O - ${OGG_REPO} | tar xJ; \ - cd libogg-${OGG_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${OGG_REPO} | tar xJ && \ + cd libogg-${OGG_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build vorbis ARG VORBIS_VER=1.3.6 ARG VORBIS_REPO=https://downloads.xiph.org/releases/vorbis/libvorbis-${VORBIS_VER}.tar.xz -RUN wget -O - ${VORBIS_REPO} | tar xJ; \ - cd libvorbis-${VORBIS_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${VORBIS_REPO} | tar xJ && \ + cd libvorbis-${VORBIS_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build mp3lame ARG MP3LAME_VER=3.100 ARG MP3LAME_REPO=https://sourceforge.net/projects/lame/files/lame/${MP3LAME_VER}/lame-${MP3LAME_VER}.tar.gz -RUN wget -O - ${MP3LAME_REPO} | tar xz; \ - cd lame-${MP3LAME_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --enable-nasm; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${MP3LAME_REPO} | tar xz && \ + cd lame-${MP3LAME_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --enable-nasm && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build fdk-aac ARG FDK_AAC_VER=v0.1.6 ARG FDK_AAC_REPO=https://github.com/mstorsjo/fdk-aac/archive/${FDK_AAC_VER}.tar.gz -RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac; \ - cd fdk-aac; \ - autoreconf -fiv; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac && \ + cd fdk-aac && \ + autoreconf -fiv && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -85,23 +85,23 @@ RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac; \ ARG OPUS_VER=1.2.1 ARG OPUS_REPO=https://archive.mozilla.org/pub/opus/opus-${OPUS_VER}.tar.gz -RUN wget -O - ${OPUS_REPO} | tar xz; \ - cd opus-${OPUS_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${OPUS_REPO} | tar xz && \ + cd opus-${OPUS_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build vpx ARG VPX_VER=tags/v1.7.0 ARG VPX_REPO=https://chromium.googlesource.com/webm/libvpx.git -RUN git clone ${VPX_REPO}; \ - cd libvpx; \ - git checkout ${VPX_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=nasm; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${VPX_REPO} && \ + cd libvpx && \ + git checkout ${VPX_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=nasm && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -109,25 +109,25 @@ RUN git clone ${VPX_REPO}; \ ARG AOM_VER=tags/v1.0.0 ARG AOM_REPO=https://aomedia.googlesource.com/aom -RUN git clone ${AOM_REPO}; \ - mkdir aom/aom_build; \ - cd aom/aom_build; \ - git checkout ${AOM_VER}; \ - cmake -DBUILD_SHARED_LIBS=ON -DENABLE_NASM=ON -DENABLE_TESTS=OFF -DENABLE_DOCS=OFF -DCMAKE_INSTALL_PREFIX="/usr" -DLIB_INSTALL_DIR=/usr/lib64 ..; \ - make -j8; \ - make install DESTDIR="/home/build"; \ +RUN git clone ${AOM_REPO} && \ + mkdir aom/aom_build && \ + cd aom/aom_build && \ + git checkout ${AOM_VER} && \ + cmake -DBUILD_SHARED_LIBS=ON -DENABLE_NASM=ON -DENABLE_TESTS=OFF -DENABLE_DOCS=OFF -DCMAKE_INSTALL_PREFIX="/usr" -DLIB_INSTALL_DIR=/usr/lib64 .. && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ make install # Build x264 ARG X264_VER=stable ARG X264_REPO=https://github.com/mirror/x264 -RUN git clone ${X264_REPO}; \ - cd x264; \ - git checkout ${X264_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared; \ - make -j8; \ - make install DESTDIR="/home/build"; \ +RUN git clone ${X264_REPO} && \ + cd x264 && \ + git checkout ${X264_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ make install @@ -137,28 +137,28 @@ ARG X265_REPO=https://github.com/videolan/x265/archive/${X265_VER}.tar.gz RUN yum install -y -q numactl-devel libpciaccess-devel -RUN wget -O - ${X265_REPO} | tar xz && mv x265-${X265_VER} x265; \ - cd x265/build/linux; \ - cmake -DBUILD_SHARED_LIBS=ON -DENABLE_TESTS=OFF -DCMAKE_INSTALL_PREFIX=/usr -DLIB_INSTALL_DIR=/usr/lib64 ../../source; \ - make -j8; \ - make install DESTDIR="/home/build"; \ +RUN wget -O - ${X265_REPO} | tar xz && mv x265-${X265_VER} x265 && \ + cd x265/build/linux && \ + cmake -DBUILD_SHARED_LIBS=ON -DENABLE_TESTS=OFF -DCMAKE_INSTALL_PREFIX=/usr -DLIB_INSTALL_DIR=/usr/lib64 ../../source && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ make install # Fetch SVT-HEVC ARG SVT_HEVC_VER=v1.3.0 ARG SVT_HEVC_REPO=https://github.com/intel/SVT-HEVC -RUN yum install -y -q patch centos-release-scl; \ +RUN yum install -y -q patch centos-release-scl && \ yum install -y -q devtoolset-7 -RUN git clone ${SVT_HEVC_REPO}; \ - cd SVT-HEVC/Build/linux; \ - git checkout ${SVT_HEVC_VER}; \ - mkdir -p ../../Bin/Release; \ - ( source /opt/rh/devtoolset-7/enable; \ - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${SVT_HEVC_REPO} && \ + cd SVT-HEVC/Build/linux && \ + git checkout ${SVT_HEVC_VER} && \ + mkdir -p ../../Bin/Release && \ + ( source /opt/rh/devtoolset-7/enable && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install ) @@ -166,13 +166,13 @@ RUN git clone ${SVT_HEVC_REPO}; \ ARG SVT_AV1_VER=a39acb2 ARG SVT_AV1_REPO=https://github.com/OpenVisualCloud/SVT-AV1 -RUN git clone ${SVT_AV1_REPO}; \ - cd SVT-AV1/Build/linux; \ - git checkout ${SVT_AV1_VER}; \ - mkdir -p ../../Bin/Release; \ - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${SVT_AV1_REPO} && \ + cd SVT-AV1/Build/linux && \ + git checkout ${SVT_AV1_VER} && \ + mkdir -p ../../Bin/Release && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -180,14 +180,14 @@ RUN git clone ${SVT_AV1_REPO}; \ ARG SVT_VP9_VER=e92a57c ARG SVT_VP9_REPO=https://github.com/OpenVisualCloud/SVT-VP9 -RUN git clone ${SVT_VP9_REPO}; \ - cd SVT-VP9/Build/linux; \ - git checkout ${SVT_VP9_VER}; \ - mkdir -p ../../Bin/Release; \ - ( source /opt/rh/devtoolset-7/enable; \ - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${SVT_VP9_REPO} && \ + cd SVT-VP9/Build/linux && \ + git checkout ${SVT_VP9_VER} && \ + mkdir -p ../../Bin/Release && \ + ( source /opt/rh/devtoolset-7/enable && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install ) #include(transform360.m4) @@ -199,28 +199,28 @@ ARG FFMPEG_1TN_PATCH_REPO=https://patchwork.ffmpeg.org/patch/11625/raw ARG FFMPEG_THREAD_PATCH_REPO=https://patchwork.ffmpeg.org/patch/11035/raw RUN yum install -y -q zlib-devel openssl-devel -RUN wget -O - ${FFMPEG_REPO} | tar xz && mv FFmpeg-${FFMPEG_VER} FFmpeg; \ - cd FFmpeg; \ - wget -O - ${FFMPEG_FLV_PATCH_REPO} | patch -p1; \ - wget -O - ${FFMPEG_1TN_PATCH_REPO} | patch -p1; \ +RUN wget -O - ${FFMPEG_REPO} | tar xz && mv FFmpeg-${FFMPEG_VER} FFmpeg && \ + cd FFmpeg && \ + wget -O - ${FFMPEG_FLV_PATCH_REPO} | patch -p1 && \ + wget -O - ${FFMPEG_1TN_PATCH_REPO} | patch -p1 && \ wget -O - ${FFMPEG_THREAD_PATCH_REPO} | patch -p1; # Patch FFmpeg source for SVT-HEVC -RUN cd /home/FFmpeg; \ +RUN cd /home/FFmpeg && \ patch -p1 < ../SVT-HEVC/ffmpeg_plugin/0001-lavc-svt_hevc-add-libsvt-hevc-encoder-wrapper.patch; # Compile FFmpeg -RUN cd /home/FFmpeg; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --extra-libs="-lpthread -lm" --enable-shared --enable-gpl --disable-xlib --disable-sdl2 --enable-openssl --enable-nonfree --disable-vaapi --disable-hwaccels --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --enable-libfdk-aac --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-libaom --enable-libsvthevc ; \ - make -j8; \ +RUN cd /home/FFmpeg && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --extra-libs="-lpthread -lm" --enable-shared --enable-gpl --disable-xlib --disable-sdl2 --enable-openssl --enable-nonfree --disable-vaapi --disable-hwaccels --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --enable-libfdk-aac --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-libaom --enable-libsvthevc && \ + make -j8 && \ make install DESTDIR="/home/build" # Clean up after build -RUN rm -rf /home/build/usr/include; \ - rm -rf /home/build/usr/share/doc; \ - rm -rf /home/build/usr/share/gtk-doc; \ - rm -rf /home/build/usr/share/man; \ +RUN rm -rf /home/build/usr/include && \ + rm -rf /home/build/usr/share/doc && \ + rm -rf /home/build/usr/share/gtk-doc && \ + rm -rf /home/build/usr/share/man && \ find /home/build -name "*.a" -exec rm -f {} \; FROM centos:7.4.1708 diff --git a/Xeon/centos-7.4/gst/Dockerfile b/Xeon/centos-7.4/gst/Dockerfile index b202a0f77..1b28e1caa 100644 --- a/Xeon/centos-7.4/gst/Dockerfile +++ b/Xeon/centos-7.4/gst/Dockerfile @@ -8,76 +8,76 @@ RUN yum install -y -q bzip2 make autoconf libtool git wget ca-certificates pkg-c # Install cmake ARG CMAKE_VER=3.13.1 ARG CMAKE_REPO=https://cmake.org/files -RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz; \ - cd cmake-${CMAKE_VER}; \ - ./bootstrap --prefix="/usr"; \ - make -j8; \ +RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz && \ + cd cmake-${CMAKE_VER} && \ + ./bootstrap --prefix="/usr" && \ + make -j8 && \ make install # Build NASM ARG NASM_VER=2.13.03 ARG NASM_REPO=https://www.nasm.us/pub/nasm/releasebuilds/${NASM_VER}/nasm-${NASM_VER}.tar.bz2 -RUN wget ${NASM_REPO}; \ - tar -xaf nasm*; \ - cd nasm-${NASM_VER}; \ - ./autogen.sh; \ - ./configure --prefix="/usr" --libdir=/usr/lib64; \ - make -j8; \ +RUN wget ${NASM_REPO} && \ + tar -xaf nasm* && \ + cd nasm-${NASM_VER} && \ + ./autogen.sh && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 && \ + make -j8 && \ make install # Build YASM ARG YASM_VER=1.3.0 ARG YASM_REPO=https://www.tortall.net/projects/yasm/releases/yasm-${YASM_VER}.tar.gz -RUN wget -O - ${YASM_REPO} | tar xz; \ - cd yasm-${YASM_VER}; \ - sed -i "s/) ytasm.*/)/" Makefile.in; \ - ./configure --prefix="/usr" --libdir=/usr/lib64; \ - make -j8; \ +RUN wget -O - ${YASM_REPO} | tar xz && \ + cd yasm-${YASM_VER} && \ + sed -i "s/) ytasm.*/)/" Makefile.in && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 && \ + make -j8 && \ make install # Build ogg ARG OGG_VER=1.3.3 ARG OGG_REPO=https://downloads.xiph.org/releases/ogg/libogg-${OGG_VER}.tar.xz -RUN wget -O - ${OGG_REPO} | tar xJ; \ - cd libogg-${OGG_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${OGG_REPO} | tar xJ && \ + cd libogg-${OGG_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build vorbis ARG VORBIS_VER=1.3.6 ARG VORBIS_REPO=https://downloads.xiph.org/releases/vorbis/libvorbis-${VORBIS_VER}.tar.xz -RUN wget -O - ${VORBIS_REPO} | tar xJ; \ - cd libvorbis-${VORBIS_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${VORBIS_REPO} | tar xJ && \ + cd libvorbis-${VORBIS_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build mp3lame ARG MP3LAME_VER=3.100 ARG MP3LAME_REPO=https://sourceforge.net/projects/lame/files/lame/${MP3LAME_VER}/lame-${MP3LAME_VER}.tar.gz -RUN wget -O - ${MP3LAME_REPO} | tar xz; \ - cd lame-${MP3LAME_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --enable-nasm; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${MP3LAME_REPO} | tar xz && \ + cd lame-${MP3LAME_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --enable-nasm && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build fdk-aac ARG FDK_AAC_VER=v0.1.6 ARG FDK_AAC_REPO=https://github.com/mstorsjo/fdk-aac/archive/${FDK_AAC_VER}.tar.gz -RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac; \ - cd fdk-aac; \ - autoreconf -fiv; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac && \ + cd fdk-aac && \ + autoreconf -fiv && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -85,23 +85,23 @@ RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac; \ ARG OPUS_VER=1.2.1 ARG OPUS_REPO=https://archive.mozilla.org/pub/opus/opus-${OPUS_VER}.tar.gz -RUN wget -O - ${OPUS_REPO} | tar xz; \ - cd opus-${OPUS_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${OPUS_REPO} | tar xz && \ + cd opus-${OPUS_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build vpx ARG VPX_VER=tags/v1.7.0 ARG VPX_REPO=https://chromium.googlesource.com/webm/libvpx.git -RUN git clone ${VPX_REPO}; \ - cd libvpx; \ - git checkout ${VPX_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=nasm; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${VPX_REPO} && \ + cd libvpx && \ + git checkout ${VPX_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=nasm && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -109,25 +109,25 @@ RUN git clone ${VPX_REPO}; \ ARG AOM_VER=tags/v1.0.0 ARG AOM_REPO=https://aomedia.googlesource.com/aom -RUN git clone ${AOM_REPO}; \ - mkdir aom/aom_build; \ - cd aom/aom_build; \ - git checkout ${AOM_VER}; \ - cmake -DBUILD_SHARED_LIBS=ON -DENABLE_NASM=ON -DENABLE_TESTS=OFF -DENABLE_DOCS=OFF -DCMAKE_INSTALL_PREFIX="/usr" -DLIB_INSTALL_DIR=/usr/lib64 ..; \ - make -j8; \ - make install DESTDIR="/home/build"; \ +RUN git clone ${AOM_REPO} && \ + mkdir aom/aom_build && \ + cd aom/aom_build && \ + git checkout ${AOM_VER} && \ + cmake -DBUILD_SHARED_LIBS=ON -DENABLE_NASM=ON -DENABLE_TESTS=OFF -DENABLE_DOCS=OFF -DCMAKE_INSTALL_PREFIX="/usr" -DLIB_INSTALL_DIR=/usr/lib64 .. && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ make install # Build x264 ARG X264_VER=stable ARG X264_REPO=https://github.com/mirror/x264 -RUN git clone ${X264_REPO}; \ - cd x264; \ - git checkout ${X264_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared; \ - make -j8; \ - make install DESTDIR="/home/build"; \ +RUN git clone ${X264_REPO} && \ + cd x264 && \ + git checkout ${X264_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ make install @@ -137,28 +137,28 @@ ARG X265_REPO=https://github.com/videolan/x265/archive/${X265_VER}.tar.gz RUN yum install -y -q numactl-devel libpciaccess-devel -RUN wget -O - ${X265_REPO} | tar xz && mv x265-${X265_VER} x265; \ - cd x265/build/linux; \ - cmake -DBUILD_SHARED_LIBS=ON -DENABLE_TESTS=OFF -DCMAKE_INSTALL_PREFIX=/usr -DLIB_INSTALL_DIR=/usr/lib64 ../../source; \ - make -j8; \ - make install DESTDIR="/home/build"; \ +RUN wget -O - ${X265_REPO} | tar xz && mv x265-${X265_VER} x265 && \ + cd x265/build/linux && \ + cmake -DBUILD_SHARED_LIBS=ON -DENABLE_TESTS=OFF -DCMAKE_INSTALL_PREFIX=/usr -DLIB_INSTALL_DIR=/usr/lib64 ../../source && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ make install # Fetch SVT-HEVC ARG SVT_HEVC_VER=v1.3.0 ARG SVT_HEVC_REPO=https://github.com/intel/SVT-HEVC -RUN yum install -y -q patch centos-release-scl; \ +RUN yum install -y -q patch centos-release-scl && \ yum install -y -q devtoolset-7 -RUN git clone ${SVT_HEVC_REPO}; \ - cd SVT-HEVC/Build/linux; \ - git checkout ${SVT_HEVC_VER}; \ - mkdir -p ../../Bin/Release; \ - ( source /opt/rh/devtoolset-7/enable; \ - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${SVT_HEVC_REPO} && \ + cd SVT-HEVC/Build/linux && \ + git checkout ${SVT_HEVC_VER} && \ + mkdir -p ../../Bin/Release && \ + ( source /opt/rh/devtoolset-7/enable && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install ) @@ -166,13 +166,13 @@ RUN git clone ${SVT_HEVC_REPO}; \ ARG SVT_AV1_VER=a39acb2 ARG SVT_AV1_REPO=https://github.com/OpenVisualCloud/SVT-AV1 -RUN git clone ${SVT_AV1_REPO}; \ - cd SVT-AV1/Build/linux; \ - git checkout ${SVT_AV1_VER}; \ - mkdir -p ../../Bin/Release; \ - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${SVT_AV1_REPO} && \ + cd SVT-AV1/Build/linux && \ + git checkout ${SVT_AV1_VER} && \ + mkdir -p ../../Bin/Release && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -180,72 +180,83 @@ RUN git clone ${SVT_AV1_REPO}; \ ARG SVT_VP9_VER=e92a57c ARG SVT_VP9_REPO=https://github.com/OpenVisualCloud/SVT-VP9 -RUN git clone ${SVT_VP9_REPO}; \ - cd SVT-VP9/Build/linux; \ - git checkout ${SVT_VP9_VER}; \ - mkdir -p ../../Bin/Release; \ - ( source /opt/rh/devtoolset-7/enable; \ - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${SVT_VP9_REPO} && \ + cd SVT-VP9/Build/linux && \ + git checkout ${SVT_VP9_VER} && \ + mkdir -p ../../Bin/Release && \ + ( source /opt/rh/devtoolset-7/enable && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install ) +# Install automake +ARG AUTOMAKE_VER=1.14 +ARG AUTOMAKE_REPO=https://ftp.gnu.org/pub/gnu/automake/automake-${AUTOMAKE_VER}.tar.xz + +RUN wget -O - ${AUTOMAKE_REPO} | tar xJ && \ + cd automake-${AUTOMAKE_VER} && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --disable-doc && \ + make -j8 && \ + make install + + # Build the gstremaer core ARG GST_VER=1.14.4 ARG GST_REPO=https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${GST_VER}.tar.xz -RUN yum install -y -q glib2-devel-2.56.1 -RUN wget -O - ${GST_REPO} | tar xJ; \ - cd gstreamer-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-gst-debug --disable-debug --disable-benchmarks --disable-check; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN yum install -y -q glib2-devel-2.56.1 gettext-devel gtk-doc +RUN wget -O - ${GST_REPO} | tar xJ && \ + cd gstreamer-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-gst-debug --disable-debug --disable-benchmarks --disable-check && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin base ARG GST_PLUGIN_BASE_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_BASE_REPO} | tar xJ; \ - cd gst-plugins-base-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-debug; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${GST_PLUGIN_BASE_REPO} | tar xJ && \ + cd gst-plugins-base-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-debug && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin good set ARG GST_PLUGIN_GOOD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_GOOD_REPO} | tar xJ; \ - cd gst-plugins-good-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-debug; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${GST_PLUGIN_GOOD_REPO} | tar xJ && \ + cd gst-plugins-good-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-debug && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin bad set ARG GST_PLUGIN_BAD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_BAD_REPO} | tar xJ; \ - cd gst-plugins-bad-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-debug; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${GST_PLUGIN_BAD_REPO} | tar xJ && \ + cd gst-plugins-bad-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-debug && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin ugly set ARG GST_PLUGIN_UGLY_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_UGLY_REPO} | tar xJ; \ - cd gst-plugins-ugly-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-debug; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${GST_PLUGIN_UGLY_REPO} | tar xJ && \ + cd gst-plugins-ugly-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-debug && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build gst-libav @@ -253,19 +264,19 @@ ARG GST_PLUGIN_LIBAV_REPO=https://gstreamer.freedesktop.org/src/gst-libav/gst-li RUN yum install -y -q zlib-devel openssl-devel -RUN wget -O - ${GST_PLUGIN_LIBAV_REPO} | tar xJ; \ - cd gst-libav-${GST_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --enable-gpl; \ - make -j8; \ +RUN wget -O - ${GST_PLUGIN_LIBAV_REPO} | tar xJ && \ + cd gst-libav-${GST_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --enable-gpl && \ + make -j8 && \ make install DESTDIR="/home/build" # Clean up after build -RUN rm -rf /home/build/usr/include; \ - rm -rf /home/build/usr/share/doc; \ - rm -rf /home/build/usr/share/gtk-doc; \ - rm -rf /home/build/usr/share/man; \ +RUN rm -rf /home/build/usr/include && \ + rm -rf /home/build/usr/share/doc && \ + rm -rf /home/build/usr/share/gtk-doc && \ + rm -rf /home/build/usr/share/man && \ find /home/build -name "*.a" -exec rm -f {} \; FROM centos:7.4.1708 diff --git a/Xeon/centos-7.4/gst/Dockerfile.m4 b/Xeon/centos-7.4/gst/Dockerfile.m4 index d2e87837f..25ad323bb 100644 --- a/Xeon/centos-7.4/gst/Dockerfile.m4 +++ b/Xeon/centos-7.4/gst/Dockerfile.m4 @@ -16,6 +16,7 @@ include(libx265.m4) include(svt-hevc.m4) include(svt-av1.m4) include(svt-vp9.m4) +include(automake.m4) include(gst.m4) include(gst-plugin-base.m4) include(gst-plugin-good.m4) diff --git a/Xeon/centos-7.4/nginx+rtmp/Dockerfile b/Xeon/centos-7.4/nginx+rtmp/Dockerfile index 53ff8f95d..8bac181cf 100644 --- a/Xeon/centos-7.4/nginx+rtmp/Dockerfile +++ b/Xeon/centos-7.4/nginx+rtmp/Dockerfile @@ -8,10 +8,10 @@ RUN yum install -y -q bzip2 make autoconf libtool git wget ca-certificates pkg-c # Install cmake ARG CMAKE_VER=3.13.1 ARG CMAKE_REPO=https://cmake.org/files -RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz; \ - cd cmake-${CMAKE_VER}; \ - ./bootstrap --prefix="/usr"; \ - make -j8; \ +RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz && \ + cd cmake-${CMAKE_VER} && \ + ./bootstrap --prefix="/usr" && \ + make -j8 && \ make install @@ -21,11 +21,11 @@ ARG NGINX_RTMP_REPO=https://github.com/arut/nginx-rtmp-module/archive/${NGINX_RT ARG NGINX_RTMP_PATCH_HLS=https://raw.githubusercontent.com/VCDP/CDN/master/0001-add-hevc-support-for-rtmp-and-hls.patch ARG NGINX_RTMP_PATCH_DASH=https://raw.githubusercontent.com/VCDP/CDN/master/0002-add-HEVC-support-for-dash.patch -RUN wget -O - ${NGINX_RTMP_REPO} | tar xz && mv nginx-rtmp-module-${NGINX_RTMP_VER#v} nginx-rtmp-module; \ - cd nginx-rtmp-module; \ - mkdir -p /home/build/var/www/html; \ - cp -f stat.xsl /home/build/var/www/html; \ - wget -O - ${NGINX_RTMP_PATCH_HLS} | patch -p1; \ +RUN wget -O - ${NGINX_RTMP_REPO} | tar xz && mv nginx-rtmp-module-${NGINX_RTMP_VER#v} nginx-rtmp-module && \ + cd nginx-rtmp-module && \ + mkdir -p /home/build/var/www/html && \ + cp -f stat.xsl /home/build/var/www/html && \ + wget -O - ${NGINX_RTMP_PATCH_HLS} | patch -p1 && \ wget -O - ${NGINX_RTMP_PATCH_DASH} | patch -p1; # Build nginx & nginx-rtmp @@ -34,21 +34,21 @@ ARG NGINX_REPO=https://nginx.org/download/nginx-${NGINX_VER}.tar.gz RUN yum install -y -q openssl-devel pcre2-devel zlib-devel libxslt-devel -RUN wget -O - ${NGINX_REPO} | tar xz; \ - cd nginx-${NGINX_VER}; \ - ./configure --prefix=/var/www --sbin-path=/usr/sbin/nginx --modules-path=/usr/lib64/nginx/modules --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/www/log/error.log --pid-path=/var/www/nginx.pid --lock-path=/var/www/nginx.lock --http-log-path=/var/www/log/access.log --http-client-body-temp-path=/var/www/tmp/client_body --http-proxy-temp-path=/var/www/tmp/proxy --http-fastcgi-temp-path=/var/www/tmp/fastcgi --http-uwsgi-temp-path=/var/www/tmp/uwsgi --http-scgi-temp-path=/var/www/tmp/scgi --user=nobody --group=nobody --with-select_module --with-poll_module --with-threads --with-file-aio --with-http_ssl_module --with-http_v2_module --with-http_realip_module --with-http_addition_module --with-http_xslt_module --with-http_sub_module --with-http_dav_module --with-http_flv_module --with-http_mp4_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_auth_request_module --with-http_random_index_module --with-http_secure_link_module --with-http_degradation_module --with-http_slice_module --with-http_stub_status_module --with-stream --with-stream_ssl_module --with-stream_realip_module --with-stream_ssl_preread_module --with-pcre --add-module=../nginx-rtmp-module ; \ - make -j8; \ +RUN wget -O - ${NGINX_REPO} | tar xz && \ + cd nginx-${NGINX_VER} && \ + ./configure --prefix=/var/www --sbin-path=/usr/sbin/nginx --modules-path=/usr/lib64/nginx/modules --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/www/log/error.log --pid-path=/var/www/nginx.pid --lock-path=/var/www/nginx.lock --http-log-path=/var/www/log/access.log --http-client-body-temp-path=/var/www/tmp/client_body --http-proxy-temp-path=/var/www/tmp/proxy --http-fastcgi-temp-path=/var/www/tmp/fastcgi --http-uwsgi-temp-path=/var/www/tmp/uwsgi --http-scgi-temp-path=/var/www/tmp/scgi --user=nobody --group=nobody --with-select_module --with-poll_module --with-threads --with-file-aio --with-http_ssl_module --with-http_v2_module --with-http_realip_module --with-http_addition_module --with-http_xslt_module --with-http_sub_module --with-http_dav_module --with-http_flv_module --with-http_mp4_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_auth_request_module --with-http_random_index_module --with-http_secure_link_module --with-http_degradation_module --with-http_slice_module --with-http_stub_status_module --with-stream --with-stream_ssl_module --with-stream_realip_module --with-stream_ssl_preread_module --with-pcre --add-module=../nginx-rtmp-module && \ + make -j8 && \ make install DESTDIR=/home/build; # NGINX Setup COPY nginx.conf /home/build/etc/nginx -RUN mkdir -p /home/build/var/www/tmp/client_body; \ - mkdir -p /home/build/var/www/tmp/proxy; \ - mkdir -p /home/build/var/www/tmp/fastcgi; \ - mkdir -p /home/build/var/www/tmp/uwsgi; \ - mkdir -p /home/build/var/www/tmp/scgi; \ - mkdir -p /home/build/var/www/cache; \ - mkdir -p /home/build/var/www/html; \ +RUN mkdir -p /home/build/var/www/tmp/client_body && \ + mkdir -p /home/build/var/www/tmp/proxy && \ + mkdir -p /home/build/var/www/tmp/fastcgi && \ + mkdir -p /home/build/var/www/tmp/uwsgi && \ + mkdir -p /home/build/var/www/tmp/scgi && \ + mkdir -p /home/build/var/www/cache && \ + mkdir -p /home/build/var/www/html && \ touch /home/build/var/www/html/index.html; diff --git a/Xeon/centos-7.5/dldt+ffmpeg/Dockerfile b/Xeon/centos-7.5/dldt+ffmpeg/Dockerfile index e461bb5cd..e595fdb7f 100644 --- a/Xeon/centos-7.5/dldt+ffmpeg/Dockerfile +++ b/Xeon/centos-7.5/dldt+ffmpeg/Dockerfile @@ -8,76 +8,76 @@ RUN yum install -y -q bzip2 make autoconf libtool git wget ca-certificates pkg-c # Install cmake ARG CMAKE_VER=3.13.1 ARG CMAKE_REPO=https://cmake.org/files -RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz; \ - cd cmake-${CMAKE_VER}; \ - ./bootstrap --prefix="/usr"; \ - make -j8; \ +RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz && \ + cd cmake-${CMAKE_VER} && \ + ./bootstrap --prefix="/usr" && \ + make -j8 && \ make install # Build NASM ARG NASM_VER=2.13.03 ARG NASM_REPO=https://www.nasm.us/pub/nasm/releasebuilds/${NASM_VER}/nasm-${NASM_VER}.tar.bz2 -RUN wget ${NASM_REPO}; \ - tar -xaf nasm*; \ - cd nasm-${NASM_VER}; \ - ./autogen.sh; \ - ./configure --prefix="/usr" --libdir=/usr/lib64; \ - make -j8; \ +RUN wget ${NASM_REPO} && \ + tar -xaf nasm* && \ + cd nasm-${NASM_VER} && \ + ./autogen.sh && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 && \ + make -j8 && \ make install # Build YASM ARG YASM_VER=1.3.0 ARG YASM_REPO=https://www.tortall.net/projects/yasm/releases/yasm-${YASM_VER}.tar.gz -RUN wget -O - ${YASM_REPO} | tar xz; \ - cd yasm-${YASM_VER}; \ - sed -i "s/) ytasm.*/)/" Makefile.in; \ - ./configure --prefix="/usr" --libdir=/usr/lib64; \ - make -j8; \ +RUN wget -O - ${YASM_REPO} | tar xz && \ + cd yasm-${YASM_VER} && \ + sed -i "s/) ytasm.*/)/" Makefile.in && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 && \ + make -j8 && \ make install # Build ogg ARG OGG_VER=1.3.3 ARG OGG_REPO=https://downloads.xiph.org/releases/ogg/libogg-${OGG_VER}.tar.xz -RUN wget -O - ${OGG_REPO} | tar xJ; \ - cd libogg-${OGG_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${OGG_REPO} | tar xJ && \ + cd libogg-${OGG_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build vorbis ARG VORBIS_VER=1.3.6 ARG VORBIS_REPO=https://downloads.xiph.org/releases/vorbis/libvorbis-${VORBIS_VER}.tar.xz -RUN wget -O - ${VORBIS_REPO} | tar xJ; \ - cd libvorbis-${VORBIS_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${VORBIS_REPO} | tar xJ && \ + cd libvorbis-${VORBIS_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build mp3lame ARG MP3LAME_VER=3.100 ARG MP3LAME_REPO=https://sourceforge.net/projects/lame/files/lame/${MP3LAME_VER}/lame-${MP3LAME_VER}.tar.gz -RUN wget -O - ${MP3LAME_REPO} | tar xz; \ - cd lame-${MP3LAME_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --enable-nasm; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${MP3LAME_REPO} | tar xz && \ + cd lame-${MP3LAME_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --enable-nasm && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build fdk-aac ARG FDK_AAC_VER=v0.1.6 ARG FDK_AAC_REPO=https://github.com/mstorsjo/fdk-aac/archive/${FDK_AAC_VER}.tar.gz -RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac; \ - cd fdk-aac; \ - autoreconf -fiv; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac && \ + cd fdk-aac && \ + autoreconf -fiv && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -85,23 +85,23 @@ RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac; \ ARG OPUS_VER=1.2.1 ARG OPUS_REPO=https://archive.mozilla.org/pub/opus/opus-${OPUS_VER}.tar.gz -RUN wget -O - ${OPUS_REPO} | tar xz; \ - cd opus-${OPUS_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${OPUS_REPO} | tar xz && \ + cd opus-${OPUS_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build vpx ARG VPX_VER=tags/v1.7.0 ARG VPX_REPO=https://chromium.googlesource.com/webm/libvpx.git -RUN git clone ${VPX_REPO}; \ - cd libvpx; \ - git checkout ${VPX_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=nasm; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${VPX_REPO} && \ + cd libvpx && \ + git checkout ${VPX_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=nasm && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -109,25 +109,25 @@ RUN git clone ${VPX_REPO}; \ ARG AOM_VER=tags/v1.0.0 ARG AOM_REPO=https://aomedia.googlesource.com/aom -RUN git clone ${AOM_REPO}; \ - mkdir aom/aom_build; \ - cd aom/aom_build; \ - git checkout ${AOM_VER}; \ - cmake -DBUILD_SHARED_LIBS=ON -DENABLE_NASM=ON -DENABLE_TESTS=OFF -DENABLE_DOCS=OFF -DCMAKE_INSTALL_PREFIX="/usr" -DLIB_INSTALL_DIR=/usr/lib64 ..; \ - make -j8; \ - make install DESTDIR="/home/build"; \ +RUN git clone ${AOM_REPO} && \ + mkdir aom/aom_build && \ + cd aom/aom_build && \ + git checkout ${AOM_VER} && \ + cmake -DBUILD_SHARED_LIBS=ON -DENABLE_NASM=ON -DENABLE_TESTS=OFF -DENABLE_DOCS=OFF -DCMAKE_INSTALL_PREFIX="/usr" -DLIB_INSTALL_DIR=/usr/lib64 .. && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ make install # Build x264 ARG X264_VER=stable ARG X264_REPO=https://github.com/mirror/x264 -RUN git clone ${X264_REPO}; \ - cd x264; \ - git checkout ${X264_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared; \ - make -j8; \ - make install DESTDIR="/home/build"; \ +RUN git clone ${X264_REPO} && \ + cd x264 && \ + git checkout ${X264_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ make install @@ -137,28 +137,28 @@ ARG X265_REPO=https://github.com/videolan/x265/archive/${X265_VER}.tar.gz RUN yum install -y -q numactl-devel libpciaccess-devel -RUN wget -O - ${X265_REPO} | tar xz && mv x265-${X265_VER} x265; \ - cd x265/build/linux; \ - cmake -DBUILD_SHARED_LIBS=ON -DENABLE_TESTS=OFF -DCMAKE_INSTALL_PREFIX=/usr -DLIB_INSTALL_DIR=/usr/lib64 ../../source; \ - make -j8; \ - make install DESTDIR="/home/build"; \ +RUN wget -O - ${X265_REPO} | tar xz && mv x265-${X265_VER} x265 && \ + cd x265/build/linux && \ + cmake -DBUILD_SHARED_LIBS=ON -DENABLE_TESTS=OFF -DCMAKE_INSTALL_PREFIX=/usr -DLIB_INSTALL_DIR=/usr/lib64 ../../source && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ make install # Fetch SVT-HEVC ARG SVT_HEVC_VER=v1.3.0 ARG SVT_HEVC_REPO=https://github.com/intel/SVT-HEVC -RUN yum install -y -q patch centos-release-scl; \ +RUN yum install -y -q patch centos-release-scl && \ yum install -y -q devtoolset-7 -RUN git clone ${SVT_HEVC_REPO}; \ - cd SVT-HEVC/Build/linux; \ - git checkout ${SVT_HEVC_VER}; \ - mkdir -p ../../Bin/Release; \ - ( source /opt/rh/devtoolset-7/enable; \ - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${SVT_HEVC_REPO} && \ + cd SVT-HEVC/Build/linux && \ + git checkout ${SVT_HEVC_VER} && \ + mkdir -p ../../Bin/Release && \ + ( source /opt/rh/devtoolset-7/enable && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install ) @@ -166,13 +166,13 @@ RUN git clone ${SVT_HEVC_REPO}; \ ARG SVT_AV1_VER=a39acb2 ARG SVT_AV1_REPO=https://github.com/OpenVisualCloud/SVT-AV1 -RUN git clone ${SVT_AV1_REPO}; \ - cd SVT-AV1/Build/linux; \ - git checkout ${SVT_AV1_VER}; \ - mkdir -p ../../Bin/Release; \ - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${SVT_AV1_REPO} && \ + cd SVT-AV1/Build/linux && \ + git checkout ${SVT_AV1_VER} && \ + mkdir -p ../../Bin/Release && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -180,14 +180,14 @@ RUN git clone ${SVT_AV1_REPO}; \ ARG SVT_VP9_VER=e92a57c ARG SVT_VP9_REPO=https://github.com/OpenVisualCloud/SVT-VP9 -RUN git clone ${SVT_VP9_REPO}; \ - cd SVT-VP9/Build/linux; \ - git checkout ${SVT_VP9_VER}; \ - mkdir -p ../../Bin/Release; \ - ( source /opt/rh/devtoolset-7/enable; \ - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${SVT_VP9_REPO} && \ + cd SVT-VP9/Build/linux && \ + git checkout ${SVT_VP9_VER} && \ + mkdir -p ../../Bin/Release && \ + ( source /opt/rh/devtoolset-7/enable && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install ) #include(transform360.m4) @@ -234,28 +234,28 @@ ARG FFMPEG_1TN_PATCH_REPO=https://patchwork.ffmpeg.org/patch/11625/raw ARG FFMPEG_THREAD_PATCH_REPO=https://patchwork.ffmpeg.org/patch/11035/raw RUN yum install -y -q zlib-devel openssl-devel -RUN wget -O - ${FFMPEG_REPO} | tar xz && mv FFmpeg-${FFMPEG_VER} FFmpeg; \ - cd FFmpeg; \ - wget -O - ${FFMPEG_FLV_PATCH_REPO} | patch -p1; \ - wget -O - ${FFMPEG_1TN_PATCH_REPO} | patch -p1; \ +RUN wget -O - ${FFMPEG_REPO} | tar xz && mv FFmpeg-${FFMPEG_VER} FFmpeg && \ + cd FFmpeg && \ + wget -O - ${FFMPEG_FLV_PATCH_REPO} | patch -p1 && \ + wget -O - ${FFMPEG_1TN_PATCH_REPO} | patch -p1 && \ wget -O - ${FFMPEG_THREAD_PATCH_REPO} | patch -p1; # Patch FFmpeg source for SVT-HEVC -RUN cd /home/FFmpeg; \ +RUN cd /home/FFmpeg && \ patch -p1 < ../SVT-HEVC/ffmpeg_plugin/0001-lavc-svt_hevc-add-libsvt-hevc-encoder-wrapper.patch; # Compile FFmpeg -RUN cd /home/FFmpeg; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --extra-libs="-lpthread -lm" --enable-shared --enable-gpl --disable-xlib --disable-sdl2 --enable-openssl --enable-nonfree --disable-vaapi --disable-hwaccels --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --enable-libfdk-aac --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-libaom --enable-libsvthevc ; \ - make -j8; \ +RUN cd /home/FFmpeg && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --extra-libs="-lpthread -lm" --enable-shared --enable-gpl --disable-xlib --disable-sdl2 --enable-openssl --enable-nonfree --disable-vaapi --disable-hwaccels --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --enable-libfdk-aac --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-libaom --enable-libsvthevc && \ + make -j8 && \ make install DESTDIR="/home/build" # Clean up after build -RUN rm -rf /home/build/usr/include; \ - rm -rf /home/build/usr/share/doc; \ - rm -rf /home/build/usr/share/gtk-doc; \ - rm -rf /home/build/usr/share/man; \ +RUN rm -rf /home/build/usr/include && \ + rm -rf /home/build/usr/share/doc && \ + rm -rf /home/build/usr/share/gtk-doc && \ + rm -rf /home/build/usr/share/man && \ find /home/build -name "*.a" -exec rm -f {} \; FROM centos:7.5.1804 diff --git a/Xeon/centos-7.5/dldt+gst/Dockerfile b/Xeon/centos-7.5/dldt+gst/Dockerfile index 31e1ff5c0..16fafc5ad 100644 --- a/Xeon/centos-7.5/dldt+gst/Dockerfile +++ b/Xeon/centos-7.5/dldt+gst/Dockerfile @@ -8,76 +8,76 @@ RUN yum install -y -q bzip2 make autoconf libtool git wget ca-certificates pkg-c # Install cmake ARG CMAKE_VER=3.13.1 ARG CMAKE_REPO=https://cmake.org/files -RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz; \ - cd cmake-${CMAKE_VER}; \ - ./bootstrap --prefix="/usr"; \ - make -j8; \ +RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz && \ + cd cmake-${CMAKE_VER} && \ + ./bootstrap --prefix="/usr" && \ + make -j8 && \ make install # Build NASM ARG NASM_VER=2.13.03 ARG NASM_REPO=https://www.nasm.us/pub/nasm/releasebuilds/${NASM_VER}/nasm-${NASM_VER}.tar.bz2 -RUN wget ${NASM_REPO}; \ - tar -xaf nasm*; \ - cd nasm-${NASM_VER}; \ - ./autogen.sh; \ - ./configure --prefix="/usr" --libdir=/usr/lib64; \ - make -j8; \ +RUN wget ${NASM_REPO} && \ + tar -xaf nasm* && \ + cd nasm-${NASM_VER} && \ + ./autogen.sh && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 && \ + make -j8 && \ make install # Build YASM ARG YASM_VER=1.3.0 ARG YASM_REPO=https://www.tortall.net/projects/yasm/releases/yasm-${YASM_VER}.tar.gz -RUN wget -O - ${YASM_REPO} | tar xz; \ - cd yasm-${YASM_VER}; \ - sed -i "s/) ytasm.*/)/" Makefile.in; \ - ./configure --prefix="/usr" --libdir=/usr/lib64; \ - make -j8; \ +RUN wget -O - ${YASM_REPO} | tar xz && \ + cd yasm-${YASM_VER} && \ + sed -i "s/) ytasm.*/)/" Makefile.in && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 && \ + make -j8 && \ make install # Build ogg ARG OGG_VER=1.3.3 ARG OGG_REPO=https://downloads.xiph.org/releases/ogg/libogg-${OGG_VER}.tar.xz -RUN wget -O - ${OGG_REPO} | tar xJ; \ - cd libogg-${OGG_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${OGG_REPO} | tar xJ && \ + cd libogg-${OGG_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build vorbis ARG VORBIS_VER=1.3.6 ARG VORBIS_REPO=https://downloads.xiph.org/releases/vorbis/libvorbis-${VORBIS_VER}.tar.xz -RUN wget -O - ${VORBIS_REPO} | tar xJ; \ - cd libvorbis-${VORBIS_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${VORBIS_REPO} | tar xJ && \ + cd libvorbis-${VORBIS_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build mp3lame ARG MP3LAME_VER=3.100 ARG MP3LAME_REPO=https://sourceforge.net/projects/lame/files/lame/${MP3LAME_VER}/lame-${MP3LAME_VER}.tar.gz -RUN wget -O - ${MP3LAME_REPO} | tar xz; \ - cd lame-${MP3LAME_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --enable-nasm; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${MP3LAME_REPO} | tar xz && \ + cd lame-${MP3LAME_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --enable-nasm && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build fdk-aac ARG FDK_AAC_VER=v0.1.6 ARG FDK_AAC_REPO=https://github.com/mstorsjo/fdk-aac/archive/${FDK_AAC_VER}.tar.gz -RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac; \ - cd fdk-aac; \ - autoreconf -fiv; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac && \ + cd fdk-aac && \ + autoreconf -fiv && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -85,23 +85,23 @@ RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac; \ ARG OPUS_VER=1.2.1 ARG OPUS_REPO=https://archive.mozilla.org/pub/opus/opus-${OPUS_VER}.tar.gz -RUN wget -O - ${OPUS_REPO} | tar xz; \ - cd opus-${OPUS_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${OPUS_REPO} | tar xz && \ + cd opus-${OPUS_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build vpx ARG VPX_VER=tags/v1.7.0 ARG VPX_REPO=https://chromium.googlesource.com/webm/libvpx.git -RUN git clone ${VPX_REPO}; \ - cd libvpx; \ - git checkout ${VPX_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=nasm; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${VPX_REPO} && \ + cd libvpx && \ + git checkout ${VPX_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=nasm && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -109,25 +109,25 @@ RUN git clone ${VPX_REPO}; \ ARG AOM_VER=tags/v1.0.0 ARG AOM_REPO=https://aomedia.googlesource.com/aom -RUN git clone ${AOM_REPO}; \ - mkdir aom/aom_build; \ - cd aom/aom_build; \ - git checkout ${AOM_VER}; \ - cmake -DBUILD_SHARED_LIBS=ON -DENABLE_NASM=ON -DENABLE_TESTS=OFF -DENABLE_DOCS=OFF -DCMAKE_INSTALL_PREFIX="/usr" -DLIB_INSTALL_DIR=/usr/lib64 ..; \ - make -j8; \ - make install DESTDIR="/home/build"; \ +RUN git clone ${AOM_REPO} && \ + mkdir aom/aom_build && \ + cd aom/aom_build && \ + git checkout ${AOM_VER} && \ + cmake -DBUILD_SHARED_LIBS=ON -DENABLE_NASM=ON -DENABLE_TESTS=OFF -DENABLE_DOCS=OFF -DCMAKE_INSTALL_PREFIX="/usr" -DLIB_INSTALL_DIR=/usr/lib64 .. && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ make install # Build x264 ARG X264_VER=stable ARG X264_REPO=https://github.com/mirror/x264 -RUN git clone ${X264_REPO}; \ - cd x264; \ - git checkout ${X264_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared; \ - make -j8; \ - make install DESTDIR="/home/build"; \ +RUN git clone ${X264_REPO} && \ + cd x264 && \ + git checkout ${X264_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ make install @@ -137,28 +137,28 @@ ARG X265_REPO=https://github.com/videolan/x265/archive/${X265_VER}.tar.gz RUN yum install -y -q numactl-devel libpciaccess-devel -RUN wget -O - ${X265_REPO} | tar xz && mv x265-${X265_VER} x265; \ - cd x265/build/linux; \ - cmake -DBUILD_SHARED_LIBS=ON -DENABLE_TESTS=OFF -DCMAKE_INSTALL_PREFIX=/usr -DLIB_INSTALL_DIR=/usr/lib64 ../../source; \ - make -j8; \ - make install DESTDIR="/home/build"; \ +RUN wget -O - ${X265_REPO} | tar xz && mv x265-${X265_VER} x265 && \ + cd x265/build/linux && \ + cmake -DBUILD_SHARED_LIBS=ON -DENABLE_TESTS=OFF -DCMAKE_INSTALL_PREFIX=/usr -DLIB_INSTALL_DIR=/usr/lib64 ../../source && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ make install # Fetch SVT-HEVC ARG SVT_HEVC_VER=v1.3.0 ARG SVT_HEVC_REPO=https://github.com/intel/SVT-HEVC -RUN yum install -y -q patch centos-release-scl; \ +RUN yum install -y -q patch centos-release-scl && \ yum install -y -q devtoolset-7 -RUN git clone ${SVT_HEVC_REPO}; \ - cd SVT-HEVC/Build/linux; \ - git checkout ${SVT_HEVC_VER}; \ - mkdir -p ../../Bin/Release; \ - ( source /opt/rh/devtoolset-7/enable; \ - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${SVT_HEVC_REPO} && \ + cd SVT-HEVC/Build/linux && \ + git checkout ${SVT_HEVC_VER} && \ + mkdir -p ../../Bin/Release && \ + ( source /opt/rh/devtoolset-7/enable && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install ) @@ -166,13 +166,13 @@ RUN git clone ${SVT_HEVC_REPO}; \ ARG SVT_AV1_VER=a39acb2 ARG SVT_AV1_REPO=https://github.com/OpenVisualCloud/SVT-AV1 -RUN git clone ${SVT_AV1_REPO}; \ - cd SVT-AV1/Build/linux; \ - git checkout ${SVT_AV1_VER}; \ - mkdir -p ../../Bin/Release; \ - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${SVT_AV1_REPO} && \ + cd SVT-AV1/Build/linux && \ + git checkout ${SVT_AV1_VER} && \ + mkdir -p ../../Bin/Release && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -180,14 +180,14 @@ RUN git clone ${SVT_AV1_REPO}; \ ARG SVT_VP9_VER=e92a57c ARG SVT_VP9_REPO=https://github.com/OpenVisualCloud/SVT-VP9 -RUN git clone ${SVT_VP9_REPO}; \ - cd SVT-VP9/Build/linux; \ - git checkout ${SVT_VP9_VER}; \ - mkdir -p ../../Bin/Release; \ - ( source /opt/rh/devtoolset-7/enable; \ - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${SVT_VP9_REPO} && \ + cd SVT-VP9/Build/linux && \ + git checkout ${SVT_VP9_VER} && \ + mkdir -p ../../Bin/Release && \ + ( source /opt/rh/devtoolset-7/enable && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install ) # Build DLDT-Inference Engine @@ -225,62 +225,73 @@ RUN git clone -b ${DLDT_VER} ${DLDT_REPO}; \ echo "Cflags: -I\${includedir}" >> "$pc"; \ done; +# Install automake +ARG AUTOMAKE_VER=1.14 +ARG AUTOMAKE_REPO=https://ftp.gnu.org/pub/gnu/automake/automake-${AUTOMAKE_VER}.tar.xz + +RUN wget -O - ${AUTOMAKE_REPO} | tar xJ && \ + cd automake-${AUTOMAKE_VER} && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --disable-doc && \ + make -j8 && \ + make install + + # Build the gstremaer core ARG GST_VER=1.14.4 ARG GST_REPO=https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${GST_VER}.tar.xz -RUN yum install -y -q glib2-devel-2.56.1 -RUN wget -O - ${GST_REPO} | tar xJ; \ - cd gstreamer-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-gst-debug --disable-debug --disable-benchmarks --disable-check; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN yum install -y -q glib2-devel-2.56.1 gettext-devel gtk-doc +RUN wget -O - ${GST_REPO} | tar xJ && \ + cd gstreamer-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-gst-debug --disable-debug --disable-benchmarks --disable-check && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin base ARG GST_PLUGIN_BASE_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_BASE_REPO} | tar xJ; \ - cd gst-plugins-base-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-debug; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${GST_PLUGIN_BASE_REPO} | tar xJ && \ + cd gst-plugins-base-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-debug && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin good set ARG GST_PLUGIN_GOOD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_GOOD_REPO} | tar xJ; \ - cd gst-plugins-good-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-debug; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${GST_PLUGIN_GOOD_REPO} | tar xJ && \ + cd gst-plugins-good-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-debug && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin bad set ARG GST_PLUGIN_BAD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_BAD_REPO} | tar xJ; \ - cd gst-plugins-bad-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-debug; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${GST_PLUGIN_BAD_REPO} | tar xJ && \ + cd gst-plugins-bad-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-debug && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin ugly set ARG GST_PLUGIN_UGLY_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_UGLY_REPO} | tar xJ; \ - cd gst-plugins-ugly-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-debug; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${GST_PLUGIN_UGLY_REPO} | tar xJ && \ + cd gst-plugins-ugly-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-debug && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build gst-libav @@ -288,19 +299,19 @@ ARG GST_PLUGIN_LIBAV_REPO=https://gstreamer.freedesktop.org/src/gst-libav/gst-li RUN yum install -y -q zlib-devel openssl-devel -RUN wget -O - ${GST_PLUGIN_LIBAV_REPO} | tar xJ; \ - cd gst-libav-${GST_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --enable-gpl; \ - make -j8; \ +RUN wget -O - ${GST_PLUGIN_LIBAV_REPO} | tar xJ && \ + cd gst-libav-${GST_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --enable-gpl && \ + make -j8 && \ make install DESTDIR="/home/build" # Clean up after build -RUN rm -rf /home/build/usr/include; \ - rm -rf /home/build/usr/share/doc; \ - rm -rf /home/build/usr/share/gtk-doc; \ - rm -rf /home/build/usr/share/man; \ +RUN rm -rf /home/build/usr/include && \ + rm -rf /home/build/usr/share/doc && \ + rm -rf /home/build/usr/share/gtk-doc && \ + rm -rf /home/build/usr/share/man && \ find /home/build -name "*.a" -exec rm -f {} \; FROM centos:7.5.1804 diff --git a/Xeon/centos-7.5/dldt+gst/Dockerfile.m4 b/Xeon/centos-7.5/dldt+gst/Dockerfile.m4 index 059d73ec8..82f0c15dc 100644 --- a/Xeon/centos-7.5/dldt+gst/Dockerfile.m4 +++ b/Xeon/centos-7.5/dldt+gst/Dockerfile.m4 @@ -17,6 +17,7 @@ include(svt-hevc.m4) include(svt-av1.m4) include(svt-vp9.m4) include(dldt-ie.m4) +include(automake.m4) include(gst.m4) include(gst-plugin-base.m4) include(gst-plugin-good.m4) diff --git a/Xeon/centos-7.5/ffmpeg+gst+dev/Dockerfile b/Xeon/centos-7.5/ffmpeg+gst+dev/Dockerfile index c0ba61b10..e04223cf3 100644 --- a/Xeon/centos-7.5/ffmpeg+gst+dev/Dockerfile +++ b/Xeon/centos-7.5/ffmpeg+gst+dev/Dockerfile @@ -8,76 +8,76 @@ RUN yum install -y -q bzip2 make autoconf libtool git wget ca-certificates pkg-c # Install cmake ARG CMAKE_VER=3.13.1 ARG CMAKE_REPO=https://cmake.org/files -RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz; \ - cd cmake-${CMAKE_VER}; \ - ./bootstrap --prefix="/usr"; \ - make -j8; \ +RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz && \ + cd cmake-${CMAKE_VER} && \ + ./bootstrap --prefix="/usr" && \ + make -j8 && \ make install # Build NASM ARG NASM_VER=2.13.03 ARG NASM_REPO=https://www.nasm.us/pub/nasm/releasebuilds/${NASM_VER}/nasm-${NASM_VER}.tar.bz2 -RUN wget ${NASM_REPO}; \ - tar -xaf nasm*; \ - cd nasm-${NASM_VER}; \ - ./autogen.sh; \ - ./configure --prefix="/usr" --libdir=/usr/lib64; \ - make -j8; \ +RUN wget ${NASM_REPO} && \ + tar -xaf nasm* && \ + cd nasm-${NASM_VER} && \ + ./autogen.sh && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 && \ + make -j8 && \ make install # Build YASM ARG YASM_VER=1.3.0 ARG YASM_REPO=https://www.tortall.net/projects/yasm/releases/yasm-${YASM_VER}.tar.gz -RUN wget -O - ${YASM_REPO} | tar xz; \ - cd yasm-${YASM_VER}; \ - sed -i "s/) ytasm.*/)/" Makefile.in; \ - ./configure --prefix="/usr" --libdir=/usr/lib64; \ - make -j8; \ +RUN wget -O - ${YASM_REPO} | tar xz && \ + cd yasm-${YASM_VER} && \ + sed -i "s/) ytasm.*/)/" Makefile.in && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 && \ + make -j8 && \ make install # Build ogg ARG OGG_VER=1.3.3 ARG OGG_REPO=https://downloads.xiph.org/releases/ogg/libogg-${OGG_VER}.tar.xz -RUN wget -O - ${OGG_REPO} | tar xJ; \ - cd libogg-${OGG_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${OGG_REPO} | tar xJ && \ + cd libogg-${OGG_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build vorbis ARG VORBIS_VER=1.3.6 ARG VORBIS_REPO=https://downloads.xiph.org/releases/vorbis/libvorbis-${VORBIS_VER}.tar.xz -RUN wget -O - ${VORBIS_REPO} | tar xJ; \ - cd libvorbis-${VORBIS_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${VORBIS_REPO} | tar xJ && \ + cd libvorbis-${VORBIS_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build mp3lame ARG MP3LAME_VER=3.100 ARG MP3LAME_REPO=https://sourceforge.net/projects/lame/files/lame/${MP3LAME_VER}/lame-${MP3LAME_VER}.tar.gz -RUN wget -O - ${MP3LAME_REPO} | tar xz; \ - cd lame-${MP3LAME_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --enable-nasm; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${MP3LAME_REPO} | tar xz && \ + cd lame-${MP3LAME_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --enable-nasm && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build fdk-aac ARG FDK_AAC_VER=v0.1.6 ARG FDK_AAC_REPO=https://github.com/mstorsjo/fdk-aac/archive/${FDK_AAC_VER}.tar.gz -RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac; \ - cd fdk-aac; \ - autoreconf -fiv; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac && \ + cd fdk-aac && \ + autoreconf -fiv && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -85,23 +85,23 @@ RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac; \ ARG OPUS_VER=1.2.1 ARG OPUS_REPO=https://archive.mozilla.org/pub/opus/opus-${OPUS_VER}.tar.gz -RUN wget -O - ${OPUS_REPO} | tar xz; \ - cd opus-${OPUS_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${OPUS_REPO} | tar xz && \ + cd opus-${OPUS_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build vpx ARG VPX_VER=tags/v1.7.0 ARG VPX_REPO=https://chromium.googlesource.com/webm/libvpx.git -RUN git clone ${VPX_REPO}; \ - cd libvpx; \ - git checkout ${VPX_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=nasm; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${VPX_REPO} && \ + cd libvpx && \ + git checkout ${VPX_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=nasm && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -109,25 +109,25 @@ RUN git clone ${VPX_REPO}; \ ARG AOM_VER=tags/v1.0.0 ARG AOM_REPO=https://aomedia.googlesource.com/aom -RUN git clone ${AOM_REPO}; \ - mkdir aom/aom_build; \ - cd aom/aom_build; \ - git checkout ${AOM_VER}; \ - cmake -DBUILD_SHARED_LIBS=ON -DENABLE_NASM=ON -DENABLE_TESTS=OFF -DENABLE_DOCS=OFF -DCMAKE_INSTALL_PREFIX="/usr" -DLIB_INSTALL_DIR=/usr/lib64 ..; \ - make -j8; \ - make install DESTDIR="/home/build"; \ +RUN git clone ${AOM_REPO} && \ + mkdir aom/aom_build && \ + cd aom/aom_build && \ + git checkout ${AOM_VER} && \ + cmake -DBUILD_SHARED_LIBS=ON -DENABLE_NASM=ON -DENABLE_TESTS=OFF -DENABLE_DOCS=OFF -DCMAKE_INSTALL_PREFIX="/usr" -DLIB_INSTALL_DIR=/usr/lib64 .. && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ make install # Build x264 ARG X264_VER=stable ARG X264_REPO=https://github.com/mirror/x264 -RUN git clone ${X264_REPO}; \ - cd x264; \ - git checkout ${X264_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared; \ - make -j8; \ - make install DESTDIR="/home/build"; \ +RUN git clone ${X264_REPO} && \ + cd x264 && \ + git checkout ${X264_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ make install @@ -137,28 +137,28 @@ ARG X265_REPO=https://github.com/videolan/x265/archive/${X265_VER}.tar.gz RUN yum install -y -q numactl-devel libpciaccess-devel -RUN wget -O - ${X265_REPO} | tar xz && mv x265-${X265_VER} x265; \ - cd x265/build/linux; \ - cmake -DBUILD_SHARED_LIBS=ON -DENABLE_TESTS=OFF -DCMAKE_INSTALL_PREFIX=/usr -DLIB_INSTALL_DIR=/usr/lib64 ../../source; \ - make -j8; \ - make install DESTDIR="/home/build"; \ +RUN wget -O - ${X265_REPO} | tar xz && mv x265-${X265_VER} x265 && \ + cd x265/build/linux && \ + cmake -DBUILD_SHARED_LIBS=ON -DENABLE_TESTS=OFF -DCMAKE_INSTALL_PREFIX=/usr -DLIB_INSTALL_DIR=/usr/lib64 ../../source && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ make install # Fetch SVT-HEVC ARG SVT_HEVC_VER=v1.3.0 ARG SVT_HEVC_REPO=https://github.com/intel/SVT-HEVC -RUN yum install -y -q patch centos-release-scl; \ +RUN yum install -y -q patch centos-release-scl && \ yum install -y -q devtoolset-7 -RUN git clone ${SVT_HEVC_REPO}; \ - cd SVT-HEVC/Build/linux; \ - git checkout ${SVT_HEVC_VER}; \ - mkdir -p ../../Bin/Release; \ - ( source /opt/rh/devtoolset-7/enable; \ - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${SVT_HEVC_REPO} && \ + cd SVT-HEVC/Build/linux && \ + git checkout ${SVT_HEVC_VER} && \ + mkdir -p ../../Bin/Release && \ + ( source /opt/rh/devtoolset-7/enable && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install ) @@ -166,13 +166,13 @@ RUN git clone ${SVT_HEVC_REPO}; \ ARG SVT_AV1_VER=a39acb2 ARG SVT_AV1_REPO=https://github.com/OpenVisualCloud/SVT-AV1 -RUN git clone ${SVT_AV1_REPO}; \ - cd SVT-AV1/Build/linux; \ - git checkout ${SVT_AV1_VER}; \ - mkdir -p ../../Bin/Release; \ - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${SVT_AV1_REPO} && \ + cd SVT-AV1/Build/linux && \ + git checkout ${SVT_AV1_VER} && \ + mkdir -p ../../Bin/Release && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -180,14 +180,14 @@ RUN git clone ${SVT_AV1_REPO}; \ ARG SVT_VP9_VER=e92a57c ARG SVT_VP9_REPO=https://github.com/OpenVisualCloud/SVT-VP9 -RUN git clone ${SVT_VP9_REPO}; \ - cd SVT-VP9/Build/linux; \ - git checkout ${SVT_VP9_VER}; \ - mkdir -p ../../Bin/Release; \ - ( source /opt/rh/devtoolset-7/enable; \ - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${SVT_VP9_REPO} && \ + cd SVT-VP9/Build/linux && \ + git checkout ${SVT_VP9_VER} && \ + mkdir -p ../../Bin/Release && \ + ( source /opt/rh/devtoolset-7/enable && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install ) #include(transform360.m4) @@ -226,62 +226,73 @@ RUN git clone -b ${DLDT_VER} ${DLDT_REPO}; \ echo "Cflags: -I\${includedir}" >> "$pc"; \ done; +# Install automake +ARG AUTOMAKE_VER=1.14 +ARG AUTOMAKE_REPO=https://ftp.gnu.org/pub/gnu/automake/automake-${AUTOMAKE_VER}.tar.xz + +RUN wget -O - ${AUTOMAKE_REPO} | tar xJ && \ + cd automake-${AUTOMAKE_VER} && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --disable-doc && \ + make -j8 && \ + make install + + # Build the gstremaer core ARG GST_VER=1.14.4 ARG GST_REPO=https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${GST_VER}.tar.xz -RUN yum install -y -q glib2-devel-2.56.1 -RUN wget -O - ${GST_REPO} | tar xJ; \ - cd gstreamer-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples ; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN yum install -y -q glib2-devel-2.56.1 gettext-devel gtk-doc +RUN wget -O - ${GST_REPO} | tar xJ && \ + cd gstreamer-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin base ARG GST_PLUGIN_BASE_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_BASE_REPO} | tar xJ; \ - cd gst-plugins-base-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples ; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${GST_PLUGIN_BASE_REPO} | tar xJ && \ + cd gst-plugins-base-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin good set ARG GST_PLUGIN_GOOD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_GOOD_REPO} | tar xJ; \ - cd gst-plugins-good-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples ; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${GST_PLUGIN_GOOD_REPO} | tar xJ && \ + cd gst-plugins-good-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin bad set ARG GST_PLUGIN_BAD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_BAD_REPO} | tar xJ; \ - cd gst-plugins-bad-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples ; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${GST_PLUGIN_BAD_REPO} | tar xJ && \ + cd gst-plugins-bad-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin ugly set ARG GST_PLUGIN_UGLY_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_UGLY_REPO} | tar xJ; \ - cd gst-plugins-ugly-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples ; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${GST_PLUGIN_UGLY_REPO} | tar xJ && \ + cd gst-plugins-ugly-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build gst-libav @@ -289,10 +300,10 @@ ARG GST_PLUGIN_LIBAV_REPO=https://gstreamer.freedesktop.org/src/gst-libav/gst-li RUN yum install -y -q zlib-devel openssl-devel -RUN wget -O - ${GST_PLUGIN_LIBAV_REPO} | tar xJ; \ - cd gst-libav-${GST_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --enable-gpl; \ - make -j8; \ +RUN wget -O - ${GST_PLUGIN_LIBAV_REPO} | tar xJ && \ + cd gst-libav-${GST_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --enable-gpl && \ + make -j8 && \ make install DESTDIR="/home/build" @@ -305,20 +316,20 @@ ARG FFMPEG_1TN_PATCH_REPO=https://patchwork.ffmpeg.org/patch/11625/raw ARG FFMPEG_THREAD_PATCH_REPO=https://patchwork.ffmpeg.org/patch/11035/raw RUN yum install -y -q libass-devel freetype-devel SDL2-devel libxcb-devel texinfo zlib-devel openssl-devel -RUN wget -O - ${FFMPEG_REPO} | tar xz && mv FFmpeg-${FFMPEG_VER} FFmpeg; \ - cd FFmpeg; \ - wget -O - ${FFMPEG_FLV_PATCH_REPO} | patch -p1; \ - wget -O - ${FFMPEG_1TN_PATCH_REPO} | patch -p1; \ +RUN wget -O - ${FFMPEG_REPO} | tar xz && mv FFmpeg-${FFMPEG_VER} FFmpeg && \ + cd FFmpeg && \ + wget -O - ${FFMPEG_FLV_PATCH_REPO} | patch -p1 && \ + wget -O - ${FFMPEG_1TN_PATCH_REPO} | patch -p1 && \ wget -O - ${FFMPEG_THREAD_PATCH_REPO} | patch -p1; # Patch FFmpeg source for SVT-HEVC -RUN cd /home/FFmpeg; \ +RUN cd /home/FFmpeg && \ patch -p1 < ../SVT-HEVC/ffmpeg_plugin/0001-lavc-svt_hevc-add-libsvt-hevc-encoder-wrapper.patch; # Compile FFmpeg -RUN cd /home/FFmpeg; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --extra-libs="-lpthread -lm" --enable-shared --enable-gpl --enable-libass --enable-libfreetype --enable-openssl --enable-nonfree --disable-vaapi --disable-hwaccels --enable-libfdk-aac --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-libaom --enable-libsvthevc ; \ - make -j8; \ +RUN cd /home/FFmpeg && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --extra-libs="-lpthread -lm" --enable-shared --enable-gpl --enable-libass --enable-libfreetype --enable-openssl --enable-nonfree --disable-vaapi --disable-hwaccels --enable-libfdk-aac --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-libaom --enable-libsvthevc && \ + make -j8 && \ make install DESTDIR="/home/build" diff --git a/Xeon/centos-7.5/ffmpeg+gst+dev/Dockerfile.m4 b/Xeon/centos-7.5/ffmpeg+gst+dev/Dockerfile.m4 index 8aa009713..c9d0c448b 100644 --- a/Xeon/centos-7.5/ffmpeg+gst+dev/Dockerfile.m4 +++ b/Xeon/centos-7.5/ffmpeg+gst+dev/Dockerfile.m4 @@ -18,6 +18,7 @@ include(svt-av1.m4) include(svt-vp9.m4) #include(transform360.m4) include(dldt-ie.m4) +include(automake.m4) include(gst.m4) include(gst-plugin-base.m4) include(gst-plugin-good.m4) diff --git a/Xeon/centos-7.5/ffmpeg/Dockerfile b/Xeon/centos-7.5/ffmpeg/Dockerfile index dbeb259ab..b6834d931 100644 --- a/Xeon/centos-7.5/ffmpeg/Dockerfile +++ b/Xeon/centos-7.5/ffmpeg/Dockerfile @@ -8,76 +8,76 @@ RUN yum install -y -q bzip2 make autoconf libtool git wget ca-certificates pkg-c # Install cmake ARG CMAKE_VER=3.13.1 ARG CMAKE_REPO=https://cmake.org/files -RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz; \ - cd cmake-${CMAKE_VER}; \ - ./bootstrap --prefix="/usr"; \ - make -j8; \ +RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz && \ + cd cmake-${CMAKE_VER} && \ + ./bootstrap --prefix="/usr" && \ + make -j8 && \ make install # Build NASM ARG NASM_VER=2.13.03 ARG NASM_REPO=https://www.nasm.us/pub/nasm/releasebuilds/${NASM_VER}/nasm-${NASM_VER}.tar.bz2 -RUN wget ${NASM_REPO}; \ - tar -xaf nasm*; \ - cd nasm-${NASM_VER}; \ - ./autogen.sh; \ - ./configure --prefix="/usr" --libdir=/usr/lib64; \ - make -j8; \ +RUN wget ${NASM_REPO} && \ + tar -xaf nasm* && \ + cd nasm-${NASM_VER} && \ + ./autogen.sh && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 && \ + make -j8 && \ make install # Build YASM ARG YASM_VER=1.3.0 ARG YASM_REPO=https://www.tortall.net/projects/yasm/releases/yasm-${YASM_VER}.tar.gz -RUN wget -O - ${YASM_REPO} | tar xz; \ - cd yasm-${YASM_VER}; \ - sed -i "s/) ytasm.*/)/" Makefile.in; \ - ./configure --prefix="/usr" --libdir=/usr/lib64; \ - make -j8; \ +RUN wget -O - ${YASM_REPO} | tar xz && \ + cd yasm-${YASM_VER} && \ + sed -i "s/) ytasm.*/)/" Makefile.in && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 && \ + make -j8 && \ make install # Build ogg ARG OGG_VER=1.3.3 ARG OGG_REPO=https://downloads.xiph.org/releases/ogg/libogg-${OGG_VER}.tar.xz -RUN wget -O - ${OGG_REPO} | tar xJ; \ - cd libogg-${OGG_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${OGG_REPO} | tar xJ && \ + cd libogg-${OGG_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build vorbis ARG VORBIS_VER=1.3.6 ARG VORBIS_REPO=https://downloads.xiph.org/releases/vorbis/libvorbis-${VORBIS_VER}.tar.xz -RUN wget -O - ${VORBIS_REPO} | tar xJ; \ - cd libvorbis-${VORBIS_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${VORBIS_REPO} | tar xJ && \ + cd libvorbis-${VORBIS_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build mp3lame ARG MP3LAME_VER=3.100 ARG MP3LAME_REPO=https://sourceforge.net/projects/lame/files/lame/${MP3LAME_VER}/lame-${MP3LAME_VER}.tar.gz -RUN wget -O - ${MP3LAME_REPO} | tar xz; \ - cd lame-${MP3LAME_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --enable-nasm; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${MP3LAME_REPO} | tar xz && \ + cd lame-${MP3LAME_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --enable-nasm && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build fdk-aac ARG FDK_AAC_VER=v0.1.6 ARG FDK_AAC_REPO=https://github.com/mstorsjo/fdk-aac/archive/${FDK_AAC_VER}.tar.gz -RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac; \ - cd fdk-aac; \ - autoreconf -fiv; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac && \ + cd fdk-aac && \ + autoreconf -fiv && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -85,23 +85,23 @@ RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac; \ ARG OPUS_VER=1.2.1 ARG OPUS_REPO=https://archive.mozilla.org/pub/opus/opus-${OPUS_VER}.tar.gz -RUN wget -O - ${OPUS_REPO} | tar xz; \ - cd opus-${OPUS_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${OPUS_REPO} | tar xz && \ + cd opus-${OPUS_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build vpx ARG VPX_VER=tags/v1.7.0 ARG VPX_REPO=https://chromium.googlesource.com/webm/libvpx.git -RUN git clone ${VPX_REPO}; \ - cd libvpx; \ - git checkout ${VPX_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=nasm; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${VPX_REPO} && \ + cd libvpx && \ + git checkout ${VPX_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=nasm && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -109,25 +109,25 @@ RUN git clone ${VPX_REPO}; \ ARG AOM_VER=tags/v1.0.0 ARG AOM_REPO=https://aomedia.googlesource.com/aom -RUN git clone ${AOM_REPO}; \ - mkdir aom/aom_build; \ - cd aom/aom_build; \ - git checkout ${AOM_VER}; \ - cmake -DBUILD_SHARED_LIBS=ON -DENABLE_NASM=ON -DENABLE_TESTS=OFF -DENABLE_DOCS=OFF -DCMAKE_INSTALL_PREFIX="/usr" -DLIB_INSTALL_DIR=/usr/lib64 ..; \ - make -j8; \ - make install DESTDIR="/home/build"; \ +RUN git clone ${AOM_REPO} && \ + mkdir aom/aom_build && \ + cd aom/aom_build && \ + git checkout ${AOM_VER} && \ + cmake -DBUILD_SHARED_LIBS=ON -DENABLE_NASM=ON -DENABLE_TESTS=OFF -DENABLE_DOCS=OFF -DCMAKE_INSTALL_PREFIX="/usr" -DLIB_INSTALL_DIR=/usr/lib64 .. && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ make install # Build x264 ARG X264_VER=stable ARG X264_REPO=https://github.com/mirror/x264 -RUN git clone ${X264_REPO}; \ - cd x264; \ - git checkout ${X264_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared; \ - make -j8; \ - make install DESTDIR="/home/build"; \ +RUN git clone ${X264_REPO} && \ + cd x264 && \ + git checkout ${X264_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ make install @@ -137,28 +137,28 @@ ARG X265_REPO=https://github.com/videolan/x265/archive/${X265_VER}.tar.gz RUN yum install -y -q numactl-devel libpciaccess-devel -RUN wget -O - ${X265_REPO} | tar xz && mv x265-${X265_VER} x265; \ - cd x265/build/linux; \ - cmake -DBUILD_SHARED_LIBS=ON -DENABLE_TESTS=OFF -DCMAKE_INSTALL_PREFIX=/usr -DLIB_INSTALL_DIR=/usr/lib64 ../../source; \ - make -j8; \ - make install DESTDIR="/home/build"; \ +RUN wget -O - ${X265_REPO} | tar xz && mv x265-${X265_VER} x265 && \ + cd x265/build/linux && \ + cmake -DBUILD_SHARED_LIBS=ON -DENABLE_TESTS=OFF -DCMAKE_INSTALL_PREFIX=/usr -DLIB_INSTALL_DIR=/usr/lib64 ../../source && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ make install # Fetch SVT-HEVC ARG SVT_HEVC_VER=v1.3.0 ARG SVT_HEVC_REPO=https://github.com/intel/SVT-HEVC -RUN yum install -y -q patch centos-release-scl; \ +RUN yum install -y -q patch centos-release-scl && \ yum install -y -q devtoolset-7 -RUN git clone ${SVT_HEVC_REPO}; \ - cd SVT-HEVC/Build/linux; \ - git checkout ${SVT_HEVC_VER}; \ - mkdir -p ../../Bin/Release; \ - ( source /opt/rh/devtoolset-7/enable; \ - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${SVT_HEVC_REPO} && \ + cd SVT-HEVC/Build/linux && \ + git checkout ${SVT_HEVC_VER} && \ + mkdir -p ../../Bin/Release && \ + ( source /opt/rh/devtoolset-7/enable && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install ) @@ -166,13 +166,13 @@ RUN git clone ${SVT_HEVC_REPO}; \ ARG SVT_AV1_VER=a39acb2 ARG SVT_AV1_REPO=https://github.com/OpenVisualCloud/SVT-AV1 -RUN git clone ${SVT_AV1_REPO}; \ - cd SVT-AV1/Build/linux; \ - git checkout ${SVT_AV1_VER}; \ - mkdir -p ../../Bin/Release; \ - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${SVT_AV1_REPO} && \ + cd SVT-AV1/Build/linux && \ + git checkout ${SVT_AV1_VER} && \ + mkdir -p ../../Bin/Release && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -180,14 +180,14 @@ RUN git clone ${SVT_AV1_REPO}; \ ARG SVT_VP9_VER=e92a57c ARG SVT_VP9_REPO=https://github.com/OpenVisualCloud/SVT-VP9 -RUN git clone ${SVT_VP9_REPO}; \ - cd SVT-VP9/Build/linux; \ - git checkout ${SVT_VP9_VER}; \ - mkdir -p ../../Bin/Release; \ - ( source /opt/rh/devtoolset-7/enable; \ - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${SVT_VP9_REPO} && \ + cd SVT-VP9/Build/linux && \ + git checkout ${SVT_VP9_VER} && \ + mkdir -p ../../Bin/Release && \ + ( source /opt/rh/devtoolset-7/enable && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install ) #include(transform360.m4) @@ -199,28 +199,28 @@ ARG FFMPEG_1TN_PATCH_REPO=https://patchwork.ffmpeg.org/patch/11625/raw ARG FFMPEG_THREAD_PATCH_REPO=https://patchwork.ffmpeg.org/patch/11035/raw RUN yum install -y -q zlib-devel openssl-devel -RUN wget -O - ${FFMPEG_REPO} | tar xz && mv FFmpeg-${FFMPEG_VER} FFmpeg; \ - cd FFmpeg; \ - wget -O - ${FFMPEG_FLV_PATCH_REPO} | patch -p1; \ - wget -O - ${FFMPEG_1TN_PATCH_REPO} | patch -p1; \ +RUN wget -O - ${FFMPEG_REPO} | tar xz && mv FFmpeg-${FFMPEG_VER} FFmpeg && \ + cd FFmpeg && \ + wget -O - ${FFMPEG_FLV_PATCH_REPO} | patch -p1 && \ + wget -O - ${FFMPEG_1TN_PATCH_REPO} | patch -p1 && \ wget -O - ${FFMPEG_THREAD_PATCH_REPO} | patch -p1; # Patch FFmpeg source for SVT-HEVC -RUN cd /home/FFmpeg; \ +RUN cd /home/FFmpeg && \ patch -p1 < ../SVT-HEVC/ffmpeg_plugin/0001-lavc-svt_hevc-add-libsvt-hevc-encoder-wrapper.patch; # Compile FFmpeg -RUN cd /home/FFmpeg; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --extra-libs="-lpthread -lm" --enable-shared --enable-gpl --disable-xlib --disable-sdl2 --enable-openssl --enable-nonfree --disable-vaapi --disable-hwaccels --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --enable-libfdk-aac --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-libaom --enable-libsvthevc ; \ - make -j8; \ +RUN cd /home/FFmpeg && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --extra-libs="-lpthread -lm" --enable-shared --enable-gpl --disable-xlib --disable-sdl2 --enable-openssl --enable-nonfree --disable-vaapi --disable-hwaccels --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --enable-libfdk-aac --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-libaom --enable-libsvthevc && \ + make -j8 && \ make install DESTDIR="/home/build" # Clean up after build -RUN rm -rf /home/build/usr/include; \ - rm -rf /home/build/usr/share/doc; \ - rm -rf /home/build/usr/share/gtk-doc; \ - rm -rf /home/build/usr/share/man; \ +RUN rm -rf /home/build/usr/include && \ + rm -rf /home/build/usr/share/doc && \ + rm -rf /home/build/usr/share/gtk-doc && \ + rm -rf /home/build/usr/share/man && \ find /home/build -name "*.a" -exec rm -f {} \; FROM centos:7.5.1804 diff --git a/Xeon/centos-7.5/gst/Dockerfile b/Xeon/centos-7.5/gst/Dockerfile index 2b0efed3e..288f6c145 100644 --- a/Xeon/centos-7.5/gst/Dockerfile +++ b/Xeon/centos-7.5/gst/Dockerfile @@ -8,76 +8,76 @@ RUN yum install -y -q bzip2 make autoconf libtool git wget ca-certificates pkg-c # Install cmake ARG CMAKE_VER=3.13.1 ARG CMAKE_REPO=https://cmake.org/files -RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz; \ - cd cmake-${CMAKE_VER}; \ - ./bootstrap --prefix="/usr"; \ - make -j8; \ +RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz && \ + cd cmake-${CMAKE_VER} && \ + ./bootstrap --prefix="/usr" && \ + make -j8 && \ make install # Build NASM ARG NASM_VER=2.13.03 ARG NASM_REPO=https://www.nasm.us/pub/nasm/releasebuilds/${NASM_VER}/nasm-${NASM_VER}.tar.bz2 -RUN wget ${NASM_REPO}; \ - tar -xaf nasm*; \ - cd nasm-${NASM_VER}; \ - ./autogen.sh; \ - ./configure --prefix="/usr" --libdir=/usr/lib64; \ - make -j8; \ +RUN wget ${NASM_REPO} && \ + tar -xaf nasm* && \ + cd nasm-${NASM_VER} && \ + ./autogen.sh && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 && \ + make -j8 && \ make install # Build YASM ARG YASM_VER=1.3.0 ARG YASM_REPO=https://www.tortall.net/projects/yasm/releases/yasm-${YASM_VER}.tar.gz -RUN wget -O - ${YASM_REPO} | tar xz; \ - cd yasm-${YASM_VER}; \ - sed -i "s/) ytasm.*/)/" Makefile.in; \ - ./configure --prefix="/usr" --libdir=/usr/lib64; \ - make -j8; \ +RUN wget -O - ${YASM_REPO} | tar xz && \ + cd yasm-${YASM_VER} && \ + sed -i "s/) ytasm.*/)/" Makefile.in && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 && \ + make -j8 && \ make install # Build ogg ARG OGG_VER=1.3.3 ARG OGG_REPO=https://downloads.xiph.org/releases/ogg/libogg-${OGG_VER}.tar.xz -RUN wget -O - ${OGG_REPO} | tar xJ; \ - cd libogg-${OGG_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${OGG_REPO} | tar xJ && \ + cd libogg-${OGG_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build vorbis ARG VORBIS_VER=1.3.6 ARG VORBIS_REPO=https://downloads.xiph.org/releases/vorbis/libvorbis-${VORBIS_VER}.tar.xz -RUN wget -O - ${VORBIS_REPO} | tar xJ; \ - cd libvorbis-${VORBIS_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${VORBIS_REPO} | tar xJ && \ + cd libvorbis-${VORBIS_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build mp3lame ARG MP3LAME_VER=3.100 ARG MP3LAME_REPO=https://sourceforge.net/projects/lame/files/lame/${MP3LAME_VER}/lame-${MP3LAME_VER}.tar.gz -RUN wget -O - ${MP3LAME_REPO} | tar xz; \ - cd lame-${MP3LAME_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --enable-nasm; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${MP3LAME_REPO} | tar xz && \ + cd lame-${MP3LAME_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --enable-nasm && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build fdk-aac ARG FDK_AAC_VER=v0.1.6 ARG FDK_AAC_REPO=https://github.com/mstorsjo/fdk-aac/archive/${FDK_AAC_VER}.tar.gz -RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac; \ - cd fdk-aac; \ - autoreconf -fiv; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac && \ + cd fdk-aac && \ + autoreconf -fiv && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -85,23 +85,23 @@ RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac; \ ARG OPUS_VER=1.2.1 ARG OPUS_REPO=https://archive.mozilla.org/pub/opus/opus-${OPUS_VER}.tar.gz -RUN wget -O - ${OPUS_REPO} | tar xz; \ - cd opus-${OPUS_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${OPUS_REPO} | tar xz && \ + cd opus-${OPUS_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build vpx ARG VPX_VER=tags/v1.7.0 ARG VPX_REPO=https://chromium.googlesource.com/webm/libvpx.git -RUN git clone ${VPX_REPO}; \ - cd libvpx; \ - git checkout ${VPX_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=nasm; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${VPX_REPO} && \ + cd libvpx && \ + git checkout ${VPX_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=nasm && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -109,25 +109,25 @@ RUN git clone ${VPX_REPO}; \ ARG AOM_VER=tags/v1.0.0 ARG AOM_REPO=https://aomedia.googlesource.com/aom -RUN git clone ${AOM_REPO}; \ - mkdir aom/aom_build; \ - cd aom/aom_build; \ - git checkout ${AOM_VER}; \ - cmake -DBUILD_SHARED_LIBS=ON -DENABLE_NASM=ON -DENABLE_TESTS=OFF -DENABLE_DOCS=OFF -DCMAKE_INSTALL_PREFIX="/usr" -DLIB_INSTALL_DIR=/usr/lib64 ..; \ - make -j8; \ - make install DESTDIR="/home/build"; \ +RUN git clone ${AOM_REPO} && \ + mkdir aom/aom_build && \ + cd aom/aom_build && \ + git checkout ${AOM_VER} && \ + cmake -DBUILD_SHARED_LIBS=ON -DENABLE_NASM=ON -DENABLE_TESTS=OFF -DENABLE_DOCS=OFF -DCMAKE_INSTALL_PREFIX="/usr" -DLIB_INSTALL_DIR=/usr/lib64 .. && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ make install # Build x264 ARG X264_VER=stable ARG X264_REPO=https://github.com/mirror/x264 -RUN git clone ${X264_REPO}; \ - cd x264; \ - git checkout ${X264_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared; \ - make -j8; \ - make install DESTDIR="/home/build"; \ +RUN git clone ${X264_REPO} && \ + cd x264 && \ + git checkout ${X264_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ make install @@ -137,28 +137,28 @@ ARG X265_REPO=https://github.com/videolan/x265/archive/${X265_VER}.tar.gz RUN yum install -y -q numactl-devel libpciaccess-devel -RUN wget -O - ${X265_REPO} | tar xz && mv x265-${X265_VER} x265; \ - cd x265/build/linux; \ - cmake -DBUILD_SHARED_LIBS=ON -DENABLE_TESTS=OFF -DCMAKE_INSTALL_PREFIX=/usr -DLIB_INSTALL_DIR=/usr/lib64 ../../source; \ - make -j8; \ - make install DESTDIR="/home/build"; \ +RUN wget -O - ${X265_REPO} | tar xz && mv x265-${X265_VER} x265 && \ + cd x265/build/linux && \ + cmake -DBUILD_SHARED_LIBS=ON -DENABLE_TESTS=OFF -DCMAKE_INSTALL_PREFIX=/usr -DLIB_INSTALL_DIR=/usr/lib64 ../../source && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ make install # Fetch SVT-HEVC ARG SVT_HEVC_VER=v1.3.0 ARG SVT_HEVC_REPO=https://github.com/intel/SVT-HEVC -RUN yum install -y -q patch centos-release-scl; \ +RUN yum install -y -q patch centos-release-scl && \ yum install -y -q devtoolset-7 -RUN git clone ${SVT_HEVC_REPO}; \ - cd SVT-HEVC/Build/linux; \ - git checkout ${SVT_HEVC_VER}; \ - mkdir -p ../../Bin/Release; \ - ( source /opt/rh/devtoolset-7/enable; \ - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${SVT_HEVC_REPO} && \ + cd SVT-HEVC/Build/linux && \ + git checkout ${SVT_HEVC_VER} && \ + mkdir -p ../../Bin/Release && \ + ( source /opt/rh/devtoolset-7/enable && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install ) @@ -166,13 +166,13 @@ RUN git clone ${SVT_HEVC_REPO}; \ ARG SVT_AV1_VER=a39acb2 ARG SVT_AV1_REPO=https://github.com/OpenVisualCloud/SVT-AV1 -RUN git clone ${SVT_AV1_REPO}; \ - cd SVT-AV1/Build/linux; \ - git checkout ${SVT_AV1_VER}; \ - mkdir -p ../../Bin/Release; \ - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${SVT_AV1_REPO} && \ + cd SVT-AV1/Build/linux && \ + git checkout ${SVT_AV1_VER} && \ + mkdir -p ../../Bin/Release && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -180,72 +180,83 @@ RUN git clone ${SVT_AV1_REPO}; \ ARG SVT_VP9_VER=e92a57c ARG SVT_VP9_REPO=https://github.com/OpenVisualCloud/SVT-VP9 -RUN git clone ${SVT_VP9_REPO}; \ - cd SVT-VP9/Build/linux; \ - git checkout ${SVT_VP9_VER}; \ - mkdir -p ../../Bin/Release; \ - ( source /opt/rh/devtoolset-7/enable; \ - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${SVT_VP9_REPO} && \ + cd SVT-VP9/Build/linux && \ + git checkout ${SVT_VP9_VER} && \ + mkdir -p ../../Bin/Release && \ + ( source /opt/rh/devtoolset-7/enable && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install ) +# Install automake +ARG AUTOMAKE_VER=1.14 +ARG AUTOMAKE_REPO=https://ftp.gnu.org/pub/gnu/automake/automake-${AUTOMAKE_VER}.tar.xz + +RUN wget -O - ${AUTOMAKE_REPO} | tar xJ && \ + cd automake-${AUTOMAKE_VER} && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --disable-doc && \ + make -j8 && \ + make install + + # Build the gstremaer core ARG GST_VER=1.14.4 ARG GST_REPO=https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${GST_VER}.tar.xz -RUN yum install -y -q glib2-devel-2.56.1 -RUN wget -O - ${GST_REPO} | tar xJ; \ - cd gstreamer-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-gst-debug --disable-debug --disable-benchmarks --disable-check; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN yum install -y -q glib2-devel-2.56.1 gettext-devel gtk-doc +RUN wget -O - ${GST_REPO} | tar xJ && \ + cd gstreamer-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-gst-debug --disable-debug --disable-benchmarks --disable-check && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin base ARG GST_PLUGIN_BASE_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_BASE_REPO} | tar xJ; \ - cd gst-plugins-base-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-debug; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${GST_PLUGIN_BASE_REPO} | tar xJ && \ + cd gst-plugins-base-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-debug && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin good set ARG GST_PLUGIN_GOOD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_GOOD_REPO} | tar xJ; \ - cd gst-plugins-good-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-debug; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${GST_PLUGIN_GOOD_REPO} | tar xJ && \ + cd gst-plugins-good-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-debug && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin bad set ARG GST_PLUGIN_BAD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_BAD_REPO} | tar xJ; \ - cd gst-plugins-bad-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-debug; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${GST_PLUGIN_BAD_REPO} | tar xJ && \ + cd gst-plugins-bad-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-debug && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin ugly set ARG GST_PLUGIN_UGLY_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_UGLY_REPO} | tar xJ; \ - cd gst-plugins-ugly-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-debug; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${GST_PLUGIN_UGLY_REPO} | tar xJ && \ + cd gst-plugins-ugly-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-debug && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build gst-libav @@ -253,19 +264,19 @@ ARG GST_PLUGIN_LIBAV_REPO=https://gstreamer.freedesktop.org/src/gst-libav/gst-li RUN yum install -y -q zlib-devel openssl-devel -RUN wget -O - ${GST_PLUGIN_LIBAV_REPO} | tar xJ; \ - cd gst-libav-${GST_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --enable-gpl; \ - make -j8; \ +RUN wget -O - ${GST_PLUGIN_LIBAV_REPO} | tar xJ && \ + cd gst-libav-${GST_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --enable-gpl && \ + make -j8 && \ make install DESTDIR="/home/build" # Clean up after build -RUN rm -rf /home/build/usr/include; \ - rm -rf /home/build/usr/share/doc; \ - rm -rf /home/build/usr/share/gtk-doc; \ - rm -rf /home/build/usr/share/man; \ +RUN rm -rf /home/build/usr/include && \ + rm -rf /home/build/usr/share/doc && \ + rm -rf /home/build/usr/share/gtk-doc && \ + rm -rf /home/build/usr/share/man && \ find /home/build -name "*.a" -exec rm -f {} \; FROM centos:7.5.1804 diff --git a/Xeon/centos-7.5/gst/Dockerfile.m4 b/Xeon/centos-7.5/gst/Dockerfile.m4 index b6db3f7c2..40cf614d1 100644 --- a/Xeon/centos-7.5/gst/Dockerfile.m4 +++ b/Xeon/centos-7.5/gst/Dockerfile.m4 @@ -16,6 +16,7 @@ include(libx265.m4) include(svt-hevc.m4) include(svt-av1.m4) include(svt-vp9.m4) +include(automake.m4) include(gst.m4) include(gst-plugin-base.m4) include(gst-plugin-good.m4) diff --git a/Xeon/centos-7.5/nginx+rtmp/Dockerfile b/Xeon/centos-7.5/nginx+rtmp/Dockerfile index b666b6688..d6ddf564c 100644 --- a/Xeon/centos-7.5/nginx+rtmp/Dockerfile +++ b/Xeon/centos-7.5/nginx+rtmp/Dockerfile @@ -8,10 +8,10 @@ RUN yum install -y -q bzip2 make autoconf libtool git wget ca-certificates pkg-c # Install cmake ARG CMAKE_VER=3.13.1 ARG CMAKE_REPO=https://cmake.org/files -RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz; \ - cd cmake-${CMAKE_VER}; \ - ./bootstrap --prefix="/usr"; \ - make -j8; \ +RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz && \ + cd cmake-${CMAKE_VER} && \ + ./bootstrap --prefix="/usr" && \ + make -j8 && \ make install @@ -21,11 +21,11 @@ ARG NGINX_RTMP_REPO=https://github.com/arut/nginx-rtmp-module/archive/${NGINX_RT ARG NGINX_RTMP_PATCH_HLS=https://raw.githubusercontent.com/VCDP/CDN/master/0001-add-hevc-support-for-rtmp-and-hls.patch ARG NGINX_RTMP_PATCH_DASH=https://raw.githubusercontent.com/VCDP/CDN/master/0002-add-HEVC-support-for-dash.patch -RUN wget -O - ${NGINX_RTMP_REPO} | tar xz && mv nginx-rtmp-module-${NGINX_RTMP_VER#v} nginx-rtmp-module; \ - cd nginx-rtmp-module; \ - mkdir -p /home/build/var/www/html; \ - cp -f stat.xsl /home/build/var/www/html; \ - wget -O - ${NGINX_RTMP_PATCH_HLS} | patch -p1; \ +RUN wget -O - ${NGINX_RTMP_REPO} | tar xz && mv nginx-rtmp-module-${NGINX_RTMP_VER#v} nginx-rtmp-module && \ + cd nginx-rtmp-module && \ + mkdir -p /home/build/var/www/html && \ + cp -f stat.xsl /home/build/var/www/html && \ + wget -O - ${NGINX_RTMP_PATCH_HLS} | patch -p1 && \ wget -O - ${NGINX_RTMP_PATCH_DASH} | patch -p1; # Build nginx & nginx-rtmp @@ -34,21 +34,21 @@ ARG NGINX_REPO=https://nginx.org/download/nginx-${NGINX_VER}.tar.gz RUN yum install -y -q openssl-devel pcre2-devel zlib-devel libxslt-devel -RUN wget -O - ${NGINX_REPO} | tar xz; \ - cd nginx-${NGINX_VER}; \ - ./configure --prefix=/var/www --sbin-path=/usr/sbin/nginx --modules-path=/usr/lib64/nginx/modules --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/www/log/error.log --pid-path=/var/www/nginx.pid --lock-path=/var/www/nginx.lock --http-log-path=/var/www/log/access.log --http-client-body-temp-path=/var/www/tmp/client_body --http-proxy-temp-path=/var/www/tmp/proxy --http-fastcgi-temp-path=/var/www/tmp/fastcgi --http-uwsgi-temp-path=/var/www/tmp/uwsgi --http-scgi-temp-path=/var/www/tmp/scgi --user=nobody --group=nobody --with-select_module --with-poll_module --with-threads --with-file-aio --with-http_ssl_module --with-http_v2_module --with-http_realip_module --with-http_addition_module --with-http_xslt_module --with-http_sub_module --with-http_dav_module --with-http_flv_module --with-http_mp4_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_auth_request_module --with-http_random_index_module --with-http_secure_link_module --with-http_degradation_module --with-http_slice_module --with-http_stub_status_module --with-stream --with-stream_ssl_module --with-stream_realip_module --with-stream_ssl_preread_module --with-pcre --add-module=../nginx-rtmp-module ; \ - make -j8; \ +RUN wget -O - ${NGINX_REPO} | tar xz && \ + cd nginx-${NGINX_VER} && \ + ./configure --prefix=/var/www --sbin-path=/usr/sbin/nginx --modules-path=/usr/lib64/nginx/modules --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/www/log/error.log --pid-path=/var/www/nginx.pid --lock-path=/var/www/nginx.lock --http-log-path=/var/www/log/access.log --http-client-body-temp-path=/var/www/tmp/client_body --http-proxy-temp-path=/var/www/tmp/proxy --http-fastcgi-temp-path=/var/www/tmp/fastcgi --http-uwsgi-temp-path=/var/www/tmp/uwsgi --http-scgi-temp-path=/var/www/tmp/scgi --user=nobody --group=nobody --with-select_module --with-poll_module --with-threads --with-file-aio --with-http_ssl_module --with-http_v2_module --with-http_realip_module --with-http_addition_module --with-http_xslt_module --with-http_sub_module --with-http_dav_module --with-http_flv_module --with-http_mp4_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_auth_request_module --with-http_random_index_module --with-http_secure_link_module --with-http_degradation_module --with-http_slice_module --with-http_stub_status_module --with-stream --with-stream_ssl_module --with-stream_realip_module --with-stream_ssl_preread_module --with-pcre --add-module=../nginx-rtmp-module && \ + make -j8 && \ make install DESTDIR=/home/build; # NGINX Setup COPY nginx.conf /home/build/etc/nginx -RUN mkdir -p /home/build/var/www/tmp/client_body; \ - mkdir -p /home/build/var/www/tmp/proxy; \ - mkdir -p /home/build/var/www/tmp/fastcgi; \ - mkdir -p /home/build/var/www/tmp/uwsgi; \ - mkdir -p /home/build/var/www/tmp/scgi; \ - mkdir -p /home/build/var/www/cache; \ - mkdir -p /home/build/var/www/html; \ +RUN mkdir -p /home/build/var/www/tmp/client_body && \ + mkdir -p /home/build/var/www/tmp/proxy && \ + mkdir -p /home/build/var/www/tmp/fastcgi && \ + mkdir -p /home/build/var/www/tmp/uwsgi && \ + mkdir -p /home/build/var/www/tmp/scgi && \ + mkdir -p /home/build/var/www/cache && \ + mkdir -p /home/build/var/www/html && \ touch /home/build/var/www/html/index.html; diff --git a/Xeon/centos-7.6/dldt+ffmpeg/Dockerfile b/Xeon/centos-7.6/dldt+ffmpeg/Dockerfile index 8d2e3044f..51ae01206 100644 --- a/Xeon/centos-7.6/dldt+ffmpeg/Dockerfile +++ b/Xeon/centos-7.6/dldt+ffmpeg/Dockerfile @@ -8,76 +8,76 @@ RUN yum install -y -q bzip2 make autoconf libtool git wget ca-certificates pkg-c # Install cmake ARG CMAKE_VER=3.13.1 ARG CMAKE_REPO=https://cmake.org/files -RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz; \ - cd cmake-${CMAKE_VER}; \ - ./bootstrap --prefix="/usr"; \ - make -j8; \ +RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz && \ + cd cmake-${CMAKE_VER} && \ + ./bootstrap --prefix="/usr" && \ + make -j8 && \ make install # Build NASM ARG NASM_VER=2.13.03 ARG NASM_REPO=https://www.nasm.us/pub/nasm/releasebuilds/${NASM_VER}/nasm-${NASM_VER}.tar.bz2 -RUN wget ${NASM_REPO}; \ - tar -xaf nasm*; \ - cd nasm-${NASM_VER}; \ - ./autogen.sh; \ - ./configure --prefix="/usr" --libdir=/usr/lib64; \ - make -j8; \ +RUN wget ${NASM_REPO} && \ + tar -xaf nasm* && \ + cd nasm-${NASM_VER} && \ + ./autogen.sh && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 && \ + make -j8 && \ make install # Build YASM ARG YASM_VER=1.3.0 ARG YASM_REPO=https://www.tortall.net/projects/yasm/releases/yasm-${YASM_VER}.tar.gz -RUN wget -O - ${YASM_REPO} | tar xz; \ - cd yasm-${YASM_VER}; \ - sed -i "s/) ytasm.*/)/" Makefile.in; \ - ./configure --prefix="/usr" --libdir=/usr/lib64; \ - make -j8; \ +RUN wget -O - ${YASM_REPO} | tar xz && \ + cd yasm-${YASM_VER} && \ + sed -i "s/) ytasm.*/)/" Makefile.in && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 && \ + make -j8 && \ make install # Build ogg ARG OGG_VER=1.3.3 ARG OGG_REPO=https://downloads.xiph.org/releases/ogg/libogg-${OGG_VER}.tar.xz -RUN wget -O - ${OGG_REPO} | tar xJ; \ - cd libogg-${OGG_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${OGG_REPO} | tar xJ && \ + cd libogg-${OGG_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build vorbis ARG VORBIS_VER=1.3.6 ARG VORBIS_REPO=https://downloads.xiph.org/releases/vorbis/libvorbis-${VORBIS_VER}.tar.xz -RUN wget -O - ${VORBIS_REPO} | tar xJ; \ - cd libvorbis-${VORBIS_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${VORBIS_REPO} | tar xJ && \ + cd libvorbis-${VORBIS_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build mp3lame ARG MP3LAME_VER=3.100 ARG MP3LAME_REPO=https://sourceforge.net/projects/lame/files/lame/${MP3LAME_VER}/lame-${MP3LAME_VER}.tar.gz -RUN wget -O - ${MP3LAME_REPO} | tar xz; \ - cd lame-${MP3LAME_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --enable-nasm; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${MP3LAME_REPO} | tar xz && \ + cd lame-${MP3LAME_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --enable-nasm && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build fdk-aac ARG FDK_AAC_VER=v0.1.6 ARG FDK_AAC_REPO=https://github.com/mstorsjo/fdk-aac/archive/${FDK_AAC_VER}.tar.gz -RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac; \ - cd fdk-aac; \ - autoreconf -fiv; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac && \ + cd fdk-aac && \ + autoreconf -fiv && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -85,23 +85,23 @@ RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac; \ ARG OPUS_VER=1.2.1 ARG OPUS_REPO=https://archive.mozilla.org/pub/opus/opus-${OPUS_VER}.tar.gz -RUN wget -O - ${OPUS_REPO} | tar xz; \ - cd opus-${OPUS_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${OPUS_REPO} | tar xz && \ + cd opus-${OPUS_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build vpx ARG VPX_VER=tags/v1.7.0 ARG VPX_REPO=https://chromium.googlesource.com/webm/libvpx.git -RUN git clone ${VPX_REPO}; \ - cd libvpx; \ - git checkout ${VPX_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=nasm; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${VPX_REPO} && \ + cd libvpx && \ + git checkout ${VPX_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=nasm && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -109,25 +109,25 @@ RUN git clone ${VPX_REPO}; \ ARG AOM_VER=tags/v1.0.0 ARG AOM_REPO=https://aomedia.googlesource.com/aom -RUN git clone ${AOM_REPO}; \ - mkdir aom/aom_build; \ - cd aom/aom_build; \ - git checkout ${AOM_VER}; \ - cmake -DBUILD_SHARED_LIBS=ON -DENABLE_NASM=ON -DENABLE_TESTS=OFF -DENABLE_DOCS=OFF -DCMAKE_INSTALL_PREFIX="/usr" -DLIB_INSTALL_DIR=/usr/lib64 ..; \ - make -j8; \ - make install DESTDIR="/home/build"; \ +RUN git clone ${AOM_REPO} && \ + mkdir aom/aom_build && \ + cd aom/aom_build && \ + git checkout ${AOM_VER} && \ + cmake -DBUILD_SHARED_LIBS=ON -DENABLE_NASM=ON -DENABLE_TESTS=OFF -DENABLE_DOCS=OFF -DCMAKE_INSTALL_PREFIX="/usr" -DLIB_INSTALL_DIR=/usr/lib64 .. && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ make install # Build x264 ARG X264_VER=stable ARG X264_REPO=https://github.com/mirror/x264 -RUN git clone ${X264_REPO}; \ - cd x264; \ - git checkout ${X264_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared; \ - make -j8; \ - make install DESTDIR="/home/build"; \ +RUN git clone ${X264_REPO} && \ + cd x264 && \ + git checkout ${X264_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ make install @@ -137,28 +137,28 @@ ARG X265_REPO=https://github.com/videolan/x265/archive/${X265_VER}.tar.gz RUN yum install -y -q numactl-devel libpciaccess-devel -RUN wget -O - ${X265_REPO} | tar xz && mv x265-${X265_VER} x265; \ - cd x265/build/linux; \ - cmake -DBUILD_SHARED_LIBS=ON -DENABLE_TESTS=OFF -DCMAKE_INSTALL_PREFIX=/usr -DLIB_INSTALL_DIR=/usr/lib64 ../../source; \ - make -j8; \ - make install DESTDIR="/home/build"; \ +RUN wget -O - ${X265_REPO} | tar xz && mv x265-${X265_VER} x265 && \ + cd x265/build/linux && \ + cmake -DBUILD_SHARED_LIBS=ON -DENABLE_TESTS=OFF -DCMAKE_INSTALL_PREFIX=/usr -DLIB_INSTALL_DIR=/usr/lib64 ../../source && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ make install # Fetch SVT-HEVC ARG SVT_HEVC_VER=v1.3.0 ARG SVT_HEVC_REPO=https://github.com/intel/SVT-HEVC -RUN yum install -y -q patch centos-release-scl; \ +RUN yum install -y -q patch centos-release-scl && \ yum install -y -q devtoolset-7 -RUN git clone ${SVT_HEVC_REPO}; \ - cd SVT-HEVC/Build/linux; \ - git checkout ${SVT_HEVC_VER}; \ - mkdir -p ../../Bin/Release; \ - ( source /opt/rh/devtoolset-7/enable; \ - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${SVT_HEVC_REPO} && \ + cd SVT-HEVC/Build/linux && \ + git checkout ${SVT_HEVC_VER} && \ + mkdir -p ../../Bin/Release && \ + ( source /opt/rh/devtoolset-7/enable && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install ) @@ -166,13 +166,13 @@ RUN git clone ${SVT_HEVC_REPO}; \ ARG SVT_AV1_VER=a39acb2 ARG SVT_AV1_REPO=https://github.com/OpenVisualCloud/SVT-AV1 -RUN git clone ${SVT_AV1_REPO}; \ - cd SVT-AV1/Build/linux; \ - git checkout ${SVT_AV1_VER}; \ - mkdir -p ../../Bin/Release; \ - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${SVT_AV1_REPO} && \ + cd SVT-AV1/Build/linux && \ + git checkout ${SVT_AV1_VER} && \ + mkdir -p ../../Bin/Release && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -180,14 +180,14 @@ RUN git clone ${SVT_AV1_REPO}; \ ARG SVT_VP9_VER=e92a57c ARG SVT_VP9_REPO=https://github.com/OpenVisualCloud/SVT-VP9 -RUN git clone ${SVT_VP9_REPO}; \ - cd SVT-VP9/Build/linux; \ - git checkout ${SVT_VP9_VER}; \ - mkdir -p ../../Bin/Release; \ - ( source /opt/rh/devtoolset-7/enable; \ - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${SVT_VP9_REPO} && \ + cd SVT-VP9/Build/linux && \ + git checkout ${SVT_VP9_VER} && \ + mkdir -p ../../Bin/Release && \ + ( source /opt/rh/devtoolset-7/enable && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install ) #include(transform360.m4) @@ -234,28 +234,28 @@ ARG FFMPEG_1TN_PATCH_REPO=https://patchwork.ffmpeg.org/patch/11625/raw ARG FFMPEG_THREAD_PATCH_REPO=https://patchwork.ffmpeg.org/patch/11035/raw RUN yum install -y -q zlib-devel openssl-devel -RUN wget -O - ${FFMPEG_REPO} | tar xz && mv FFmpeg-${FFMPEG_VER} FFmpeg; \ - cd FFmpeg; \ - wget -O - ${FFMPEG_FLV_PATCH_REPO} | patch -p1; \ - wget -O - ${FFMPEG_1TN_PATCH_REPO} | patch -p1; \ +RUN wget -O - ${FFMPEG_REPO} | tar xz && mv FFmpeg-${FFMPEG_VER} FFmpeg && \ + cd FFmpeg && \ + wget -O - ${FFMPEG_FLV_PATCH_REPO} | patch -p1 && \ + wget -O - ${FFMPEG_1TN_PATCH_REPO} | patch -p1 && \ wget -O - ${FFMPEG_THREAD_PATCH_REPO} | patch -p1; # Patch FFmpeg source for SVT-HEVC -RUN cd /home/FFmpeg; \ +RUN cd /home/FFmpeg && \ patch -p1 < ../SVT-HEVC/ffmpeg_plugin/0001-lavc-svt_hevc-add-libsvt-hevc-encoder-wrapper.patch; # Compile FFmpeg -RUN cd /home/FFmpeg; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --extra-libs="-lpthread -lm" --enable-shared --enable-gpl --disable-xlib --disable-sdl2 --enable-openssl --enable-nonfree --disable-vaapi --disable-hwaccels --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --enable-libfdk-aac --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-libaom --enable-libsvthevc ; \ - make -j8; \ +RUN cd /home/FFmpeg && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --extra-libs="-lpthread -lm" --enable-shared --enable-gpl --disable-xlib --disable-sdl2 --enable-openssl --enable-nonfree --disable-vaapi --disable-hwaccels --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --enable-libfdk-aac --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-libaom --enable-libsvthevc && \ + make -j8 && \ make install DESTDIR="/home/build" # Clean up after build -RUN rm -rf /home/build/usr/include; \ - rm -rf /home/build/usr/share/doc; \ - rm -rf /home/build/usr/share/gtk-doc; \ - rm -rf /home/build/usr/share/man; \ +RUN rm -rf /home/build/usr/include && \ + rm -rf /home/build/usr/share/doc && \ + rm -rf /home/build/usr/share/gtk-doc && \ + rm -rf /home/build/usr/share/man && \ find /home/build -name "*.a" -exec rm -f {} \; FROM centos:7.6.1810 diff --git a/Xeon/centos-7.6/dldt+gst/Dockerfile b/Xeon/centos-7.6/dldt+gst/Dockerfile index 53dee58a2..167191b35 100644 --- a/Xeon/centos-7.6/dldt+gst/Dockerfile +++ b/Xeon/centos-7.6/dldt+gst/Dockerfile @@ -8,76 +8,76 @@ RUN yum install -y -q bzip2 make autoconf libtool git wget ca-certificates pkg-c # Install cmake ARG CMAKE_VER=3.13.1 ARG CMAKE_REPO=https://cmake.org/files -RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz; \ - cd cmake-${CMAKE_VER}; \ - ./bootstrap --prefix="/usr"; \ - make -j8; \ +RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz && \ + cd cmake-${CMAKE_VER} && \ + ./bootstrap --prefix="/usr" && \ + make -j8 && \ make install # Build NASM ARG NASM_VER=2.13.03 ARG NASM_REPO=https://www.nasm.us/pub/nasm/releasebuilds/${NASM_VER}/nasm-${NASM_VER}.tar.bz2 -RUN wget ${NASM_REPO}; \ - tar -xaf nasm*; \ - cd nasm-${NASM_VER}; \ - ./autogen.sh; \ - ./configure --prefix="/usr" --libdir=/usr/lib64; \ - make -j8; \ +RUN wget ${NASM_REPO} && \ + tar -xaf nasm* && \ + cd nasm-${NASM_VER} && \ + ./autogen.sh && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 && \ + make -j8 && \ make install # Build YASM ARG YASM_VER=1.3.0 ARG YASM_REPO=https://www.tortall.net/projects/yasm/releases/yasm-${YASM_VER}.tar.gz -RUN wget -O - ${YASM_REPO} | tar xz; \ - cd yasm-${YASM_VER}; \ - sed -i "s/) ytasm.*/)/" Makefile.in; \ - ./configure --prefix="/usr" --libdir=/usr/lib64; \ - make -j8; \ +RUN wget -O - ${YASM_REPO} | tar xz && \ + cd yasm-${YASM_VER} && \ + sed -i "s/) ytasm.*/)/" Makefile.in && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 && \ + make -j8 && \ make install # Build ogg ARG OGG_VER=1.3.3 ARG OGG_REPO=https://downloads.xiph.org/releases/ogg/libogg-${OGG_VER}.tar.xz -RUN wget -O - ${OGG_REPO} | tar xJ; \ - cd libogg-${OGG_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${OGG_REPO} | tar xJ && \ + cd libogg-${OGG_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build vorbis ARG VORBIS_VER=1.3.6 ARG VORBIS_REPO=https://downloads.xiph.org/releases/vorbis/libvorbis-${VORBIS_VER}.tar.xz -RUN wget -O - ${VORBIS_REPO} | tar xJ; \ - cd libvorbis-${VORBIS_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${VORBIS_REPO} | tar xJ && \ + cd libvorbis-${VORBIS_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build mp3lame ARG MP3LAME_VER=3.100 ARG MP3LAME_REPO=https://sourceforge.net/projects/lame/files/lame/${MP3LAME_VER}/lame-${MP3LAME_VER}.tar.gz -RUN wget -O - ${MP3LAME_REPO} | tar xz; \ - cd lame-${MP3LAME_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --enable-nasm; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${MP3LAME_REPO} | tar xz && \ + cd lame-${MP3LAME_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --enable-nasm && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build fdk-aac ARG FDK_AAC_VER=v0.1.6 ARG FDK_AAC_REPO=https://github.com/mstorsjo/fdk-aac/archive/${FDK_AAC_VER}.tar.gz -RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac; \ - cd fdk-aac; \ - autoreconf -fiv; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac && \ + cd fdk-aac && \ + autoreconf -fiv && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -85,23 +85,23 @@ RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac; \ ARG OPUS_VER=1.2.1 ARG OPUS_REPO=https://archive.mozilla.org/pub/opus/opus-${OPUS_VER}.tar.gz -RUN wget -O - ${OPUS_REPO} | tar xz; \ - cd opus-${OPUS_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${OPUS_REPO} | tar xz && \ + cd opus-${OPUS_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build vpx ARG VPX_VER=tags/v1.7.0 ARG VPX_REPO=https://chromium.googlesource.com/webm/libvpx.git -RUN git clone ${VPX_REPO}; \ - cd libvpx; \ - git checkout ${VPX_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=nasm; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${VPX_REPO} && \ + cd libvpx && \ + git checkout ${VPX_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=nasm && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -109,25 +109,25 @@ RUN git clone ${VPX_REPO}; \ ARG AOM_VER=tags/v1.0.0 ARG AOM_REPO=https://aomedia.googlesource.com/aom -RUN git clone ${AOM_REPO}; \ - mkdir aom/aom_build; \ - cd aom/aom_build; \ - git checkout ${AOM_VER}; \ - cmake -DBUILD_SHARED_LIBS=ON -DENABLE_NASM=ON -DENABLE_TESTS=OFF -DENABLE_DOCS=OFF -DCMAKE_INSTALL_PREFIX="/usr" -DLIB_INSTALL_DIR=/usr/lib64 ..; \ - make -j8; \ - make install DESTDIR="/home/build"; \ +RUN git clone ${AOM_REPO} && \ + mkdir aom/aom_build && \ + cd aom/aom_build && \ + git checkout ${AOM_VER} && \ + cmake -DBUILD_SHARED_LIBS=ON -DENABLE_NASM=ON -DENABLE_TESTS=OFF -DENABLE_DOCS=OFF -DCMAKE_INSTALL_PREFIX="/usr" -DLIB_INSTALL_DIR=/usr/lib64 .. && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ make install # Build x264 ARG X264_VER=stable ARG X264_REPO=https://github.com/mirror/x264 -RUN git clone ${X264_REPO}; \ - cd x264; \ - git checkout ${X264_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared; \ - make -j8; \ - make install DESTDIR="/home/build"; \ +RUN git clone ${X264_REPO} && \ + cd x264 && \ + git checkout ${X264_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ make install @@ -137,28 +137,28 @@ ARG X265_REPO=https://github.com/videolan/x265/archive/${X265_VER}.tar.gz RUN yum install -y -q numactl-devel libpciaccess-devel -RUN wget -O - ${X265_REPO} | tar xz && mv x265-${X265_VER} x265; \ - cd x265/build/linux; \ - cmake -DBUILD_SHARED_LIBS=ON -DENABLE_TESTS=OFF -DCMAKE_INSTALL_PREFIX=/usr -DLIB_INSTALL_DIR=/usr/lib64 ../../source; \ - make -j8; \ - make install DESTDIR="/home/build"; \ +RUN wget -O - ${X265_REPO} | tar xz && mv x265-${X265_VER} x265 && \ + cd x265/build/linux && \ + cmake -DBUILD_SHARED_LIBS=ON -DENABLE_TESTS=OFF -DCMAKE_INSTALL_PREFIX=/usr -DLIB_INSTALL_DIR=/usr/lib64 ../../source && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ make install # Fetch SVT-HEVC ARG SVT_HEVC_VER=v1.3.0 ARG SVT_HEVC_REPO=https://github.com/intel/SVT-HEVC -RUN yum install -y -q patch centos-release-scl; \ +RUN yum install -y -q patch centos-release-scl && \ yum install -y -q devtoolset-7 -RUN git clone ${SVT_HEVC_REPO}; \ - cd SVT-HEVC/Build/linux; \ - git checkout ${SVT_HEVC_VER}; \ - mkdir -p ../../Bin/Release; \ - ( source /opt/rh/devtoolset-7/enable; \ - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${SVT_HEVC_REPO} && \ + cd SVT-HEVC/Build/linux && \ + git checkout ${SVT_HEVC_VER} && \ + mkdir -p ../../Bin/Release && \ + ( source /opt/rh/devtoolset-7/enable && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install ) @@ -166,13 +166,13 @@ RUN git clone ${SVT_HEVC_REPO}; \ ARG SVT_AV1_VER=a39acb2 ARG SVT_AV1_REPO=https://github.com/OpenVisualCloud/SVT-AV1 -RUN git clone ${SVT_AV1_REPO}; \ - cd SVT-AV1/Build/linux; \ - git checkout ${SVT_AV1_VER}; \ - mkdir -p ../../Bin/Release; \ - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${SVT_AV1_REPO} && \ + cd SVT-AV1/Build/linux && \ + git checkout ${SVT_AV1_VER} && \ + mkdir -p ../../Bin/Release && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -180,14 +180,14 @@ RUN git clone ${SVT_AV1_REPO}; \ ARG SVT_VP9_VER=e92a57c ARG SVT_VP9_REPO=https://github.com/OpenVisualCloud/SVT-VP9 -RUN git clone ${SVT_VP9_REPO}; \ - cd SVT-VP9/Build/linux; \ - git checkout ${SVT_VP9_VER}; \ - mkdir -p ../../Bin/Release; \ - ( source /opt/rh/devtoolset-7/enable; \ - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${SVT_VP9_REPO} && \ + cd SVT-VP9/Build/linux && \ + git checkout ${SVT_VP9_VER} && \ + mkdir -p ../../Bin/Release && \ + ( source /opt/rh/devtoolset-7/enable && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install ) # Build DLDT-Inference Engine @@ -225,62 +225,73 @@ RUN git clone -b ${DLDT_VER} ${DLDT_REPO}; \ echo "Cflags: -I\${includedir}" >> "$pc"; \ done; +# Install automake +ARG AUTOMAKE_VER=1.14 +ARG AUTOMAKE_REPO=https://ftp.gnu.org/pub/gnu/automake/automake-${AUTOMAKE_VER}.tar.xz + +RUN wget -O - ${AUTOMAKE_REPO} | tar xJ && \ + cd automake-${AUTOMAKE_VER} && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --disable-doc && \ + make -j8 && \ + make install + + # Build the gstremaer core ARG GST_VER=1.14.4 ARG GST_REPO=https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${GST_VER}.tar.xz -RUN yum install -y -q glib2-devel-2.56.1 -RUN wget -O - ${GST_REPO} | tar xJ; \ - cd gstreamer-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-gst-debug --disable-debug --disable-benchmarks --disable-check; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN yum install -y -q glib2-devel-2.56.1 gettext-devel gtk-doc +RUN wget -O - ${GST_REPO} | tar xJ && \ + cd gstreamer-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-gst-debug --disable-debug --disable-benchmarks --disable-check && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin base ARG GST_PLUGIN_BASE_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_BASE_REPO} | tar xJ; \ - cd gst-plugins-base-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-debug; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${GST_PLUGIN_BASE_REPO} | tar xJ && \ + cd gst-plugins-base-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-debug && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin good set ARG GST_PLUGIN_GOOD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_GOOD_REPO} | tar xJ; \ - cd gst-plugins-good-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-debug; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${GST_PLUGIN_GOOD_REPO} | tar xJ && \ + cd gst-plugins-good-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-debug && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin bad set ARG GST_PLUGIN_BAD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_BAD_REPO} | tar xJ; \ - cd gst-plugins-bad-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-debug; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${GST_PLUGIN_BAD_REPO} | tar xJ && \ + cd gst-plugins-bad-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-debug && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin ugly set ARG GST_PLUGIN_UGLY_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_UGLY_REPO} | tar xJ; \ - cd gst-plugins-ugly-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-debug; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${GST_PLUGIN_UGLY_REPO} | tar xJ && \ + cd gst-plugins-ugly-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-debug && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build gst-libav @@ -288,19 +299,19 @@ ARG GST_PLUGIN_LIBAV_REPO=https://gstreamer.freedesktop.org/src/gst-libav/gst-li RUN yum install -y -q zlib-devel openssl-devel -RUN wget -O - ${GST_PLUGIN_LIBAV_REPO} | tar xJ; \ - cd gst-libav-${GST_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --enable-gpl; \ - make -j8; \ +RUN wget -O - ${GST_PLUGIN_LIBAV_REPO} | tar xJ && \ + cd gst-libav-${GST_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --enable-gpl && \ + make -j8 && \ make install DESTDIR="/home/build" # Clean up after build -RUN rm -rf /home/build/usr/include; \ - rm -rf /home/build/usr/share/doc; \ - rm -rf /home/build/usr/share/gtk-doc; \ - rm -rf /home/build/usr/share/man; \ +RUN rm -rf /home/build/usr/include && \ + rm -rf /home/build/usr/share/doc && \ + rm -rf /home/build/usr/share/gtk-doc && \ + rm -rf /home/build/usr/share/man && \ find /home/build -name "*.a" -exec rm -f {} \; FROM centos:7.6.1810 diff --git a/Xeon/centos-7.6/dldt+gst/Dockerfile.m4 b/Xeon/centos-7.6/dldt+gst/Dockerfile.m4 index 6226a9679..e19067821 100644 --- a/Xeon/centos-7.6/dldt+gst/Dockerfile.m4 +++ b/Xeon/centos-7.6/dldt+gst/Dockerfile.m4 @@ -17,6 +17,7 @@ include(svt-hevc.m4) include(svt-av1.m4) include(svt-vp9.m4) include(dldt-ie.m4) +include(automake.m4) include(gst.m4) include(gst-plugin-base.m4) include(gst-plugin-good.m4) diff --git a/Xeon/centos-7.6/ffmpeg+gst+dev/Dockerfile b/Xeon/centos-7.6/ffmpeg+gst+dev/Dockerfile index 3dfe9aa2e..9696e6b74 100644 --- a/Xeon/centos-7.6/ffmpeg+gst+dev/Dockerfile +++ b/Xeon/centos-7.6/ffmpeg+gst+dev/Dockerfile @@ -8,76 +8,76 @@ RUN yum install -y -q bzip2 make autoconf libtool git wget ca-certificates pkg-c # Install cmake ARG CMAKE_VER=3.13.1 ARG CMAKE_REPO=https://cmake.org/files -RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz; \ - cd cmake-${CMAKE_VER}; \ - ./bootstrap --prefix="/usr"; \ - make -j8; \ +RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz && \ + cd cmake-${CMAKE_VER} && \ + ./bootstrap --prefix="/usr" && \ + make -j8 && \ make install # Build NASM ARG NASM_VER=2.13.03 ARG NASM_REPO=https://www.nasm.us/pub/nasm/releasebuilds/${NASM_VER}/nasm-${NASM_VER}.tar.bz2 -RUN wget ${NASM_REPO}; \ - tar -xaf nasm*; \ - cd nasm-${NASM_VER}; \ - ./autogen.sh; \ - ./configure --prefix="/usr" --libdir=/usr/lib64; \ - make -j8; \ +RUN wget ${NASM_REPO} && \ + tar -xaf nasm* && \ + cd nasm-${NASM_VER} && \ + ./autogen.sh && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 && \ + make -j8 && \ make install # Build YASM ARG YASM_VER=1.3.0 ARG YASM_REPO=https://www.tortall.net/projects/yasm/releases/yasm-${YASM_VER}.tar.gz -RUN wget -O - ${YASM_REPO} | tar xz; \ - cd yasm-${YASM_VER}; \ - sed -i "s/) ytasm.*/)/" Makefile.in; \ - ./configure --prefix="/usr" --libdir=/usr/lib64; \ - make -j8; \ +RUN wget -O - ${YASM_REPO} | tar xz && \ + cd yasm-${YASM_VER} && \ + sed -i "s/) ytasm.*/)/" Makefile.in && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 && \ + make -j8 && \ make install # Build ogg ARG OGG_VER=1.3.3 ARG OGG_REPO=https://downloads.xiph.org/releases/ogg/libogg-${OGG_VER}.tar.xz -RUN wget -O - ${OGG_REPO} | tar xJ; \ - cd libogg-${OGG_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${OGG_REPO} | tar xJ && \ + cd libogg-${OGG_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build vorbis ARG VORBIS_VER=1.3.6 ARG VORBIS_REPO=https://downloads.xiph.org/releases/vorbis/libvorbis-${VORBIS_VER}.tar.xz -RUN wget -O - ${VORBIS_REPO} | tar xJ; \ - cd libvorbis-${VORBIS_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${VORBIS_REPO} | tar xJ && \ + cd libvorbis-${VORBIS_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build mp3lame ARG MP3LAME_VER=3.100 ARG MP3LAME_REPO=https://sourceforge.net/projects/lame/files/lame/${MP3LAME_VER}/lame-${MP3LAME_VER}.tar.gz -RUN wget -O - ${MP3LAME_REPO} | tar xz; \ - cd lame-${MP3LAME_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --enable-nasm; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${MP3LAME_REPO} | tar xz && \ + cd lame-${MP3LAME_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --enable-nasm && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build fdk-aac ARG FDK_AAC_VER=v0.1.6 ARG FDK_AAC_REPO=https://github.com/mstorsjo/fdk-aac/archive/${FDK_AAC_VER}.tar.gz -RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac; \ - cd fdk-aac; \ - autoreconf -fiv; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac && \ + cd fdk-aac && \ + autoreconf -fiv && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -85,23 +85,23 @@ RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac; \ ARG OPUS_VER=1.2.1 ARG OPUS_REPO=https://archive.mozilla.org/pub/opus/opus-${OPUS_VER}.tar.gz -RUN wget -O - ${OPUS_REPO} | tar xz; \ - cd opus-${OPUS_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${OPUS_REPO} | tar xz && \ + cd opus-${OPUS_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build vpx ARG VPX_VER=tags/v1.7.0 ARG VPX_REPO=https://chromium.googlesource.com/webm/libvpx.git -RUN git clone ${VPX_REPO}; \ - cd libvpx; \ - git checkout ${VPX_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=nasm; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${VPX_REPO} && \ + cd libvpx && \ + git checkout ${VPX_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=nasm && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -109,25 +109,25 @@ RUN git clone ${VPX_REPO}; \ ARG AOM_VER=tags/v1.0.0 ARG AOM_REPO=https://aomedia.googlesource.com/aom -RUN git clone ${AOM_REPO}; \ - mkdir aom/aom_build; \ - cd aom/aom_build; \ - git checkout ${AOM_VER}; \ - cmake -DBUILD_SHARED_LIBS=ON -DENABLE_NASM=ON -DENABLE_TESTS=OFF -DENABLE_DOCS=OFF -DCMAKE_INSTALL_PREFIX="/usr" -DLIB_INSTALL_DIR=/usr/lib64 ..; \ - make -j8; \ - make install DESTDIR="/home/build"; \ +RUN git clone ${AOM_REPO} && \ + mkdir aom/aom_build && \ + cd aom/aom_build && \ + git checkout ${AOM_VER} && \ + cmake -DBUILD_SHARED_LIBS=ON -DENABLE_NASM=ON -DENABLE_TESTS=OFF -DENABLE_DOCS=OFF -DCMAKE_INSTALL_PREFIX="/usr" -DLIB_INSTALL_DIR=/usr/lib64 .. && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ make install # Build x264 ARG X264_VER=stable ARG X264_REPO=https://github.com/mirror/x264 -RUN git clone ${X264_REPO}; \ - cd x264; \ - git checkout ${X264_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared; \ - make -j8; \ - make install DESTDIR="/home/build"; \ +RUN git clone ${X264_REPO} && \ + cd x264 && \ + git checkout ${X264_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ make install @@ -137,28 +137,28 @@ ARG X265_REPO=https://github.com/videolan/x265/archive/${X265_VER}.tar.gz RUN yum install -y -q numactl-devel libpciaccess-devel -RUN wget -O - ${X265_REPO} | tar xz && mv x265-${X265_VER} x265; \ - cd x265/build/linux; \ - cmake -DBUILD_SHARED_LIBS=ON -DENABLE_TESTS=OFF -DCMAKE_INSTALL_PREFIX=/usr -DLIB_INSTALL_DIR=/usr/lib64 ../../source; \ - make -j8; \ - make install DESTDIR="/home/build"; \ +RUN wget -O - ${X265_REPO} | tar xz && mv x265-${X265_VER} x265 && \ + cd x265/build/linux && \ + cmake -DBUILD_SHARED_LIBS=ON -DENABLE_TESTS=OFF -DCMAKE_INSTALL_PREFIX=/usr -DLIB_INSTALL_DIR=/usr/lib64 ../../source && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ make install # Fetch SVT-HEVC ARG SVT_HEVC_VER=v1.3.0 ARG SVT_HEVC_REPO=https://github.com/intel/SVT-HEVC -RUN yum install -y -q patch centos-release-scl; \ +RUN yum install -y -q patch centos-release-scl && \ yum install -y -q devtoolset-7 -RUN git clone ${SVT_HEVC_REPO}; \ - cd SVT-HEVC/Build/linux; \ - git checkout ${SVT_HEVC_VER}; \ - mkdir -p ../../Bin/Release; \ - ( source /opt/rh/devtoolset-7/enable; \ - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${SVT_HEVC_REPO} && \ + cd SVT-HEVC/Build/linux && \ + git checkout ${SVT_HEVC_VER} && \ + mkdir -p ../../Bin/Release && \ + ( source /opt/rh/devtoolset-7/enable && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install ) @@ -166,13 +166,13 @@ RUN git clone ${SVT_HEVC_REPO}; \ ARG SVT_AV1_VER=a39acb2 ARG SVT_AV1_REPO=https://github.com/OpenVisualCloud/SVT-AV1 -RUN git clone ${SVT_AV1_REPO}; \ - cd SVT-AV1/Build/linux; \ - git checkout ${SVT_AV1_VER}; \ - mkdir -p ../../Bin/Release; \ - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${SVT_AV1_REPO} && \ + cd SVT-AV1/Build/linux && \ + git checkout ${SVT_AV1_VER} && \ + mkdir -p ../../Bin/Release && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -180,14 +180,14 @@ RUN git clone ${SVT_AV1_REPO}; \ ARG SVT_VP9_VER=e92a57c ARG SVT_VP9_REPO=https://github.com/OpenVisualCloud/SVT-VP9 -RUN git clone ${SVT_VP9_REPO}; \ - cd SVT-VP9/Build/linux; \ - git checkout ${SVT_VP9_VER}; \ - mkdir -p ../../Bin/Release; \ - ( source /opt/rh/devtoolset-7/enable; \ - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${SVT_VP9_REPO} && \ + cd SVT-VP9/Build/linux && \ + git checkout ${SVT_VP9_VER} && \ + mkdir -p ../../Bin/Release && \ + ( source /opt/rh/devtoolset-7/enable && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install ) #include(transform360.m4) @@ -226,62 +226,73 @@ RUN git clone -b ${DLDT_VER} ${DLDT_REPO}; \ echo "Cflags: -I\${includedir}" >> "$pc"; \ done; +# Install automake +ARG AUTOMAKE_VER=1.14 +ARG AUTOMAKE_REPO=https://ftp.gnu.org/pub/gnu/automake/automake-${AUTOMAKE_VER}.tar.xz + +RUN wget -O - ${AUTOMAKE_REPO} | tar xJ && \ + cd automake-${AUTOMAKE_VER} && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --disable-doc && \ + make -j8 && \ + make install + + # Build the gstremaer core ARG GST_VER=1.14.4 ARG GST_REPO=https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${GST_VER}.tar.xz -RUN yum install -y -q glib2-devel-2.56.1 -RUN wget -O - ${GST_REPO} | tar xJ; \ - cd gstreamer-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples ; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN yum install -y -q glib2-devel-2.56.1 gettext-devel gtk-doc +RUN wget -O - ${GST_REPO} | tar xJ && \ + cd gstreamer-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin base ARG GST_PLUGIN_BASE_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_BASE_REPO} | tar xJ; \ - cd gst-plugins-base-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples ; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${GST_PLUGIN_BASE_REPO} | tar xJ && \ + cd gst-plugins-base-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin good set ARG GST_PLUGIN_GOOD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_GOOD_REPO} | tar xJ; \ - cd gst-plugins-good-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples ; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${GST_PLUGIN_GOOD_REPO} | tar xJ && \ + cd gst-plugins-good-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin bad set ARG GST_PLUGIN_BAD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_BAD_REPO} | tar xJ; \ - cd gst-plugins-bad-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples ; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${GST_PLUGIN_BAD_REPO} | tar xJ && \ + cd gst-plugins-bad-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin ugly set ARG GST_PLUGIN_UGLY_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_UGLY_REPO} | tar xJ; \ - cd gst-plugins-ugly-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples ; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${GST_PLUGIN_UGLY_REPO} | tar xJ && \ + cd gst-plugins-ugly-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build gst-libav @@ -289,10 +300,10 @@ ARG GST_PLUGIN_LIBAV_REPO=https://gstreamer.freedesktop.org/src/gst-libav/gst-li RUN yum install -y -q zlib-devel openssl-devel -RUN wget -O - ${GST_PLUGIN_LIBAV_REPO} | tar xJ; \ - cd gst-libav-${GST_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --enable-gpl; \ - make -j8; \ +RUN wget -O - ${GST_PLUGIN_LIBAV_REPO} | tar xJ && \ + cd gst-libav-${GST_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --enable-gpl && \ + make -j8 && \ make install DESTDIR="/home/build" @@ -305,20 +316,20 @@ ARG FFMPEG_1TN_PATCH_REPO=https://patchwork.ffmpeg.org/patch/11625/raw ARG FFMPEG_THREAD_PATCH_REPO=https://patchwork.ffmpeg.org/patch/11035/raw RUN yum install -y -q libass-devel freetype-devel SDL2-devel libxcb-devel texinfo zlib-devel openssl-devel -RUN wget -O - ${FFMPEG_REPO} | tar xz && mv FFmpeg-${FFMPEG_VER} FFmpeg; \ - cd FFmpeg; \ - wget -O - ${FFMPEG_FLV_PATCH_REPO} | patch -p1; \ - wget -O - ${FFMPEG_1TN_PATCH_REPO} | patch -p1; \ +RUN wget -O - ${FFMPEG_REPO} | tar xz && mv FFmpeg-${FFMPEG_VER} FFmpeg && \ + cd FFmpeg && \ + wget -O - ${FFMPEG_FLV_PATCH_REPO} | patch -p1 && \ + wget -O - ${FFMPEG_1TN_PATCH_REPO} | patch -p1 && \ wget -O - ${FFMPEG_THREAD_PATCH_REPO} | patch -p1; # Patch FFmpeg source for SVT-HEVC -RUN cd /home/FFmpeg; \ +RUN cd /home/FFmpeg && \ patch -p1 < ../SVT-HEVC/ffmpeg_plugin/0001-lavc-svt_hevc-add-libsvt-hevc-encoder-wrapper.patch; # Compile FFmpeg -RUN cd /home/FFmpeg; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --extra-libs="-lpthread -lm" --enable-shared --enable-gpl --enable-libass --enable-libfreetype --enable-openssl --enable-nonfree --disable-vaapi --disable-hwaccels --enable-libfdk-aac --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-libaom --enable-libsvthevc ; \ - make -j8; \ +RUN cd /home/FFmpeg && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --extra-libs="-lpthread -lm" --enable-shared --enable-gpl --enable-libass --enable-libfreetype --enable-openssl --enable-nonfree --disable-vaapi --disable-hwaccels --enable-libfdk-aac --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-libaom --enable-libsvthevc && \ + make -j8 && \ make install DESTDIR="/home/build" diff --git a/Xeon/centos-7.6/ffmpeg+gst+dev/Dockerfile.m4 b/Xeon/centos-7.6/ffmpeg+gst+dev/Dockerfile.m4 index e19f3d737..14a94e794 100644 --- a/Xeon/centos-7.6/ffmpeg+gst+dev/Dockerfile.m4 +++ b/Xeon/centos-7.6/ffmpeg+gst+dev/Dockerfile.m4 @@ -18,6 +18,7 @@ include(svt-av1.m4) include(svt-vp9.m4) #include(transform360.m4) include(dldt-ie.m4) +include(automake.m4) include(gst.m4) include(gst-plugin-base.m4) include(gst-plugin-good.m4) diff --git a/Xeon/centos-7.6/ffmpeg/Dockerfile b/Xeon/centos-7.6/ffmpeg/Dockerfile index 439bb78ff..cc87d1096 100644 --- a/Xeon/centos-7.6/ffmpeg/Dockerfile +++ b/Xeon/centos-7.6/ffmpeg/Dockerfile @@ -8,76 +8,76 @@ RUN yum install -y -q bzip2 make autoconf libtool git wget ca-certificates pkg-c # Install cmake ARG CMAKE_VER=3.13.1 ARG CMAKE_REPO=https://cmake.org/files -RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz; \ - cd cmake-${CMAKE_VER}; \ - ./bootstrap --prefix="/usr"; \ - make -j8; \ +RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz && \ + cd cmake-${CMAKE_VER} && \ + ./bootstrap --prefix="/usr" && \ + make -j8 && \ make install # Build NASM ARG NASM_VER=2.13.03 ARG NASM_REPO=https://www.nasm.us/pub/nasm/releasebuilds/${NASM_VER}/nasm-${NASM_VER}.tar.bz2 -RUN wget ${NASM_REPO}; \ - tar -xaf nasm*; \ - cd nasm-${NASM_VER}; \ - ./autogen.sh; \ - ./configure --prefix="/usr" --libdir=/usr/lib64; \ - make -j8; \ +RUN wget ${NASM_REPO} && \ + tar -xaf nasm* && \ + cd nasm-${NASM_VER} && \ + ./autogen.sh && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 && \ + make -j8 && \ make install # Build YASM ARG YASM_VER=1.3.0 ARG YASM_REPO=https://www.tortall.net/projects/yasm/releases/yasm-${YASM_VER}.tar.gz -RUN wget -O - ${YASM_REPO} | tar xz; \ - cd yasm-${YASM_VER}; \ - sed -i "s/) ytasm.*/)/" Makefile.in; \ - ./configure --prefix="/usr" --libdir=/usr/lib64; \ - make -j8; \ +RUN wget -O - ${YASM_REPO} | tar xz && \ + cd yasm-${YASM_VER} && \ + sed -i "s/) ytasm.*/)/" Makefile.in && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 && \ + make -j8 && \ make install # Build ogg ARG OGG_VER=1.3.3 ARG OGG_REPO=https://downloads.xiph.org/releases/ogg/libogg-${OGG_VER}.tar.xz -RUN wget -O - ${OGG_REPO} | tar xJ; \ - cd libogg-${OGG_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${OGG_REPO} | tar xJ && \ + cd libogg-${OGG_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build vorbis ARG VORBIS_VER=1.3.6 ARG VORBIS_REPO=https://downloads.xiph.org/releases/vorbis/libvorbis-${VORBIS_VER}.tar.xz -RUN wget -O - ${VORBIS_REPO} | tar xJ; \ - cd libvorbis-${VORBIS_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${VORBIS_REPO} | tar xJ && \ + cd libvorbis-${VORBIS_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build mp3lame ARG MP3LAME_VER=3.100 ARG MP3LAME_REPO=https://sourceforge.net/projects/lame/files/lame/${MP3LAME_VER}/lame-${MP3LAME_VER}.tar.gz -RUN wget -O - ${MP3LAME_REPO} | tar xz; \ - cd lame-${MP3LAME_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --enable-nasm; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${MP3LAME_REPO} | tar xz && \ + cd lame-${MP3LAME_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --enable-nasm && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build fdk-aac ARG FDK_AAC_VER=v0.1.6 ARG FDK_AAC_REPO=https://github.com/mstorsjo/fdk-aac/archive/${FDK_AAC_VER}.tar.gz -RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac; \ - cd fdk-aac; \ - autoreconf -fiv; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac && \ + cd fdk-aac && \ + autoreconf -fiv && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -85,23 +85,23 @@ RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac; \ ARG OPUS_VER=1.2.1 ARG OPUS_REPO=https://archive.mozilla.org/pub/opus/opus-${OPUS_VER}.tar.gz -RUN wget -O - ${OPUS_REPO} | tar xz; \ - cd opus-${OPUS_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${OPUS_REPO} | tar xz && \ + cd opus-${OPUS_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build vpx ARG VPX_VER=tags/v1.7.0 ARG VPX_REPO=https://chromium.googlesource.com/webm/libvpx.git -RUN git clone ${VPX_REPO}; \ - cd libvpx; \ - git checkout ${VPX_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=nasm; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${VPX_REPO} && \ + cd libvpx && \ + git checkout ${VPX_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=nasm && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -109,25 +109,25 @@ RUN git clone ${VPX_REPO}; \ ARG AOM_VER=tags/v1.0.0 ARG AOM_REPO=https://aomedia.googlesource.com/aom -RUN git clone ${AOM_REPO}; \ - mkdir aom/aom_build; \ - cd aom/aom_build; \ - git checkout ${AOM_VER}; \ - cmake -DBUILD_SHARED_LIBS=ON -DENABLE_NASM=ON -DENABLE_TESTS=OFF -DENABLE_DOCS=OFF -DCMAKE_INSTALL_PREFIX="/usr" -DLIB_INSTALL_DIR=/usr/lib64 ..; \ - make -j8; \ - make install DESTDIR="/home/build"; \ +RUN git clone ${AOM_REPO} && \ + mkdir aom/aom_build && \ + cd aom/aom_build && \ + git checkout ${AOM_VER} && \ + cmake -DBUILD_SHARED_LIBS=ON -DENABLE_NASM=ON -DENABLE_TESTS=OFF -DENABLE_DOCS=OFF -DCMAKE_INSTALL_PREFIX="/usr" -DLIB_INSTALL_DIR=/usr/lib64 .. && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ make install # Build x264 ARG X264_VER=stable ARG X264_REPO=https://github.com/mirror/x264 -RUN git clone ${X264_REPO}; \ - cd x264; \ - git checkout ${X264_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared; \ - make -j8; \ - make install DESTDIR="/home/build"; \ +RUN git clone ${X264_REPO} && \ + cd x264 && \ + git checkout ${X264_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ make install @@ -137,28 +137,28 @@ ARG X265_REPO=https://github.com/videolan/x265/archive/${X265_VER}.tar.gz RUN yum install -y -q numactl-devel libpciaccess-devel -RUN wget -O - ${X265_REPO} | tar xz && mv x265-${X265_VER} x265; \ - cd x265/build/linux; \ - cmake -DBUILD_SHARED_LIBS=ON -DENABLE_TESTS=OFF -DCMAKE_INSTALL_PREFIX=/usr -DLIB_INSTALL_DIR=/usr/lib64 ../../source; \ - make -j8; \ - make install DESTDIR="/home/build"; \ +RUN wget -O - ${X265_REPO} | tar xz && mv x265-${X265_VER} x265 && \ + cd x265/build/linux && \ + cmake -DBUILD_SHARED_LIBS=ON -DENABLE_TESTS=OFF -DCMAKE_INSTALL_PREFIX=/usr -DLIB_INSTALL_DIR=/usr/lib64 ../../source && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ make install # Fetch SVT-HEVC ARG SVT_HEVC_VER=v1.3.0 ARG SVT_HEVC_REPO=https://github.com/intel/SVT-HEVC -RUN yum install -y -q patch centos-release-scl; \ +RUN yum install -y -q patch centos-release-scl && \ yum install -y -q devtoolset-7 -RUN git clone ${SVT_HEVC_REPO}; \ - cd SVT-HEVC/Build/linux; \ - git checkout ${SVT_HEVC_VER}; \ - mkdir -p ../../Bin/Release; \ - ( source /opt/rh/devtoolset-7/enable; \ - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${SVT_HEVC_REPO} && \ + cd SVT-HEVC/Build/linux && \ + git checkout ${SVT_HEVC_VER} && \ + mkdir -p ../../Bin/Release && \ + ( source /opt/rh/devtoolset-7/enable && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install ) @@ -166,13 +166,13 @@ RUN git clone ${SVT_HEVC_REPO}; \ ARG SVT_AV1_VER=a39acb2 ARG SVT_AV1_REPO=https://github.com/OpenVisualCloud/SVT-AV1 -RUN git clone ${SVT_AV1_REPO}; \ - cd SVT-AV1/Build/linux; \ - git checkout ${SVT_AV1_VER}; \ - mkdir -p ../../Bin/Release; \ - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${SVT_AV1_REPO} && \ + cd SVT-AV1/Build/linux && \ + git checkout ${SVT_AV1_VER} && \ + mkdir -p ../../Bin/Release && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -180,14 +180,14 @@ RUN git clone ${SVT_AV1_REPO}; \ ARG SVT_VP9_VER=e92a57c ARG SVT_VP9_REPO=https://github.com/OpenVisualCloud/SVT-VP9 -RUN git clone ${SVT_VP9_REPO}; \ - cd SVT-VP9/Build/linux; \ - git checkout ${SVT_VP9_VER}; \ - mkdir -p ../../Bin/Release; \ - ( source /opt/rh/devtoolset-7/enable; \ - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${SVT_VP9_REPO} && \ + cd SVT-VP9/Build/linux && \ + git checkout ${SVT_VP9_VER} && \ + mkdir -p ../../Bin/Release && \ + ( source /opt/rh/devtoolset-7/enable && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install ) #include(transform360.m4) @@ -199,28 +199,28 @@ ARG FFMPEG_1TN_PATCH_REPO=https://patchwork.ffmpeg.org/patch/11625/raw ARG FFMPEG_THREAD_PATCH_REPO=https://patchwork.ffmpeg.org/patch/11035/raw RUN yum install -y -q zlib-devel openssl-devel -RUN wget -O - ${FFMPEG_REPO} | tar xz && mv FFmpeg-${FFMPEG_VER} FFmpeg; \ - cd FFmpeg; \ - wget -O - ${FFMPEG_FLV_PATCH_REPO} | patch -p1; \ - wget -O - ${FFMPEG_1TN_PATCH_REPO} | patch -p1; \ +RUN wget -O - ${FFMPEG_REPO} | tar xz && mv FFmpeg-${FFMPEG_VER} FFmpeg && \ + cd FFmpeg && \ + wget -O - ${FFMPEG_FLV_PATCH_REPO} | patch -p1 && \ + wget -O - ${FFMPEG_1TN_PATCH_REPO} | patch -p1 && \ wget -O - ${FFMPEG_THREAD_PATCH_REPO} | patch -p1; # Patch FFmpeg source for SVT-HEVC -RUN cd /home/FFmpeg; \ +RUN cd /home/FFmpeg && \ patch -p1 < ../SVT-HEVC/ffmpeg_plugin/0001-lavc-svt_hevc-add-libsvt-hevc-encoder-wrapper.patch; # Compile FFmpeg -RUN cd /home/FFmpeg; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --extra-libs="-lpthread -lm" --enable-shared --enable-gpl --disable-xlib --disable-sdl2 --enable-openssl --enable-nonfree --disable-vaapi --disable-hwaccels --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --enable-libfdk-aac --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-libaom --enable-libsvthevc ; \ - make -j8; \ +RUN cd /home/FFmpeg && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --extra-libs="-lpthread -lm" --enable-shared --enable-gpl --disable-xlib --disable-sdl2 --enable-openssl --enable-nonfree --disable-vaapi --disable-hwaccels --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --enable-libfdk-aac --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-libaom --enable-libsvthevc && \ + make -j8 && \ make install DESTDIR="/home/build" # Clean up after build -RUN rm -rf /home/build/usr/include; \ - rm -rf /home/build/usr/share/doc; \ - rm -rf /home/build/usr/share/gtk-doc; \ - rm -rf /home/build/usr/share/man; \ +RUN rm -rf /home/build/usr/include && \ + rm -rf /home/build/usr/share/doc && \ + rm -rf /home/build/usr/share/gtk-doc && \ + rm -rf /home/build/usr/share/man && \ find /home/build -name "*.a" -exec rm -f {} \; FROM centos:7.6.1810 diff --git a/Xeon/centos-7.6/gst/Dockerfile b/Xeon/centos-7.6/gst/Dockerfile index 35242c754..9d5683523 100644 --- a/Xeon/centos-7.6/gst/Dockerfile +++ b/Xeon/centos-7.6/gst/Dockerfile @@ -8,76 +8,76 @@ RUN yum install -y -q bzip2 make autoconf libtool git wget ca-certificates pkg-c # Install cmake ARG CMAKE_VER=3.13.1 ARG CMAKE_REPO=https://cmake.org/files -RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz; \ - cd cmake-${CMAKE_VER}; \ - ./bootstrap --prefix="/usr"; \ - make -j8; \ +RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz && \ + cd cmake-${CMAKE_VER} && \ + ./bootstrap --prefix="/usr" && \ + make -j8 && \ make install # Build NASM ARG NASM_VER=2.13.03 ARG NASM_REPO=https://www.nasm.us/pub/nasm/releasebuilds/${NASM_VER}/nasm-${NASM_VER}.tar.bz2 -RUN wget ${NASM_REPO}; \ - tar -xaf nasm*; \ - cd nasm-${NASM_VER}; \ - ./autogen.sh; \ - ./configure --prefix="/usr" --libdir=/usr/lib64; \ - make -j8; \ +RUN wget ${NASM_REPO} && \ + tar -xaf nasm* && \ + cd nasm-${NASM_VER} && \ + ./autogen.sh && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 && \ + make -j8 && \ make install # Build YASM ARG YASM_VER=1.3.0 ARG YASM_REPO=https://www.tortall.net/projects/yasm/releases/yasm-${YASM_VER}.tar.gz -RUN wget -O - ${YASM_REPO} | tar xz; \ - cd yasm-${YASM_VER}; \ - sed -i "s/) ytasm.*/)/" Makefile.in; \ - ./configure --prefix="/usr" --libdir=/usr/lib64; \ - make -j8; \ +RUN wget -O - ${YASM_REPO} | tar xz && \ + cd yasm-${YASM_VER} && \ + sed -i "s/) ytasm.*/)/" Makefile.in && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 && \ + make -j8 && \ make install # Build ogg ARG OGG_VER=1.3.3 ARG OGG_REPO=https://downloads.xiph.org/releases/ogg/libogg-${OGG_VER}.tar.xz -RUN wget -O - ${OGG_REPO} | tar xJ; \ - cd libogg-${OGG_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${OGG_REPO} | tar xJ && \ + cd libogg-${OGG_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build vorbis ARG VORBIS_VER=1.3.6 ARG VORBIS_REPO=https://downloads.xiph.org/releases/vorbis/libvorbis-${VORBIS_VER}.tar.xz -RUN wget -O - ${VORBIS_REPO} | tar xJ; \ - cd libvorbis-${VORBIS_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${VORBIS_REPO} | tar xJ && \ + cd libvorbis-${VORBIS_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build mp3lame ARG MP3LAME_VER=3.100 ARG MP3LAME_REPO=https://sourceforge.net/projects/lame/files/lame/${MP3LAME_VER}/lame-${MP3LAME_VER}.tar.gz -RUN wget -O - ${MP3LAME_REPO} | tar xz; \ - cd lame-${MP3LAME_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --enable-nasm; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${MP3LAME_REPO} | tar xz && \ + cd lame-${MP3LAME_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --enable-nasm && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build fdk-aac ARG FDK_AAC_VER=v0.1.6 ARG FDK_AAC_REPO=https://github.com/mstorsjo/fdk-aac/archive/${FDK_AAC_VER}.tar.gz -RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac; \ - cd fdk-aac; \ - autoreconf -fiv; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac && \ + cd fdk-aac && \ + autoreconf -fiv && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -85,23 +85,23 @@ RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac; \ ARG OPUS_VER=1.2.1 ARG OPUS_REPO=https://archive.mozilla.org/pub/opus/opus-${OPUS_VER}.tar.gz -RUN wget -O - ${OPUS_REPO} | tar xz; \ - cd opus-${OPUS_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${OPUS_REPO} | tar xz && \ + cd opus-${OPUS_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build vpx ARG VPX_VER=tags/v1.7.0 ARG VPX_REPO=https://chromium.googlesource.com/webm/libvpx.git -RUN git clone ${VPX_REPO}; \ - cd libvpx; \ - git checkout ${VPX_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=nasm; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${VPX_REPO} && \ + cd libvpx && \ + git checkout ${VPX_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=nasm && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -109,25 +109,25 @@ RUN git clone ${VPX_REPO}; \ ARG AOM_VER=tags/v1.0.0 ARG AOM_REPO=https://aomedia.googlesource.com/aom -RUN git clone ${AOM_REPO}; \ - mkdir aom/aom_build; \ - cd aom/aom_build; \ - git checkout ${AOM_VER}; \ - cmake -DBUILD_SHARED_LIBS=ON -DENABLE_NASM=ON -DENABLE_TESTS=OFF -DENABLE_DOCS=OFF -DCMAKE_INSTALL_PREFIX="/usr" -DLIB_INSTALL_DIR=/usr/lib64 ..; \ - make -j8; \ - make install DESTDIR="/home/build"; \ +RUN git clone ${AOM_REPO} && \ + mkdir aom/aom_build && \ + cd aom/aom_build && \ + git checkout ${AOM_VER} && \ + cmake -DBUILD_SHARED_LIBS=ON -DENABLE_NASM=ON -DENABLE_TESTS=OFF -DENABLE_DOCS=OFF -DCMAKE_INSTALL_PREFIX="/usr" -DLIB_INSTALL_DIR=/usr/lib64 .. && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ make install # Build x264 ARG X264_VER=stable ARG X264_REPO=https://github.com/mirror/x264 -RUN git clone ${X264_REPO}; \ - cd x264; \ - git checkout ${X264_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared; \ - make -j8; \ - make install DESTDIR="/home/build"; \ +RUN git clone ${X264_REPO} && \ + cd x264 && \ + git checkout ${X264_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ make install @@ -137,28 +137,28 @@ ARG X265_REPO=https://github.com/videolan/x265/archive/${X265_VER}.tar.gz RUN yum install -y -q numactl-devel libpciaccess-devel -RUN wget -O - ${X265_REPO} | tar xz && mv x265-${X265_VER} x265; \ - cd x265/build/linux; \ - cmake -DBUILD_SHARED_LIBS=ON -DENABLE_TESTS=OFF -DCMAKE_INSTALL_PREFIX=/usr -DLIB_INSTALL_DIR=/usr/lib64 ../../source; \ - make -j8; \ - make install DESTDIR="/home/build"; \ +RUN wget -O - ${X265_REPO} | tar xz && mv x265-${X265_VER} x265 && \ + cd x265/build/linux && \ + cmake -DBUILD_SHARED_LIBS=ON -DENABLE_TESTS=OFF -DCMAKE_INSTALL_PREFIX=/usr -DLIB_INSTALL_DIR=/usr/lib64 ../../source && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ make install # Fetch SVT-HEVC ARG SVT_HEVC_VER=v1.3.0 ARG SVT_HEVC_REPO=https://github.com/intel/SVT-HEVC -RUN yum install -y -q patch centos-release-scl; \ +RUN yum install -y -q patch centos-release-scl && \ yum install -y -q devtoolset-7 -RUN git clone ${SVT_HEVC_REPO}; \ - cd SVT-HEVC/Build/linux; \ - git checkout ${SVT_HEVC_VER}; \ - mkdir -p ../../Bin/Release; \ - ( source /opt/rh/devtoolset-7/enable; \ - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${SVT_HEVC_REPO} && \ + cd SVT-HEVC/Build/linux && \ + git checkout ${SVT_HEVC_VER} && \ + mkdir -p ../../Bin/Release && \ + ( source /opt/rh/devtoolset-7/enable && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install ) @@ -166,13 +166,13 @@ RUN git clone ${SVT_HEVC_REPO}; \ ARG SVT_AV1_VER=a39acb2 ARG SVT_AV1_REPO=https://github.com/OpenVisualCloud/SVT-AV1 -RUN git clone ${SVT_AV1_REPO}; \ - cd SVT-AV1/Build/linux; \ - git checkout ${SVT_AV1_VER}; \ - mkdir -p ../../Bin/Release; \ - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${SVT_AV1_REPO} && \ + cd SVT-AV1/Build/linux && \ + git checkout ${SVT_AV1_VER} && \ + mkdir -p ../../Bin/Release && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -180,72 +180,83 @@ RUN git clone ${SVT_AV1_REPO}; \ ARG SVT_VP9_VER=e92a57c ARG SVT_VP9_REPO=https://github.com/OpenVisualCloud/SVT-VP9 -RUN git clone ${SVT_VP9_REPO}; \ - cd SVT-VP9/Build/linux; \ - git checkout ${SVT_VP9_VER}; \ - mkdir -p ../../Bin/Release; \ - ( source /opt/rh/devtoolset-7/enable; \ - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${SVT_VP9_REPO} && \ + cd SVT-VP9/Build/linux && \ + git checkout ${SVT_VP9_VER} && \ + mkdir -p ../../Bin/Release && \ + ( source /opt/rh/devtoolset-7/enable && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install ) +# Install automake +ARG AUTOMAKE_VER=1.14 +ARG AUTOMAKE_REPO=https://ftp.gnu.org/pub/gnu/automake/automake-${AUTOMAKE_VER}.tar.xz + +RUN wget -O - ${AUTOMAKE_REPO} | tar xJ && \ + cd automake-${AUTOMAKE_VER} && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --disable-doc && \ + make -j8 && \ + make install + + # Build the gstremaer core ARG GST_VER=1.14.4 ARG GST_REPO=https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${GST_VER}.tar.xz -RUN yum install -y -q glib2-devel-2.56.1 -RUN wget -O - ${GST_REPO} | tar xJ; \ - cd gstreamer-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-gst-debug --disable-debug --disable-benchmarks --disable-check; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN yum install -y -q glib2-devel-2.56.1 gettext-devel gtk-doc +RUN wget -O - ${GST_REPO} | tar xJ && \ + cd gstreamer-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-gst-debug --disable-debug --disable-benchmarks --disable-check && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin base ARG GST_PLUGIN_BASE_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_BASE_REPO} | tar xJ; \ - cd gst-plugins-base-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-debug; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${GST_PLUGIN_BASE_REPO} | tar xJ && \ + cd gst-plugins-base-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-debug && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin good set ARG GST_PLUGIN_GOOD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_GOOD_REPO} | tar xJ; \ - cd gst-plugins-good-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-debug; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${GST_PLUGIN_GOOD_REPO} | tar xJ && \ + cd gst-plugins-good-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-debug && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin bad set ARG GST_PLUGIN_BAD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_BAD_REPO} | tar xJ; \ - cd gst-plugins-bad-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-debug; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${GST_PLUGIN_BAD_REPO} | tar xJ && \ + cd gst-plugins-bad-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-debug && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin ugly set ARG GST_PLUGIN_UGLY_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_UGLY_REPO} | tar xJ; \ - cd gst-plugins-ugly-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-debug; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${GST_PLUGIN_UGLY_REPO} | tar xJ && \ + cd gst-plugins-ugly-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-debug && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build gst-libav @@ -253,19 +264,19 @@ ARG GST_PLUGIN_LIBAV_REPO=https://gstreamer.freedesktop.org/src/gst-libav/gst-li RUN yum install -y -q zlib-devel openssl-devel -RUN wget -O - ${GST_PLUGIN_LIBAV_REPO} | tar xJ; \ - cd gst-libav-${GST_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --enable-gpl; \ - make -j8; \ +RUN wget -O - ${GST_PLUGIN_LIBAV_REPO} | tar xJ && \ + cd gst-libav-${GST_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --enable-gpl && \ + make -j8 && \ make install DESTDIR="/home/build" # Clean up after build -RUN rm -rf /home/build/usr/include; \ - rm -rf /home/build/usr/share/doc; \ - rm -rf /home/build/usr/share/gtk-doc; \ - rm -rf /home/build/usr/share/man; \ +RUN rm -rf /home/build/usr/include && \ + rm -rf /home/build/usr/share/doc && \ + rm -rf /home/build/usr/share/gtk-doc && \ + rm -rf /home/build/usr/share/man && \ find /home/build -name "*.a" -exec rm -f {} \; FROM centos:7.6.1810 diff --git a/Xeon/centos-7.6/gst/Dockerfile.m4 b/Xeon/centos-7.6/gst/Dockerfile.m4 index d2524258e..1f1459c56 100644 --- a/Xeon/centos-7.6/gst/Dockerfile.m4 +++ b/Xeon/centos-7.6/gst/Dockerfile.m4 @@ -16,6 +16,7 @@ include(libx265.m4) include(svt-hevc.m4) include(svt-av1.m4) include(svt-vp9.m4) +include(automake.m4) include(gst.m4) include(gst-plugin-base.m4) include(gst-plugin-good.m4) diff --git a/Xeon/centos-7.6/nginx+rtmp/Dockerfile b/Xeon/centos-7.6/nginx+rtmp/Dockerfile index 5814d6e69..18956b790 100644 --- a/Xeon/centos-7.6/nginx+rtmp/Dockerfile +++ b/Xeon/centos-7.6/nginx+rtmp/Dockerfile @@ -8,10 +8,10 @@ RUN yum install -y -q bzip2 make autoconf libtool git wget ca-certificates pkg-c # Install cmake ARG CMAKE_VER=3.13.1 ARG CMAKE_REPO=https://cmake.org/files -RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz; \ - cd cmake-${CMAKE_VER}; \ - ./bootstrap --prefix="/usr"; \ - make -j8; \ +RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz && \ + cd cmake-${CMAKE_VER} && \ + ./bootstrap --prefix="/usr" && \ + make -j8 && \ make install @@ -21,11 +21,11 @@ ARG NGINX_RTMP_REPO=https://github.com/arut/nginx-rtmp-module/archive/${NGINX_RT ARG NGINX_RTMP_PATCH_HLS=https://raw.githubusercontent.com/VCDP/CDN/master/0001-add-hevc-support-for-rtmp-and-hls.patch ARG NGINX_RTMP_PATCH_DASH=https://raw.githubusercontent.com/VCDP/CDN/master/0002-add-HEVC-support-for-dash.patch -RUN wget -O - ${NGINX_RTMP_REPO} | tar xz && mv nginx-rtmp-module-${NGINX_RTMP_VER#v} nginx-rtmp-module; \ - cd nginx-rtmp-module; \ - mkdir -p /home/build/var/www/html; \ - cp -f stat.xsl /home/build/var/www/html; \ - wget -O - ${NGINX_RTMP_PATCH_HLS} | patch -p1; \ +RUN wget -O - ${NGINX_RTMP_REPO} | tar xz && mv nginx-rtmp-module-${NGINX_RTMP_VER#v} nginx-rtmp-module && \ + cd nginx-rtmp-module && \ + mkdir -p /home/build/var/www/html && \ + cp -f stat.xsl /home/build/var/www/html && \ + wget -O - ${NGINX_RTMP_PATCH_HLS} | patch -p1 && \ wget -O - ${NGINX_RTMP_PATCH_DASH} | patch -p1; # Build nginx & nginx-rtmp @@ -34,21 +34,21 @@ ARG NGINX_REPO=https://nginx.org/download/nginx-${NGINX_VER}.tar.gz RUN yum install -y -q openssl-devel pcre2-devel zlib-devel libxslt-devel -RUN wget -O - ${NGINX_REPO} | tar xz; \ - cd nginx-${NGINX_VER}; \ - ./configure --prefix=/var/www --sbin-path=/usr/sbin/nginx --modules-path=/usr/lib64/nginx/modules --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/www/log/error.log --pid-path=/var/www/nginx.pid --lock-path=/var/www/nginx.lock --http-log-path=/var/www/log/access.log --http-client-body-temp-path=/var/www/tmp/client_body --http-proxy-temp-path=/var/www/tmp/proxy --http-fastcgi-temp-path=/var/www/tmp/fastcgi --http-uwsgi-temp-path=/var/www/tmp/uwsgi --http-scgi-temp-path=/var/www/tmp/scgi --user=nobody --group=nobody --with-select_module --with-poll_module --with-threads --with-file-aio --with-http_ssl_module --with-http_v2_module --with-http_realip_module --with-http_addition_module --with-http_xslt_module --with-http_sub_module --with-http_dav_module --with-http_flv_module --with-http_mp4_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_auth_request_module --with-http_random_index_module --with-http_secure_link_module --with-http_degradation_module --with-http_slice_module --with-http_stub_status_module --with-stream --with-stream_ssl_module --with-stream_realip_module --with-stream_ssl_preread_module --with-pcre --add-module=../nginx-rtmp-module ; \ - make -j8; \ +RUN wget -O - ${NGINX_REPO} | tar xz && \ + cd nginx-${NGINX_VER} && \ + ./configure --prefix=/var/www --sbin-path=/usr/sbin/nginx --modules-path=/usr/lib64/nginx/modules --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/www/log/error.log --pid-path=/var/www/nginx.pid --lock-path=/var/www/nginx.lock --http-log-path=/var/www/log/access.log --http-client-body-temp-path=/var/www/tmp/client_body --http-proxy-temp-path=/var/www/tmp/proxy --http-fastcgi-temp-path=/var/www/tmp/fastcgi --http-uwsgi-temp-path=/var/www/tmp/uwsgi --http-scgi-temp-path=/var/www/tmp/scgi --user=nobody --group=nobody --with-select_module --with-poll_module --with-threads --with-file-aio --with-http_ssl_module --with-http_v2_module --with-http_realip_module --with-http_addition_module --with-http_xslt_module --with-http_sub_module --with-http_dav_module --with-http_flv_module --with-http_mp4_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_auth_request_module --with-http_random_index_module --with-http_secure_link_module --with-http_degradation_module --with-http_slice_module --with-http_stub_status_module --with-stream --with-stream_ssl_module --with-stream_realip_module --with-stream_ssl_preread_module --with-pcre --add-module=../nginx-rtmp-module && \ + make -j8 && \ make install DESTDIR=/home/build; # NGINX Setup COPY nginx.conf /home/build/etc/nginx -RUN mkdir -p /home/build/var/www/tmp/client_body; \ - mkdir -p /home/build/var/www/tmp/proxy; \ - mkdir -p /home/build/var/www/tmp/fastcgi; \ - mkdir -p /home/build/var/www/tmp/uwsgi; \ - mkdir -p /home/build/var/www/tmp/scgi; \ - mkdir -p /home/build/var/www/cache; \ - mkdir -p /home/build/var/www/html; \ +RUN mkdir -p /home/build/var/www/tmp/client_body && \ + mkdir -p /home/build/var/www/tmp/proxy && \ + mkdir -p /home/build/var/www/tmp/fastcgi && \ + mkdir -p /home/build/var/www/tmp/uwsgi && \ + mkdir -p /home/build/var/www/tmp/scgi && \ + mkdir -p /home/build/var/www/cache && \ + mkdir -p /home/build/var/www/html && \ touch /home/build/var/www/html/index.html; diff --git a/Xeon/ubuntu-16.04/dldt+ffmpeg/Dockerfile b/Xeon/ubuntu-16.04/dldt+ffmpeg/Dockerfile index 66fc81218..6741e66aa 100644 --- a/Xeon/ubuntu-16.04/dldt+ffmpeg/Dockerfile +++ b/Xeon/ubuntu-16.04/dldt+ffmpeg/Dockerfile @@ -8,76 +8,76 @@ RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no- # Install cmake ARG CMAKE_VER=3.13.1 ARG CMAKE_REPO=https://cmake.org/files -RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz; \ - cd cmake-${CMAKE_VER}; \ - ./bootstrap --prefix="/usr"; \ - make -j8; \ +RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz && \ + cd cmake-${CMAKE_VER} && \ + ./bootstrap --prefix="/usr" && \ + make -j8 && \ make install # Build NASM ARG NASM_VER=2.13.03 ARG NASM_REPO=https://www.nasm.us/pub/nasm/releasebuilds/${NASM_VER}/nasm-${NASM_VER}.tar.bz2 -RUN wget ${NASM_REPO}; \ - tar -xaf nasm*; \ - cd nasm-${NASM_VER}; \ - ./autogen.sh; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu; \ - make -j8; \ +RUN wget ${NASM_REPO} && \ + tar -xaf nasm* && \ + cd nasm-${NASM_VER} && \ + ./autogen.sh && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu && \ + make -j8 && \ make install # Build YASM ARG YASM_VER=1.3.0 ARG YASM_REPO=https://www.tortall.net/projects/yasm/releases/yasm-${YASM_VER}.tar.gz -RUN wget -O - ${YASM_REPO} | tar xz; \ - cd yasm-${YASM_VER}; \ - sed -i "s/) ytasm.*/)/" Makefile.in; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu; \ - make -j8; \ +RUN wget -O - ${YASM_REPO} | tar xz && \ + cd yasm-${YASM_VER} && \ + sed -i "s/) ytasm.*/)/" Makefile.in && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu && \ + make -j8 && \ make install # Build ogg ARG OGG_VER=1.3.3 ARG OGG_REPO=https://downloads.xiph.org/releases/ogg/libogg-${OGG_VER}.tar.xz -RUN wget -O - ${OGG_REPO} | tar xJ; \ - cd libogg-${OGG_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${OGG_REPO} | tar xJ && \ + cd libogg-${OGG_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build vorbis ARG VORBIS_VER=1.3.6 ARG VORBIS_REPO=https://downloads.xiph.org/releases/vorbis/libvorbis-${VORBIS_VER}.tar.xz -RUN wget -O - ${VORBIS_REPO} | tar xJ; \ - cd libvorbis-${VORBIS_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${VORBIS_REPO} | tar xJ && \ + cd libvorbis-${VORBIS_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build mp3lame ARG MP3LAME_VER=3.100 ARG MP3LAME_REPO=https://sourceforge.net/projects/lame/files/lame/${MP3LAME_VER}/lame-${MP3LAME_VER}.tar.gz -RUN wget -O - ${MP3LAME_REPO} | tar xz; \ - cd lame-${MP3LAME_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared --enable-nasm; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${MP3LAME_REPO} | tar xz && \ + cd lame-${MP3LAME_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared --enable-nasm && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build fdk-aac ARG FDK_AAC_VER=v0.1.6 ARG FDK_AAC_REPO=https://github.com/mstorsjo/fdk-aac/archive/${FDK_AAC_VER}.tar.gz -RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac; \ - cd fdk-aac; \ - autoreconf -fiv; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac && \ + cd fdk-aac && \ + autoreconf -fiv && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -85,23 +85,23 @@ RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac; \ ARG OPUS_VER=1.2.1 ARG OPUS_REPO=https://archive.mozilla.org/pub/opus/opus-${OPUS_VER}.tar.gz -RUN wget -O - ${OPUS_REPO} | tar xz; \ - cd opus-${OPUS_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${OPUS_REPO} | tar xz && \ + cd opus-${OPUS_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build vpx ARG VPX_VER=tags/v1.7.0 ARG VPX_REPO=https://chromium.googlesource.com/webm/libvpx.git -RUN git clone ${VPX_REPO}; \ - cd libvpx; \ - git checkout ${VPX_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=nasm; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${VPX_REPO} && \ + cd libvpx && \ + git checkout ${VPX_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=nasm && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -109,25 +109,25 @@ RUN git clone ${VPX_REPO}; \ ARG AOM_VER=tags/v1.0.0 ARG AOM_REPO=https://aomedia.googlesource.com/aom -RUN git clone ${AOM_REPO}; \ - mkdir aom/aom_build; \ - cd aom/aom_build; \ - git checkout ${AOM_VER}; \ - cmake -DBUILD_SHARED_LIBS=ON -DENABLE_NASM=ON -DENABLE_TESTS=OFF -DENABLE_DOCS=OFF -DCMAKE_INSTALL_PREFIX="/usr" -DLIB_INSTALL_DIR=/usr/lib/x86_64-linux-gnu ..; \ - make -j8; \ - make install DESTDIR="/home/build"; \ +RUN git clone ${AOM_REPO} && \ + mkdir aom/aom_build && \ + cd aom/aom_build && \ + git checkout ${AOM_VER} && \ + cmake -DBUILD_SHARED_LIBS=ON -DENABLE_NASM=ON -DENABLE_TESTS=OFF -DENABLE_DOCS=OFF -DCMAKE_INSTALL_PREFIX="/usr" -DLIB_INSTALL_DIR=/usr/lib/x86_64-linux-gnu .. && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ make install # Build x264 ARG X264_VER=stable ARG X264_REPO=https://github.com/mirror/x264 -RUN git clone ${X264_REPO}; \ - cd x264; \ - git checkout ${X264_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared; \ - make -j8; \ - make install DESTDIR="/home/build"; \ +RUN git clone ${X264_REPO} && \ + cd x264 && \ + git checkout ${X264_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ make install @@ -137,24 +137,24 @@ ARG X265_REPO=https://github.com/videolan/x265/archive/${X265_VER}.tar.gz RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libnuma-dev -RUN wget -O - ${X265_REPO} | tar xz && mv x265-${X265_VER} x265; \ - cd x265/build/linux; \ - cmake -DBUILD_SHARED_LIBS=ON -DENABLE_TESTS=OFF -DCMAKE_INSTALL_PREFIX=/usr -DLIB_INSTALL_DIR=/usr/lib/x86_64-linux-gnu ../../source; \ - make -j8; \ - make install DESTDIR="/home/build"; \ +RUN wget -O - ${X265_REPO} | tar xz && mv x265-${X265_VER} x265 && \ + cd x265/build/linux && \ + cmake -DBUILD_SHARED_LIBS=ON -DENABLE_TESTS=OFF -DCMAKE_INSTALL_PREFIX=/usr -DLIB_INSTALL_DIR=/usr/lib/x86_64-linux-gnu ../../source && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ make install # Fetch SVT-HEVC ARG SVT_HEVC_VER=v1.3.0 ARG SVT_HEVC_REPO=https://github.com/intel/SVT-HEVC -RUN git clone ${SVT_HEVC_REPO}; \ - cd SVT-HEVC/Build/linux; \ - git checkout ${SVT_HEVC_VER}; \ - mkdir -p ../../Bin/Release; \ - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${SVT_HEVC_REPO} && \ + cd SVT-HEVC/Build/linux && \ + git checkout ${SVT_HEVC_VER} && \ + mkdir -p ../../Bin/Release && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -162,13 +162,13 @@ RUN git clone ${SVT_HEVC_REPO}; \ ARG SVT_AV1_VER=a39acb2 ARG SVT_AV1_REPO=https://github.com/OpenVisualCloud/SVT-AV1 -RUN git clone ${SVT_AV1_REPO}; \ - cd SVT-AV1/Build/linux; \ - git checkout ${SVT_AV1_VER}; \ - mkdir -p ../../Bin/Release; \ - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${SVT_AV1_REPO} && \ + cd SVT-AV1/Build/linux && \ + git checkout ${SVT_AV1_VER} && \ + mkdir -p ../../Bin/Release && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -176,13 +176,13 @@ RUN git clone ${SVT_AV1_REPO}; \ ARG SVT_VP9_VER=e92a57c ARG SVT_VP9_REPO=https://github.com/OpenVisualCloud/SVT-VP9 -RUN git clone ${SVT_VP9_REPO}; \ - cd SVT-VP9/Build/linux; \ - git checkout ${SVT_VP9_VER}; \ - mkdir -p ../../Bin/Release; \ - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${SVT_VP9_REPO} && \ + cd SVT-VP9/Build/linux && \ + git checkout ${SVT_VP9_VER} && \ + mkdir -p ../../Bin/Release && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install #include(transform360.m4) @@ -229,28 +229,28 @@ ARG FFMPEG_1TN_PATCH_REPO=https://patchwork.ffmpeg.org/patch/11625/raw ARG FFMPEG_THREAD_PATCH_REPO=https://patchwork.ffmpeg.org/patch/11035/raw RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends zlib1g-dev libssl-dev -RUN wget -O - ${FFMPEG_REPO} | tar xz && mv FFmpeg-${FFMPEG_VER} FFmpeg; \ - cd FFmpeg; \ - wget -O - ${FFMPEG_FLV_PATCH_REPO} | patch -p1; \ - wget -O - ${FFMPEG_1TN_PATCH_REPO} | patch -p1; \ +RUN wget -O - ${FFMPEG_REPO} | tar xz && mv FFmpeg-${FFMPEG_VER} FFmpeg && \ + cd FFmpeg && \ + wget -O - ${FFMPEG_FLV_PATCH_REPO} | patch -p1 && \ + wget -O - ${FFMPEG_1TN_PATCH_REPO} | patch -p1 && \ wget -O - ${FFMPEG_THREAD_PATCH_REPO} | patch -p1; # Patch FFmpeg source for SVT-HEVC -RUN cd /home/FFmpeg; \ +RUN cd /home/FFmpeg && \ patch -p1 < ../SVT-HEVC/ffmpeg_plugin/0001-lavc-svt_hevc-add-libsvt-hevc-encoder-wrapper.patch; # Compile FFmpeg -RUN cd /home/FFmpeg; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --extra-libs="-lpthread -lm" --enable-shared --enable-gpl --disable-xlib --disable-sdl2 --enable-openssl --enable-nonfree --disable-vaapi --disable-hwaccels --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --enable-libfdk-aac --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-libaom --enable-libsvthevc ; \ - make -j8; \ +RUN cd /home/FFmpeg && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --extra-libs="-lpthread -lm" --enable-shared --enable-gpl --disable-xlib --disable-sdl2 --enable-openssl --enable-nonfree --disable-vaapi --disable-hwaccels --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --enable-libfdk-aac --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-libaom --enable-libsvthevc && \ + make -j8 && \ make install DESTDIR="/home/build" # Clean up after build -RUN rm -rf /home/build/usr/include; \ - rm -rf /home/build/usr/share/doc; \ - rm -rf /home/build/usr/share/gtk-doc; \ - rm -rf /home/build/usr/share/man; \ +RUN rm -rf /home/build/usr/include && \ + rm -rf /home/build/usr/share/doc && \ + rm -rf /home/build/usr/share/gtk-doc && \ + rm -rf /home/build/usr/share/man && \ find /home/build -name "*.a" -exec rm -f {} \; FROM ubuntu:16.04 diff --git a/Xeon/ubuntu-16.04/dldt+gst/Dockerfile b/Xeon/ubuntu-16.04/dldt+gst/Dockerfile index e61da924c..67e11c454 100644 --- a/Xeon/ubuntu-16.04/dldt+gst/Dockerfile +++ b/Xeon/ubuntu-16.04/dldt+gst/Dockerfile @@ -8,76 +8,76 @@ RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no- # Install cmake ARG CMAKE_VER=3.13.1 ARG CMAKE_REPO=https://cmake.org/files -RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz; \ - cd cmake-${CMAKE_VER}; \ - ./bootstrap --prefix="/usr"; \ - make -j8; \ +RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz && \ + cd cmake-${CMAKE_VER} && \ + ./bootstrap --prefix="/usr" && \ + make -j8 && \ make install # Build NASM ARG NASM_VER=2.13.03 ARG NASM_REPO=https://www.nasm.us/pub/nasm/releasebuilds/${NASM_VER}/nasm-${NASM_VER}.tar.bz2 -RUN wget ${NASM_REPO}; \ - tar -xaf nasm*; \ - cd nasm-${NASM_VER}; \ - ./autogen.sh; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu; \ - make -j8; \ +RUN wget ${NASM_REPO} && \ + tar -xaf nasm* && \ + cd nasm-${NASM_VER} && \ + ./autogen.sh && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu && \ + make -j8 && \ make install # Build YASM ARG YASM_VER=1.3.0 ARG YASM_REPO=https://www.tortall.net/projects/yasm/releases/yasm-${YASM_VER}.tar.gz -RUN wget -O - ${YASM_REPO} | tar xz; \ - cd yasm-${YASM_VER}; \ - sed -i "s/) ytasm.*/)/" Makefile.in; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu; \ - make -j8; \ +RUN wget -O - ${YASM_REPO} | tar xz && \ + cd yasm-${YASM_VER} && \ + sed -i "s/) ytasm.*/)/" Makefile.in && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu && \ + make -j8 && \ make install # Build ogg ARG OGG_VER=1.3.3 ARG OGG_REPO=https://downloads.xiph.org/releases/ogg/libogg-${OGG_VER}.tar.xz -RUN wget -O - ${OGG_REPO} | tar xJ; \ - cd libogg-${OGG_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${OGG_REPO} | tar xJ && \ + cd libogg-${OGG_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build vorbis ARG VORBIS_VER=1.3.6 ARG VORBIS_REPO=https://downloads.xiph.org/releases/vorbis/libvorbis-${VORBIS_VER}.tar.xz -RUN wget -O - ${VORBIS_REPO} | tar xJ; \ - cd libvorbis-${VORBIS_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${VORBIS_REPO} | tar xJ && \ + cd libvorbis-${VORBIS_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build mp3lame ARG MP3LAME_VER=3.100 ARG MP3LAME_REPO=https://sourceforge.net/projects/lame/files/lame/${MP3LAME_VER}/lame-${MP3LAME_VER}.tar.gz -RUN wget -O - ${MP3LAME_REPO} | tar xz; \ - cd lame-${MP3LAME_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared --enable-nasm; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${MP3LAME_REPO} | tar xz && \ + cd lame-${MP3LAME_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared --enable-nasm && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build fdk-aac ARG FDK_AAC_VER=v0.1.6 ARG FDK_AAC_REPO=https://github.com/mstorsjo/fdk-aac/archive/${FDK_AAC_VER}.tar.gz -RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac; \ - cd fdk-aac; \ - autoreconf -fiv; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac && \ + cd fdk-aac && \ + autoreconf -fiv && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -85,23 +85,23 @@ RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac; \ ARG OPUS_VER=1.2.1 ARG OPUS_REPO=https://archive.mozilla.org/pub/opus/opus-${OPUS_VER}.tar.gz -RUN wget -O - ${OPUS_REPO} | tar xz; \ - cd opus-${OPUS_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${OPUS_REPO} | tar xz && \ + cd opus-${OPUS_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build vpx ARG VPX_VER=tags/v1.7.0 ARG VPX_REPO=https://chromium.googlesource.com/webm/libvpx.git -RUN git clone ${VPX_REPO}; \ - cd libvpx; \ - git checkout ${VPX_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=nasm; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${VPX_REPO} && \ + cd libvpx && \ + git checkout ${VPX_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=nasm && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -109,25 +109,25 @@ RUN git clone ${VPX_REPO}; \ ARG AOM_VER=tags/v1.0.0 ARG AOM_REPO=https://aomedia.googlesource.com/aom -RUN git clone ${AOM_REPO}; \ - mkdir aom/aom_build; \ - cd aom/aom_build; \ - git checkout ${AOM_VER}; \ - cmake -DBUILD_SHARED_LIBS=ON -DENABLE_NASM=ON -DENABLE_TESTS=OFF -DENABLE_DOCS=OFF -DCMAKE_INSTALL_PREFIX="/usr" -DLIB_INSTALL_DIR=/usr/lib/x86_64-linux-gnu ..; \ - make -j8; \ - make install DESTDIR="/home/build"; \ +RUN git clone ${AOM_REPO} && \ + mkdir aom/aom_build && \ + cd aom/aom_build && \ + git checkout ${AOM_VER} && \ + cmake -DBUILD_SHARED_LIBS=ON -DENABLE_NASM=ON -DENABLE_TESTS=OFF -DENABLE_DOCS=OFF -DCMAKE_INSTALL_PREFIX="/usr" -DLIB_INSTALL_DIR=/usr/lib/x86_64-linux-gnu .. && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ make install # Build x264 ARG X264_VER=stable ARG X264_REPO=https://github.com/mirror/x264 -RUN git clone ${X264_REPO}; \ - cd x264; \ - git checkout ${X264_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared; \ - make -j8; \ - make install DESTDIR="/home/build"; \ +RUN git clone ${X264_REPO} && \ + cd x264 && \ + git checkout ${X264_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ make install @@ -137,24 +137,24 @@ ARG X265_REPO=https://github.com/videolan/x265/archive/${X265_VER}.tar.gz RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libnuma-dev -RUN wget -O - ${X265_REPO} | tar xz && mv x265-${X265_VER} x265; \ - cd x265/build/linux; \ - cmake -DBUILD_SHARED_LIBS=ON -DENABLE_TESTS=OFF -DCMAKE_INSTALL_PREFIX=/usr -DLIB_INSTALL_DIR=/usr/lib/x86_64-linux-gnu ../../source; \ - make -j8; \ - make install DESTDIR="/home/build"; \ +RUN wget -O - ${X265_REPO} | tar xz && mv x265-${X265_VER} x265 && \ + cd x265/build/linux && \ + cmake -DBUILD_SHARED_LIBS=ON -DENABLE_TESTS=OFF -DCMAKE_INSTALL_PREFIX=/usr -DLIB_INSTALL_DIR=/usr/lib/x86_64-linux-gnu ../../source && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ make install # Fetch SVT-HEVC ARG SVT_HEVC_VER=v1.3.0 ARG SVT_HEVC_REPO=https://github.com/intel/SVT-HEVC -RUN git clone ${SVT_HEVC_REPO}; \ - cd SVT-HEVC/Build/linux; \ - git checkout ${SVT_HEVC_VER}; \ - mkdir -p ../../Bin/Release; \ - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${SVT_HEVC_REPO} && \ + cd SVT-HEVC/Build/linux && \ + git checkout ${SVT_HEVC_VER} && \ + mkdir -p ../../Bin/Release && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -162,13 +162,13 @@ RUN git clone ${SVT_HEVC_REPO}; \ ARG SVT_AV1_VER=a39acb2 ARG SVT_AV1_REPO=https://github.com/OpenVisualCloud/SVT-AV1 -RUN git clone ${SVT_AV1_REPO}; \ - cd SVT-AV1/Build/linux; \ - git checkout ${SVT_AV1_VER}; \ - mkdir -p ../../Bin/Release; \ - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${SVT_AV1_REPO} && \ + cd SVT-AV1/Build/linux && \ + git checkout ${SVT_AV1_VER} && \ + mkdir -p ../../Bin/Release && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -176,13 +176,13 @@ RUN git clone ${SVT_AV1_REPO}; \ ARG SVT_VP9_VER=e92a57c ARG SVT_VP9_REPO=https://github.com/OpenVisualCloud/SVT-VP9 -RUN git clone ${SVT_VP9_REPO}; \ - cd SVT-VP9/Build/linux; \ - git checkout ${SVT_VP9_VER}; \ - mkdir -p ../../Bin/Release; \ - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${SVT_VP9_REPO} && \ + cd SVT-VP9/Build/linux && \ + git checkout ${SVT_VP9_VER} && \ + mkdir -p ../../Bin/Release && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build DLDT-Inference Engine @@ -224,58 +224,58 @@ RUN git clone -b ${DLDT_VER} ${DLDT_REPO}; \ ARG GST_VER=1.14.4 ARG GST_REPO=https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${GST_VER}.tar.xz -RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libglib2.0-dev -RUN wget -O - ${GST_REPO} | tar xJ; \ - cd gstreamer-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples --disable-gst-debug --disable-debug --disable-benchmarks --disable-check; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libglib2.0-dev autopoint gtk-doc-tools +RUN wget -O - ${GST_REPO} | tar xJ && \ + cd gstreamer-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples --disable-gst-debug --disable-debug --disable-benchmarks --disable-check && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin base ARG GST_PLUGIN_BASE_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_BASE_REPO} | tar xJ; \ - cd gst-plugins-base-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples --disable-debug; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${GST_PLUGIN_BASE_REPO} | tar xJ && \ + cd gst-plugins-base-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples --disable-debug && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin good set ARG GST_PLUGIN_GOOD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_GOOD_REPO} | tar xJ; \ - cd gst-plugins-good-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples --disable-debug; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${GST_PLUGIN_GOOD_REPO} | tar xJ && \ + cd gst-plugins-good-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples --disable-debug && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin bad set ARG GST_PLUGIN_BAD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_BAD_REPO} | tar xJ; \ - cd gst-plugins-bad-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples --disable-debug; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${GST_PLUGIN_BAD_REPO} | tar xJ && \ + cd gst-plugins-bad-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples --disable-debug && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin ugly set ARG GST_PLUGIN_UGLY_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_UGLY_REPO} | tar xJ; \ - cd gst-plugins-ugly-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples --disable-debug; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${GST_PLUGIN_UGLY_REPO} | tar xJ && \ + cd gst-plugins-ugly-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples --disable-debug && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build gst-libav @@ -283,19 +283,19 @@ ARG GST_PLUGIN_LIBAV_REPO=https://gstreamer.freedesktop.org/src/gst-libav/gst-li RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends zlib1g-dev libssl-dev -RUN wget -O - ${GST_PLUGIN_LIBAV_REPO} | tar xJ; \ - cd gst-libav-${GST_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared --enable-gpl; \ - make -j8; \ +RUN wget -O - ${GST_PLUGIN_LIBAV_REPO} | tar xJ && \ + cd gst-libav-${GST_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared --enable-gpl && \ + make -j8 && \ make install DESTDIR="/home/build" # Clean up after build -RUN rm -rf /home/build/usr/include; \ - rm -rf /home/build/usr/share/doc; \ - rm -rf /home/build/usr/share/gtk-doc; \ - rm -rf /home/build/usr/share/man; \ +RUN rm -rf /home/build/usr/include && \ + rm -rf /home/build/usr/share/doc && \ + rm -rf /home/build/usr/share/gtk-doc && \ + rm -rf /home/build/usr/share/man && \ find /home/build -name "*.a" -exec rm -f {} \; FROM ubuntu:16.04 diff --git a/Xeon/ubuntu-16.04/ffmpeg+gst+dev/Dockerfile b/Xeon/ubuntu-16.04/ffmpeg+gst+dev/Dockerfile index fde9c3c33..fa5b9795b 100644 --- a/Xeon/ubuntu-16.04/ffmpeg+gst+dev/Dockerfile +++ b/Xeon/ubuntu-16.04/ffmpeg+gst+dev/Dockerfile @@ -8,76 +8,76 @@ RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no- # Install cmake ARG CMAKE_VER=3.13.1 ARG CMAKE_REPO=https://cmake.org/files -RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz; \ - cd cmake-${CMAKE_VER}; \ - ./bootstrap --prefix="/usr"; \ - make -j8; \ +RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz && \ + cd cmake-${CMAKE_VER} && \ + ./bootstrap --prefix="/usr" && \ + make -j8 && \ make install # Build NASM ARG NASM_VER=2.13.03 ARG NASM_REPO=https://www.nasm.us/pub/nasm/releasebuilds/${NASM_VER}/nasm-${NASM_VER}.tar.bz2 -RUN wget ${NASM_REPO}; \ - tar -xaf nasm*; \ - cd nasm-${NASM_VER}; \ - ./autogen.sh; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu; \ - make -j8; \ +RUN wget ${NASM_REPO} && \ + tar -xaf nasm* && \ + cd nasm-${NASM_VER} && \ + ./autogen.sh && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu && \ + make -j8 && \ make install # Build YASM ARG YASM_VER=1.3.0 ARG YASM_REPO=https://www.tortall.net/projects/yasm/releases/yasm-${YASM_VER}.tar.gz -RUN wget -O - ${YASM_REPO} | tar xz; \ - cd yasm-${YASM_VER}; \ - sed -i "s/) ytasm.*/)/" Makefile.in; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu; \ - make -j8; \ +RUN wget -O - ${YASM_REPO} | tar xz && \ + cd yasm-${YASM_VER} && \ + sed -i "s/) ytasm.*/)/" Makefile.in && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu && \ + make -j8 && \ make install # Build ogg ARG OGG_VER=1.3.3 ARG OGG_REPO=https://downloads.xiph.org/releases/ogg/libogg-${OGG_VER}.tar.xz -RUN wget -O - ${OGG_REPO} | tar xJ; \ - cd libogg-${OGG_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${OGG_REPO} | tar xJ && \ + cd libogg-${OGG_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build vorbis ARG VORBIS_VER=1.3.6 ARG VORBIS_REPO=https://downloads.xiph.org/releases/vorbis/libvorbis-${VORBIS_VER}.tar.xz -RUN wget -O - ${VORBIS_REPO} | tar xJ; \ - cd libvorbis-${VORBIS_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${VORBIS_REPO} | tar xJ && \ + cd libvorbis-${VORBIS_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build mp3lame ARG MP3LAME_VER=3.100 ARG MP3LAME_REPO=https://sourceforge.net/projects/lame/files/lame/${MP3LAME_VER}/lame-${MP3LAME_VER}.tar.gz -RUN wget -O - ${MP3LAME_REPO} | tar xz; \ - cd lame-${MP3LAME_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared --enable-nasm; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${MP3LAME_REPO} | tar xz && \ + cd lame-${MP3LAME_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared --enable-nasm && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build fdk-aac ARG FDK_AAC_VER=v0.1.6 ARG FDK_AAC_REPO=https://github.com/mstorsjo/fdk-aac/archive/${FDK_AAC_VER}.tar.gz -RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac; \ - cd fdk-aac; \ - autoreconf -fiv; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac && \ + cd fdk-aac && \ + autoreconf -fiv && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -85,23 +85,23 @@ RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac; \ ARG OPUS_VER=1.2.1 ARG OPUS_REPO=https://archive.mozilla.org/pub/opus/opus-${OPUS_VER}.tar.gz -RUN wget -O - ${OPUS_REPO} | tar xz; \ - cd opus-${OPUS_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${OPUS_REPO} | tar xz && \ + cd opus-${OPUS_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build vpx ARG VPX_VER=tags/v1.7.0 ARG VPX_REPO=https://chromium.googlesource.com/webm/libvpx.git -RUN git clone ${VPX_REPO}; \ - cd libvpx; \ - git checkout ${VPX_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=nasm; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${VPX_REPO} && \ + cd libvpx && \ + git checkout ${VPX_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=nasm && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -109,25 +109,25 @@ RUN git clone ${VPX_REPO}; \ ARG AOM_VER=tags/v1.0.0 ARG AOM_REPO=https://aomedia.googlesource.com/aom -RUN git clone ${AOM_REPO}; \ - mkdir aom/aom_build; \ - cd aom/aom_build; \ - git checkout ${AOM_VER}; \ - cmake -DBUILD_SHARED_LIBS=ON -DENABLE_NASM=ON -DENABLE_TESTS=OFF -DENABLE_DOCS=OFF -DCMAKE_INSTALL_PREFIX="/usr" -DLIB_INSTALL_DIR=/usr/lib/x86_64-linux-gnu ..; \ - make -j8; \ - make install DESTDIR="/home/build"; \ +RUN git clone ${AOM_REPO} && \ + mkdir aom/aom_build && \ + cd aom/aom_build && \ + git checkout ${AOM_VER} && \ + cmake -DBUILD_SHARED_LIBS=ON -DENABLE_NASM=ON -DENABLE_TESTS=OFF -DENABLE_DOCS=OFF -DCMAKE_INSTALL_PREFIX="/usr" -DLIB_INSTALL_DIR=/usr/lib/x86_64-linux-gnu .. && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ make install # Build x264 ARG X264_VER=stable ARG X264_REPO=https://github.com/mirror/x264 -RUN git clone ${X264_REPO}; \ - cd x264; \ - git checkout ${X264_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared; \ - make -j8; \ - make install DESTDIR="/home/build"; \ +RUN git clone ${X264_REPO} && \ + cd x264 && \ + git checkout ${X264_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ make install @@ -137,24 +137,24 @@ ARG X265_REPO=https://github.com/videolan/x265/archive/${X265_VER}.tar.gz RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libnuma-dev -RUN wget -O - ${X265_REPO} | tar xz && mv x265-${X265_VER} x265; \ - cd x265/build/linux; \ - cmake -DBUILD_SHARED_LIBS=ON -DENABLE_TESTS=OFF -DCMAKE_INSTALL_PREFIX=/usr -DLIB_INSTALL_DIR=/usr/lib/x86_64-linux-gnu ../../source; \ - make -j8; \ - make install DESTDIR="/home/build"; \ +RUN wget -O - ${X265_REPO} | tar xz && mv x265-${X265_VER} x265 && \ + cd x265/build/linux && \ + cmake -DBUILD_SHARED_LIBS=ON -DENABLE_TESTS=OFF -DCMAKE_INSTALL_PREFIX=/usr -DLIB_INSTALL_DIR=/usr/lib/x86_64-linux-gnu ../../source && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ make install # Fetch SVT-HEVC ARG SVT_HEVC_VER=v1.3.0 ARG SVT_HEVC_REPO=https://github.com/intel/SVT-HEVC -RUN git clone ${SVT_HEVC_REPO}; \ - cd SVT-HEVC/Build/linux; \ - git checkout ${SVT_HEVC_VER}; \ - mkdir -p ../../Bin/Release; \ - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${SVT_HEVC_REPO} && \ + cd SVT-HEVC/Build/linux && \ + git checkout ${SVT_HEVC_VER} && \ + mkdir -p ../../Bin/Release && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -162,13 +162,13 @@ RUN git clone ${SVT_HEVC_REPO}; \ ARG SVT_AV1_VER=a39acb2 ARG SVT_AV1_REPO=https://github.com/OpenVisualCloud/SVT-AV1 -RUN git clone ${SVT_AV1_REPO}; \ - cd SVT-AV1/Build/linux; \ - git checkout ${SVT_AV1_VER}; \ - mkdir -p ../../Bin/Release; \ - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${SVT_AV1_REPO} && \ + cd SVT-AV1/Build/linux && \ + git checkout ${SVT_AV1_VER} && \ + mkdir -p ../../Bin/Release && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -176,13 +176,13 @@ RUN git clone ${SVT_AV1_REPO}; \ ARG SVT_VP9_VER=e92a57c ARG SVT_VP9_REPO=https://github.com/OpenVisualCloud/SVT-VP9 -RUN git clone ${SVT_VP9_REPO}; \ - cd SVT-VP9/Build/linux; \ - git checkout ${SVT_VP9_VER}; \ - mkdir -p ../../Bin/Release; \ - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${SVT_VP9_REPO} && \ + cd SVT-VP9/Build/linux && \ + git checkout ${SVT_VP9_VER} && \ + mkdir -p ../../Bin/Release && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install #include(transform360.m4) @@ -225,58 +225,58 @@ RUN git clone -b ${DLDT_VER} ${DLDT_REPO}; \ ARG GST_VER=1.14.4 ARG GST_REPO=https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${GST_VER}.tar.xz -RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libglib2.0-dev -RUN wget -O - ${GST_REPO} | tar xJ; \ - cd gstreamer-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples ; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libglib2.0-dev autopoint gtk-doc-tools +RUN wget -O - ${GST_REPO} | tar xJ && \ + cd gstreamer-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin base ARG GST_PLUGIN_BASE_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_BASE_REPO} | tar xJ; \ - cd gst-plugins-base-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples ; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${GST_PLUGIN_BASE_REPO} | tar xJ && \ + cd gst-plugins-base-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin good set ARG GST_PLUGIN_GOOD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_GOOD_REPO} | tar xJ; \ - cd gst-plugins-good-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples ; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${GST_PLUGIN_GOOD_REPO} | tar xJ && \ + cd gst-plugins-good-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin bad set ARG GST_PLUGIN_BAD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_BAD_REPO} | tar xJ; \ - cd gst-plugins-bad-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples ; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${GST_PLUGIN_BAD_REPO} | tar xJ && \ + cd gst-plugins-bad-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin ugly set ARG GST_PLUGIN_UGLY_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_UGLY_REPO} | tar xJ; \ - cd gst-plugins-ugly-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples ; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${GST_PLUGIN_UGLY_REPO} | tar xJ && \ + cd gst-plugins-ugly-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build gst-libav @@ -284,10 +284,10 @@ ARG GST_PLUGIN_LIBAV_REPO=https://gstreamer.freedesktop.org/src/gst-libav/gst-li RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends zlib1g-dev libssl-dev -RUN wget -O - ${GST_PLUGIN_LIBAV_REPO} | tar xJ; \ - cd gst-libav-${GST_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared --enable-gpl; \ - make -j8; \ +RUN wget -O - ${GST_PLUGIN_LIBAV_REPO} | tar xJ && \ + cd gst-libav-${GST_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared --enable-gpl && \ + make -j8 && \ make install DESTDIR="/home/build" @@ -300,20 +300,20 @@ ARG FFMPEG_1TN_PATCH_REPO=https://patchwork.ffmpeg.org/patch/11625/raw ARG FFMPEG_THREAD_PATCH_REPO=https://patchwork.ffmpeg.org/patch/11035/raw RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libass-dev libfreetype6-dev libsdl2-dev libxcb1-dev libxcb-shm0-dev libxcb-xfixes0-dev texinfo zlib1g-dev libssl-dev -RUN wget -O - ${FFMPEG_REPO} | tar xz && mv FFmpeg-${FFMPEG_VER} FFmpeg; \ - cd FFmpeg; \ - wget -O - ${FFMPEG_FLV_PATCH_REPO} | patch -p1; \ - wget -O - ${FFMPEG_1TN_PATCH_REPO} | patch -p1; \ +RUN wget -O - ${FFMPEG_REPO} | tar xz && mv FFmpeg-${FFMPEG_VER} FFmpeg && \ + cd FFmpeg && \ + wget -O - ${FFMPEG_FLV_PATCH_REPO} | patch -p1 && \ + wget -O - ${FFMPEG_1TN_PATCH_REPO} | patch -p1 && \ wget -O - ${FFMPEG_THREAD_PATCH_REPO} | patch -p1; # Patch FFmpeg source for SVT-HEVC -RUN cd /home/FFmpeg; \ +RUN cd /home/FFmpeg && \ patch -p1 < ../SVT-HEVC/ffmpeg_plugin/0001-lavc-svt_hevc-add-libsvt-hevc-encoder-wrapper.patch; # Compile FFmpeg -RUN cd /home/FFmpeg; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --extra-libs="-lpthread -lm" --enable-shared --enable-gpl --enable-libass --enable-libfreetype --enable-openssl --enable-nonfree --disable-vaapi --disable-hwaccels --enable-libfdk-aac --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-libaom --enable-libsvthevc ; \ - make -j8; \ +RUN cd /home/FFmpeg && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --extra-libs="-lpthread -lm" --enable-shared --enable-gpl --enable-libass --enable-libfreetype --enable-openssl --enable-nonfree --disable-vaapi --disable-hwaccels --enable-libfdk-aac --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-libaom --enable-libsvthevc && \ + make -j8 && \ make install DESTDIR="/home/build" diff --git a/Xeon/ubuntu-16.04/ffmpeg/Dockerfile b/Xeon/ubuntu-16.04/ffmpeg/Dockerfile index 23462fb72..1d37506d1 100644 --- a/Xeon/ubuntu-16.04/ffmpeg/Dockerfile +++ b/Xeon/ubuntu-16.04/ffmpeg/Dockerfile @@ -8,76 +8,76 @@ RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no- # Install cmake ARG CMAKE_VER=3.13.1 ARG CMAKE_REPO=https://cmake.org/files -RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz; \ - cd cmake-${CMAKE_VER}; \ - ./bootstrap --prefix="/usr"; \ - make -j8; \ +RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz && \ + cd cmake-${CMAKE_VER} && \ + ./bootstrap --prefix="/usr" && \ + make -j8 && \ make install # Build NASM ARG NASM_VER=2.13.03 ARG NASM_REPO=https://www.nasm.us/pub/nasm/releasebuilds/${NASM_VER}/nasm-${NASM_VER}.tar.bz2 -RUN wget ${NASM_REPO}; \ - tar -xaf nasm*; \ - cd nasm-${NASM_VER}; \ - ./autogen.sh; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu; \ - make -j8; \ +RUN wget ${NASM_REPO} && \ + tar -xaf nasm* && \ + cd nasm-${NASM_VER} && \ + ./autogen.sh && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu && \ + make -j8 && \ make install # Build YASM ARG YASM_VER=1.3.0 ARG YASM_REPO=https://www.tortall.net/projects/yasm/releases/yasm-${YASM_VER}.tar.gz -RUN wget -O - ${YASM_REPO} | tar xz; \ - cd yasm-${YASM_VER}; \ - sed -i "s/) ytasm.*/)/" Makefile.in; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu; \ - make -j8; \ +RUN wget -O - ${YASM_REPO} | tar xz && \ + cd yasm-${YASM_VER} && \ + sed -i "s/) ytasm.*/)/" Makefile.in && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu && \ + make -j8 && \ make install # Build ogg ARG OGG_VER=1.3.3 ARG OGG_REPO=https://downloads.xiph.org/releases/ogg/libogg-${OGG_VER}.tar.xz -RUN wget -O - ${OGG_REPO} | tar xJ; \ - cd libogg-${OGG_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${OGG_REPO} | tar xJ && \ + cd libogg-${OGG_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build vorbis ARG VORBIS_VER=1.3.6 ARG VORBIS_REPO=https://downloads.xiph.org/releases/vorbis/libvorbis-${VORBIS_VER}.tar.xz -RUN wget -O - ${VORBIS_REPO} | tar xJ; \ - cd libvorbis-${VORBIS_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${VORBIS_REPO} | tar xJ && \ + cd libvorbis-${VORBIS_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build mp3lame ARG MP3LAME_VER=3.100 ARG MP3LAME_REPO=https://sourceforge.net/projects/lame/files/lame/${MP3LAME_VER}/lame-${MP3LAME_VER}.tar.gz -RUN wget -O - ${MP3LAME_REPO} | tar xz; \ - cd lame-${MP3LAME_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared --enable-nasm; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${MP3LAME_REPO} | tar xz && \ + cd lame-${MP3LAME_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared --enable-nasm && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build fdk-aac ARG FDK_AAC_VER=v0.1.6 ARG FDK_AAC_REPO=https://github.com/mstorsjo/fdk-aac/archive/${FDK_AAC_VER}.tar.gz -RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac; \ - cd fdk-aac; \ - autoreconf -fiv; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac && \ + cd fdk-aac && \ + autoreconf -fiv && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -85,23 +85,23 @@ RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac; \ ARG OPUS_VER=1.2.1 ARG OPUS_REPO=https://archive.mozilla.org/pub/opus/opus-${OPUS_VER}.tar.gz -RUN wget -O - ${OPUS_REPO} | tar xz; \ - cd opus-${OPUS_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${OPUS_REPO} | tar xz && \ + cd opus-${OPUS_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build vpx ARG VPX_VER=tags/v1.7.0 ARG VPX_REPO=https://chromium.googlesource.com/webm/libvpx.git -RUN git clone ${VPX_REPO}; \ - cd libvpx; \ - git checkout ${VPX_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=nasm; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${VPX_REPO} && \ + cd libvpx && \ + git checkout ${VPX_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=nasm && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -109,25 +109,25 @@ RUN git clone ${VPX_REPO}; \ ARG AOM_VER=tags/v1.0.0 ARG AOM_REPO=https://aomedia.googlesource.com/aom -RUN git clone ${AOM_REPO}; \ - mkdir aom/aom_build; \ - cd aom/aom_build; \ - git checkout ${AOM_VER}; \ - cmake -DBUILD_SHARED_LIBS=ON -DENABLE_NASM=ON -DENABLE_TESTS=OFF -DENABLE_DOCS=OFF -DCMAKE_INSTALL_PREFIX="/usr" -DLIB_INSTALL_DIR=/usr/lib/x86_64-linux-gnu ..; \ - make -j8; \ - make install DESTDIR="/home/build"; \ +RUN git clone ${AOM_REPO} && \ + mkdir aom/aom_build && \ + cd aom/aom_build && \ + git checkout ${AOM_VER} && \ + cmake -DBUILD_SHARED_LIBS=ON -DENABLE_NASM=ON -DENABLE_TESTS=OFF -DENABLE_DOCS=OFF -DCMAKE_INSTALL_PREFIX="/usr" -DLIB_INSTALL_DIR=/usr/lib/x86_64-linux-gnu .. && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ make install # Build x264 ARG X264_VER=stable ARG X264_REPO=https://github.com/mirror/x264 -RUN git clone ${X264_REPO}; \ - cd x264; \ - git checkout ${X264_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared; \ - make -j8; \ - make install DESTDIR="/home/build"; \ +RUN git clone ${X264_REPO} && \ + cd x264 && \ + git checkout ${X264_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ make install @@ -137,24 +137,24 @@ ARG X265_REPO=https://github.com/videolan/x265/archive/${X265_VER}.tar.gz RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libnuma-dev -RUN wget -O - ${X265_REPO} | tar xz && mv x265-${X265_VER} x265; \ - cd x265/build/linux; \ - cmake -DBUILD_SHARED_LIBS=ON -DENABLE_TESTS=OFF -DCMAKE_INSTALL_PREFIX=/usr -DLIB_INSTALL_DIR=/usr/lib/x86_64-linux-gnu ../../source; \ - make -j8; \ - make install DESTDIR="/home/build"; \ +RUN wget -O - ${X265_REPO} | tar xz && mv x265-${X265_VER} x265 && \ + cd x265/build/linux && \ + cmake -DBUILD_SHARED_LIBS=ON -DENABLE_TESTS=OFF -DCMAKE_INSTALL_PREFIX=/usr -DLIB_INSTALL_DIR=/usr/lib/x86_64-linux-gnu ../../source && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ make install # Fetch SVT-HEVC ARG SVT_HEVC_VER=v1.3.0 ARG SVT_HEVC_REPO=https://github.com/intel/SVT-HEVC -RUN git clone ${SVT_HEVC_REPO}; \ - cd SVT-HEVC/Build/linux; \ - git checkout ${SVT_HEVC_VER}; \ - mkdir -p ../../Bin/Release; \ - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${SVT_HEVC_REPO} && \ + cd SVT-HEVC/Build/linux && \ + git checkout ${SVT_HEVC_VER} && \ + mkdir -p ../../Bin/Release && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -162,13 +162,13 @@ RUN git clone ${SVT_HEVC_REPO}; \ ARG SVT_AV1_VER=a39acb2 ARG SVT_AV1_REPO=https://github.com/OpenVisualCloud/SVT-AV1 -RUN git clone ${SVT_AV1_REPO}; \ - cd SVT-AV1/Build/linux; \ - git checkout ${SVT_AV1_VER}; \ - mkdir -p ../../Bin/Release; \ - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${SVT_AV1_REPO} && \ + cd SVT-AV1/Build/linux && \ + git checkout ${SVT_AV1_VER} && \ + mkdir -p ../../Bin/Release && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -176,13 +176,13 @@ RUN git clone ${SVT_AV1_REPO}; \ ARG SVT_VP9_VER=e92a57c ARG SVT_VP9_REPO=https://github.com/OpenVisualCloud/SVT-VP9 -RUN git clone ${SVT_VP9_REPO}; \ - cd SVT-VP9/Build/linux; \ - git checkout ${SVT_VP9_VER}; \ - mkdir -p ../../Bin/Release; \ - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${SVT_VP9_REPO} && \ + cd SVT-VP9/Build/linux && \ + git checkout ${SVT_VP9_VER} && \ + mkdir -p ../../Bin/Release && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install #include(transform360.m4) @@ -194,28 +194,28 @@ ARG FFMPEG_1TN_PATCH_REPO=https://patchwork.ffmpeg.org/patch/11625/raw ARG FFMPEG_THREAD_PATCH_REPO=https://patchwork.ffmpeg.org/patch/11035/raw RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends zlib1g-dev libssl-dev -RUN wget -O - ${FFMPEG_REPO} | tar xz && mv FFmpeg-${FFMPEG_VER} FFmpeg; \ - cd FFmpeg; \ - wget -O - ${FFMPEG_FLV_PATCH_REPO} | patch -p1; \ - wget -O - ${FFMPEG_1TN_PATCH_REPO} | patch -p1; \ +RUN wget -O - ${FFMPEG_REPO} | tar xz && mv FFmpeg-${FFMPEG_VER} FFmpeg && \ + cd FFmpeg && \ + wget -O - ${FFMPEG_FLV_PATCH_REPO} | patch -p1 && \ + wget -O - ${FFMPEG_1TN_PATCH_REPO} | patch -p1 && \ wget -O - ${FFMPEG_THREAD_PATCH_REPO} | patch -p1; # Patch FFmpeg source for SVT-HEVC -RUN cd /home/FFmpeg; \ +RUN cd /home/FFmpeg && \ patch -p1 < ../SVT-HEVC/ffmpeg_plugin/0001-lavc-svt_hevc-add-libsvt-hevc-encoder-wrapper.patch; # Compile FFmpeg -RUN cd /home/FFmpeg; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --extra-libs="-lpthread -lm" --enable-shared --enable-gpl --disable-xlib --disable-sdl2 --enable-openssl --enable-nonfree --disable-vaapi --disable-hwaccels --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --enable-libfdk-aac --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-libaom --enable-libsvthevc ; \ - make -j8; \ +RUN cd /home/FFmpeg && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --extra-libs="-lpthread -lm" --enable-shared --enable-gpl --disable-xlib --disable-sdl2 --enable-openssl --enable-nonfree --disable-vaapi --disable-hwaccels --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --enable-libfdk-aac --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-libaom --enable-libsvthevc && \ + make -j8 && \ make install DESTDIR="/home/build" # Clean up after build -RUN rm -rf /home/build/usr/include; \ - rm -rf /home/build/usr/share/doc; \ - rm -rf /home/build/usr/share/gtk-doc; \ - rm -rf /home/build/usr/share/man; \ +RUN rm -rf /home/build/usr/include && \ + rm -rf /home/build/usr/share/doc && \ + rm -rf /home/build/usr/share/gtk-doc && \ + rm -rf /home/build/usr/share/man && \ find /home/build -name "*.a" -exec rm -f {} \; FROM ubuntu:16.04 diff --git a/Xeon/ubuntu-16.04/gst/Dockerfile b/Xeon/ubuntu-16.04/gst/Dockerfile index 410256ea3..7c620fd7e 100644 --- a/Xeon/ubuntu-16.04/gst/Dockerfile +++ b/Xeon/ubuntu-16.04/gst/Dockerfile @@ -8,76 +8,76 @@ RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no- # Install cmake ARG CMAKE_VER=3.13.1 ARG CMAKE_REPO=https://cmake.org/files -RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz; \ - cd cmake-${CMAKE_VER}; \ - ./bootstrap --prefix="/usr"; \ - make -j8; \ +RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz && \ + cd cmake-${CMAKE_VER} && \ + ./bootstrap --prefix="/usr" && \ + make -j8 && \ make install # Build NASM ARG NASM_VER=2.13.03 ARG NASM_REPO=https://www.nasm.us/pub/nasm/releasebuilds/${NASM_VER}/nasm-${NASM_VER}.tar.bz2 -RUN wget ${NASM_REPO}; \ - tar -xaf nasm*; \ - cd nasm-${NASM_VER}; \ - ./autogen.sh; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu; \ - make -j8; \ +RUN wget ${NASM_REPO} && \ + tar -xaf nasm* && \ + cd nasm-${NASM_VER} && \ + ./autogen.sh && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu && \ + make -j8 && \ make install # Build YASM ARG YASM_VER=1.3.0 ARG YASM_REPO=https://www.tortall.net/projects/yasm/releases/yasm-${YASM_VER}.tar.gz -RUN wget -O - ${YASM_REPO} | tar xz; \ - cd yasm-${YASM_VER}; \ - sed -i "s/) ytasm.*/)/" Makefile.in; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu; \ - make -j8; \ +RUN wget -O - ${YASM_REPO} | tar xz && \ + cd yasm-${YASM_VER} && \ + sed -i "s/) ytasm.*/)/" Makefile.in && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu && \ + make -j8 && \ make install # Build ogg ARG OGG_VER=1.3.3 ARG OGG_REPO=https://downloads.xiph.org/releases/ogg/libogg-${OGG_VER}.tar.xz -RUN wget -O - ${OGG_REPO} | tar xJ; \ - cd libogg-${OGG_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${OGG_REPO} | tar xJ && \ + cd libogg-${OGG_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build vorbis ARG VORBIS_VER=1.3.6 ARG VORBIS_REPO=https://downloads.xiph.org/releases/vorbis/libvorbis-${VORBIS_VER}.tar.xz -RUN wget -O - ${VORBIS_REPO} | tar xJ; \ - cd libvorbis-${VORBIS_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${VORBIS_REPO} | tar xJ && \ + cd libvorbis-${VORBIS_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build mp3lame ARG MP3LAME_VER=3.100 ARG MP3LAME_REPO=https://sourceforge.net/projects/lame/files/lame/${MP3LAME_VER}/lame-${MP3LAME_VER}.tar.gz -RUN wget -O - ${MP3LAME_REPO} | tar xz; \ - cd lame-${MP3LAME_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared --enable-nasm; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${MP3LAME_REPO} | tar xz && \ + cd lame-${MP3LAME_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared --enable-nasm && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build fdk-aac ARG FDK_AAC_VER=v0.1.6 ARG FDK_AAC_REPO=https://github.com/mstorsjo/fdk-aac/archive/${FDK_AAC_VER}.tar.gz -RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac; \ - cd fdk-aac; \ - autoreconf -fiv; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac && \ + cd fdk-aac && \ + autoreconf -fiv && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -85,23 +85,23 @@ RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac; \ ARG OPUS_VER=1.2.1 ARG OPUS_REPO=https://archive.mozilla.org/pub/opus/opus-${OPUS_VER}.tar.gz -RUN wget -O - ${OPUS_REPO} | tar xz; \ - cd opus-${OPUS_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${OPUS_REPO} | tar xz && \ + cd opus-${OPUS_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build vpx ARG VPX_VER=tags/v1.7.0 ARG VPX_REPO=https://chromium.googlesource.com/webm/libvpx.git -RUN git clone ${VPX_REPO}; \ - cd libvpx; \ - git checkout ${VPX_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=nasm; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${VPX_REPO} && \ + cd libvpx && \ + git checkout ${VPX_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=nasm && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -109,25 +109,25 @@ RUN git clone ${VPX_REPO}; \ ARG AOM_VER=tags/v1.0.0 ARG AOM_REPO=https://aomedia.googlesource.com/aom -RUN git clone ${AOM_REPO}; \ - mkdir aom/aom_build; \ - cd aom/aom_build; \ - git checkout ${AOM_VER}; \ - cmake -DBUILD_SHARED_LIBS=ON -DENABLE_NASM=ON -DENABLE_TESTS=OFF -DENABLE_DOCS=OFF -DCMAKE_INSTALL_PREFIX="/usr" -DLIB_INSTALL_DIR=/usr/lib/x86_64-linux-gnu ..; \ - make -j8; \ - make install DESTDIR="/home/build"; \ +RUN git clone ${AOM_REPO} && \ + mkdir aom/aom_build && \ + cd aom/aom_build && \ + git checkout ${AOM_VER} && \ + cmake -DBUILD_SHARED_LIBS=ON -DENABLE_NASM=ON -DENABLE_TESTS=OFF -DENABLE_DOCS=OFF -DCMAKE_INSTALL_PREFIX="/usr" -DLIB_INSTALL_DIR=/usr/lib/x86_64-linux-gnu .. && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ make install # Build x264 ARG X264_VER=stable ARG X264_REPO=https://github.com/mirror/x264 -RUN git clone ${X264_REPO}; \ - cd x264; \ - git checkout ${X264_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared; \ - make -j8; \ - make install DESTDIR="/home/build"; \ +RUN git clone ${X264_REPO} && \ + cd x264 && \ + git checkout ${X264_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ make install @@ -137,24 +137,24 @@ ARG X265_REPO=https://github.com/videolan/x265/archive/${X265_VER}.tar.gz RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libnuma-dev -RUN wget -O - ${X265_REPO} | tar xz && mv x265-${X265_VER} x265; \ - cd x265/build/linux; \ - cmake -DBUILD_SHARED_LIBS=ON -DENABLE_TESTS=OFF -DCMAKE_INSTALL_PREFIX=/usr -DLIB_INSTALL_DIR=/usr/lib/x86_64-linux-gnu ../../source; \ - make -j8; \ - make install DESTDIR="/home/build"; \ +RUN wget -O - ${X265_REPO} | tar xz && mv x265-${X265_VER} x265 && \ + cd x265/build/linux && \ + cmake -DBUILD_SHARED_LIBS=ON -DENABLE_TESTS=OFF -DCMAKE_INSTALL_PREFIX=/usr -DLIB_INSTALL_DIR=/usr/lib/x86_64-linux-gnu ../../source && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ make install # Fetch SVT-HEVC ARG SVT_HEVC_VER=v1.3.0 ARG SVT_HEVC_REPO=https://github.com/intel/SVT-HEVC -RUN git clone ${SVT_HEVC_REPO}; \ - cd SVT-HEVC/Build/linux; \ - git checkout ${SVT_HEVC_VER}; \ - mkdir -p ../../Bin/Release; \ - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${SVT_HEVC_REPO} && \ + cd SVT-HEVC/Build/linux && \ + git checkout ${SVT_HEVC_VER} && \ + mkdir -p ../../Bin/Release && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -162,13 +162,13 @@ RUN git clone ${SVT_HEVC_REPO}; \ ARG SVT_AV1_VER=a39acb2 ARG SVT_AV1_REPO=https://github.com/OpenVisualCloud/SVT-AV1 -RUN git clone ${SVT_AV1_REPO}; \ - cd SVT-AV1/Build/linux; \ - git checkout ${SVT_AV1_VER}; \ - mkdir -p ../../Bin/Release; \ - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${SVT_AV1_REPO} && \ + cd SVT-AV1/Build/linux && \ + git checkout ${SVT_AV1_VER} && \ + mkdir -p ../../Bin/Release && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -176,71 +176,71 @@ RUN git clone ${SVT_AV1_REPO}; \ ARG SVT_VP9_VER=e92a57c ARG SVT_VP9_REPO=https://github.com/OpenVisualCloud/SVT-VP9 -RUN git clone ${SVT_VP9_REPO}; \ - cd SVT-VP9/Build/linux; \ - git checkout ${SVT_VP9_VER}; \ - mkdir -p ../../Bin/Release; \ - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${SVT_VP9_REPO} && \ + cd SVT-VP9/Build/linux && \ + git checkout ${SVT_VP9_VER} && \ + mkdir -p ../../Bin/Release && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build the gstremaer core ARG GST_VER=1.14.4 ARG GST_REPO=https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${GST_VER}.tar.xz -RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libglib2.0-dev -RUN wget -O - ${GST_REPO} | tar xJ; \ - cd gstreamer-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples --disable-gst-debug --disable-debug --disable-benchmarks --disable-check; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libglib2.0-dev autopoint gtk-doc-tools +RUN wget -O - ${GST_REPO} | tar xJ && \ + cd gstreamer-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples --disable-gst-debug --disable-debug --disable-benchmarks --disable-check && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin base ARG GST_PLUGIN_BASE_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_BASE_REPO} | tar xJ; \ - cd gst-plugins-base-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples --disable-debug; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${GST_PLUGIN_BASE_REPO} | tar xJ && \ + cd gst-plugins-base-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples --disable-debug && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin good set ARG GST_PLUGIN_GOOD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_GOOD_REPO} | tar xJ; \ - cd gst-plugins-good-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples --disable-debug; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${GST_PLUGIN_GOOD_REPO} | tar xJ && \ + cd gst-plugins-good-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples --disable-debug && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin bad set ARG GST_PLUGIN_BAD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_BAD_REPO} | tar xJ; \ - cd gst-plugins-bad-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples --disable-debug; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${GST_PLUGIN_BAD_REPO} | tar xJ && \ + cd gst-plugins-bad-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples --disable-debug && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin ugly set ARG GST_PLUGIN_UGLY_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_UGLY_REPO} | tar xJ; \ - cd gst-plugins-ugly-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples --disable-debug; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${GST_PLUGIN_UGLY_REPO} | tar xJ && \ + cd gst-plugins-ugly-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples --disable-debug && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build gst-libav @@ -248,19 +248,19 @@ ARG GST_PLUGIN_LIBAV_REPO=https://gstreamer.freedesktop.org/src/gst-libav/gst-li RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends zlib1g-dev libssl-dev -RUN wget -O - ${GST_PLUGIN_LIBAV_REPO} | tar xJ; \ - cd gst-libav-${GST_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared --enable-gpl; \ - make -j8; \ +RUN wget -O - ${GST_PLUGIN_LIBAV_REPO} | tar xJ && \ + cd gst-libav-${GST_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared --enable-gpl && \ + make -j8 && \ make install DESTDIR="/home/build" # Clean up after build -RUN rm -rf /home/build/usr/include; \ - rm -rf /home/build/usr/share/doc; \ - rm -rf /home/build/usr/share/gtk-doc; \ - rm -rf /home/build/usr/share/man; \ +RUN rm -rf /home/build/usr/include && \ + rm -rf /home/build/usr/share/doc && \ + rm -rf /home/build/usr/share/gtk-doc && \ + rm -rf /home/build/usr/share/man && \ find /home/build -name "*.a" -exec rm -f {} \; FROM ubuntu:16.04 diff --git a/Xeon/ubuntu-16.04/nginx+rtmp/Dockerfile b/Xeon/ubuntu-16.04/nginx+rtmp/Dockerfile index 2cb9e16c7..b51dc0971 100644 --- a/Xeon/ubuntu-16.04/nginx+rtmp/Dockerfile +++ b/Xeon/ubuntu-16.04/nginx+rtmp/Dockerfile @@ -8,10 +8,10 @@ RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no- # Install cmake ARG CMAKE_VER=3.13.1 ARG CMAKE_REPO=https://cmake.org/files -RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz; \ - cd cmake-${CMAKE_VER}; \ - ./bootstrap --prefix="/usr"; \ - make -j8; \ +RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz && \ + cd cmake-${CMAKE_VER} && \ + ./bootstrap --prefix="/usr" && \ + make -j8 && \ make install @@ -21,11 +21,11 @@ ARG NGINX_RTMP_REPO=https://github.com/arut/nginx-rtmp-module/archive/${NGINX_RT ARG NGINX_RTMP_PATCH_HLS=https://raw.githubusercontent.com/VCDP/CDN/master/0001-add-hevc-support-for-rtmp-and-hls.patch ARG NGINX_RTMP_PATCH_DASH=https://raw.githubusercontent.com/VCDP/CDN/master/0002-add-HEVC-support-for-dash.patch -RUN wget -O - ${NGINX_RTMP_REPO} | tar xz && mv nginx-rtmp-module-${NGINX_RTMP_VER#v} nginx-rtmp-module; \ - cd nginx-rtmp-module; \ - mkdir -p /home/build/var/www/html; \ - cp -f stat.xsl /home/build/var/www/html; \ - wget -O - ${NGINX_RTMP_PATCH_HLS} | patch -p1; \ +RUN wget -O - ${NGINX_RTMP_REPO} | tar xz && mv nginx-rtmp-module-${NGINX_RTMP_VER#v} nginx-rtmp-module && \ + cd nginx-rtmp-module && \ + mkdir -p /home/build/var/www/html && \ + cp -f stat.xsl /home/build/var/www/html && \ + wget -O - ${NGINX_RTMP_PATCH_HLS} | patch -p1 && \ wget -O - ${NGINX_RTMP_PATCH_DASH} | patch -p1; # Build nginx & nginx-rtmp @@ -34,21 +34,21 @@ ARG NGINX_REPO=https://nginx.org/download/nginx-${NGINX_VER}.tar.gz RUN apt-get update && apt-get install -y -q --no-install-recommends libssl-dev libpcre3-dev zlib1g-dev libxslt1-dev -RUN wget -O - ${NGINX_REPO} | tar xz; \ - cd nginx-${NGINX_VER}; \ - ./configure --prefix=/var/www --sbin-path=/usr/sbin/nginx --modules-path=/usr/lib/x86_64-linux-gnu/nginx/modules --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/www/log/error.log --pid-path=/var/www/nginx.pid --lock-path=/var/www/nginx.lock --http-log-path=/var/www/log/access.log --http-client-body-temp-path=/var/www/tmp/client_body --http-proxy-temp-path=/var/www/tmp/proxy --http-fastcgi-temp-path=/var/www/tmp/fastcgi --http-uwsgi-temp-path=/var/www/tmp/uwsgi --http-scgi-temp-path=/var/www/tmp/scgi --user=www-data --group=www-data --with-select_module --with-poll_module --with-threads --with-file-aio --with-http_ssl_module --with-http_v2_module --with-http_realip_module --with-http_addition_module --with-http_xslt_module --with-http_sub_module --with-http_dav_module --with-http_flv_module --with-http_mp4_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_auth_request_module --with-http_random_index_module --with-http_secure_link_module --with-http_degradation_module --with-http_slice_module --with-http_stub_status_module --with-stream --with-stream_ssl_module --with-stream_realip_module --with-stream_ssl_preread_module --with-pcre --add-module=../nginx-rtmp-module ; \ - make -j8; \ +RUN wget -O - ${NGINX_REPO} | tar xz && \ + cd nginx-${NGINX_VER} && \ + ./configure --prefix=/var/www --sbin-path=/usr/sbin/nginx --modules-path=/usr/lib/x86_64-linux-gnu/nginx/modules --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/www/log/error.log --pid-path=/var/www/nginx.pid --lock-path=/var/www/nginx.lock --http-log-path=/var/www/log/access.log --http-client-body-temp-path=/var/www/tmp/client_body --http-proxy-temp-path=/var/www/tmp/proxy --http-fastcgi-temp-path=/var/www/tmp/fastcgi --http-uwsgi-temp-path=/var/www/tmp/uwsgi --http-scgi-temp-path=/var/www/tmp/scgi --user=www-data --group=www-data --with-select_module --with-poll_module --with-threads --with-file-aio --with-http_ssl_module --with-http_v2_module --with-http_realip_module --with-http_addition_module --with-http_xslt_module --with-http_sub_module --with-http_dav_module --with-http_flv_module --with-http_mp4_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_auth_request_module --with-http_random_index_module --with-http_secure_link_module --with-http_degradation_module --with-http_slice_module --with-http_stub_status_module --with-stream --with-stream_ssl_module --with-stream_realip_module --with-stream_ssl_preread_module --with-pcre --add-module=../nginx-rtmp-module && \ + make -j8 && \ make install DESTDIR=/home/build; # NGINX Setup COPY nginx.conf /home/build/etc/nginx -RUN mkdir -p /home/build/var/www/tmp/client_body; \ - mkdir -p /home/build/var/www/tmp/proxy; \ - mkdir -p /home/build/var/www/tmp/fastcgi; \ - mkdir -p /home/build/var/www/tmp/uwsgi; \ - mkdir -p /home/build/var/www/tmp/scgi; \ - mkdir -p /home/build/var/www/cache; \ - mkdir -p /home/build/var/www/html; \ +RUN mkdir -p /home/build/var/www/tmp/client_body && \ + mkdir -p /home/build/var/www/tmp/proxy && \ + mkdir -p /home/build/var/www/tmp/fastcgi && \ + mkdir -p /home/build/var/www/tmp/uwsgi && \ + mkdir -p /home/build/var/www/tmp/scgi && \ + mkdir -p /home/build/var/www/cache && \ + mkdir -p /home/build/var/www/html && \ touch /home/build/var/www/html/index.html; diff --git a/Xeon/ubuntu-18.04/dldt+ffmpeg/Dockerfile b/Xeon/ubuntu-18.04/dldt+ffmpeg/Dockerfile index 4893d961a..8f7ba1723 100644 --- a/Xeon/ubuntu-18.04/dldt+ffmpeg/Dockerfile +++ b/Xeon/ubuntu-18.04/dldt+ffmpeg/Dockerfile @@ -8,76 +8,76 @@ RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no- # Install cmake ARG CMAKE_VER=3.13.1 ARG CMAKE_REPO=https://cmake.org/files -RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz; \ - cd cmake-${CMAKE_VER}; \ - ./bootstrap --prefix="/usr"; \ - make -j8; \ +RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz && \ + cd cmake-${CMAKE_VER} && \ + ./bootstrap --prefix="/usr" && \ + make -j8 && \ make install # Build NASM ARG NASM_VER=2.13.03 ARG NASM_REPO=https://www.nasm.us/pub/nasm/releasebuilds/${NASM_VER}/nasm-${NASM_VER}.tar.bz2 -RUN wget ${NASM_REPO}; \ - tar -xaf nasm*; \ - cd nasm-${NASM_VER}; \ - ./autogen.sh; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu; \ - make -j8; \ +RUN wget ${NASM_REPO} && \ + tar -xaf nasm* && \ + cd nasm-${NASM_VER} && \ + ./autogen.sh && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu && \ + make -j8 && \ make install # Build YASM ARG YASM_VER=1.3.0 ARG YASM_REPO=https://www.tortall.net/projects/yasm/releases/yasm-${YASM_VER}.tar.gz -RUN wget -O - ${YASM_REPO} | tar xz; \ - cd yasm-${YASM_VER}; \ - sed -i "s/) ytasm.*/)/" Makefile.in; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu; \ - make -j8; \ +RUN wget -O - ${YASM_REPO} | tar xz && \ + cd yasm-${YASM_VER} && \ + sed -i "s/) ytasm.*/)/" Makefile.in && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu && \ + make -j8 && \ make install # Build ogg ARG OGG_VER=1.3.3 ARG OGG_REPO=https://downloads.xiph.org/releases/ogg/libogg-${OGG_VER}.tar.xz -RUN wget -O - ${OGG_REPO} | tar xJ; \ - cd libogg-${OGG_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${OGG_REPO} | tar xJ && \ + cd libogg-${OGG_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build vorbis ARG VORBIS_VER=1.3.6 ARG VORBIS_REPO=https://downloads.xiph.org/releases/vorbis/libvorbis-${VORBIS_VER}.tar.xz -RUN wget -O - ${VORBIS_REPO} | tar xJ; \ - cd libvorbis-${VORBIS_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${VORBIS_REPO} | tar xJ && \ + cd libvorbis-${VORBIS_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build mp3lame ARG MP3LAME_VER=3.100 ARG MP3LAME_REPO=https://sourceforge.net/projects/lame/files/lame/${MP3LAME_VER}/lame-${MP3LAME_VER}.tar.gz -RUN wget -O - ${MP3LAME_REPO} | tar xz; \ - cd lame-${MP3LAME_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared --enable-nasm; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${MP3LAME_REPO} | tar xz && \ + cd lame-${MP3LAME_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared --enable-nasm && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build fdk-aac ARG FDK_AAC_VER=v0.1.6 ARG FDK_AAC_REPO=https://github.com/mstorsjo/fdk-aac/archive/${FDK_AAC_VER}.tar.gz -RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac; \ - cd fdk-aac; \ - autoreconf -fiv; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac && \ + cd fdk-aac && \ + autoreconf -fiv && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -85,23 +85,23 @@ RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac; \ ARG OPUS_VER=1.2.1 ARG OPUS_REPO=https://archive.mozilla.org/pub/opus/opus-${OPUS_VER}.tar.gz -RUN wget -O - ${OPUS_REPO} | tar xz; \ - cd opus-${OPUS_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${OPUS_REPO} | tar xz && \ + cd opus-${OPUS_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build vpx ARG VPX_VER=tags/v1.7.0 ARG VPX_REPO=https://chromium.googlesource.com/webm/libvpx.git -RUN git clone ${VPX_REPO}; \ - cd libvpx; \ - git checkout ${VPX_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=nasm; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${VPX_REPO} && \ + cd libvpx && \ + git checkout ${VPX_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=nasm && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -109,25 +109,25 @@ RUN git clone ${VPX_REPO}; \ ARG AOM_VER=tags/v1.0.0 ARG AOM_REPO=https://aomedia.googlesource.com/aom -RUN git clone ${AOM_REPO}; \ - mkdir aom/aom_build; \ - cd aom/aom_build; \ - git checkout ${AOM_VER}; \ - cmake -DBUILD_SHARED_LIBS=ON -DENABLE_NASM=ON -DENABLE_TESTS=OFF -DENABLE_DOCS=OFF -DCMAKE_INSTALL_PREFIX="/usr" -DLIB_INSTALL_DIR=/usr/lib/x86_64-linux-gnu ..; \ - make -j8; \ - make install DESTDIR="/home/build"; \ +RUN git clone ${AOM_REPO} && \ + mkdir aom/aom_build && \ + cd aom/aom_build && \ + git checkout ${AOM_VER} && \ + cmake -DBUILD_SHARED_LIBS=ON -DENABLE_NASM=ON -DENABLE_TESTS=OFF -DENABLE_DOCS=OFF -DCMAKE_INSTALL_PREFIX="/usr" -DLIB_INSTALL_DIR=/usr/lib/x86_64-linux-gnu .. && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ make install # Build x264 ARG X264_VER=stable ARG X264_REPO=https://github.com/mirror/x264 -RUN git clone ${X264_REPO}; \ - cd x264; \ - git checkout ${X264_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared; \ - make -j8; \ - make install DESTDIR="/home/build"; \ +RUN git clone ${X264_REPO} && \ + cd x264 && \ + git checkout ${X264_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ make install @@ -137,24 +137,24 @@ ARG X265_REPO=https://github.com/videolan/x265/archive/${X265_VER}.tar.gz RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libnuma-dev -RUN wget -O - ${X265_REPO} | tar xz && mv x265-${X265_VER} x265; \ - cd x265/build/linux; \ - cmake -DBUILD_SHARED_LIBS=ON -DENABLE_TESTS=OFF -DCMAKE_INSTALL_PREFIX=/usr -DLIB_INSTALL_DIR=/usr/lib/x86_64-linux-gnu ../../source; \ - make -j8; \ - make install DESTDIR="/home/build"; \ +RUN wget -O - ${X265_REPO} | tar xz && mv x265-${X265_VER} x265 && \ + cd x265/build/linux && \ + cmake -DBUILD_SHARED_LIBS=ON -DENABLE_TESTS=OFF -DCMAKE_INSTALL_PREFIX=/usr -DLIB_INSTALL_DIR=/usr/lib/x86_64-linux-gnu ../../source && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ make install # Fetch SVT-HEVC ARG SVT_HEVC_VER=v1.3.0 ARG SVT_HEVC_REPO=https://github.com/intel/SVT-HEVC -RUN git clone ${SVT_HEVC_REPO}; \ - cd SVT-HEVC/Build/linux; \ - git checkout ${SVT_HEVC_VER}; \ - mkdir -p ../../Bin/Release; \ - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${SVT_HEVC_REPO} && \ + cd SVT-HEVC/Build/linux && \ + git checkout ${SVT_HEVC_VER} && \ + mkdir -p ../../Bin/Release && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -162,13 +162,13 @@ RUN git clone ${SVT_HEVC_REPO}; \ ARG SVT_AV1_VER=a39acb2 ARG SVT_AV1_REPO=https://github.com/OpenVisualCloud/SVT-AV1 -RUN git clone ${SVT_AV1_REPO}; \ - cd SVT-AV1/Build/linux; \ - git checkout ${SVT_AV1_VER}; \ - mkdir -p ../../Bin/Release; \ - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${SVT_AV1_REPO} && \ + cd SVT-AV1/Build/linux && \ + git checkout ${SVT_AV1_VER} && \ + mkdir -p ../../Bin/Release && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -176,13 +176,13 @@ RUN git clone ${SVT_AV1_REPO}; \ ARG SVT_VP9_VER=e92a57c ARG SVT_VP9_REPO=https://github.com/OpenVisualCloud/SVT-VP9 -RUN git clone ${SVT_VP9_REPO}; \ - cd SVT-VP9/Build/linux; \ - git checkout ${SVT_VP9_VER}; \ - mkdir -p ../../Bin/Release; \ - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${SVT_VP9_REPO} && \ + cd SVT-VP9/Build/linux && \ + git checkout ${SVT_VP9_VER} && \ + mkdir -p ../../Bin/Release && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install #include(transform360.m4) @@ -229,28 +229,28 @@ ARG FFMPEG_1TN_PATCH_REPO=https://patchwork.ffmpeg.org/patch/11625/raw ARG FFMPEG_THREAD_PATCH_REPO=https://patchwork.ffmpeg.org/patch/11035/raw RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends zlib1g-dev libssl-dev -RUN wget -O - ${FFMPEG_REPO} | tar xz && mv FFmpeg-${FFMPEG_VER} FFmpeg; \ - cd FFmpeg; \ - wget -O - ${FFMPEG_FLV_PATCH_REPO} | patch -p1; \ - wget -O - ${FFMPEG_1TN_PATCH_REPO} | patch -p1; \ +RUN wget -O - ${FFMPEG_REPO} | tar xz && mv FFmpeg-${FFMPEG_VER} FFmpeg && \ + cd FFmpeg && \ + wget -O - ${FFMPEG_FLV_PATCH_REPO} | patch -p1 && \ + wget -O - ${FFMPEG_1TN_PATCH_REPO} | patch -p1 && \ wget -O - ${FFMPEG_THREAD_PATCH_REPO} | patch -p1; # Patch FFmpeg source for SVT-HEVC -RUN cd /home/FFmpeg; \ +RUN cd /home/FFmpeg && \ patch -p1 < ../SVT-HEVC/ffmpeg_plugin/0001-lavc-svt_hevc-add-libsvt-hevc-encoder-wrapper.patch; # Compile FFmpeg -RUN cd /home/FFmpeg; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --extra-libs="-lpthread -lm" --enable-shared --enable-gpl --disable-xlib --disable-sdl2 --enable-openssl --enable-nonfree --disable-vaapi --disable-hwaccels --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --enable-libfdk-aac --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-libaom --enable-libsvthevc ; \ - make -j8; \ +RUN cd /home/FFmpeg && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --extra-libs="-lpthread -lm" --enable-shared --enable-gpl --disable-xlib --disable-sdl2 --enable-openssl --enable-nonfree --disable-vaapi --disable-hwaccels --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --enable-libfdk-aac --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-libaom --enable-libsvthevc && \ + make -j8 && \ make install DESTDIR="/home/build" # Clean up after build -RUN rm -rf /home/build/usr/include; \ - rm -rf /home/build/usr/share/doc; \ - rm -rf /home/build/usr/share/gtk-doc; \ - rm -rf /home/build/usr/share/man; \ +RUN rm -rf /home/build/usr/include && \ + rm -rf /home/build/usr/share/doc && \ + rm -rf /home/build/usr/share/gtk-doc && \ + rm -rf /home/build/usr/share/man && \ find /home/build -name "*.a" -exec rm -f {} \; FROM ubuntu:18.04 diff --git a/Xeon/ubuntu-18.04/dldt+gst/Dockerfile b/Xeon/ubuntu-18.04/dldt+gst/Dockerfile index 8c2644686..ad9318a97 100644 --- a/Xeon/ubuntu-18.04/dldt+gst/Dockerfile +++ b/Xeon/ubuntu-18.04/dldt+gst/Dockerfile @@ -8,76 +8,76 @@ RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no- # Install cmake ARG CMAKE_VER=3.13.1 ARG CMAKE_REPO=https://cmake.org/files -RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz; \ - cd cmake-${CMAKE_VER}; \ - ./bootstrap --prefix="/usr"; \ - make -j8; \ +RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz && \ + cd cmake-${CMAKE_VER} && \ + ./bootstrap --prefix="/usr" && \ + make -j8 && \ make install # Build NASM ARG NASM_VER=2.13.03 ARG NASM_REPO=https://www.nasm.us/pub/nasm/releasebuilds/${NASM_VER}/nasm-${NASM_VER}.tar.bz2 -RUN wget ${NASM_REPO}; \ - tar -xaf nasm*; \ - cd nasm-${NASM_VER}; \ - ./autogen.sh; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu; \ - make -j8; \ +RUN wget ${NASM_REPO} && \ + tar -xaf nasm* && \ + cd nasm-${NASM_VER} && \ + ./autogen.sh && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu && \ + make -j8 && \ make install # Build YASM ARG YASM_VER=1.3.0 ARG YASM_REPO=https://www.tortall.net/projects/yasm/releases/yasm-${YASM_VER}.tar.gz -RUN wget -O - ${YASM_REPO} | tar xz; \ - cd yasm-${YASM_VER}; \ - sed -i "s/) ytasm.*/)/" Makefile.in; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu; \ - make -j8; \ +RUN wget -O - ${YASM_REPO} | tar xz && \ + cd yasm-${YASM_VER} && \ + sed -i "s/) ytasm.*/)/" Makefile.in && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu && \ + make -j8 && \ make install # Build ogg ARG OGG_VER=1.3.3 ARG OGG_REPO=https://downloads.xiph.org/releases/ogg/libogg-${OGG_VER}.tar.xz -RUN wget -O - ${OGG_REPO} | tar xJ; \ - cd libogg-${OGG_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${OGG_REPO} | tar xJ && \ + cd libogg-${OGG_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build vorbis ARG VORBIS_VER=1.3.6 ARG VORBIS_REPO=https://downloads.xiph.org/releases/vorbis/libvorbis-${VORBIS_VER}.tar.xz -RUN wget -O - ${VORBIS_REPO} | tar xJ; \ - cd libvorbis-${VORBIS_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${VORBIS_REPO} | tar xJ && \ + cd libvorbis-${VORBIS_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build mp3lame ARG MP3LAME_VER=3.100 ARG MP3LAME_REPO=https://sourceforge.net/projects/lame/files/lame/${MP3LAME_VER}/lame-${MP3LAME_VER}.tar.gz -RUN wget -O - ${MP3LAME_REPO} | tar xz; \ - cd lame-${MP3LAME_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared --enable-nasm; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${MP3LAME_REPO} | tar xz && \ + cd lame-${MP3LAME_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared --enable-nasm && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build fdk-aac ARG FDK_AAC_VER=v0.1.6 ARG FDK_AAC_REPO=https://github.com/mstorsjo/fdk-aac/archive/${FDK_AAC_VER}.tar.gz -RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac; \ - cd fdk-aac; \ - autoreconf -fiv; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac && \ + cd fdk-aac && \ + autoreconf -fiv && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -85,23 +85,23 @@ RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac; \ ARG OPUS_VER=1.2.1 ARG OPUS_REPO=https://archive.mozilla.org/pub/opus/opus-${OPUS_VER}.tar.gz -RUN wget -O - ${OPUS_REPO} | tar xz; \ - cd opus-${OPUS_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${OPUS_REPO} | tar xz && \ + cd opus-${OPUS_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build vpx ARG VPX_VER=tags/v1.7.0 ARG VPX_REPO=https://chromium.googlesource.com/webm/libvpx.git -RUN git clone ${VPX_REPO}; \ - cd libvpx; \ - git checkout ${VPX_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=nasm; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${VPX_REPO} && \ + cd libvpx && \ + git checkout ${VPX_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=nasm && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -109,25 +109,25 @@ RUN git clone ${VPX_REPO}; \ ARG AOM_VER=tags/v1.0.0 ARG AOM_REPO=https://aomedia.googlesource.com/aom -RUN git clone ${AOM_REPO}; \ - mkdir aom/aom_build; \ - cd aom/aom_build; \ - git checkout ${AOM_VER}; \ - cmake -DBUILD_SHARED_LIBS=ON -DENABLE_NASM=ON -DENABLE_TESTS=OFF -DENABLE_DOCS=OFF -DCMAKE_INSTALL_PREFIX="/usr" -DLIB_INSTALL_DIR=/usr/lib/x86_64-linux-gnu ..; \ - make -j8; \ - make install DESTDIR="/home/build"; \ +RUN git clone ${AOM_REPO} && \ + mkdir aom/aom_build && \ + cd aom/aom_build && \ + git checkout ${AOM_VER} && \ + cmake -DBUILD_SHARED_LIBS=ON -DENABLE_NASM=ON -DENABLE_TESTS=OFF -DENABLE_DOCS=OFF -DCMAKE_INSTALL_PREFIX="/usr" -DLIB_INSTALL_DIR=/usr/lib/x86_64-linux-gnu .. && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ make install # Build x264 ARG X264_VER=stable ARG X264_REPO=https://github.com/mirror/x264 -RUN git clone ${X264_REPO}; \ - cd x264; \ - git checkout ${X264_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared; \ - make -j8; \ - make install DESTDIR="/home/build"; \ +RUN git clone ${X264_REPO} && \ + cd x264 && \ + git checkout ${X264_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ make install @@ -137,24 +137,24 @@ ARG X265_REPO=https://github.com/videolan/x265/archive/${X265_VER}.tar.gz RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libnuma-dev -RUN wget -O - ${X265_REPO} | tar xz && mv x265-${X265_VER} x265; \ - cd x265/build/linux; \ - cmake -DBUILD_SHARED_LIBS=ON -DENABLE_TESTS=OFF -DCMAKE_INSTALL_PREFIX=/usr -DLIB_INSTALL_DIR=/usr/lib/x86_64-linux-gnu ../../source; \ - make -j8; \ - make install DESTDIR="/home/build"; \ +RUN wget -O - ${X265_REPO} | tar xz && mv x265-${X265_VER} x265 && \ + cd x265/build/linux && \ + cmake -DBUILD_SHARED_LIBS=ON -DENABLE_TESTS=OFF -DCMAKE_INSTALL_PREFIX=/usr -DLIB_INSTALL_DIR=/usr/lib/x86_64-linux-gnu ../../source && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ make install # Fetch SVT-HEVC ARG SVT_HEVC_VER=v1.3.0 ARG SVT_HEVC_REPO=https://github.com/intel/SVT-HEVC -RUN git clone ${SVT_HEVC_REPO}; \ - cd SVT-HEVC/Build/linux; \ - git checkout ${SVT_HEVC_VER}; \ - mkdir -p ../../Bin/Release; \ - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${SVT_HEVC_REPO} && \ + cd SVT-HEVC/Build/linux && \ + git checkout ${SVT_HEVC_VER} && \ + mkdir -p ../../Bin/Release && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -162,13 +162,13 @@ RUN git clone ${SVT_HEVC_REPO}; \ ARG SVT_AV1_VER=a39acb2 ARG SVT_AV1_REPO=https://github.com/OpenVisualCloud/SVT-AV1 -RUN git clone ${SVT_AV1_REPO}; \ - cd SVT-AV1/Build/linux; \ - git checkout ${SVT_AV1_VER}; \ - mkdir -p ../../Bin/Release; \ - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${SVT_AV1_REPO} && \ + cd SVT-AV1/Build/linux && \ + git checkout ${SVT_AV1_VER} && \ + mkdir -p ../../Bin/Release && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -176,13 +176,13 @@ RUN git clone ${SVT_AV1_REPO}; \ ARG SVT_VP9_VER=e92a57c ARG SVT_VP9_REPO=https://github.com/OpenVisualCloud/SVT-VP9 -RUN git clone ${SVT_VP9_REPO}; \ - cd SVT-VP9/Build/linux; \ - git checkout ${SVT_VP9_VER}; \ - mkdir -p ../../Bin/Release; \ - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${SVT_VP9_REPO} && \ + cd SVT-VP9/Build/linux && \ + git checkout ${SVT_VP9_VER} && \ + mkdir -p ../../Bin/Release && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build DLDT-Inference Engine @@ -225,58 +225,58 @@ ARG GST_VER=1.14.4 ARG GST_REPO=https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${GST_VER}.tar.xz RUN ln -sf /usr/share/zoneinfo/UTC /etc/localtime; \ - DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libglib2.0-dev -RUN wget -O - ${GST_REPO} | tar xJ; \ - cd gstreamer-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples --disable-gst-debug --disable-debug --disable-benchmarks --disable-check; \ - make -j8; \ - make install DESTDIR=/home/build; \ + DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libglib2.0-dev autopoint gtk-doc-tools +RUN wget -O - ${GST_REPO} | tar xJ && \ + cd gstreamer-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples --disable-gst-debug --disable-debug --disable-benchmarks --disable-check && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin base ARG GST_PLUGIN_BASE_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_BASE_REPO} | tar xJ; \ - cd gst-plugins-base-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples --disable-debug; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${GST_PLUGIN_BASE_REPO} | tar xJ && \ + cd gst-plugins-base-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples --disable-debug && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin good set ARG GST_PLUGIN_GOOD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_GOOD_REPO} | tar xJ; \ - cd gst-plugins-good-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples --disable-debug; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${GST_PLUGIN_GOOD_REPO} | tar xJ && \ + cd gst-plugins-good-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples --disable-debug && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin bad set ARG GST_PLUGIN_BAD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_BAD_REPO} | tar xJ; \ - cd gst-plugins-bad-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples --disable-debug; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${GST_PLUGIN_BAD_REPO} | tar xJ && \ + cd gst-plugins-bad-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples --disable-debug && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin ugly set ARG GST_PLUGIN_UGLY_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_UGLY_REPO} | tar xJ; \ - cd gst-plugins-ugly-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples --disable-debug; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${GST_PLUGIN_UGLY_REPO} | tar xJ && \ + cd gst-plugins-ugly-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples --disable-debug && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build gst-libav @@ -284,19 +284,19 @@ ARG GST_PLUGIN_LIBAV_REPO=https://gstreamer.freedesktop.org/src/gst-libav/gst-li RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends zlib1g-dev libssl-dev -RUN wget -O - ${GST_PLUGIN_LIBAV_REPO} | tar xJ; \ - cd gst-libav-${GST_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared --enable-gpl; \ - make -j8; \ +RUN wget -O - ${GST_PLUGIN_LIBAV_REPO} | tar xJ && \ + cd gst-libav-${GST_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared --enable-gpl && \ + make -j8 && \ make install DESTDIR="/home/build" # Clean up after build -RUN rm -rf /home/build/usr/include; \ - rm -rf /home/build/usr/share/doc; \ - rm -rf /home/build/usr/share/gtk-doc; \ - rm -rf /home/build/usr/share/man; \ +RUN rm -rf /home/build/usr/include && \ + rm -rf /home/build/usr/share/doc && \ + rm -rf /home/build/usr/share/gtk-doc && \ + rm -rf /home/build/usr/share/man && \ find /home/build -name "*.a" -exec rm -f {} \; FROM ubuntu:18.04 diff --git a/Xeon/ubuntu-18.04/ffmpeg+gst+dev/Dockerfile b/Xeon/ubuntu-18.04/ffmpeg+gst+dev/Dockerfile index 4fb11e3e7..ee16cb7b1 100644 --- a/Xeon/ubuntu-18.04/ffmpeg+gst+dev/Dockerfile +++ b/Xeon/ubuntu-18.04/ffmpeg+gst+dev/Dockerfile @@ -8,76 +8,76 @@ RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no- # Install cmake ARG CMAKE_VER=3.13.1 ARG CMAKE_REPO=https://cmake.org/files -RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz; \ - cd cmake-${CMAKE_VER}; \ - ./bootstrap --prefix="/usr"; \ - make -j8; \ +RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz && \ + cd cmake-${CMAKE_VER} && \ + ./bootstrap --prefix="/usr" && \ + make -j8 && \ make install # Build NASM ARG NASM_VER=2.13.03 ARG NASM_REPO=https://www.nasm.us/pub/nasm/releasebuilds/${NASM_VER}/nasm-${NASM_VER}.tar.bz2 -RUN wget ${NASM_REPO}; \ - tar -xaf nasm*; \ - cd nasm-${NASM_VER}; \ - ./autogen.sh; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu; \ - make -j8; \ +RUN wget ${NASM_REPO} && \ + tar -xaf nasm* && \ + cd nasm-${NASM_VER} && \ + ./autogen.sh && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu && \ + make -j8 && \ make install # Build YASM ARG YASM_VER=1.3.0 ARG YASM_REPO=https://www.tortall.net/projects/yasm/releases/yasm-${YASM_VER}.tar.gz -RUN wget -O - ${YASM_REPO} | tar xz; \ - cd yasm-${YASM_VER}; \ - sed -i "s/) ytasm.*/)/" Makefile.in; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu; \ - make -j8; \ +RUN wget -O - ${YASM_REPO} | tar xz && \ + cd yasm-${YASM_VER} && \ + sed -i "s/) ytasm.*/)/" Makefile.in && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu && \ + make -j8 && \ make install # Build ogg ARG OGG_VER=1.3.3 ARG OGG_REPO=https://downloads.xiph.org/releases/ogg/libogg-${OGG_VER}.tar.xz -RUN wget -O - ${OGG_REPO} | tar xJ; \ - cd libogg-${OGG_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${OGG_REPO} | tar xJ && \ + cd libogg-${OGG_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build vorbis ARG VORBIS_VER=1.3.6 ARG VORBIS_REPO=https://downloads.xiph.org/releases/vorbis/libvorbis-${VORBIS_VER}.tar.xz -RUN wget -O - ${VORBIS_REPO} | tar xJ; \ - cd libvorbis-${VORBIS_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${VORBIS_REPO} | tar xJ && \ + cd libvorbis-${VORBIS_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build mp3lame ARG MP3LAME_VER=3.100 ARG MP3LAME_REPO=https://sourceforge.net/projects/lame/files/lame/${MP3LAME_VER}/lame-${MP3LAME_VER}.tar.gz -RUN wget -O - ${MP3LAME_REPO} | tar xz; \ - cd lame-${MP3LAME_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared --enable-nasm; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${MP3LAME_REPO} | tar xz && \ + cd lame-${MP3LAME_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared --enable-nasm && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build fdk-aac ARG FDK_AAC_VER=v0.1.6 ARG FDK_AAC_REPO=https://github.com/mstorsjo/fdk-aac/archive/${FDK_AAC_VER}.tar.gz -RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac; \ - cd fdk-aac; \ - autoreconf -fiv; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac && \ + cd fdk-aac && \ + autoreconf -fiv && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -85,23 +85,23 @@ RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac; \ ARG OPUS_VER=1.2.1 ARG OPUS_REPO=https://archive.mozilla.org/pub/opus/opus-${OPUS_VER}.tar.gz -RUN wget -O - ${OPUS_REPO} | tar xz; \ - cd opus-${OPUS_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${OPUS_REPO} | tar xz && \ + cd opus-${OPUS_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build vpx ARG VPX_VER=tags/v1.7.0 ARG VPX_REPO=https://chromium.googlesource.com/webm/libvpx.git -RUN git clone ${VPX_REPO}; \ - cd libvpx; \ - git checkout ${VPX_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=nasm; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${VPX_REPO} && \ + cd libvpx && \ + git checkout ${VPX_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=nasm && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -109,25 +109,25 @@ RUN git clone ${VPX_REPO}; \ ARG AOM_VER=tags/v1.0.0 ARG AOM_REPO=https://aomedia.googlesource.com/aom -RUN git clone ${AOM_REPO}; \ - mkdir aom/aom_build; \ - cd aom/aom_build; \ - git checkout ${AOM_VER}; \ - cmake -DBUILD_SHARED_LIBS=ON -DENABLE_NASM=ON -DENABLE_TESTS=OFF -DENABLE_DOCS=OFF -DCMAKE_INSTALL_PREFIX="/usr" -DLIB_INSTALL_DIR=/usr/lib/x86_64-linux-gnu ..; \ - make -j8; \ - make install DESTDIR="/home/build"; \ +RUN git clone ${AOM_REPO} && \ + mkdir aom/aom_build && \ + cd aom/aom_build && \ + git checkout ${AOM_VER} && \ + cmake -DBUILD_SHARED_LIBS=ON -DENABLE_NASM=ON -DENABLE_TESTS=OFF -DENABLE_DOCS=OFF -DCMAKE_INSTALL_PREFIX="/usr" -DLIB_INSTALL_DIR=/usr/lib/x86_64-linux-gnu .. && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ make install # Build x264 ARG X264_VER=stable ARG X264_REPO=https://github.com/mirror/x264 -RUN git clone ${X264_REPO}; \ - cd x264; \ - git checkout ${X264_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared; \ - make -j8; \ - make install DESTDIR="/home/build"; \ +RUN git clone ${X264_REPO} && \ + cd x264 && \ + git checkout ${X264_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ make install @@ -137,24 +137,24 @@ ARG X265_REPO=https://github.com/videolan/x265/archive/${X265_VER}.tar.gz RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libnuma-dev -RUN wget -O - ${X265_REPO} | tar xz && mv x265-${X265_VER} x265; \ - cd x265/build/linux; \ - cmake -DBUILD_SHARED_LIBS=ON -DENABLE_TESTS=OFF -DCMAKE_INSTALL_PREFIX=/usr -DLIB_INSTALL_DIR=/usr/lib/x86_64-linux-gnu ../../source; \ - make -j8; \ - make install DESTDIR="/home/build"; \ +RUN wget -O - ${X265_REPO} | tar xz && mv x265-${X265_VER} x265 && \ + cd x265/build/linux && \ + cmake -DBUILD_SHARED_LIBS=ON -DENABLE_TESTS=OFF -DCMAKE_INSTALL_PREFIX=/usr -DLIB_INSTALL_DIR=/usr/lib/x86_64-linux-gnu ../../source && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ make install # Fetch SVT-HEVC ARG SVT_HEVC_VER=v1.3.0 ARG SVT_HEVC_REPO=https://github.com/intel/SVT-HEVC -RUN git clone ${SVT_HEVC_REPO}; \ - cd SVT-HEVC/Build/linux; \ - git checkout ${SVT_HEVC_VER}; \ - mkdir -p ../../Bin/Release; \ - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${SVT_HEVC_REPO} && \ + cd SVT-HEVC/Build/linux && \ + git checkout ${SVT_HEVC_VER} && \ + mkdir -p ../../Bin/Release && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -162,13 +162,13 @@ RUN git clone ${SVT_HEVC_REPO}; \ ARG SVT_AV1_VER=a39acb2 ARG SVT_AV1_REPO=https://github.com/OpenVisualCloud/SVT-AV1 -RUN git clone ${SVT_AV1_REPO}; \ - cd SVT-AV1/Build/linux; \ - git checkout ${SVT_AV1_VER}; \ - mkdir -p ../../Bin/Release; \ - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${SVT_AV1_REPO} && \ + cd SVT-AV1/Build/linux && \ + git checkout ${SVT_AV1_VER} && \ + mkdir -p ../../Bin/Release && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -176,13 +176,13 @@ RUN git clone ${SVT_AV1_REPO}; \ ARG SVT_VP9_VER=e92a57c ARG SVT_VP9_REPO=https://github.com/OpenVisualCloud/SVT-VP9 -RUN git clone ${SVT_VP9_REPO}; \ - cd SVT-VP9/Build/linux; \ - git checkout ${SVT_VP9_VER}; \ - mkdir -p ../../Bin/Release; \ - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${SVT_VP9_REPO} && \ + cd SVT-VP9/Build/linux && \ + git checkout ${SVT_VP9_VER} && \ + mkdir -p ../../Bin/Release && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install #include(transform360.m4) @@ -226,58 +226,58 @@ ARG GST_VER=1.14.4 ARG GST_REPO=https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${GST_VER}.tar.xz RUN ln -sf /usr/share/zoneinfo/UTC /etc/localtime; \ - DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libglib2.0-dev -RUN wget -O - ${GST_REPO} | tar xJ; \ - cd gstreamer-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples ; \ - make -j8; \ - make install DESTDIR=/home/build; \ + DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libglib2.0-dev autopoint gtk-doc-tools +RUN wget -O - ${GST_REPO} | tar xJ && \ + cd gstreamer-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin base ARG GST_PLUGIN_BASE_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_BASE_REPO} | tar xJ; \ - cd gst-plugins-base-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples ; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${GST_PLUGIN_BASE_REPO} | tar xJ && \ + cd gst-plugins-base-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin good set ARG GST_PLUGIN_GOOD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_GOOD_REPO} | tar xJ; \ - cd gst-plugins-good-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples ; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${GST_PLUGIN_GOOD_REPO} | tar xJ && \ + cd gst-plugins-good-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin bad set ARG GST_PLUGIN_BAD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_BAD_REPO} | tar xJ; \ - cd gst-plugins-bad-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples ; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${GST_PLUGIN_BAD_REPO} | tar xJ && \ + cd gst-plugins-bad-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin ugly set ARG GST_PLUGIN_UGLY_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_UGLY_REPO} | tar xJ; \ - cd gst-plugins-ugly-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples ; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${GST_PLUGIN_UGLY_REPO} | tar xJ && \ + cd gst-plugins-ugly-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build gst-libav @@ -285,10 +285,10 @@ ARG GST_PLUGIN_LIBAV_REPO=https://gstreamer.freedesktop.org/src/gst-libav/gst-li RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends zlib1g-dev libssl-dev -RUN wget -O - ${GST_PLUGIN_LIBAV_REPO} | tar xJ; \ - cd gst-libav-${GST_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared --enable-gpl; \ - make -j8; \ +RUN wget -O - ${GST_PLUGIN_LIBAV_REPO} | tar xJ && \ + cd gst-libav-${GST_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared --enable-gpl && \ + make -j8 && \ make install DESTDIR="/home/build" @@ -301,20 +301,20 @@ ARG FFMPEG_1TN_PATCH_REPO=https://patchwork.ffmpeg.org/patch/11625/raw ARG FFMPEG_THREAD_PATCH_REPO=https://patchwork.ffmpeg.org/patch/11035/raw RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libass-dev libfreetype6-dev libsdl2-dev libxcb1-dev libxcb-shm0-dev libxcb-xfixes0-dev texinfo zlib1g-dev libssl-dev -RUN wget -O - ${FFMPEG_REPO} | tar xz && mv FFmpeg-${FFMPEG_VER} FFmpeg; \ - cd FFmpeg; \ - wget -O - ${FFMPEG_FLV_PATCH_REPO} | patch -p1; \ - wget -O - ${FFMPEG_1TN_PATCH_REPO} | patch -p1; \ +RUN wget -O - ${FFMPEG_REPO} | tar xz && mv FFmpeg-${FFMPEG_VER} FFmpeg && \ + cd FFmpeg && \ + wget -O - ${FFMPEG_FLV_PATCH_REPO} | patch -p1 && \ + wget -O - ${FFMPEG_1TN_PATCH_REPO} | patch -p1 && \ wget -O - ${FFMPEG_THREAD_PATCH_REPO} | patch -p1; # Patch FFmpeg source for SVT-HEVC -RUN cd /home/FFmpeg; \ +RUN cd /home/FFmpeg && \ patch -p1 < ../SVT-HEVC/ffmpeg_plugin/0001-lavc-svt_hevc-add-libsvt-hevc-encoder-wrapper.patch; # Compile FFmpeg -RUN cd /home/FFmpeg; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --extra-libs="-lpthread -lm" --enable-shared --enable-gpl --enable-libass --enable-libfreetype --enable-openssl --enable-nonfree --disable-vaapi --disable-hwaccels --enable-libfdk-aac --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-libaom --enable-libsvthevc ; \ - make -j8; \ +RUN cd /home/FFmpeg && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --extra-libs="-lpthread -lm" --enable-shared --enable-gpl --enable-libass --enable-libfreetype --enable-openssl --enable-nonfree --disable-vaapi --disable-hwaccels --enable-libfdk-aac --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-libaom --enable-libsvthevc && \ + make -j8 && \ make install DESTDIR="/home/build" diff --git a/Xeon/ubuntu-18.04/ffmpeg/Dockerfile b/Xeon/ubuntu-18.04/ffmpeg/Dockerfile index d1b5a61ad..f8415b591 100644 --- a/Xeon/ubuntu-18.04/ffmpeg/Dockerfile +++ b/Xeon/ubuntu-18.04/ffmpeg/Dockerfile @@ -8,76 +8,76 @@ RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no- # Install cmake ARG CMAKE_VER=3.13.1 ARG CMAKE_REPO=https://cmake.org/files -RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz; \ - cd cmake-${CMAKE_VER}; \ - ./bootstrap --prefix="/usr"; \ - make -j8; \ +RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz && \ + cd cmake-${CMAKE_VER} && \ + ./bootstrap --prefix="/usr" && \ + make -j8 && \ make install # Build NASM ARG NASM_VER=2.13.03 ARG NASM_REPO=https://www.nasm.us/pub/nasm/releasebuilds/${NASM_VER}/nasm-${NASM_VER}.tar.bz2 -RUN wget ${NASM_REPO}; \ - tar -xaf nasm*; \ - cd nasm-${NASM_VER}; \ - ./autogen.sh; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu; \ - make -j8; \ +RUN wget ${NASM_REPO} && \ + tar -xaf nasm* && \ + cd nasm-${NASM_VER} && \ + ./autogen.sh && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu && \ + make -j8 && \ make install # Build YASM ARG YASM_VER=1.3.0 ARG YASM_REPO=https://www.tortall.net/projects/yasm/releases/yasm-${YASM_VER}.tar.gz -RUN wget -O - ${YASM_REPO} | tar xz; \ - cd yasm-${YASM_VER}; \ - sed -i "s/) ytasm.*/)/" Makefile.in; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu; \ - make -j8; \ +RUN wget -O - ${YASM_REPO} | tar xz && \ + cd yasm-${YASM_VER} && \ + sed -i "s/) ytasm.*/)/" Makefile.in && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu && \ + make -j8 && \ make install # Build ogg ARG OGG_VER=1.3.3 ARG OGG_REPO=https://downloads.xiph.org/releases/ogg/libogg-${OGG_VER}.tar.xz -RUN wget -O - ${OGG_REPO} | tar xJ; \ - cd libogg-${OGG_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${OGG_REPO} | tar xJ && \ + cd libogg-${OGG_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build vorbis ARG VORBIS_VER=1.3.6 ARG VORBIS_REPO=https://downloads.xiph.org/releases/vorbis/libvorbis-${VORBIS_VER}.tar.xz -RUN wget -O - ${VORBIS_REPO} | tar xJ; \ - cd libvorbis-${VORBIS_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${VORBIS_REPO} | tar xJ && \ + cd libvorbis-${VORBIS_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build mp3lame ARG MP3LAME_VER=3.100 ARG MP3LAME_REPO=https://sourceforge.net/projects/lame/files/lame/${MP3LAME_VER}/lame-${MP3LAME_VER}.tar.gz -RUN wget -O - ${MP3LAME_REPO} | tar xz; \ - cd lame-${MP3LAME_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared --enable-nasm; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${MP3LAME_REPO} | tar xz && \ + cd lame-${MP3LAME_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared --enable-nasm && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build fdk-aac ARG FDK_AAC_VER=v0.1.6 ARG FDK_AAC_REPO=https://github.com/mstorsjo/fdk-aac/archive/${FDK_AAC_VER}.tar.gz -RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac; \ - cd fdk-aac; \ - autoreconf -fiv; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac && \ + cd fdk-aac && \ + autoreconf -fiv && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -85,23 +85,23 @@ RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac; \ ARG OPUS_VER=1.2.1 ARG OPUS_REPO=https://archive.mozilla.org/pub/opus/opus-${OPUS_VER}.tar.gz -RUN wget -O - ${OPUS_REPO} | tar xz; \ - cd opus-${OPUS_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${OPUS_REPO} | tar xz && \ + cd opus-${OPUS_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build vpx ARG VPX_VER=tags/v1.7.0 ARG VPX_REPO=https://chromium.googlesource.com/webm/libvpx.git -RUN git clone ${VPX_REPO}; \ - cd libvpx; \ - git checkout ${VPX_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=nasm; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${VPX_REPO} && \ + cd libvpx && \ + git checkout ${VPX_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=nasm && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -109,25 +109,25 @@ RUN git clone ${VPX_REPO}; \ ARG AOM_VER=tags/v1.0.0 ARG AOM_REPO=https://aomedia.googlesource.com/aom -RUN git clone ${AOM_REPO}; \ - mkdir aom/aom_build; \ - cd aom/aom_build; \ - git checkout ${AOM_VER}; \ - cmake -DBUILD_SHARED_LIBS=ON -DENABLE_NASM=ON -DENABLE_TESTS=OFF -DENABLE_DOCS=OFF -DCMAKE_INSTALL_PREFIX="/usr" -DLIB_INSTALL_DIR=/usr/lib/x86_64-linux-gnu ..; \ - make -j8; \ - make install DESTDIR="/home/build"; \ +RUN git clone ${AOM_REPO} && \ + mkdir aom/aom_build && \ + cd aom/aom_build && \ + git checkout ${AOM_VER} && \ + cmake -DBUILD_SHARED_LIBS=ON -DENABLE_NASM=ON -DENABLE_TESTS=OFF -DENABLE_DOCS=OFF -DCMAKE_INSTALL_PREFIX="/usr" -DLIB_INSTALL_DIR=/usr/lib/x86_64-linux-gnu .. && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ make install # Build x264 ARG X264_VER=stable ARG X264_REPO=https://github.com/mirror/x264 -RUN git clone ${X264_REPO}; \ - cd x264; \ - git checkout ${X264_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared; \ - make -j8; \ - make install DESTDIR="/home/build"; \ +RUN git clone ${X264_REPO} && \ + cd x264 && \ + git checkout ${X264_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ make install @@ -137,24 +137,24 @@ ARG X265_REPO=https://github.com/videolan/x265/archive/${X265_VER}.tar.gz RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libnuma-dev -RUN wget -O - ${X265_REPO} | tar xz && mv x265-${X265_VER} x265; \ - cd x265/build/linux; \ - cmake -DBUILD_SHARED_LIBS=ON -DENABLE_TESTS=OFF -DCMAKE_INSTALL_PREFIX=/usr -DLIB_INSTALL_DIR=/usr/lib/x86_64-linux-gnu ../../source; \ - make -j8; \ - make install DESTDIR="/home/build"; \ +RUN wget -O - ${X265_REPO} | tar xz && mv x265-${X265_VER} x265 && \ + cd x265/build/linux && \ + cmake -DBUILD_SHARED_LIBS=ON -DENABLE_TESTS=OFF -DCMAKE_INSTALL_PREFIX=/usr -DLIB_INSTALL_DIR=/usr/lib/x86_64-linux-gnu ../../source && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ make install # Fetch SVT-HEVC ARG SVT_HEVC_VER=v1.3.0 ARG SVT_HEVC_REPO=https://github.com/intel/SVT-HEVC -RUN git clone ${SVT_HEVC_REPO}; \ - cd SVT-HEVC/Build/linux; \ - git checkout ${SVT_HEVC_VER}; \ - mkdir -p ../../Bin/Release; \ - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${SVT_HEVC_REPO} && \ + cd SVT-HEVC/Build/linux && \ + git checkout ${SVT_HEVC_VER} && \ + mkdir -p ../../Bin/Release && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -162,13 +162,13 @@ RUN git clone ${SVT_HEVC_REPO}; \ ARG SVT_AV1_VER=a39acb2 ARG SVT_AV1_REPO=https://github.com/OpenVisualCloud/SVT-AV1 -RUN git clone ${SVT_AV1_REPO}; \ - cd SVT-AV1/Build/linux; \ - git checkout ${SVT_AV1_VER}; \ - mkdir -p ../../Bin/Release; \ - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${SVT_AV1_REPO} && \ + cd SVT-AV1/Build/linux && \ + git checkout ${SVT_AV1_VER} && \ + mkdir -p ../../Bin/Release && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -176,13 +176,13 @@ RUN git clone ${SVT_AV1_REPO}; \ ARG SVT_VP9_VER=e92a57c ARG SVT_VP9_REPO=https://github.com/OpenVisualCloud/SVT-VP9 -RUN git clone ${SVT_VP9_REPO}; \ - cd SVT-VP9/Build/linux; \ - git checkout ${SVT_VP9_VER}; \ - mkdir -p ../../Bin/Release; \ - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${SVT_VP9_REPO} && \ + cd SVT-VP9/Build/linux && \ + git checkout ${SVT_VP9_VER} && \ + mkdir -p ../../Bin/Release && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install #include(transform360.m4) @@ -194,28 +194,28 @@ ARG FFMPEG_1TN_PATCH_REPO=https://patchwork.ffmpeg.org/patch/11625/raw ARG FFMPEG_THREAD_PATCH_REPO=https://patchwork.ffmpeg.org/patch/11035/raw RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends zlib1g-dev libssl-dev -RUN wget -O - ${FFMPEG_REPO} | tar xz && mv FFmpeg-${FFMPEG_VER} FFmpeg; \ - cd FFmpeg; \ - wget -O - ${FFMPEG_FLV_PATCH_REPO} | patch -p1; \ - wget -O - ${FFMPEG_1TN_PATCH_REPO} | patch -p1; \ +RUN wget -O - ${FFMPEG_REPO} | tar xz && mv FFmpeg-${FFMPEG_VER} FFmpeg && \ + cd FFmpeg && \ + wget -O - ${FFMPEG_FLV_PATCH_REPO} | patch -p1 && \ + wget -O - ${FFMPEG_1TN_PATCH_REPO} | patch -p1 && \ wget -O - ${FFMPEG_THREAD_PATCH_REPO} | patch -p1; # Patch FFmpeg source for SVT-HEVC -RUN cd /home/FFmpeg; \ +RUN cd /home/FFmpeg && \ patch -p1 < ../SVT-HEVC/ffmpeg_plugin/0001-lavc-svt_hevc-add-libsvt-hevc-encoder-wrapper.patch; # Compile FFmpeg -RUN cd /home/FFmpeg; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --extra-libs="-lpthread -lm" --enable-shared --enable-gpl --disable-xlib --disable-sdl2 --enable-openssl --enable-nonfree --disable-vaapi --disable-hwaccels --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --enable-libfdk-aac --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-libaom --enable-libsvthevc ; \ - make -j8; \ +RUN cd /home/FFmpeg && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --extra-libs="-lpthread -lm" --enable-shared --enable-gpl --disable-xlib --disable-sdl2 --enable-openssl --enable-nonfree --disable-vaapi --disable-hwaccels --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --enable-libfdk-aac --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-libaom --enable-libsvthevc && \ + make -j8 && \ make install DESTDIR="/home/build" # Clean up after build -RUN rm -rf /home/build/usr/include; \ - rm -rf /home/build/usr/share/doc; \ - rm -rf /home/build/usr/share/gtk-doc; \ - rm -rf /home/build/usr/share/man; \ +RUN rm -rf /home/build/usr/include && \ + rm -rf /home/build/usr/share/doc && \ + rm -rf /home/build/usr/share/gtk-doc && \ + rm -rf /home/build/usr/share/man && \ find /home/build -name "*.a" -exec rm -f {} \; FROM ubuntu:18.04 diff --git a/Xeon/ubuntu-18.04/gst/Dockerfile b/Xeon/ubuntu-18.04/gst/Dockerfile index 8706b0aa9..c119eb9f2 100644 --- a/Xeon/ubuntu-18.04/gst/Dockerfile +++ b/Xeon/ubuntu-18.04/gst/Dockerfile @@ -8,76 +8,76 @@ RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no- # Install cmake ARG CMAKE_VER=3.13.1 ARG CMAKE_REPO=https://cmake.org/files -RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz; \ - cd cmake-${CMAKE_VER}; \ - ./bootstrap --prefix="/usr"; \ - make -j8; \ +RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz && \ + cd cmake-${CMAKE_VER} && \ + ./bootstrap --prefix="/usr" && \ + make -j8 && \ make install # Build NASM ARG NASM_VER=2.13.03 ARG NASM_REPO=https://www.nasm.us/pub/nasm/releasebuilds/${NASM_VER}/nasm-${NASM_VER}.tar.bz2 -RUN wget ${NASM_REPO}; \ - tar -xaf nasm*; \ - cd nasm-${NASM_VER}; \ - ./autogen.sh; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu; \ - make -j8; \ +RUN wget ${NASM_REPO} && \ + tar -xaf nasm* && \ + cd nasm-${NASM_VER} && \ + ./autogen.sh && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu && \ + make -j8 && \ make install # Build YASM ARG YASM_VER=1.3.0 ARG YASM_REPO=https://www.tortall.net/projects/yasm/releases/yasm-${YASM_VER}.tar.gz -RUN wget -O - ${YASM_REPO} | tar xz; \ - cd yasm-${YASM_VER}; \ - sed -i "s/) ytasm.*/)/" Makefile.in; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu; \ - make -j8; \ +RUN wget -O - ${YASM_REPO} | tar xz && \ + cd yasm-${YASM_VER} && \ + sed -i "s/) ytasm.*/)/" Makefile.in && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu && \ + make -j8 && \ make install # Build ogg ARG OGG_VER=1.3.3 ARG OGG_REPO=https://downloads.xiph.org/releases/ogg/libogg-${OGG_VER}.tar.xz -RUN wget -O - ${OGG_REPO} | tar xJ; \ - cd libogg-${OGG_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${OGG_REPO} | tar xJ && \ + cd libogg-${OGG_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build vorbis ARG VORBIS_VER=1.3.6 ARG VORBIS_REPO=https://downloads.xiph.org/releases/vorbis/libvorbis-${VORBIS_VER}.tar.xz -RUN wget -O - ${VORBIS_REPO} | tar xJ; \ - cd libvorbis-${VORBIS_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${VORBIS_REPO} | tar xJ && \ + cd libvorbis-${VORBIS_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build mp3lame ARG MP3LAME_VER=3.100 ARG MP3LAME_REPO=https://sourceforge.net/projects/lame/files/lame/${MP3LAME_VER}/lame-${MP3LAME_VER}.tar.gz -RUN wget -O - ${MP3LAME_REPO} | tar xz; \ - cd lame-${MP3LAME_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared --enable-nasm; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${MP3LAME_REPO} | tar xz && \ + cd lame-${MP3LAME_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared --enable-nasm && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build fdk-aac ARG FDK_AAC_VER=v0.1.6 ARG FDK_AAC_REPO=https://github.com/mstorsjo/fdk-aac/archive/${FDK_AAC_VER}.tar.gz -RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac; \ - cd fdk-aac; \ - autoreconf -fiv; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac && \ + cd fdk-aac && \ + autoreconf -fiv && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -85,23 +85,23 @@ RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac; \ ARG OPUS_VER=1.2.1 ARG OPUS_REPO=https://archive.mozilla.org/pub/opus/opus-${OPUS_VER}.tar.gz -RUN wget -O - ${OPUS_REPO} | tar xz; \ - cd opus-${OPUS_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${OPUS_REPO} | tar xz && \ + cd opus-${OPUS_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build vpx ARG VPX_VER=tags/v1.7.0 ARG VPX_REPO=https://chromium.googlesource.com/webm/libvpx.git -RUN git clone ${VPX_REPO}; \ - cd libvpx; \ - git checkout ${VPX_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=nasm; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${VPX_REPO} && \ + cd libvpx && \ + git checkout ${VPX_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=nasm && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -109,25 +109,25 @@ RUN git clone ${VPX_REPO}; \ ARG AOM_VER=tags/v1.0.0 ARG AOM_REPO=https://aomedia.googlesource.com/aom -RUN git clone ${AOM_REPO}; \ - mkdir aom/aom_build; \ - cd aom/aom_build; \ - git checkout ${AOM_VER}; \ - cmake -DBUILD_SHARED_LIBS=ON -DENABLE_NASM=ON -DENABLE_TESTS=OFF -DENABLE_DOCS=OFF -DCMAKE_INSTALL_PREFIX="/usr" -DLIB_INSTALL_DIR=/usr/lib/x86_64-linux-gnu ..; \ - make -j8; \ - make install DESTDIR="/home/build"; \ +RUN git clone ${AOM_REPO} && \ + mkdir aom/aom_build && \ + cd aom/aom_build && \ + git checkout ${AOM_VER} && \ + cmake -DBUILD_SHARED_LIBS=ON -DENABLE_NASM=ON -DENABLE_TESTS=OFF -DENABLE_DOCS=OFF -DCMAKE_INSTALL_PREFIX="/usr" -DLIB_INSTALL_DIR=/usr/lib/x86_64-linux-gnu .. && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ make install # Build x264 ARG X264_VER=stable ARG X264_REPO=https://github.com/mirror/x264 -RUN git clone ${X264_REPO}; \ - cd x264; \ - git checkout ${X264_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared; \ - make -j8; \ - make install DESTDIR="/home/build"; \ +RUN git clone ${X264_REPO} && \ + cd x264 && \ + git checkout ${X264_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ make install @@ -137,24 +137,24 @@ ARG X265_REPO=https://github.com/videolan/x265/archive/${X265_VER}.tar.gz RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libnuma-dev -RUN wget -O - ${X265_REPO} | tar xz && mv x265-${X265_VER} x265; \ - cd x265/build/linux; \ - cmake -DBUILD_SHARED_LIBS=ON -DENABLE_TESTS=OFF -DCMAKE_INSTALL_PREFIX=/usr -DLIB_INSTALL_DIR=/usr/lib/x86_64-linux-gnu ../../source; \ - make -j8; \ - make install DESTDIR="/home/build"; \ +RUN wget -O - ${X265_REPO} | tar xz && mv x265-${X265_VER} x265 && \ + cd x265/build/linux && \ + cmake -DBUILD_SHARED_LIBS=ON -DENABLE_TESTS=OFF -DCMAKE_INSTALL_PREFIX=/usr -DLIB_INSTALL_DIR=/usr/lib/x86_64-linux-gnu ../../source && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ make install # Fetch SVT-HEVC ARG SVT_HEVC_VER=v1.3.0 ARG SVT_HEVC_REPO=https://github.com/intel/SVT-HEVC -RUN git clone ${SVT_HEVC_REPO}; \ - cd SVT-HEVC/Build/linux; \ - git checkout ${SVT_HEVC_VER}; \ - mkdir -p ../../Bin/Release; \ - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${SVT_HEVC_REPO} && \ + cd SVT-HEVC/Build/linux && \ + git checkout ${SVT_HEVC_VER} && \ + mkdir -p ../../Bin/Release && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -162,13 +162,13 @@ RUN git clone ${SVT_HEVC_REPO}; \ ARG SVT_AV1_VER=a39acb2 ARG SVT_AV1_REPO=https://github.com/OpenVisualCloud/SVT-AV1 -RUN git clone ${SVT_AV1_REPO}; \ - cd SVT-AV1/Build/linux; \ - git checkout ${SVT_AV1_VER}; \ - mkdir -p ../../Bin/Release; \ - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${SVT_AV1_REPO} && \ + cd SVT-AV1/Build/linux && \ + git checkout ${SVT_AV1_VER} && \ + mkdir -p ../../Bin/Release && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -176,13 +176,13 @@ RUN git clone ${SVT_AV1_REPO}; \ ARG SVT_VP9_VER=e92a57c ARG SVT_VP9_REPO=https://github.com/OpenVisualCloud/SVT-VP9 -RUN git clone ${SVT_VP9_REPO}; \ - cd SVT-VP9/Build/linux; \ - git checkout ${SVT_VP9_VER}; \ - mkdir -p ../../Bin/Release; \ - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${SVT_VP9_REPO} && \ + cd SVT-VP9/Build/linux && \ + git checkout ${SVT_VP9_VER} && \ + mkdir -p ../../Bin/Release && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build the gstremaer core @@ -190,58 +190,58 @@ ARG GST_VER=1.14.4 ARG GST_REPO=https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${GST_VER}.tar.xz RUN ln -sf /usr/share/zoneinfo/UTC /etc/localtime; \ - DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libglib2.0-dev -RUN wget -O - ${GST_REPO} | tar xJ; \ - cd gstreamer-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples --disable-gst-debug --disable-debug --disable-benchmarks --disable-check; \ - make -j8; \ - make install DESTDIR=/home/build; \ + DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libglib2.0-dev autopoint gtk-doc-tools +RUN wget -O - ${GST_REPO} | tar xJ && \ + cd gstreamer-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples --disable-gst-debug --disable-debug --disable-benchmarks --disable-check && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin base ARG GST_PLUGIN_BASE_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_BASE_REPO} | tar xJ; \ - cd gst-plugins-base-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples --disable-debug; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${GST_PLUGIN_BASE_REPO} | tar xJ && \ + cd gst-plugins-base-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples --disable-debug && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin good set ARG GST_PLUGIN_GOOD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_GOOD_REPO} | tar xJ; \ - cd gst-plugins-good-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples --disable-debug; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${GST_PLUGIN_GOOD_REPO} | tar xJ && \ + cd gst-plugins-good-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples --disable-debug && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin bad set ARG GST_PLUGIN_BAD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_BAD_REPO} | tar xJ; \ - cd gst-plugins-bad-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples --disable-debug; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${GST_PLUGIN_BAD_REPO} | tar xJ && \ + cd gst-plugins-bad-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples --disable-debug && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin ugly set ARG GST_PLUGIN_UGLY_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_UGLY_REPO} | tar xJ; \ - cd gst-plugins-ugly-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples --disable-debug; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${GST_PLUGIN_UGLY_REPO} | tar xJ && \ + cd gst-plugins-ugly-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples --disable-debug && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build gst-libav @@ -249,19 +249,19 @@ ARG GST_PLUGIN_LIBAV_REPO=https://gstreamer.freedesktop.org/src/gst-libav/gst-li RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends zlib1g-dev libssl-dev -RUN wget -O - ${GST_PLUGIN_LIBAV_REPO} | tar xJ; \ - cd gst-libav-${GST_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared --enable-gpl; \ - make -j8; \ +RUN wget -O - ${GST_PLUGIN_LIBAV_REPO} | tar xJ && \ + cd gst-libav-${GST_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared --enable-gpl && \ + make -j8 && \ make install DESTDIR="/home/build" # Clean up after build -RUN rm -rf /home/build/usr/include; \ - rm -rf /home/build/usr/share/doc; \ - rm -rf /home/build/usr/share/gtk-doc; \ - rm -rf /home/build/usr/share/man; \ +RUN rm -rf /home/build/usr/include && \ + rm -rf /home/build/usr/share/doc && \ + rm -rf /home/build/usr/share/gtk-doc && \ + rm -rf /home/build/usr/share/man && \ find /home/build -name "*.a" -exec rm -f {} \; FROM ubuntu:18.04 diff --git a/Xeon/ubuntu-18.04/nginx+rtmp/Dockerfile b/Xeon/ubuntu-18.04/nginx+rtmp/Dockerfile index d6d72f4da..d88af09df 100644 --- a/Xeon/ubuntu-18.04/nginx+rtmp/Dockerfile +++ b/Xeon/ubuntu-18.04/nginx+rtmp/Dockerfile @@ -8,10 +8,10 @@ RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no- # Install cmake ARG CMAKE_VER=3.13.1 ARG CMAKE_REPO=https://cmake.org/files -RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz; \ - cd cmake-${CMAKE_VER}; \ - ./bootstrap --prefix="/usr"; \ - make -j8; \ +RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz && \ + cd cmake-${CMAKE_VER} && \ + ./bootstrap --prefix="/usr" && \ + make -j8 && \ make install @@ -21,11 +21,11 @@ ARG NGINX_RTMP_REPO=https://github.com/arut/nginx-rtmp-module/archive/${NGINX_RT ARG NGINX_RTMP_PATCH_HLS=https://raw.githubusercontent.com/VCDP/CDN/master/0001-add-hevc-support-for-rtmp-and-hls.patch ARG NGINX_RTMP_PATCH_DASH=https://raw.githubusercontent.com/VCDP/CDN/master/0002-add-HEVC-support-for-dash.patch -RUN wget -O - ${NGINX_RTMP_REPO} | tar xz && mv nginx-rtmp-module-${NGINX_RTMP_VER#v} nginx-rtmp-module; \ - cd nginx-rtmp-module; \ - mkdir -p /home/build/var/www/html; \ - cp -f stat.xsl /home/build/var/www/html; \ - wget -O - ${NGINX_RTMP_PATCH_HLS} | patch -p1; \ +RUN wget -O - ${NGINX_RTMP_REPO} | tar xz && mv nginx-rtmp-module-${NGINX_RTMP_VER#v} nginx-rtmp-module && \ + cd nginx-rtmp-module && \ + mkdir -p /home/build/var/www/html && \ + cp -f stat.xsl /home/build/var/www/html && \ + wget -O - ${NGINX_RTMP_PATCH_HLS} | patch -p1 && \ wget -O - ${NGINX_RTMP_PATCH_DASH} | patch -p1; # Build nginx & nginx-rtmp @@ -34,21 +34,21 @@ ARG NGINX_REPO=https://nginx.org/download/nginx-${NGINX_VER}.tar.gz RUN apt-get update && apt-get install -y -q --no-install-recommends libssl-dev libpcre3-dev zlib1g-dev libxslt1-dev -RUN wget -O - ${NGINX_REPO} | tar xz; \ - cd nginx-${NGINX_VER}; \ - ./configure --prefix=/var/www --sbin-path=/usr/sbin/nginx --modules-path=/usr/lib/x86_64-linux-gnu/nginx/modules --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/www/log/error.log --pid-path=/var/www/nginx.pid --lock-path=/var/www/nginx.lock --http-log-path=/var/www/log/access.log --http-client-body-temp-path=/var/www/tmp/client_body --http-proxy-temp-path=/var/www/tmp/proxy --http-fastcgi-temp-path=/var/www/tmp/fastcgi --http-uwsgi-temp-path=/var/www/tmp/uwsgi --http-scgi-temp-path=/var/www/tmp/scgi --user=www-data --group=www-data --with-select_module --with-poll_module --with-threads --with-file-aio --with-http_ssl_module --with-http_v2_module --with-http_realip_module --with-http_addition_module --with-http_xslt_module --with-http_sub_module --with-http_dav_module --with-http_flv_module --with-http_mp4_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_auth_request_module --with-http_random_index_module --with-http_secure_link_module --with-http_degradation_module --with-http_slice_module --with-http_stub_status_module --with-stream --with-stream_ssl_module --with-stream_realip_module --with-stream_ssl_preread_module --with-pcre --add-module=../nginx-rtmp-module ; \ - make -j8; \ +RUN wget -O - ${NGINX_REPO} | tar xz && \ + cd nginx-${NGINX_VER} && \ + ./configure --prefix=/var/www --sbin-path=/usr/sbin/nginx --modules-path=/usr/lib/x86_64-linux-gnu/nginx/modules --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/www/log/error.log --pid-path=/var/www/nginx.pid --lock-path=/var/www/nginx.lock --http-log-path=/var/www/log/access.log --http-client-body-temp-path=/var/www/tmp/client_body --http-proxy-temp-path=/var/www/tmp/proxy --http-fastcgi-temp-path=/var/www/tmp/fastcgi --http-uwsgi-temp-path=/var/www/tmp/uwsgi --http-scgi-temp-path=/var/www/tmp/scgi --user=www-data --group=www-data --with-select_module --with-poll_module --with-threads --with-file-aio --with-http_ssl_module --with-http_v2_module --with-http_realip_module --with-http_addition_module --with-http_xslt_module --with-http_sub_module --with-http_dav_module --with-http_flv_module --with-http_mp4_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_auth_request_module --with-http_random_index_module --with-http_secure_link_module --with-http_degradation_module --with-http_slice_module --with-http_stub_status_module --with-stream --with-stream_ssl_module --with-stream_realip_module --with-stream_ssl_preread_module --with-pcre --add-module=../nginx-rtmp-module && \ + make -j8 && \ make install DESTDIR=/home/build; # NGINX Setup COPY nginx.conf /home/build/etc/nginx -RUN mkdir -p /home/build/var/www/tmp/client_body; \ - mkdir -p /home/build/var/www/tmp/proxy; \ - mkdir -p /home/build/var/www/tmp/fastcgi; \ - mkdir -p /home/build/var/www/tmp/uwsgi; \ - mkdir -p /home/build/var/www/tmp/scgi; \ - mkdir -p /home/build/var/www/cache; \ - mkdir -p /home/build/var/www/html; \ +RUN mkdir -p /home/build/var/www/tmp/client_body && \ + mkdir -p /home/build/var/www/tmp/proxy && \ + mkdir -p /home/build/var/www/tmp/fastcgi && \ + mkdir -p /home/build/var/www/tmp/uwsgi && \ + mkdir -p /home/build/var/www/tmp/scgi && \ + mkdir -p /home/build/var/www/cache && \ + mkdir -p /home/build/var/www/html && \ touch /home/build/var/www/html/index.html; diff --git a/XeonE3/centos-7.4/ffmpeg+gst+dev/Dockerfile b/XeonE3/centos-7.4/ffmpeg+gst+dev/Dockerfile index 4b6ac72f3..192bb9575 100644 --- a/XeonE3/centos-7.4/ffmpeg+gst+dev/Dockerfile +++ b/XeonE3/centos-7.4/ffmpeg+gst+dev/Dockerfile @@ -8,76 +8,76 @@ RUN yum install -y -q bzip2 make autoconf libtool git wget ca-certificates pkg-c # Install cmake ARG CMAKE_VER=3.13.1 ARG CMAKE_REPO=https://cmake.org/files -RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz; \ - cd cmake-${CMAKE_VER}; \ - ./bootstrap --prefix="/usr"; \ - make -j8; \ +RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz && \ + cd cmake-${CMAKE_VER} && \ + ./bootstrap --prefix="/usr" && \ + make -j8 && \ make install # Build NASM ARG NASM_VER=2.13.03 ARG NASM_REPO=https://www.nasm.us/pub/nasm/releasebuilds/${NASM_VER}/nasm-${NASM_VER}.tar.bz2 -RUN wget ${NASM_REPO}; \ - tar -xaf nasm*; \ - cd nasm-${NASM_VER}; \ - ./autogen.sh; \ - ./configure --prefix="/usr" --libdir=/usr/lib64; \ - make -j8; \ +RUN wget ${NASM_REPO} && \ + tar -xaf nasm* && \ + cd nasm-${NASM_VER} && \ + ./autogen.sh && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 && \ + make -j8 && \ make install # Build YASM ARG YASM_VER=1.3.0 ARG YASM_REPO=https://www.tortall.net/projects/yasm/releases/yasm-${YASM_VER}.tar.gz -RUN wget -O - ${YASM_REPO} | tar xz; \ - cd yasm-${YASM_VER}; \ - sed -i "s/) ytasm.*/)/" Makefile.in; \ - ./configure --prefix="/usr" --libdir=/usr/lib64; \ - make -j8; \ +RUN wget -O - ${YASM_REPO} | tar xz && \ + cd yasm-${YASM_VER} && \ + sed -i "s/) ytasm.*/)/" Makefile.in && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 && \ + make -j8 && \ make install # Build ogg ARG OGG_VER=1.3.3 ARG OGG_REPO=https://downloads.xiph.org/releases/ogg/libogg-${OGG_VER}.tar.xz -RUN wget -O - ${OGG_REPO} | tar xJ; \ - cd libogg-${OGG_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${OGG_REPO} | tar xJ && \ + cd libogg-${OGG_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build vorbis ARG VORBIS_VER=1.3.6 ARG VORBIS_REPO=https://downloads.xiph.org/releases/vorbis/libvorbis-${VORBIS_VER}.tar.xz -RUN wget -O - ${VORBIS_REPO} | tar xJ; \ - cd libvorbis-${VORBIS_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${VORBIS_REPO} | tar xJ && \ + cd libvorbis-${VORBIS_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build mp3lame ARG MP3LAME_VER=3.100 ARG MP3LAME_REPO=https://sourceforge.net/projects/lame/files/lame/${MP3LAME_VER}/lame-${MP3LAME_VER}.tar.gz -RUN wget -O - ${MP3LAME_REPO} | tar xz; \ - cd lame-${MP3LAME_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --enable-nasm; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${MP3LAME_REPO} | tar xz && \ + cd lame-${MP3LAME_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --enable-nasm && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build fdk-aac ARG FDK_AAC_VER=v0.1.6 ARG FDK_AAC_REPO=https://github.com/mstorsjo/fdk-aac/archive/${FDK_AAC_VER}.tar.gz -RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac; \ - cd fdk-aac; \ - autoreconf -fiv; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac && \ + cd fdk-aac && \ + autoreconf -fiv && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -85,23 +85,23 @@ RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac; \ ARG OPUS_VER=1.2.1 ARG OPUS_REPO=https://archive.mozilla.org/pub/opus/opus-${OPUS_VER}.tar.gz -RUN wget -O - ${OPUS_REPO} | tar xz; \ - cd opus-${OPUS_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${OPUS_REPO} | tar xz && \ + cd opus-${OPUS_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build vpx ARG VPX_VER=tags/v1.7.0 ARG VPX_REPO=https://chromium.googlesource.com/webm/libvpx.git -RUN git clone ${VPX_REPO}; \ - cd libvpx; \ - git checkout ${VPX_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=nasm; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${VPX_REPO} && \ + cd libvpx && \ + git checkout ${VPX_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=nasm && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -109,25 +109,25 @@ RUN git clone ${VPX_REPO}; \ ARG AOM_VER=tags/v1.0.0 ARG AOM_REPO=https://aomedia.googlesource.com/aom -RUN git clone ${AOM_REPO}; \ - mkdir aom/aom_build; \ - cd aom/aom_build; \ - git checkout ${AOM_VER}; \ - cmake -DBUILD_SHARED_LIBS=ON -DENABLE_NASM=ON -DENABLE_TESTS=OFF -DENABLE_DOCS=OFF -DCMAKE_INSTALL_PREFIX="/usr" -DLIB_INSTALL_DIR=/usr/lib64 ..; \ - make -j8; \ - make install DESTDIR="/home/build"; \ +RUN git clone ${AOM_REPO} && \ + mkdir aom/aom_build && \ + cd aom/aom_build && \ + git checkout ${AOM_VER} && \ + cmake -DBUILD_SHARED_LIBS=ON -DENABLE_NASM=ON -DENABLE_TESTS=OFF -DENABLE_DOCS=OFF -DCMAKE_INSTALL_PREFIX="/usr" -DLIB_INSTALL_DIR=/usr/lib64 .. && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ make install # Build x264 ARG X264_VER=stable ARG X264_REPO=https://github.com/mirror/x264 -RUN git clone ${X264_REPO}; \ - cd x264; \ - git checkout ${X264_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared; \ - make -j8; \ - make install DESTDIR="/home/build"; \ +RUN git clone ${X264_REPO} && \ + cd x264 && \ + git checkout ${X264_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ make install @@ -137,28 +137,28 @@ ARG X265_REPO=https://github.com/videolan/x265/archive/${X265_VER}.tar.gz RUN yum install -y -q numactl-devel libpciaccess-devel -RUN wget -O - ${X265_REPO} | tar xz && mv x265-${X265_VER} x265; \ - cd x265/build/linux; \ - cmake -DBUILD_SHARED_LIBS=ON -DENABLE_TESTS=OFF -DCMAKE_INSTALL_PREFIX=/usr -DLIB_INSTALL_DIR=/usr/lib64 ../../source; \ - make -j8; \ - make install DESTDIR="/home/build"; \ +RUN wget -O - ${X265_REPO} | tar xz && mv x265-${X265_VER} x265 && \ + cd x265/build/linux && \ + cmake -DBUILD_SHARED_LIBS=ON -DENABLE_TESTS=OFF -DCMAKE_INSTALL_PREFIX=/usr -DLIB_INSTALL_DIR=/usr/lib64 ../../source && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ make install # Fetch SVT-HEVC ARG SVT_HEVC_VER=v1.3.0 ARG SVT_HEVC_REPO=https://github.com/intel/SVT-HEVC -RUN yum install -y -q patch centos-release-scl; \ +RUN yum install -y -q patch centos-release-scl && \ yum install -y -q devtoolset-7 -RUN git clone ${SVT_HEVC_REPO}; \ - cd SVT-HEVC/Build/linux; \ - git checkout ${SVT_HEVC_VER}; \ - mkdir -p ../../Bin/Release; \ - ( source /opt/rh/devtoolset-7/enable; \ - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${SVT_HEVC_REPO} && \ + cd SVT-HEVC/Build/linux && \ + git checkout ${SVT_HEVC_VER} && \ + mkdir -p ../../Bin/Release && \ + ( source /opt/rh/devtoolset-7/enable && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install ) @@ -166,13 +166,13 @@ RUN git clone ${SVT_HEVC_REPO}; \ ARG SVT_AV1_VER=a39acb2 ARG SVT_AV1_REPO=https://github.com/OpenVisualCloud/SVT-AV1 -RUN git clone ${SVT_AV1_REPO}; \ - cd SVT-AV1/Build/linux; \ - git checkout ${SVT_AV1_VER}; \ - mkdir -p ../../Bin/Release; \ - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${SVT_AV1_REPO} && \ + cd SVT-AV1/Build/linux && \ + git checkout ${SVT_AV1_VER} && \ + mkdir -p ../../Bin/Release && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -180,14 +180,14 @@ RUN git clone ${SVT_AV1_REPO}; \ ARG SVT_VP9_VER=e92a57c ARG SVT_VP9_REPO=https://github.com/OpenVisualCloud/SVT-VP9 -RUN git clone ${SVT_VP9_REPO}; \ - cd SVT-VP9/Build/linux; \ - git checkout ${SVT_VP9_VER}; \ - mkdir -p ../../Bin/Release; \ - ( source /opt/rh/devtoolset-7/enable; \ - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${SVT_VP9_REPO} && \ + cd SVT-VP9/Build/linux && \ + git checkout ${SVT_VP9_VER} && \ + mkdir -p ../../Bin/Release && \ + ( source /opt/rh/devtoolset-7/enable && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install ) #include(transform360.m4) @@ -205,11 +205,11 @@ ARG LIBVA_REPO=https://github.com/intel/libva/archive/${LIBVA_VER}.tar.gz RUN yum install -y -q libX11-devel mesa-libGL-devel which libdrm-devel -RUN wget -O - ${LIBVA_REPO} | tar xz; \ - cd libva-${LIBVA_VER}; \ - ./autogen.sh --prefix=/usr --libdir=/usr/lib64; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${LIBVA_REPO} | tar xz && \ + cd libva-${LIBVA_VER} && \ + ./autogen.sh --prefix=/usr --libdir=/usr/lib64 && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install; @@ -219,12 +219,12 @@ ARG MEDIA_DRIVER_REPO=https://github.com/VCDP/media-driver/archive/${MEDIA_DRIVE RUN yum install -y -q libX11-devel mesa-libGL-devel libpciaccess-devel libXext-devel -RUN wget -O - ${MEDIA_DRIVER_REPO} | tar xz && mv media-driver-${MEDIA_DRIVER_VER} media-driver; \ - mkdir -p media-driver/build; \ - cd media-driver/build; \ - cmake -DBUILD_TYPE=release -DBUILD_ALONG_WITH_CMRTLIB=1 -DMEDIA_VERSION="2.0.0" -DBS_DIR_GMMLIB=/home/gmmlib/Source/GmmLib -DBS_DIR_COMMON=/home/gmmlib/Source/Common -DBS_DIR_INC=/home/gmmlib/Source/inc -DBS_DIR_MEDIA=/home/media-driver -Wno-dev -DCMAKE_INSTALL_PREFIX=/usr ..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${MEDIA_DRIVER_REPO} | tar xz && mv media-driver-${MEDIA_DRIVER_VER} media-driver && \ + mkdir -p media-driver/build && \ + cd media-driver/build && \ + cmake -DBUILD_TYPE=release -DBUILD_ALONG_WITH_CMRTLIB=1 -DMEDIA_VERSION="2.0.0" -DBS_DIR_GMMLIB=/home/gmmlib/Source/GmmLib -DBS_DIR_COMMON=/home/gmmlib/Source/Common -DBS_DIR_INC=/home/gmmlib/Source/inc -DBS_DIR_MEDIA=/home/media-driver -Wno-dev -DCMAKE_INSTALL_PREFIX=/usr .. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -233,12 +233,12 @@ RUN wget -O - ${MEDIA_DRIVER_REPO} | tar xz && mv media-driver-${MEDIA_DRIVER_VE ARG MSDK_VER=MSS-KBL-2019-R1 ARG MSDK_REPO=https://github.com/Intel-Media-SDK/MediaSDK/archive/${MSDK_VER}.tar.gz -RUN wget -O - ${MSDK_REPO} | tar xz && mv MediaSDK-${MSDK_VER} MediaSDK; \ - mkdir -p MediaSDK/build; \ - cd MediaSDK/build; \ - cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_INCLUDEDIR=include/mfx -DBUILD_SAMPLES=OFF -DENABLE_OPENCL=OFF -Wno-dev ..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${MSDK_REPO} | tar xz && mv MediaSDK-${MSDK_VER} MediaSDK && \ + mkdir -p MediaSDK/build && \ + cd MediaSDK/build && \ + cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_INCLUDEDIR=include/mfx -DBUILD_SAMPLES=OFF -DENABLE_OPENCL=OFF -Wno-dev .. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install; # Build DLDT-Inference Engine @@ -276,62 +276,73 @@ RUN git clone -b ${DLDT_VER} ${DLDT_REPO}; \ echo "Cflags: -I\${includedir}" >> "$pc"; \ done; +# Install automake +ARG AUTOMAKE_VER=1.14 +ARG AUTOMAKE_REPO=https://ftp.gnu.org/pub/gnu/automake/automake-${AUTOMAKE_VER}.tar.xz + +RUN wget -O - ${AUTOMAKE_REPO} | tar xJ && \ + cd automake-${AUTOMAKE_VER} && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --disable-doc && \ + make -j8 && \ + make install + + # Build the gstremaer core ARG GST_VER=1.14.4 ARG GST_REPO=https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${GST_VER}.tar.xz -RUN yum install -y -q glib2-devel-2.56.1 -RUN wget -O - ${GST_REPO} | tar xJ; \ - cd gstreamer-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples ; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN yum install -y -q glib2-devel-2.56.1 gettext-devel gtk-doc +RUN wget -O - ${GST_REPO} | tar xJ && \ + cd gstreamer-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin base ARG GST_PLUGIN_BASE_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_BASE_REPO} | tar xJ; \ - cd gst-plugins-base-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples ; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${GST_PLUGIN_BASE_REPO} | tar xJ && \ + cd gst-plugins-base-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin good set ARG GST_PLUGIN_GOOD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_GOOD_REPO} | tar xJ; \ - cd gst-plugins-good-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples ; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${GST_PLUGIN_GOOD_REPO} | tar xJ && \ + cd gst-plugins-good-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin bad set ARG GST_PLUGIN_BAD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_BAD_REPO} | tar xJ; \ - cd gst-plugins-bad-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples ; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${GST_PLUGIN_BAD_REPO} | tar xJ && \ + cd gst-plugins-bad-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin ugly set ARG GST_PLUGIN_UGLY_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_UGLY_REPO} | tar xJ; \ - cd gst-plugins-ugly-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples ; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${GST_PLUGIN_UGLY_REPO} | tar xJ && \ + cd gst-plugins-ugly-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build gst-libav @@ -339,10 +350,10 @@ ARG GST_PLUGIN_LIBAV_REPO=https://gstreamer.freedesktop.org/src/gst-libav/gst-li RUN yum install -y -q zlib-devel openssl-devel -RUN wget -O - ${GST_PLUGIN_LIBAV_REPO} | tar xJ; \ - cd gst-libav-${GST_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --enable-gpl; \ - make -j8; \ +RUN wget -O - ${GST_PLUGIN_LIBAV_REPO} | tar xJ && \ + cd gst-libav-${GST_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --enable-gpl && \ + make -j8 && \ make install DESTDIR="/home/build" @@ -351,10 +362,10 @@ RUN wget -O - ${GST_PLUGIN_LIBAV_REPO} | tar xJ; \ ARG AUTOMAKE_VER=1.14 ARG AUTOMAKE_REPO=https://ftp.gnu.org/pub/gnu/automake/automake-${AUTOMAKE_VER}.tar.xz -RUN wget -O - ${AUTOMAKE_REPO} | tar xJ; \ - cd automake-${AUTOMAKE_VER}; \ - ./configure --prefix=/usr --libdir=/usr/lib64 --disable-doc; \ - make -j8; \ +RUN wget -O - ${AUTOMAKE_REPO} | tar xJ && \ + cd automake-${AUTOMAKE_VER} && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --disable-doc && \ + make -j8 && \ make install @@ -380,20 +391,20 @@ ARG FFMPEG_1TN_PATCH_REPO=https://patchwork.ffmpeg.org/patch/11625/raw ARG FFMPEG_THREAD_PATCH_REPO=https://patchwork.ffmpeg.org/patch/11035/raw RUN yum install -y -q libass-devel freetype-devel SDL2-devel libxcb-devel libvdpau-devel texinfo zlib-devel openssl-devel -RUN wget -O - ${FFMPEG_REPO} | tar xz && mv FFmpeg-${FFMPEG_VER} FFmpeg; \ - cd FFmpeg; \ - wget -O - ${FFMPEG_FLV_PATCH_REPO} | patch -p1; \ - wget -O - ${FFMPEG_1TN_PATCH_REPO} | patch -p1; \ +RUN wget -O - ${FFMPEG_REPO} | tar xz && mv FFmpeg-${FFMPEG_VER} FFmpeg && \ + cd FFmpeg && \ + wget -O - ${FFMPEG_FLV_PATCH_REPO} | patch -p1 && \ + wget -O - ${FFMPEG_1TN_PATCH_REPO} | patch -p1 && \ wget -O - ${FFMPEG_THREAD_PATCH_REPO} | patch -p1; # Patch FFmpeg source for SVT-HEVC -RUN cd /home/FFmpeg; \ +RUN cd /home/FFmpeg && \ patch -p1 < ../SVT-HEVC/ffmpeg_plugin/0001-lavc-svt_hevc-add-libsvt-hevc-encoder-wrapper.patch; # Compile FFmpeg -RUN cd /home/FFmpeg; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --extra-libs="-lpthread -lm" --enable-shared --enable-gpl --enable-libass --enable-libfreetype --enable-openssl --enable-nonfree --enable-libdrm --enable-libmfx --enable-libfdk-aac --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-libaom --enable-libsvthevc ; \ - make -j8; \ +RUN cd /home/FFmpeg && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --extra-libs="-lpthread -lm" --enable-shared --enable-gpl --enable-libass --enable-libfreetype --enable-openssl --enable-nonfree --enable-libdrm --enable-libmfx --enable-libfdk-aac --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-libaom --enable-libsvthevc && \ + make -j8 && \ make install DESTDIR="/home/build" diff --git a/XeonE3/centos-7.4/ffmpeg+gst+dev/Dockerfile.m4 b/XeonE3/centos-7.4/ffmpeg+gst+dev/Dockerfile.m4 index 93ac92410..6dec56675 100644 --- a/XeonE3/centos-7.4/ffmpeg+gst+dev/Dockerfile.m4 +++ b/XeonE3/centos-7.4/ffmpeg+gst+dev/Dockerfile.m4 @@ -23,6 +23,7 @@ include(libva.m4) include(media-driver.m4) include(media-sdk.m4) include(dldt-ie.m4) +include(automake.m4) include(gst.m4) include(gst-plugin-base.m4) include(gst-plugin-good.m4) diff --git a/XeonE3/centos-7.4/ffmpeg/Dockerfile b/XeonE3/centos-7.4/ffmpeg/Dockerfile index f2694c847..71e15db22 100644 --- a/XeonE3/centos-7.4/ffmpeg/Dockerfile +++ b/XeonE3/centos-7.4/ffmpeg/Dockerfile @@ -8,76 +8,76 @@ RUN yum install -y -q bzip2 make autoconf libtool git wget ca-certificates pkg-c # Install cmake ARG CMAKE_VER=3.13.1 ARG CMAKE_REPO=https://cmake.org/files -RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz; \ - cd cmake-${CMAKE_VER}; \ - ./bootstrap --prefix="/usr"; \ - make -j8; \ +RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz && \ + cd cmake-${CMAKE_VER} && \ + ./bootstrap --prefix="/usr" && \ + make -j8 && \ make install # Build NASM ARG NASM_VER=2.13.03 ARG NASM_REPO=https://www.nasm.us/pub/nasm/releasebuilds/${NASM_VER}/nasm-${NASM_VER}.tar.bz2 -RUN wget ${NASM_REPO}; \ - tar -xaf nasm*; \ - cd nasm-${NASM_VER}; \ - ./autogen.sh; \ - ./configure --prefix="/usr" --libdir=/usr/lib64; \ - make -j8; \ +RUN wget ${NASM_REPO} && \ + tar -xaf nasm* && \ + cd nasm-${NASM_VER} && \ + ./autogen.sh && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 && \ + make -j8 && \ make install # Build YASM ARG YASM_VER=1.3.0 ARG YASM_REPO=https://www.tortall.net/projects/yasm/releases/yasm-${YASM_VER}.tar.gz -RUN wget -O - ${YASM_REPO} | tar xz; \ - cd yasm-${YASM_VER}; \ - sed -i "s/) ytasm.*/)/" Makefile.in; \ - ./configure --prefix="/usr" --libdir=/usr/lib64; \ - make -j8; \ +RUN wget -O - ${YASM_REPO} | tar xz && \ + cd yasm-${YASM_VER} && \ + sed -i "s/) ytasm.*/)/" Makefile.in && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 && \ + make -j8 && \ make install # Build ogg ARG OGG_VER=1.3.3 ARG OGG_REPO=https://downloads.xiph.org/releases/ogg/libogg-${OGG_VER}.tar.xz -RUN wget -O - ${OGG_REPO} | tar xJ; \ - cd libogg-${OGG_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${OGG_REPO} | tar xJ && \ + cd libogg-${OGG_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build vorbis ARG VORBIS_VER=1.3.6 ARG VORBIS_REPO=https://downloads.xiph.org/releases/vorbis/libvorbis-${VORBIS_VER}.tar.xz -RUN wget -O - ${VORBIS_REPO} | tar xJ; \ - cd libvorbis-${VORBIS_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${VORBIS_REPO} | tar xJ && \ + cd libvorbis-${VORBIS_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build mp3lame ARG MP3LAME_VER=3.100 ARG MP3LAME_REPO=https://sourceforge.net/projects/lame/files/lame/${MP3LAME_VER}/lame-${MP3LAME_VER}.tar.gz -RUN wget -O - ${MP3LAME_REPO} | tar xz; \ - cd lame-${MP3LAME_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --enable-nasm; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${MP3LAME_REPO} | tar xz && \ + cd lame-${MP3LAME_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --enable-nasm && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build fdk-aac ARG FDK_AAC_VER=v0.1.6 ARG FDK_AAC_REPO=https://github.com/mstorsjo/fdk-aac/archive/${FDK_AAC_VER}.tar.gz -RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac; \ - cd fdk-aac; \ - autoreconf -fiv; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac && \ + cd fdk-aac && \ + autoreconf -fiv && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -85,23 +85,23 @@ RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac; \ ARG OPUS_VER=1.2.1 ARG OPUS_REPO=https://archive.mozilla.org/pub/opus/opus-${OPUS_VER}.tar.gz -RUN wget -O - ${OPUS_REPO} | tar xz; \ - cd opus-${OPUS_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${OPUS_REPO} | tar xz && \ + cd opus-${OPUS_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build vpx ARG VPX_VER=tags/v1.7.0 ARG VPX_REPO=https://chromium.googlesource.com/webm/libvpx.git -RUN git clone ${VPX_REPO}; \ - cd libvpx; \ - git checkout ${VPX_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=nasm; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${VPX_REPO} && \ + cd libvpx && \ + git checkout ${VPX_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=nasm && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -109,25 +109,25 @@ RUN git clone ${VPX_REPO}; \ ARG AOM_VER=tags/v1.0.0 ARG AOM_REPO=https://aomedia.googlesource.com/aom -RUN git clone ${AOM_REPO}; \ - mkdir aom/aom_build; \ - cd aom/aom_build; \ - git checkout ${AOM_VER}; \ - cmake -DBUILD_SHARED_LIBS=ON -DENABLE_NASM=ON -DENABLE_TESTS=OFF -DENABLE_DOCS=OFF -DCMAKE_INSTALL_PREFIX="/usr" -DLIB_INSTALL_DIR=/usr/lib64 ..; \ - make -j8; \ - make install DESTDIR="/home/build"; \ +RUN git clone ${AOM_REPO} && \ + mkdir aom/aom_build && \ + cd aom/aom_build && \ + git checkout ${AOM_VER} && \ + cmake -DBUILD_SHARED_LIBS=ON -DENABLE_NASM=ON -DENABLE_TESTS=OFF -DENABLE_DOCS=OFF -DCMAKE_INSTALL_PREFIX="/usr" -DLIB_INSTALL_DIR=/usr/lib64 .. && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ make install # Build x264 ARG X264_VER=stable ARG X264_REPO=https://github.com/mirror/x264 -RUN git clone ${X264_REPO}; \ - cd x264; \ - git checkout ${X264_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared; \ - make -j8; \ - make install DESTDIR="/home/build"; \ +RUN git clone ${X264_REPO} && \ + cd x264 && \ + git checkout ${X264_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ make install @@ -137,28 +137,28 @@ ARG X265_REPO=https://github.com/videolan/x265/archive/${X265_VER}.tar.gz RUN yum install -y -q numactl-devel libpciaccess-devel -RUN wget -O - ${X265_REPO} | tar xz && mv x265-${X265_VER} x265; \ - cd x265/build/linux; \ - cmake -DBUILD_SHARED_LIBS=ON -DENABLE_TESTS=OFF -DCMAKE_INSTALL_PREFIX=/usr -DLIB_INSTALL_DIR=/usr/lib64 ../../source; \ - make -j8; \ - make install DESTDIR="/home/build"; \ +RUN wget -O - ${X265_REPO} | tar xz && mv x265-${X265_VER} x265 && \ + cd x265/build/linux && \ + cmake -DBUILD_SHARED_LIBS=ON -DENABLE_TESTS=OFF -DCMAKE_INSTALL_PREFIX=/usr -DLIB_INSTALL_DIR=/usr/lib64 ../../source && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ make install # Fetch SVT-HEVC ARG SVT_HEVC_VER=v1.3.0 ARG SVT_HEVC_REPO=https://github.com/intel/SVT-HEVC -RUN yum install -y -q patch centos-release-scl; \ +RUN yum install -y -q patch centos-release-scl && \ yum install -y -q devtoolset-7 -RUN git clone ${SVT_HEVC_REPO}; \ - cd SVT-HEVC/Build/linux; \ - git checkout ${SVT_HEVC_VER}; \ - mkdir -p ../../Bin/Release; \ - ( source /opt/rh/devtoolset-7/enable; \ - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${SVT_HEVC_REPO} && \ + cd SVT-HEVC/Build/linux && \ + git checkout ${SVT_HEVC_VER} && \ + mkdir -p ../../Bin/Release && \ + ( source /opt/rh/devtoolset-7/enable && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install ) @@ -166,13 +166,13 @@ RUN git clone ${SVT_HEVC_REPO}; \ ARG SVT_AV1_VER=a39acb2 ARG SVT_AV1_REPO=https://github.com/OpenVisualCloud/SVT-AV1 -RUN git clone ${SVT_AV1_REPO}; \ - cd SVT-AV1/Build/linux; \ - git checkout ${SVT_AV1_VER}; \ - mkdir -p ../../Bin/Release; \ - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${SVT_AV1_REPO} && \ + cd SVT-AV1/Build/linux && \ + git checkout ${SVT_AV1_VER} && \ + mkdir -p ../../Bin/Release && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -180,14 +180,14 @@ RUN git clone ${SVT_AV1_REPO}; \ ARG SVT_VP9_VER=e92a57c ARG SVT_VP9_REPO=https://github.com/OpenVisualCloud/SVT-VP9 -RUN git clone ${SVT_VP9_REPO}; \ - cd SVT-VP9/Build/linux; \ - git checkout ${SVT_VP9_VER}; \ - mkdir -p ../../Bin/Release; \ - ( source /opt/rh/devtoolset-7/enable; \ - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${SVT_VP9_REPO} && \ + cd SVT-VP9/Build/linux && \ + git checkout ${SVT_VP9_VER} && \ + mkdir -p ../../Bin/Release && \ + ( source /opt/rh/devtoolset-7/enable && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install ) #include(transform360.m4) @@ -205,11 +205,11 @@ ARG LIBVA_REPO=https://github.com/intel/libva/archive/${LIBVA_VER}.tar.gz RUN yum install -y -q libX11-devel mesa-libGL-devel which libdrm-devel -RUN wget -O - ${LIBVA_REPO} | tar xz; \ - cd libva-${LIBVA_VER}; \ - ./autogen.sh --prefix=/usr --libdir=/usr/lib64; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${LIBVA_REPO} | tar xz && \ + cd libva-${LIBVA_VER} && \ + ./autogen.sh --prefix=/usr --libdir=/usr/lib64 && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install; @@ -219,12 +219,12 @@ ARG MEDIA_DRIVER_REPO=https://github.com/VCDP/media-driver/archive/${MEDIA_DRIVE RUN yum install -y -q libX11-devel mesa-libGL-devel libpciaccess-devel libXext-devel -RUN wget -O - ${MEDIA_DRIVER_REPO} | tar xz && mv media-driver-${MEDIA_DRIVER_VER} media-driver; \ - mkdir -p media-driver/build; \ - cd media-driver/build; \ - cmake -DBUILD_TYPE=release -DBUILD_ALONG_WITH_CMRTLIB=1 -DMEDIA_VERSION="2.0.0" -DBS_DIR_GMMLIB=/home/gmmlib/Source/GmmLib -DBS_DIR_COMMON=/home/gmmlib/Source/Common -DBS_DIR_INC=/home/gmmlib/Source/inc -DBS_DIR_MEDIA=/home/media-driver -Wno-dev -DCMAKE_INSTALL_PREFIX=/usr ..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${MEDIA_DRIVER_REPO} | tar xz && mv media-driver-${MEDIA_DRIVER_VER} media-driver && \ + mkdir -p media-driver/build && \ + cd media-driver/build && \ + cmake -DBUILD_TYPE=release -DBUILD_ALONG_WITH_CMRTLIB=1 -DMEDIA_VERSION="2.0.0" -DBS_DIR_GMMLIB=/home/gmmlib/Source/GmmLib -DBS_DIR_COMMON=/home/gmmlib/Source/Common -DBS_DIR_INC=/home/gmmlib/Source/inc -DBS_DIR_MEDIA=/home/media-driver -Wno-dev -DCMAKE_INSTALL_PREFIX=/usr .. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -233,14 +233,14 @@ RUN wget -O - ${MEDIA_DRIVER_REPO} | tar xz && mv media-driver-${MEDIA_DRIVER_VE ARG MSDK_VER=MSS-KBL-2019-R1 ARG MSDK_REPO=https://github.com/Intel-Media-SDK/MediaSDK/archive/${MSDK_VER}.tar.gz -RUN wget -O - ${MSDK_REPO} | tar xz && mv MediaSDK-${MSDK_VER} MediaSDK; \ - mkdir -p MediaSDK/build; \ - cd MediaSDK/build; \ - cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_INCLUDEDIR=include/mfx -DBUILD_SAMPLES=OFF -DENABLE_OPENCL=OFF -Wno-dev ..; \ - make -j8; \ - make install DESTDIR=/home/build; \ - rm -rf /home/build/usr/samples; \ - rm -rf /home/build/usr/plugins; \ +RUN wget -O - ${MSDK_REPO} | tar xz && mv MediaSDK-${MSDK_VER} MediaSDK && \ + mkdir -p MediaSDK/build && \ + cd MediaSDK/build && \ + cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_INCLUDEDIR=include/mfx -DBUILD_SAMPLES=OFF -DENABLE_OPENCL=OFF -Wno-dev .. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ + rm -rf /home/build/usr/samples && \ + rm -rf /home/build/usr/plugins && \ make install; # Fetch FFmpeg source @@ -251,28 +251,28 @@ ARG FFMPEG_1TN_PATCH_REPO=https://patchwork.ffmpeg.org/patch/11625/raw ARG FFMPEG_THREAD_PATCH_REPO=https://patchwork.ffmpeg.org/patch/11035/raw RUN yum install -y -q SDL2-devel libxcb-devel libvdpau-devel zlib-devel openssl-devel -RUN wget -O - ${FFMPEG_REPO} | tar xz && mv FFmpeg-${FFMPEG_VER} FFmpeg; \ - cd FFmpeg; \ - wget -O - ${FFMPEG_FLV_PATCH_REPO} | patch -p1; \ - wget -O - ${FFMPEG_1TN_PATCH_REPO} | patch -p1; \ +RUN wget -O - ${FFMPEG_REPO} | tar xz && mv FFmpeg-${FFMPEG_VER} FFmpeg && \ + cd FFmpeg && \ + wget -O - ${FFMPEG_FLV_PATCH_REPO} | patch -p1 && \ + wget -O - ${FFMPEG_1TN_PATCH_REPO} | patch -p1 && \ wget -O - ${FFMPEG_THREAD_PATCH_REPO} | patch -p1; # Patch FFmpeg source for SVT-HEVC -RUN cd /home/FFmpeg; \ +RUN cd /home/FFmpeg && \ patch -p1 < ../SVT-HEVC/ffmpeg_plugin/0001-lavc-svt_hevc-add-libsvt-hevc-encoder-wrapper.patch; # Compile FFmpeg -RUN cd /home/FFmpeg; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --extra-libs="-lpthread -lm" --enable-shared --enable-gpl --enable-openssl --enable-nonfree --enable-libdrm --enable-libmfx --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --enable-libfdk-aac --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-libaom --enable-libsvthevc ; \ - make -j8; \ +RUN cd /home/FFmpeg && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --extra-libs="-lpthread -lm" --enable-shared --enable-gpl --enable-openssl --enable-nonfree --enable-libdrm --enable-libmfx --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --enable-libfdk-aac --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-libaom --enable-libsvthevc && \ + make -j8 && \ make install DESTDIR="/home/build" # Clean up after build -RUN rm -rf /home/build/usr/include; \ - rm -rf /home/build/usr/share/doc; \ - rm -rf /home/build/usr/share/gtk-doc; \ - rm -rf /home/build/usr/share/man; \ +RUN rm -rf /home/build/usr/include && \ + rm -rf /home/build/usr/share/doc && \ + rm -rf /home/build/usr/share/gtk-doc && \ + rm -rf /home/build/usr/share/man && \ find /home/build -name "*.a" -exec rm -f {} \; FROM centos:7.4.1708 diff --git a/XeonE3/centos-7.4/gst/Dockerfile b/XeonE3/centos-7.4/gst/Dockerfile index 7b911685d..aa5ab7a7f 100644 --- a/XeonE3/centos-7.4/gst/Dockerfile +++ b/XeonE3/centos-7.4/gst/Dockerfile @@ -8,76 +8,76 @@ RUN yum install -y -q bzip2 make autoconf libtool git wget ca-certificates pkg-c # Install cmake ARG CMAKE_VER=3.13.1 ARG CMAKE_REPO=https://cmake.org/files -RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz; \ - cd cmake-${CMAKE_VER}; \ - ./bootstrap --prefix="/usr"; \ - make -j8; \ +RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz && \ + cd cmake-${CMAKE_VER} && \ + ./bootstrap --prefix="/usr" && \ + make -j8 && \ make install # Build NASM ARG NASM_VER=2.13.03 ARG NASM_REPO=https://www.nasm.us/pub/nasm/releasebuilds/${NASM_VER}/nasm-${NASM_VER}.tar.bz2 -RUN wget ${NASM_REPO}; \ - tar -xaf nasm*; \ - cd nasm-${NASM_VER}; \ - ./autogen.sh; \ - ./configure --prefix="/usr" --libdir=/usr/lib64; \ - make -j8; \ +RUN wget ${NASM_REPO} && \ + tar -xaf nasm* && \ + cd nasm-${NASM_VER} && \ + ./autogen.sh && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 && \ + make -j8 && \ make install # Build YASM ARG YASM_VER=1.3.0 ARG YASM_REPO=https://www.tortall.net/projects/yasm/releases/yasm-${YASM_VER}.tar.gz -RUN wget -O - ${YASM_REPO} | tar xz; \ - cd yasm-${YASM_VER}; \ - sed -i "s/) ytasm.*/)/" Makefile.in; \ - ./configure --prefix="/usr" --libdir=/usr/lib64; \ - make -j8; \ +RUN wget -O - ${YASM_REPO} | tar xz && \ + cd yasm-${YASM_VER} && \ + sed -i "s/) ytasm.*/)/" Makefile.in && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 && \ + make -j8 && \ make install # Build ogg ARG OGG_VER=1.3.3 ARG OGG_REPO=https://downloads.xiph.org/releases/ogg/libogg-${OGG_VER}.tar.xz -RUN wget -O - ${OGG_REPO} | tar xJ; \ - cd libogg-${OGG_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${OGG_REPO} | tar xJ && \ + cd libogg-${OGG_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build vorbis ARG VORBIS_VER=1.3.6 ARG VORBIS_REPO=https://downloads.xiph.org/releases/vorbis/libvorbis-${VORBIS_VER}.tar.xz -RUN wget -O - ${VORBIS_REPO} | tar xJ; \ - cd libvorbis-${VORBIS_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${VORBIS_REPO} | tar xJ && \ + cd libvorbis-${VORBIS_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build mp3lame ARG MP3LAME_VER=3.100 ARG MP3LAME_REPO=https://sourceforge.net/projects/lame/files/lame/${MP3LAME_VER}/lame-${MP3LAME_VER}.tar.gz -RUN wget -O - ${MP3LAME_REPO} | tar xz; \ - cd lame-${MP3LAME_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --enable-nasm; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${MP3LAME_REPO} | tar xz && \ + cd lame-${MP3LAME_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --enable-nasm && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build fdk-aac ARG FDK_AAC_VER=v0.1.6 ARG FDK_AAC_REPO=https://github.com/mstorsjo/fdk-aac/archive/${FDK_AAC_VER}.tar.gz -RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac; \ - cd fdk-aac; \ - autoreconf -fiv; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac && \ + cd fdk-aac && \ + autoreconf -fiv && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -85,23 +85,23 @@ RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac; \ ARG OPUS_VER=1.2.1 ARG OPUS_REPO=https://archive.mozilla.org/pub/opus/opus-${OPUS_VER}.tar.gz -RUN wget -O - ${OPUS_REPO} | tar xz; \ - cd opus-${OPUS_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${OPUS_REPO} | tar xz && \ + cd opus-${OPUS_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build vpx ARG VPX_VER=tags/v1.7.0 ARG VPX_REPO=https://chromium.googlesource.com/webm/libvpx.git -RUN git clone ${VPX_REPO}; \ - cd libvpx; \ - git checkout ${VPX_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=nasm; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${VPX_REPO} && \ + cd libvpx && \ + git checkout ${VPX_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=nasm && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -109,25 +109,25 @@ RUN git clone ${VPX_REPO}; \ ARG AOM_VER=tags/v1.0.0 ARG AOM_REPO=https://aomedia.googlesource.com/aom -RUN git clone ${AOM_REPO}; \ - mkdir aom/aom_build; \ - cd aom/aom_build; \ - git checkout ${AOM_VER}; \ - cmake -DBUILD_SHARED_LIBS=ON -DENABLE_NASM=ON -DENABLE_TESTS=OFF -DENABLE_DOCS=OFF -DCMAKE_INSTALL_PREFIX="/usr" -DLIB_INSTALL_DIR=/usr/lib64 ..; \ - make -j8; \ - make install DESTDIR="/home/build"; \ +RUN git clone ${AOM_REPO} && \ + mkdir aom/aom_build && \ + cd aom/aom_build && \ + git checkout ${AOM_VER} && \ + cmake -DBUILD_SHARED_LIBS=ON -DENABLE_NASM=ON -DENABLE_TESTS=OFF -DENABLE_DOCS=OFF -DCMAKE_INSTALL_PREFIX="/usr" -DLIB_INSTALL_DIR=/usr/lib64 .. && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ make install # Build x264 ARG X264_VER=stable ARG X264_REPO=https://github.com/mirror/x264 -RUN git clone ${X264_REPO}; \ - cd x264; \ - git checkout ${X264_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared; \ - make -j8; \ - make install DESTDIR="/home/build"; \ +RUN git clone ${X264_REPO} && \ + cd x264 && \ + git checkout ${X264_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ make install @@ -137,28 +137,28 @@ ARG X265_REPO=https://github.com/videolan/x265/archive/${X265_VER}.tar.gz RUN yum install -y -q numactl-devel libpciaccess-devel -RUN wget -O - ${X265_REPO} | tar xz && mv x265-${X265_VER} x265; \ - cd x265/build/linux; \ - cmake -DBUILD_SHARED_LIBS=ON -DENABLE_TESTS=OFF -DCMAKE_INSTALL_PREFIX=/usr -DLIB_INSTALL_DIR=/usr/lib64 ../../source; \ - make -j8; \ - make install DESTDIR="/home/build"; \ +RUN wget -O - ${X265_REPO} | tar xz && mv x265-${X265_VER} x265 && \ + cd x265/build/linux && \ + cmake -DBUILD_SHARED_LIBS=ON -DENABLE_TESTS=OFF -DCMAKE_INSTALL_PREFIX=/usr -DLIB_INSTALL_DIR=/usr/lib64 ../../source && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ make install # Fetch SVT-HEVC ARG SVT_HEVC_VER=v1.3.0 ARG SVT_HEVC_REPO=https://github.com/intel/SVT-HEVC -RUN yum install -y -q patch centos-release-scl; \ +RUN yum install -y -q patch centos-release-scl && \ yum install -y -q devtoolset-7 -RUN git clone ${SVT_HEVC_REPO}; \ - cd SVT-HEVC/Build/linux; \ - git checkout ${SVT_HEVC_VER}; \ - mkdir -p ../../Bin/Release; \ - ( source /opt/rh/devtoolset-7/enable; \ - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${SVT_HEVC_REPO} && \ + cd SVT-HEVC/Build/linux && \ + git checkout ${SVT_HEVC_VER} && \ + mkdir -p ../../Bin/Release && \ + ( source /opt/rh/devtoolset-7/enable && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install ) @@ -166,13 +166,13 @@ RUN git clone ${SVT_HEVC_REPO}; \ ARG SVT_AV1_VER=a39acb2 ARG SVT_AV1_REPO=https://github.com/OpenVisualCloud/SVT-AV1 -RUN git clone ${SVT_AV1_REPO}; \ - cd SVT-AV1/Build/linux; \ - git checkout ${SVT_AV1_VER}; \ - mkdir -p ../../Bin/Release; \ - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${SVT_AV1_REPO} && \ + cd SVT-AV1/Build/linux && \ + git checkout ${SVT_AV1_VER} && \ + mkdir -p ../../Bin/Release && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -180,14 +180,14 @@ RUN git clone ${SVT_AV1_REPO}; \ ARG SVT_VP9_VER=e92a57c ARG SVT_VP9_REPO=https://github.com/OpenVisualCloud/SVT-VP9 -RUN git clone ${SVT_VP9_REPO}; \ - cd SVT-VP9/Build/linux; \ - git checkout ${SVT_VP9_VER}; \ - mkdir -p ../../Bin/Release; \ - ( source /opt/rh/devtoolset-7/enable; \ - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${SVT_VP9_REPO} && \ + cd SVT-VP9/Build/linux && \ + git checkout ${SVT_VP9_VER} && \ + mkdir -p ../../Bin/Release && \ + ( source /opt/rh/devtoolset-7/enable && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install ) # Fetch gmmlib @@ -204,11 +204,11 @@ ARG LIBVA_REPO=https://github.com/intel/libva/archive/${LIBVA_VER}.tar.gz RUN yum install -y -q libX11-devel mesa-libGL-devel which libdrm-devel -RUN wget -O - ${LIBVA_REPO} | tar xz; \ - cd libva-${LIBVA_VER}; \ - ./autogen.sh --prefix=/usr --libdir=/usr/lib64; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${LIBVA_REPO} | tar xz && \ + cd libva-${LIBVA_VER} && \ + ./autogen.sh --prefix=/usr --libdir=/usr/lib64 && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install; @@ -218,72 +218,83 @@ ARG MEDIA_DRIVER_REPO=https://github.com/VCDP/media-driver/archive/${MEDIA_DRIVE RUN yum install -y -q libX11-devel mesa-libGL-devel libpciaccess-devel libXext-devel -RUN wget -O - ${MEDIA_DRIVER_REPO} | tar xz && mv media-driver-${MEDIA_DRIVER_VER} media-driver; \ - mkdir -p media-driver/build; \ - cd media-driver/build; \ - cmake -DBUILD_TYPE=release -DBUILD_ALONG_WITH_CMRTLIB=1 -DMEDIA_VERSION="2.0.0" -DBS_DIR_GMMLIB=/home/gmmlib/Source/GmmLib -DBS_DIR_COMMON=/home/gmmlib/Source/Common -DBS_DIR_INC=/home/gmmlib/Source/inc -DBS_DIR_MEDIA=/home/media-driver -Wno-dev -DCMAKE_INSTALL_PREFIX=/usr ..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${MEDIA_DRIVER_REPO} | tar xz && mv media-driver-${MEDIA_DRIVER_VER} media-driver && \ + mkdir -p media-driver/build && \ + cd media-driver/build && \ + cmake -DBUILD_TYPE=release -DBUILD_ALONG_WITH_CMRTLIB=1 -DMEDIA_VERSION="2.0.0" -DBS_DIR_GMMLIB=/home/gmmlib/Source/GmmLib -DBS_DIR_COMMON=/home/gmmlib/Source/Common -DBS_DIR_INC=/home/gmmlib/Source/inc -DBS_DIR_MEDIA=/home/media-driver -Wno-dev -DCMAKE_INSTALL_PREFIX=/usr .. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install +# Install automake +ARG AUTOMAKE_VER=1.14 +ARG AUTOMAKE_REPO=https://ftp.gnu.org/pub/gnu/automake/automake-${AUTOMAKE_VER}.tar.xz + +RUN wget -O - ${AUTOMAKE_REPO} | tar xJ && \ + cd automake-${AUTOMAKE_VER} && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --disable-doc && \ + make -j8 && \ + make install + + # Build the gstremaer core ARG GST_VER=1.14.4 ARG GST_REPO=https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${GST_VER}.tar.xz -RUN yum install -y -q glib2-devel-2.56.1 -RUN wget -O - ${GST_REPO} | tar xJ; \ - cd gstreamer-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-gst-debug --disable-debug --disable-benchmarks --disable-check; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN yum install -y -q glib2-devel-2.56.1 gettext-devel gtk-doc +RUN wget -O - ${GST_REPO} | tar xJ && \ + cd gstreamer-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-gst-debug --disable-debug --disable-benchmarks --disable-check && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin base ARG GST_PLUGIN_BASE_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_BASE_REPO} | tar xJ; \ - cd gst-plugins-base-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-debug; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${GST_PLUGIN_BASE_REPO} | tar xJ && \ + cd gst-plugins-base-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-debug && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin good set ARG GST_PLUGIN_GOOD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_GOOD_REPO} | tar xJ; \ - cd gst-plugins-good-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-debug; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${GST_PLUGIN_GOOD_REPO} | tar xJ && \ + cd gst-plugins-good-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-debug && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin bad set ARG GST_PLUGIN_BAD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_BAD_REPO} | tar xJ; \ - cd gst-plugins-bad-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-debug; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${GST_PLUGIN_BAD_REPO} | tar xJ && \ + cd gst-plugins-bad-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-debug && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin ugly set ARG GST_PLUGIN_UGLY_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_UGLY_REPO} | tar xJ; \ - cd gst-plugins-ugly-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-debug; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${GST_PLUGIN_UGLY_REPO} | tar xJ && \ + cd gst-plugins-ugly-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-debug && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build gst-libav @@ -291,10 +302,10 @@ ARG GST_PLUGIN_LIBAV_REPO=https://gstreamer.freedesktop.org/src/gst-libav/gst-li RUN yum install -y -q zlib-devel openssl-devel -RUN wget -O - ${GST_PLUGIN_LIBAV_REPO} | tar xJ; \ - cd gst-libav-${GST_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --enable-gpl; \ - make -j8; \ +RUN wget -O - ${GST_PLUGIN_LIBAV_REPO} | tar xJ && \ + cd gst-libav-${GST_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --enable-gpl && \ + make -j8 && \ make install DESTDIR="/home/build" @@ -303,10 +314,10 @@ RUN wget -O - ${GST_PLUGIN_LIBAV_REPO} | tar xJ; \ ARG AUTOMAKE_VER=1.14 ARG AUTOMAKE_REPO=https://ftp.gnu.org/pub/gnu/automake/automake-${AUTOMAKE_VER}.tar.xz -RUN wget -O - ${AUTOMAKE_REPO} | tar xJ; \ - cd automake-${AUTOMAKE_VER}; \ - ./configure --prefix=/usr --libdir=/usr/lib64 --disable-doc; \ - make -j8; \ +RUN wget -O - ${AUTOMAKE_REPO} | tar xJ && \ + cd automake-${AUTOMAKE_VER} && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --disable-doc && \ + make -j8 && \ make install @@ -325,10 +336,10 @@ RUN wget -O - ${GST_PLUGIN_VAAPI_REPO} | tar xJ; \ # Clean up after build -RUN rm -rf /home/build/usr/include; \ - rm -rf /home/build/usr/share/doc; \ - rm -rf /home/build/usr/share/gtk-doc; \ - rm -rf /home/build/usr/share/man; \ +RUN rm -rf /home/build/usr/include && \ + rm -rf /home/build/usr/share/doc && \ + rm -rf /home/build/usr/share/gtk-doc && \ + rm -rf /home/build/usr/share/man && \ find /home/build -name "*.a" -exec rm -f {} \; FROM centos:7.4.1708 diff --git a/XeonE3/centos-7.4/gst/Dockerfile.m4 b/XeonE3/centos-7.4/gst/Dockerfile.m4 index b33574e48..f4062f610 100644 --- a/XeonE3/centos-7.4/gst/Dockerfile.m4 +++ b/XeonE3/centos-7.4/gst/Dockerfile.m4 @@ -20,6 +20,7 @@ include(gmmlib.m4) #include(libdrm.m4) include(libva.m4) include(media-driver.m4) +include(automake.m4) include(gst.m4) include(gst-plugin-base.m4) include(gst-plugin-good.m4) diff --git a/XeonE3/centos-7.4/nginx+rtmp/Dockerfile b/XeonE3/centos-7.4/nginx+rtmp/Dockerfile index ef471a0a7..ecbd81e0f 100644 --- a/XeonE3/centos-7.4/nginx+rtmp/Dockerfile +++ b/XeonE3/centos-7.4/nginx+rtmp/Dockerfile @@ -8,10 +8,10 @@ RUN yum install -y -q bzip2 make autoconf libtool git wget ca-certificates pkg-c # Install cmake ARG CMAKE_VER=3.13.1 ARG CMAKE_REPO=https://cmake.org/files -RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz; \ - cd cmake-${CMAKE_VER}; \ - ./bootstrap --prefix="/usr"; \ - make -j8; \ +RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz && \ + cd cmake-${CMAKE_VER} && \ + ./bootstrap --prefix="/usr" && \ + make -j8 && \ make install @@ -21,11 +21,11 @@ ARG NGINX_RTMP_REPO=https://github.com/arut/nginx-rtmp-module/archive/${NGINX_RT ARG NGINX_RTMP_PATCH_HLS=https://raw.githubusercontent.com/VCDP/CDN/master/0001-add-hevc-support-for-rtmp-and-hls.patch ARG NGINX_RTMP_PATCH_DASH=https://raw.githubusercontent.com/VCDP/CDN/master/0002-add-HEVC-support-for-dash.patch -RUN wget -O - ${NGINX_RTMP_REPO} | tar xz && mv nginx-rtmp-module-${NGINX_RTMP_VER#v} nginx-rtmp-module; \ - cd nginx-rtmp-module; \ - mkdir -p /home/build/var/www/html; \ - cp -f stat.xsl /home/build/var/www/html; \ - wget -O - ${NGINX_RTMP_PATCH_HLS} | patch -p1; \ +RUN wget -O - ${NGINX_RTMP_REPO} | tar xz && mv nginx-rtmp-module-${NGINX_RTMP_VER#v} nginx-rtmp-module && \ + cd nginx-rtmp-module && \ + mkdir -p /home/build/var/www/html && \ + cp -f stat.xsl /home/build/var/www/html && \ + wget -O - ${NGINX_RTMP_PATCH_HLS} | patch -p1 && \ wget -O - ${NGINX_RTMP_PATCH_DASH} | patch -p1; # Build nginx & nginx-rtmp @@ -34,21 +34,21 @@ ARG NGINX_REPO=https://nginx.org/download/nginx-${NGINX_VER}.tar.gz RUN yum install -y -q openssl-devel pcre2-devel zlib-devel libxslt-devel -RUN wget -O - ${NGINX_REPO} | tar xz; \ - cd nginx-${NGINX_VER}; \ - ./configure --prefix=/var/www --sbin-path=/usr/sbin/nginx --modules-path=/usr/lib64/nginx/modules --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/www/log/error.log --pid-path=/var/www/nginx.pid --lock-path=/var/www/nginx.lock --http-log-path=/var/www/log/access.log --http-client-body-temp-path=/var/www/tmp/client_body --http-proxy-temp-path=/var/www/tmp/proxy --http-fastcgi-temp-path=/var/www/tmp/fastcgi --http-uwsgi-temp-path=/var/www/tmp/uwsgi --http-scgi-temp-path=/var/www/tmp/scgi --user=nobody --group=nobody --with-select_module --with-poll_module --with-threads --with-file-aio --with-http_ssl_module --with-http_v2_module --with-http_realip_module --with-http_addition_module --with-http_xslt_module --with-http_sub_module --with-http_dav_module --with-http_flv_module --with-http_mp4_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_auth_request_module --with-http_random_index_module --with-http_secure_link_module --with-http_degradation_module --with-http_slice_module --with-http_stub_status_module --with-stream --with-stream_ssl_module --with-stream_realip_module --with-stream_ssl_preread_module --with-pcre --add-module=../nginx-rtmp-module ; \ - make -j8; \ +RUN wget -O - ${NGINX_REPO} | tar xz && \ + cd nginx-${NGINX_VER} && \ + ./configure --prefix=/var/www --sbin-path=/usr/sbin/nginx --modules-path=/usr/lib64/nginx/modules --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/www/log/error.log --pid-path=/var/www/nginx.pid --lock-path=/var/www/nginx.lock --http-log-path=/var/www/log/access.log --http-client-body-temp-path=/var/www/tmp/client_body --http-proxy-temp-path=/var/www/tmp/proxy --http-fastcgi-temp-path=/var/www/tmp/fastcgi --http-uwsgi-temp-path=/var/www/tmp/uwsgi --http-scgi-temp-path=/var/www/tmp/scgi --user=nobody --group=nobody --with-select_module --with-poll_module --with-threads --with-file-aio --with-http_ssl_module --with-http_v2_module --with-http_realip_module --with-http_addition_module --with-http_xslt_module --with-http_sub_module --with-http_dav_module --with-http_flv_module --with-http_mp4_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_auth_request_module --with-http_random_index_module --with-http_secure_link_module --with-http_degradation_module --with-http_slice_module --with-http_stub_status_module --with-stream --with-stream_ssl_module --with-stream_realip_module --with-stream_ssl_preread_module --with-pcre --add-module=../nginx-rtmp-module && \ + make -j8 && \ make install DESTDIR=/home/build; # NGINX Setup COPY nginx.conf /home/build/etc/nginx -RUN mkdir -p /home/build/var/www/tmp/client_body; \ - mkdir -p /home/build/var/www/tmp/proxy; \ - mkdir -p /home/build/var/www/tmp/fastcgi; \ - mkdir -p /home/build/var/www/tmp/uwsgi; \ - mkdir -p /home/build/var/www/tmp/scgi; \ - mkdir -p /home/build/var/www/cache; \ - mkdir -p /home/build/var/www/html; \ +RUN mkdir -p /home/build/var/www/tmp/client_body && \ + mkdir -p /home/build/var/www/tmp/proxy && \ + mkdir -p /home/build/var/www/tmp/fastcgi && \ + mkdir -p /home/build/var/www/tmp/uwsgi && \ + mkdir -p /home/build/var/www/tmp/scgi && \ + mkdir -p /home/build/var/www/cache && \ + mkdir -p /home/build/var/www/html && \ touch /home/build/var/www/html/index.html; diff --git a/XeonE3/centos-7.5/ffmpeg+gst+dev/Dockerfile b/XeonE3/centos-7.5/ffmpeg+gst+dev/Dockerfile index d5ce5c1f4..5f1ad84f5 100644 --- a/XeonE3/centos-7.5/ffmpeg+gst+dev/Dockerfile +++ b/XeonE3/centos-7.5/ffmpeg+gst+dev/Dockerfile @@ -8,76 +8,76 @@ RUN yum install -y -q bzip2 make autoconf libtool git wget ca-certificates pkg-c # Install cmake ARG CMAKE_VER=3.13.1 ARG CMAKE_REPO=https://cmake.org/files -RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz; \ - cd cmake-${CMAKE_VER}; \ - ./bootstrap --prefix="/usr"; \ - make -j8; \ +RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz && \ + cd cmake-${CMAKE_VER} && \ + ./bootstrap --prefix="/usr" && \ + make -j8 && \ make install # Build NASM ARG NASM_VER=2.13.03 ARG NASM_REPO=https://www.nasm.us/pub/nasm/releasebuilds/${NASM_VER}/nasm-${NASM_VER}.tar.bz2 -RUN wget ${NASM_REPO}; \ - tar -xaf nasm*; \ - cd nasm-${NASM_VER}; \ - ./autogen.sh; \ - ./configure --prefix="/usr" --libdir=/usr/lib64; \ - make -j8; \ +RUN wget ${NASM_REPO} && \ + tar -xaf nasm* && \ + cd nasm-${NASM_VER} && \ + ./autogen.sh && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 && \ + make -j8 && \ make install # Build YASM ARG YASM_VER=1.3.0 ARG YASM_REPO=https://www.tortall.net/projects/yasm/releases/yasm-${YASM_VER}.tar.gz -RUN wget -O - ${YASM_REPO} | tar xz; \ - cd yasm-${YASM_VER}; \ - sed -i "s/) ytasm.*/)/" Makefile.in; \ - ./configure --prefix="/usr" --libdir=/usr/lib64; \ - make -j8; \ +RUN wget -O - ${YASM_REPO} | tar xz && \ + cd yasm-${YASM_VER} && \ + sed -i "s/) ytasm.*/)/" Makefile.in && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 && \ + make -j8 && \ make install # Build ogg ARG OGG_VER=1.3.3 ARG OGG_REPO=https://downloads.xiph.org/releases/ogg/libogg-${OGG_VER}.tar.xz -RUN wget -O - ${OGG_REPO} | tar xJ; \ - cd libogg-${OGG_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${OGG_REPO} | tar xJ && \ + cd libogg-${OGG_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build vorbis ARG VORBIS_VER=1.3.6 ARG VORBIS_REPO=https://downloads.xiph.org/releases/vorbis/libvorbis-${VORBIS_VER}.tar.xz -RUN wget -O - ${VORBIS_REPO} | tar xJ; \ - cd libvorbis-${VORBIS_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${VORBIS_REPO} | tar xJ && \ + cd libvorbis-${VORBIS_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build mp3lame ARG MP3LAME_VER=3.100 ARG MP3LAME_REPO=https://sourceforge.net/projects/lame/files/lame/${MP3LAME_VER}/lame-${MP3LAME_VER}.tar.gz -RUN wget -O - ${MP3LAME_REPO} | tar xz; \ - cd lame-${MP3LAME_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --enable-nasm; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${MP3LAME_REPO} | tar xz && \ + cd lame-${MP3LAME_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --enable-nasm && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build fdk-aac ARG FDK_AAC_VER=v0.1.6 ARG FDK_AAC_REPO=https://github.com/mstorsjo/fdk-aac/archive/${FDK_AAC_VER}.tar.gz -RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac; \ - cd fdk-aac; \ - autoreconf -fiv; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac && \ + cd fdk-aac && \ + autoreconf -fiv && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -85,23 +85,23 @@ RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac; \ ARG OPUS_VER=1.2.1 ARG OPUS_REPO=https://archive.mozilla.org/pub/opus/opus-${OPUS_VER}.tar.gz -RUN wget -O - ${OPUS_REPO} | tar xz; \ - cd opus-${OPUS_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${OPUS_REPO} | tar xz && \ + cd opus-${OPUS_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build vpx ARG VPX_VER=tags/v1.7.0 ARG VPX_REPO=https://chromium.googlesource.com/webm/libvpx.git -RUN git clone ${VPX_REPO}; \ - cd libvpx; \ - git checkout ${VPX_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=nasm; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${VPX_REPO} && \ + cd libvpx && \ + git checkout ${VPX_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=nasm && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -109,25 +109,25 @@ RUN git clone ${VPX_REPO}; \ ARG AOM_VER=tags/v1.0.0 ARG AOM_REPO=https://aomedia.googlesource.com/aom -RUN git clone ${AOM_REPO}; \ - mkdir aom/aom_build; \ - cd aom/aom_build; \ - git checkout ${AOM_VER}; \ - cmake -DBUILD_SHARED_LIBS=ON -DENABLE_NASM=ON -DENABLE_TESTS=OFF -DENABLE_DOCS=OFF -DCMAKE_INSTALL_PREFIX="/usr" -DLIB_INSTALL_DIR=/usr/lib64 ..; \ - make -j8; \ - make install DESTDIR="/home/build"; \ +RUN git clone ${AOM_REPO} && \ + mkdir aom/aom_build && \ + cd aom/aom_build && \ + git checkout ${AOM_VER} && \ + cmake -DBUILD_SHARED_LIBS=ON -DENABLE_NASM=ON -DENABLE_TESTS=OFF -DENABLE_DOCS=OFF -DCMAKE_INSTALL_PREFIX="/usr" -DLIB_INSTALL_DIR=/usr/lib64 .. && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ make install # Build x264 ARG X264_VER=stable ARG X264_REPO=https://github.com/mirror/x264 -RUN git clone ${X264_REPO}; \ - cd x264; \ - git checkout ${X264_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared; \ - make -j8; \ - make install DESTDIR="/home/build"; \ +RUN git clone ${X264_REPO} && \ + cd x264 && \ + git checkout ${X264_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ make install @@ -137,28 +137,28 @@ ARG X265_REPO=https://github.com/videolan/x265/archive/${X265_VER}.tar.gz RUN yum install -y -q numactl-devel libpciaccess-devel -RUN wget -O - ${X265_REPO} | tar xz && mv x265-${X265_VER} x265; \ - cd x265/build/linux; \ - cmake -DBUILD_SHARED_LIBS=ON -DENABLE_TESTS=OFF -DCMAKE_INSTALL_PREFIX=/usr -DLIB_INSTALL_DIR=/usr/lib64 ../../source; \ - make -j8; \ - make install DESTDIR="/home/build"; \ +RUN wget -O - ${X265_REPO} | tar xz && mv x265-${X265_VER} x265 && \ + cd x265/build/linux && \ + cmake -DBUILD_SHARED_LIBS=ON -DENABLE_TESTS=OFF -DCMAKE_INSTALL_PREFIX=/usr -DLIB_INSTALL_DIR=/usr/lib64 ../../source && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ make install # Fetch SVT-HEVC ARG SVT_HEVC_VER=v1.3.0 ARG SVT_HEVC_REPO=https://github.com/intel/SVT-HEVC -RUN yum install -y -q patch centos-release-scl; \ +RUN yum install -y -q patch centos-release-scl && \ yum install -y -q devtoolset-7 -RUN git clone ${SVT_HEVC_REPO}; \ - cd SVT-HEVC/Build/linux; \ - git checkout ${SVT_HEVC_VER}; \ - mkdir -p ../../Bin/Release; \ - ( source /opt/rh/devtoolset-7/enable; \ - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${SVT_HEVC_REPO} && \ + cd SVT-HEVC/Build/linux && \ + git checkout ${SVT_HEVC_VER} && \ + mkdir -p ../../Bin/Release && \ + ( source /opt/rh/devtoolset-7/enable && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install ) @@ -166,13 +166,13 @@ RUN git clone ${SVT_HEVC_REPO}; \ ARG SVT_AV1_VER=a39acb2 ARG SVT_AV1_REPO=https://github.com/OpenVisualCloud/SVT-AV1 -RUN git clone ${SVT_AV1_REPO}; \ - cd SVT-AV1/Build/linux; \ - git checkout ${SVT_AV1_VER}; \ - mkdir -p ../../Bin/Release; \ - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${SVT_AV1_REPO} && \ + cd SVT-AV1/Build/linux && \ + git checkout ${SVT_AV1_VER} && \ + mkdir -p ../../Bin/Release && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -180,14 +180,14 @@ RUN git clone ${SVT_AV1_REPO}; \ ARG SVT_VP9_VER=e92a57c ARG SVT_VP9_REPO=https://github.com/OpenVisualCloud/SVT-VP9 -RUN git clone ${SVT_VP9_REPO}; \ - cd SVT-VP9/Build/linux; \ - git checkout ${SVT_VP9_VER}; \ - mkdir -p ../../Bin/Release; \ - ( source /opt/rh/devtoolset-7/enable; \ - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${SVT_VP9_REPO} && \ + cd SVT-VP9/Build/linux && \ + git checkout ${SVT_VP9_VER} && \ + mkdir -p ../../Bin/Release && \ + ( source /opt/rh/devtoolset-7/enable && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install ) #include(transform360.m4) @@ -205,11 +205,11 @@ ARG LIBVA_REPO=https://github.com/intel/libva/archive/${LIBVA_VER}.tar.gz RUN yum install -y -q libX11-devel mesa-libGL-devel which libdrm-devel -RUN wget -O - ${LIBVA_REPO} | tar xz; \ - cd libva-${LIBVA_VER}; \ - ./autogen.sh --prefix=/usr --libdir=/usr/lib64; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${LIBVA_REPO} | tar xz && \ + cd libva-${LIBVA_VER} && \ + ./autogen.sh --prefix=/usr --libdir=/usr/lib64 && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install; @@ -219,12 +219,12 @@ ARG MEDIA_DRIVER_REPO=https://github.com/VCDP/media-driver/archive/${MEDIA_DRIVE RUN yum install -y -q libX11-devel mesa-libGL-devel libpciaccess-devel libXext-devel -RUN wget -O - ${MEDIA_DRIVER_REPO} | tar xz && mv media-driver-${MEDIA_DRIVER_VER} media-driver; \ - mkdir -p media-driver/build; \ - cd media-driver/build; \ - cmake -DBUILD_TYPE=release -DBUILD_ALONG_WITH_CMRTLIB=1 -DMEDIA_VERSION="2.0.0" -DBS_DIR_GMMLIB=/home/gmmlib/Source/GmmLib -DBS_DIR_COMMON=/home/gmmlib/Source/Common -DBS_DIR_INC=/home/gmmlib/Source/inc -DBS_DIR_MEDIA=/home/media-driver -Wno-dev -DCMAKE_INSTALL_PREFIX=/usr ..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${MEDIA_DRIVER_REPO} | tar xz && mv media-driver-${MEDIA_DRIVER_VER} media-driver && \ + mkdir -p media-driver/build && \ + cd media-driver/build && \ + cmake -DBUILD_TYPE=release -DBUILD_ALONG_WITH_CMRTLIB=1 -DMEDIA_VERSION="2.0.0" -DBS_DIR_GMMLIB=/home/gmmlib/Source/GmmLib -DBS_DIR_COMMON=/home/gmmlib/Source/Common -DBS_DIR_INC=/home/gmmlib/Source/inc -DBS_DIR_MEDIA=/home/media-driver -Wno-dev -DCMAKE_INSTALL_PREFIX=/usr .. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -233,12 +233,12 @@ RUN wget -O - ${MEDIA_DRIVER_REPO} | tar xz && mv media-driver-${MEDIA_DRIVER_VE ARG MSDK_VER=MSS-KBL-2019-R1 ARG MSDK_REPO=https://github.com/Intel-Media-SDK/MediaSDK/archive/${MSDK_VER}.tar.gz -RUN wget -O - ${MSDK_REPO} | tar xz && mv MediaSDK-${MSDK_VER} MediaSDK; \ - mkdir -p MediaSDK/build; \ - cd MediaSDK/build; \ - cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_INCLUDEDIR=include/mfx -DBUILD_SAMPLES=OFF -DENABLE_OPENCL=OFF -Wno-dev ..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${MSDK_REPO} | tar xz && mv MediaSDK-${MSDK_VER} MediaSDK && \ + mkdir -p MediaSDK/build && \ + cd MediaSDK/build && \ + cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_INCLUDEDIR=include/mfx -DBUILD_SAMPLES=OFF -DENABLE_OPENCL=OFF -Wno-dev .. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install; # Build DLDT-Inference Engine @@ -276,62 +276,73 @@ RUN git clone -b ${DLDT_VER} ${DLDT_REPO}; \ echo "Cflags: -I\${includedir}" >> "$pc"; \ done; +# Install automake +ARG AUTOMAKE_VER=1.14 +ARG AUTOMAKE_REPO=https://ftp.gnu.org/pub/gnu/automake/automake-${AUTOMAKE_VER}.tar.xz + +RUN wget -O - ${AUTOMAKE_REPO} | tar xJ && \ + cd automake-${AUTOMAKE_VER} && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --disable-doc && \ + make -j8 && \ + make install + + # Build the gstremaer core ARG GST_VER=1.14.4 ARG GST_REPO=https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${GST_VER}.tar.xz -RUN yum install -y -q glib2-devel-2.56.1 -RUN wget -O - ${GST_REPO} | tar xJ; \ - cd gstreamer-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples ; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN yum install -y -q glib2-devel-2.56.1 gettext-devel gtk-doc +RUN wget -O - ${GST_REPO} | tar xJ && \ + cd gstreamer-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin base ARG GST_PLUGIN_BASE_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_BASE_REPO} | tar xJ; \ - cd gst-plugins-base-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples ; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${GST_PLUGIN_BASE_REPO} | tar xJ && \ + cd gst-plugins-base-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin good set ARG GST_PLUGIN_GOOD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_GOOD_REPO} | tar xJ; \ - cd gst-plugins-good-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples ; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${GST_PLUGIN_GOOD_REPO} | tar xJ && \ + cd gst-plugins-good-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin bad set ARG GST_PLUGIN_BAD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_BAD_REPO} | tar xJ; \ - cd gst-plugins-bad-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples ; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${GST_PLUGIN_BAD_REPO} | tar xJ && \ + cd gst-plugins-bad-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin ugly set ARG GST_PLUGIN_UGLY_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_UGLY_REPO} | tar xJ; \ - cd gst-plugins-ugly-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples ; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${GST_PLUGIN_UGLY_REPO} | tar xJ && \ + cd gst-plugins-ugly-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build gst-libav @@ -339,10 +350,10 @@ ARG GST_PLUGIN_LIBAV_REPO=https://gstreamer.freedesktop.org/src/gst-libav/gst-li RUN yum install -y -q zlib-devel openssl-devel -RUN wget -O - ${GST_PLUGIN_LIBAV_REPO} | tar xJ; \ - cd gst-libav-${GST_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --enable-gpl; \ - make -j8; \ +RUN wget -O - ${GST_PLUGIN_LIBAV_REPO} | tar xJ && \ + cd gst-libav-${GST_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --enable-gpl && \ + make -j8 && \ make install DESTDIR="/home/build" @@ -351,10 +362,10 @@ RUN wget -O - ${GST_PLUGIN_LIBAV_REPO} | tar xJ; \ ARG AUTOMAKE_VER=1.14 ARG AUTOMAKE_REPO=https://ftp.gnu.org/pub/gnu/automake/automake-${AUTOMAKE_VER}.tar.xz -RUN wget -O - ${AUTOMAKE_REPO} | tar xJ; \ - cd automake-${AUTOMAKE_VER}; \ - ./configure --prefix=/usr --libdir=/usr/lib64 --disable-doc; \ - make -j8; \ +RUN wget -O - ${AUTOMAKE_REPO} | tar xJ && \ + cd automake-${AUTOMAKE_VER} && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --disable-doc && \ + make -j8 && \ make install @@ -380,20 +391,20 @@ ARG FFMPEG_1TN_PATCH_REPO=https://patchwork.ffmpeg.org/patch/11625/raw ARG FFMPEG_THREAD_PATCH_REPO=https://patchwork.ffmpeg.org/patch/11035/raw RUN yum install -y -q libass-devel freetype-devel SDL2-devel libxcb-devel libvdpau-devel texinfo zlib-devel openssl-devel -RUN wget -O - ${FFMPEG_REPO} | tar xz && mv FFmpeg-${FFMPEG_VER} FFmpeg; \ - cd FFmpeg; \ - wget -O - ${FFMPEG_FLV_PATCH_REPO} | patch -p1; \ - wget -O - ${FFMPEG_1TN_PATCH_REPO} | patch -p1; \ +RUN wget -O - ${FFMPEG_REPO} | tar xz && mv FFmpeg-${FFMPEG_VER} FFmpeg && \ + cd FFmpeg && \ + wget -O - ${FFMPEG_FLV_PATCH_REPO} | patch -p1 && \ + wget -O - ${FFMPEG_1TN_PATCH_REPO} | patch -p1 && \ wget -O - ${FFMPEG_THREAD_PATCH_REPO} | patch -p1; # Patch FFmpeg source for SVT-HEVC -RUN cd /home/FFmpeg; \ +RUN cd /home/FFmpeg && \ patch -p1 < ../SVT-HEVC/ffmpeg_plugin/0001-lavc-svt_hevc-add-libsvt-hevc-encoder-wrapper.patch; # Compile FFmpeg -RUN cd /home/FFmpeg; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --extra-libs="-lpthread -lm" --enable-shared --enable-gpl --enable-libass --enable-libfreetype --enable-openssl --enable-nonfree --enable-libdrm --enable-libmfx --enable-libfdk-aac --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-libaom --enable-libsvthevc ; \ - make -j8; \ +RUN cd /home/FFmpeg && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --extra-libs="-lpthread -lm" --enable-shared --enable-gpl --enable-libass --enable-libfreetype --enable-openssl --enable-nonfree --enable-libdrm --enable-libmfx --enable-libfdk-aac --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-libaom --enable-libsvthevc && \ + make -j8 && \ make install DESTDIR="/home/build" diff --git a/XeonE3/centos-7.5/ffmpeg+gst+dev/Dockerfile.m4 b/XeonE3/centos-7.5/ffmpeg+gst+dev/Dockerfile.m4 index 7f2f9235d..3c5e07103 100644 --- a/XeonE3/centos-7.5/ffmpeg+gst+dev/Dockerfile.m4 +++ b/XeonE3/centos-7.5/ffmpeg+gst+dev/Dockerfile.m4 @@ -23,6 +23,7 @@ include(libva.m4) include(media-driver.m4) include(media-sdk.m4) include(dldt-ie.m4) +include(automake.m4) include(gst.m4) include(gst-plugin-base.m4) include(gst-plugin-good.m4) diff --git a/XeonE3/centos-7.5/ffmpeg/Dockerfile b/XeonE3/centos-7.5/ffmpeg/Dockerfile index 4cb0fb23d..939489e72 100644 --- a/XeonE3/centos-7.5/ffmpeg/Dockerfile +++ b/XeonE3/centos-7.5/ffmpeg/Dockerfile @@ -8,76 +8,76 @@ RUN yum install -y -q bzip2 make autoconf libtool git wget ca-certificates pkg-c # Install cmake ARG CMAKE_VER=3.13.1 ARG CMAKE_REPO=https://cmake.org/files -RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz; \ - cd cmake-${CMAKE_VER}; \ - ./bootstrap --prefix="/usr"; \ - make -j8; \ +RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz && \ + cd cmake-${CMAKE_VER} && \ + ./bootstrap --prefix="/usr" && \ + make -j8 && \ make install # Build NASM ARG NASM_VER=2.13.03 ARG NASM_REPO=https://www.nasm.us/pub/nasm/releasebuilds/${NASM_VER}/nasm-${NASM_VER}.tar.bz2 -RUN wget ${NASM_REPO}; \ - tar -xaf nasm*; \ - cd nasm-${NASM_VER}; \ - ./autogen.sh; \ - ./configure --prefix="/usr" --libdir=/usr/lib64; \ - make -j8; \ +RUN wget ${NASM_REPO} && \ + tar -xaf nasm* && \ + cd nasm-${NASM_VER} && \ + ./autogen.sh && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 && \ + make -j8 && \ make install # Build YASM ARG YASM_VER=1.3.0 ARG YASM_REPO=https://www.tortall.net/projects/yasm/releases/yasm-${YASM_VER}.tar.gz -RUN wget -O - ${YASM_REPO} | tar xz; \ - cd yasm-${YASM_VER}; \ - sed -i "s/) ytasm.*/)/" Makefile.in; \ - ./configure --prefix="/usr" --libdir=/usr/lib64; \ - make -j8; \ +RUN wget -O - ${YASM_REPO} | tar xz && \ + cd yasm-${YASM_VER} && \ + sed -i "s/) ytasm.*/)/" Makefile.in && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 && \ + make -j8 && \ make install # Build ogg ARG OGG_VER=1.3.3 ARG OGG_REPO=https://downloads.xiph.org/releases/ogg/libogg-${OGG_VER}.tar.xz -RUN wget -O - ${OGG_REPO} | tar xJ; \ - cd libogg-${OGG_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${OGG_REPO} | tar xJ && \ + cd libogg-${OGG_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build vorbis ARG VORBIS_VER=1.3.6 ARG VORBIS_REPO=https://downloads.xiph.org/releases/vorbis/libvorbis-${VORBIS_VER}.tar.xz -RUN wget -O - ${VORBIS_REPO} | tar xJ; \ - cd libvorbis-${VORBIS_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${VORBIS_REPO} | tar xJ && \ + cd libvorbis-${VORBIS_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build mp3lame ARG MP3LAME_VER=3.100 ARG MP3LAME_REPO=https://sourceforge.net/projects/lame/files/lame/${MP3LAME_VER}/lame-${MP3LAME_VER}.tar.gz -RUN wget -O - ${MP3LAME_REPO} | tar xz; \ - cd lame-${MP3LAME_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --enable-nasm; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${MP3LAME_REPO} | tar xz && \ + cd lame-${MP3LAME_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --enable-nasm && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build fdk-aac ARG FDK_AAC_VER=v0.1.6 ARG FDK_AAC_REPO=https://github.com/mstorsjo/fdk-aac/archive/${FDK_AAC_VER}.tar.gz -RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac; \ - cd fdk-aac; \ - autoreconf -fiv; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac && \ + cd fdk-aac && \ + autoreconf -fiv && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -85,23 +85,23 @@ RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac; \ ARG OPUS_VER=1.2.1 ARG OPUS_REPO=https://archive.mozilla.org/pub/opus/opus-${OPUS_VER}.tar.gz -RUN wget -O - ${OPUS_REPO} | tar xz; \ - cd opus-${OPUS_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${OPUS_REPO} | tar xz && \ + cd opus-${OPUS_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build vpx ARG VPX_VER=tags/v1.7.0 ARG VPX_REPO=https://chromium.googlesource.com/webm/libvpx.git -RUN git clone ${VPX_REPO}; \ - cd libvpx; \ - git checkout ${VPX_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=nasm; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${VPX_REPO} && \ + cd libvpx && \ + git checkout ${VPX_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=nasm && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -109,25 +109,25 @@ RUN git clone ${VPX_REPO}; \ ARG AOM_VER=tags/v1.0.0 ARG AOM_REPO=https://aomedia.googlesource.com/aom -RUN git clone ${AOM_REPO}; \ - mkdir aom/aom_build; \ - cd aom/aom_build; \ - git checkout ${AOM_VER}; \ - cmake -DBUILD_SHARED_LIBS=ON -DENABLE_NASM=ON -DENABLE_TESTS=OFF -DENABLE_DOCS=OFF -DCMAKE_INSTALL_PREFIX="/usr" -DLIB_INSTALL_DIR=/usr/lib64 ..; \ - make -j8; \ - make install DESTDIR="/home/build"; \ +RUN git clone ${AOM_REPO} && \ + mkdir aom/aom_build && \ + cd aom/aom_build && \ + git checkout ${AOM_VER} && \ + cmake -DBUILD_SHARED_LIBS=ON -DENABLE_NASM=ON -DENABLE_TESTS=OFF -DENABLE_DOCS=OFF -DCMAKE_INSTALL_PREFIX="/usr" -DLIB_INSTALL_DIR=/usr/lib64 .. && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ make install # Build x264 ARG X264_VER=stable ARG X264_REPO=https://github.com/mirror/x264 -RUN git clone ${X264_REPO}; \ - cd x264; \ - git checkout ${X264_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared; \ - make -j8; \ - make install DESTDIR="/home/build"; \ +RUN git clone ${X264_REPO} && \ + cd x264 && \ + git checkout ${X264_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ make install @@ -137,28 +137,28 @@ ARG X265_REPO=https://github.com/videolan/x265/archive/${X265_VER}.tar.gz RUN yum install -y -q numactl-devel libpciaccess-devel -RUN wget -O - ${X265_REPO} | tar xz && mv x265-${X265_VER} x265; \ - cd x265/build/linux; \ - cmake -DBUILD_SHARED_LIBS=ON -DENABLE_TESTS=OFF -DCMAKE_INSTALL_PREFIX=/usr -DLIB_INSTALL_DIR=/usr/lib64 ../../source; \ - make -j8; \ - make install DESTDIR="/home/build"; \ +RUN wget -O - ${X265_REPO} | tar xz && mv x265-${X265_VER} x265 && \ + cd x265/build/linux && \ + cmake -DBUILD_SHARED_LIBS=ON -DENABLE_TESTS=OFF -DCMAKE_INSTALL_PREFIX=/usr -DLIB_INSTALL_DIR=/usr/lib64 ../../source && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ make install # Fetch SVT-HEVC ARG SVT_HEVC_VER=v1.3.0 ARG SVT_HEVC_REPO=https://github.com/intel/SVT-HEVC -RUN yum install -y -q patch centos-release-scl; \ +RUN yum install -y -q patch centos-release-scl && \ yum install -y -q devtoolset-7 -RUN git clone ${SVT_HEVC_REPO}; \ - cd SVT-HEVC/Build/linux; \ - git checkout ${SVT_HEVC_VER}; \ - mkdir -p ../../Bin/Release; \ - ( source /opt/rh/devtoolset-7/enable; \ - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${SVT_HEVC_REPO} && \ + cd SVT-HEVC/Build/linux && \ + git checkout ${SVT_HEVC_VER} && \ + mkdir -p ../../Bin/Release && \ + ( source /opt/rh/devtoolset-7/enable && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install ) @@ -166,13 +166,13 @@ RUN git clone ${SVT_HEVC_REPO}; \ ARG SVT_AV1_VER=a39acb2 ARG SVT_AV1_REPO=https://github.com/OpenVisualCloud/SVT-AV1 -RUN git clone ${SVT_AV1_REPO}; \ - cd SVT-AV1/Build/linux; \ - git checkout ${SVT_AV1_VER}; \ - mkdir -p ../../Bin/Release; \ - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${SVT_AV1_REPO} && \ + cd SVT-AV1/Build/linux && \ + git checkout ${SVT_AV1_VER} && \ + mkdir -p ../../Bin/Release && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -180,14 +180,14 @@ RUN git clone ${SVT_AV1_REPO}; \ ARG SVT_VP9_VER=e92a57c ARG SVT_VP9_REPO=https://github.com/OpenVisualCloud/SVT-VP9 -RUN git clone ${SVT_VP9_REPO}; \ - cd SVT-VP9/Build/linux; \ - git checkout ${SVT_VP9_VER}; \ - mkdir -p ../../Bin/Release; \ - ( source /opt/rh/devtoolset-7/enable; \ - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${SVT_VP9_REPO} && \ + cd SVT-VP9/Build/linux && \ + git checkout ${SVT_VP9_VER} && \ + mkdir -p ../../Bin/Release && \ + ( source /opt/rh/devtoolset-7/enable && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install ) #include(transform360.m4) @@ -205,11 +205,11 @@ ARG LIBVA_REPO=https://github.com/intel/libva/archive/${LIBVA_VER}.tar.gz RUN yum install -y -q libX11-devel mesa-libGL-devel which libdrm-devel -RUN wget -O - ${LIBVA_REPO} | tar xz; \ - cd libva-${LIBVA_VER}; \ - ./autogen.sh --prefix=/usr --libdir=/usr/lib64; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${LIBVA_REPO} | tar xz && \ + cd libva-${LIBVA_VER} && \ + ./autogen.sh --prefix=/usr --libdir=/usr/lib64 && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install; @@ -219,12 +219,12 @@ ARG MEDIA_DRIVER_REPO=https://github.com/VCDP/media-driver/archive/${MEDIA_DRIVE RUN yum install -y -q libX11-devel mesa-libGL-devel libpciaccess-devel libXext-devel -RUN wget -O - ${MEDIA_DRIVER_REPO} | tar xz && mv media-driver-${MEDIA_DRIVER_VER} media-driver; \ - mkdir -p media-driver/build; \ - cd media-driver/build; \ - cmake -DBUILD_TYPE=release -DBUILD_ALONG_WITH_CMRTLIB=1 -DMEDIA_VERSION="2.0.0" -DBS_DIR_GMMLIB=/home/gmmlib/Source/GmmLib -DBS_DIR_COMMON=/home/gmmlib/Source/Common -DBS_DIR_INC=/home/gmmlib/Source/inc -DBS_DIR_MEDIA=/home/media-driver -Wno-dev -DCMAKE_INSTALL_PREFIX=/usr ..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${MEDIA_DRIVER_REPO} | tar xz && mv media-driver-${MEDIA_DRIVER_VER} media-driver && \ + mkdir -p media-driver/build && \ + cd media-driver/build && \ + cmake -DBUILD_TYPE=release -DBUILD_ALONG_WITH_CMRTLIB=1 -DMEDIA_VERSION="2.0.0" -DBS_DIR_GMMLIB=/home/gmmlib/Source/GmmLib -DBS_DIR_COMMON=/home/gmmlib/Source/Common -DBS_DIR_INC=/home/gmmlib/Source/inc -DBS_DIR_MEDIA=/home/media-driver -Wno-dev -DCMAKE_INSTALL_PREFIX=/usr .. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -233,14 +233,14 @@ RUN wget -O - ${MEDIA_DRIVER_REPO} | tar xz && mv media-driver-${MEDIA_DRIVER_VE ARG MSDK_VER=MSS-KBL-2019-R1 ARG MSDK_REPO=https://github.com/Intel-Media-SDK/MediaSDK/archive/${MSDK_VER}.tar.gz -RUN wget -O - ${MSDK_REPO} | tar xz && mv MediaSDK-${MSDK_VER} MediaSDK; \ - mkdir -p MediaSDK/build; \ - cd MediaSDK/build; \ - cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_INCLUDEDIR=include/mfx -DBUILD_SAMPLES=OFF -DENABLE_OPENCL=OFF -Wno-dev ..; \ - make -j8; \ - make install DESTDIR=/home/build; \ - rm -rf /home/build/usr/samples; \ - rm -rf /home/build/usr/plugins; \ +RUN wget -O - ${MSDK_REPO} | tar xz && mv MediaSDK-${MSDK_VER} MediaSDK && \ + mkdir -p MediaSDK/build && \ + cd MediaSDK/build && \ + cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_INCLUDEDIR=include/mfx -DBUILD_SAMPLES=OFF -DENABLE_OPENCL=OFF -Wno-dev .. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ + rm -rf /home/build/usr/samples && \ + rm -rf /home/build/usr/plugins && \ make install; # Fetch FFmpeg source @@ -251,28 +251,28 @@ ARG FFMPEG_1TN_PATCH_REPO=https://patchwork.ffmpeg.org/patch/11625/raw ARG FFMPEG_THREAD_PATCH_REPO=https://patchwork.ffmpeg.org/patch/11035/raw RUN yum install -y -q SDL2-devel libxcb-devel libvdpau-devel zlib-devel openssl-devel -RUN wget -O - ${FFMPEG_REPO} | tar xz && mv FFmpeg-${FFMPEG_VER} FFmpeg; \ - cd FFmpeg; \ - wget -O - ${FFMPEG_FLV_PATCH_REPO} | patch -p1; \ - wget -O - ${FFMPEG_1TN_PATCH_REPO} | patch -p1; \ +RUN wget -O - ${FFMPEG_REPO} | tar xz && mv FFmpeg-${FFMPEG_VER} FFmpeg && \ + cd FFmpeg && \ + wget -O - ${FFMPEG_FLV_PATCH_REPO} | patch -p1 && \ + wget -O - ${FFMPEG_1TN_PATCH_REPO} | patch -p1 && \ wget -O - ${FFMPEG_THREAD_PATCH_REPO} | patch -p1; # Patch FFmpeg source for SVT-HEVC -RUN cd /home/FFmpeg; \ +RUN cd /home/FFmpeg && \ patch -p1 < ../SVT-HEVC/ffmpeg_plugin/0001-lavc-svt_hevc-add-libsvt-hevc-encoder-wrapper.patch; # Compile FFmpeg -RUN cd /home/FFmpeg; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --extra-libs="-lpthread -lm" --enable-shared --enable-gpl --enable-openssl --enable-nonfree --enable-libdrm --enable-libmfx --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --enable-libfdk-aac --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-libaom --enable-libsvthevc ; \ - make -j8; \ +RUN cd /home/FFmpeg && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --extra-libs="-lpthread -lm" --enable-shared --enable-gpl --enable-openssl --enable-nonfree --enable-libdrm --enable-libmfx --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --enable-libfdk-aac --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-libaom --enable-libsvthevc && \ + make -j8 && \ make install DESTDIR="/home/build" # Clean up after build -RUN rm -rf /home/build/usr/include; \ - rm -rf /home/build/usr/share/doc; \ - rm -rf /home/build/usr/share/gtk-doc; \ - rm -rf /home/build/usr/share/man; \ +RUN rm -rf /home/build/usr/include && \ + rm -rf /home/build/usr/share/doc && \ + rm -rf /home/build/usr/share/gtk-doc && \ + rm -rf /home/build/usr/share/man && \ find /home/build -name "*.a" -exec rm -f {} \; FROM centos:7.5.1804 diff --git a/XeonE3/centos-7.5/gst/Dockerfile b/XeonE3/centos-7.5/gst/Dockerfile index e8f8bb31c..a54a76517 100644 --- a/XeonE3/centos-7.5/gst/Dockerfile +++ b/XeonE3/centos-7.5/gst/Dockerfile @@ -8,76 +8,76 @@ RUN yum install -y -q bzip2 make autoconf libtool git wget ca-certificates pkg-c # Install cmake ARG CMAKE_VER=3.13.1 ARG CMAKE_REPO=https://cmake.org/files -RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz; \ - cd cmake-${CMAKE_VER}; \ - ./bootstrap --prefix="/usr"; \ - make -j8; \ +RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz && \ + cd cmake-${CMAKE_VER} && \ + ./bootstrap --prefix="/usr" && \ + make -j8 && \ make install # Build NASM ARG NASM_VER=2.13.03 ARG NASM_REPO=https://www.nasm.us/pub/nasm/releasebuilds/${NASM_VER}/nasm-${NASM_VER}.tar.bz2 -RUN wget ${NASM_REPO}; \ - tar -xaf nasm*; \ - cd nasm-${NASM_VER}; \ - ./autogen.sh; \ - ./configure --prefix="/usr" --libdir=/usr/lib64; \ - make -j8; \ +RUN wget ${NASM_REPO} && \ + tar -xaf nasm* && \ + cd nasm-${NASM_VER} && \ + ./autogen.sh && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 && \ + make -j8 && \ make install # Build YASM ARG YASM_VER=1.3.0 ARG YASM_REPO=https://www.tortall.net/projects/yasm/releases/yasm-${YASM_VER}.tar.gz -RUN wget -O - ${YASM_REPO} | tar xz; \ - cd yasm-${YASM_VER}; \ - sed -i "s/) ytasm.*/)/" Makefile.in; \ - ./configure --prefix="/usr" --libdir=/usr/lib64; \ - make -j8; \ +RUN wget -O - ${YASM_REPO} | tar xz && \ + cd yasm-${YASM_VER} && \ + sed -i "s/) ytasm.*/)/" Makefile.in && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 && \ + make -j8 && \ make install # Build ogg ARG OGG_VER=1.3.3 ARG OGG_REPO=https://downloads.xiph.org/releases/ogg/libogg-${OGG_VER}.tar.xz -RUN wget -O - ${OGG_REPO} | tar xJ; \ - cd libogg-${OGG_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${OGG_REPO} | tar xJ && \ + cd libogg-${OGG_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build vorbis ARG VORBIS_VER=1.3.6 ARG VORBIS_REPO=https://downloads.xiph.org/releases/vorbis/libvorbis-${VORBIS_VER}.tar.xz -RUN wget -O - ${VORBIS_REPO} | tar xJ; \ - cd libvorbis-${VORBIS_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${VORBIS_REPO} | tar xJ && \ + cd libvorbis-${VORBIS_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build mp3lame ARG MP3LAME_VER=3.100 ARG MP3LAME_REPO=https://sourceforge.net/projects/lame/files/lame/${MP3LAME_VER}/lame-${MP3LAME_VER}.tar.gz -RUN wget -O - ${MP3LAME_REPO} | tar xz; \ - cd lame-${MP3LAME_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --enable-nasm; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${MP3LAME_REPO} | tar xz && \ + cd lame-${MP3LAME_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --enable-nasm && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build fdk-aac ARG FDK_AAC_VER=v0.1.6 ARG FDK_AAC_REPO=https://github.com/mstorsjo/fdk-aac/archive/${FDK_AAC_VER}.tar.gz -RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac; \ - cd fdk-aac; \ - autoreconf -fiv; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac && \ + cd fdk-aac && \ + autoreconf -fiv && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -85,23 +85,23 @@ RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac; \ ARG OPUS_VER=1.2.1 ARG OPUS_REPO=https://archive.mozilla.org/pub/opus/opus-${OPUS_VER}.tar.gz -RUN wget -O - ${OPUS_REPO} | tar xz; \ - cd opus-${OPUS_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${OPUS_REPO} | tar xz && \ + cd opus-${OPUS_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build vpx ARG VPX_VER=tags/v1.7.0 ARG VPX_REPO=https://chromium.googlesource.com/webm/libvpx.git -RUN git clone ${VPX_REPO}; \ - cd libvpx; \ - git checkout ${VPX_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=nasm; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${VPX_REPO} && \ + cd libvpx && \ + git checkout ${VPX_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=nasm && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -109,25 +109,25 @@ RUN git clone ${VPX_REPO}; \ ARG AOM_VER=tags/v1.0.0 ARG AOM_REPO=https://aomedia.googlesource.com/aom -RUN git clone ${AOM_REPO}; \ - mkdir aom/aom_build; \ - cd aom/aom_build; \ - git checkout ${AOM_VER}; \ - cmake -DBUILD_SHARED_LIBS=ON -DENABLE_NASM=ON -DENABLE_TESTS=OFF -DENABLE_DOCS=OFF -DCMAKE_INSTALL_PREFIX="/usr" -DLIB_INSTALL_DIR=/usr/lib64 ..; \ - make -j8; \ - make install DESTDIR="/home/build"; \ +RUN git clone ${AOM_REPO} && \ + mkdir aom/aom_build && \ + cd aom/aom_build && \ + git checkout ${AOM_VER} && \ + cmake -DBUILD_SHARED_LIBS=ON -DENABLE_NASM=ON -DENABLE_TESTS=OFF -DENABLE_DOCS=OFF -DCMAKE_INSTALL_PREFIX="/usr" -DLIB_INSTALL_DIR=/usr/lib64 .. && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ make install # Build x264 ARG X264_VER=stable ARG X264_REPO=https://github.com/mirror/x264 -RUN git clone ${X264_REPO}; \ - cd x264; \ - git checkout ${X264_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared; \ - make -j8; \ - make install DESTDIR="/home/build"; \ +RUN git clone ${X264_REPO} && \ + cd x264 && \ + git checkout ${X264_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ make install @@ -137,28 +137,28 @@ ARG X265_REPO=https://github.com/videolan/x265/archive/${X265_VER}.tar.gz RUN yum install -y -q numactl-devel libpciaccess-devel -RUN wget -O - ${X265_REPO} | tar xz && mv x265-${X265_VER} x265; \ - cd x265/build/linux; \ - cmake -DBUILD_SHARED_LIBS=ON -DENABLE_TESTS=OFF -DCMAKE_INSTALL_PREFIX=/usr -DLIB_INSTALL_DIR=/usr/lib64 ../../source; \ - make -j8; \ - make install DESTDIR="/home/build"; \ +RUN wget -O - ${X265_REPO} | tar xz && mv x265-${X265_VER} x265 && \ + cd x265/build/linux && \ + cmake -DBUILD_SHARED_LIBS=ON -DENABLE_TESTS=OFF -DCMAKE_INSTALL_PREFIX=/usr -DLIB_INSTALL_DIR=/usr/lib64 ../../source && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ make install # Fetch SVT-HEVC ARG SVT_HEVC_VER=v1.3.0 ARG SVT_HEVC_REPO=https://github.com/intel/SVT-HEVC -RUN yum install -y -q patch centos-release-scl; \ +RUN yum install -y -q patch centos-release-scl && \ yum install -y -q devtoolset-7 -RUN git clone ${SVT_HEVC_REPO}; \ - cd SVT-HEVC/Build/linux; \ - git checkout ${SVT_HEVC_VER}; \ - mkdir -p ../../Bin/Release; \ - ( source /opt/rh/devtoolset-7/enable; \ - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${SVT_HEVC_REPO} && \ + cd SVT-HEVC/Build/linux && \ + git checkout ${SVT_HEVC_VER} && \ + mkdir -p ../../Bin/Release && \ + ( source /opt/rh/devtoolset-7/enable && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install ) @@ -166,13 +166,13 @@ RUN git clone ${SVT_HEVC_REPO}; \ ARG SVT_AV1_VER=a39acb2 ARG SVT_AV1_REPO=https://github.com/OpenVisualCloud/SVT-AV1 -RUN git clone ${SVT_AV1_REPO}; \ - cd SVT-AV1/Build/linux; \ - git checkout ${SVT_AV1_VER}; \ - mkdir -p ../../Bin/Release; \ - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${SVT_AV1_REPO} && \ + cd SVT-AV1/Build/linux && \ + git checkout ${SVT_AV1_VER} && \ + mkdir -p ../../Bin/Release && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -180,14 +180,14 @@ RUN git clone ${SVT_AV1_REPO}; \ ARG SVT_VP9_VER=e92a57c ARG SVT_VP9_REPO=https://github.com/OpenVisualCloud/SVT-VP9 -RUN git clone ${SVT_VP9_REPO}; \ - cd SVT-VP9/Build/linux; \ - git checkout ${SVT_VP9_VER}; \ - mkdir -p ../../Bin/Release; \ - ( source /opt/rh/devtoolset-7/enable; \ - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${SVT_VP9_REPO} && \ + cd SVT-VP9/Build/linux && \ + git checkout ${SVT_VP9_VER} && \ + mkdir -p ../../Bin/Release && \ + ( source /opt/rh/devtoolset-7/enable && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install ) # Fetch gmmlib @@ -204,11 +204,11 @@ ARG LIBVA_REPO=https://github.com/intel/libva/archive/${LIBVA_VER}.tar.gz RUN yum install -y -q libX11-devel mesa-libGL-devel which libdrm-devel -RUN wget -O - ${LIBVA_REPO} | tar xz; \ - cd libva-${LIBVA_VER}; \ - ./autogen.sh --prefix=/usr --libdir=/usr/lib64; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${LIBVA_REPO} | tar xz && \ + cd libva-${LIBVA_VER} && \ + ./autogen.sh --prefix=/usr --libdir=/usr/lib64 && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install; @@ -218,72 +218,83 @@ ARG MEDIA_DRIVER_REPO=https://github.com/VCDP/media-driver/archive/${MEDIA_DRIVE RUN yum install -y -q libX11-devel mesa-libGL-devel libpciaccess-devel libXext-devel -RUN wget -O - ${MEDIA_DRIVER_REPO} | tar xz && mv media-driver-${MEDIA_DRIVER_VER} media-driver; \ - mkdir -p media-driver/build; \ - cd media-driver/build; \ - cmake -DBUILD_TYPE=release -DBUILD_ALONG_WITH_CMRTLIB=1 -DMEDIA_VERSION="2.0.0" -DBS_DIR_GMMLIB=/home/gmmlib/Source/GmmLib -DBS_DIR_COMMON=/home/gmmlib/Source/Common -DBS_DIR_INC=/home/gmmlib/Source/inc -DBS_DIR_MEDIA=/home/media-driver -Wno-dev -DCMAKE_INSTALL_PREFIX=/usr ..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${MEDIA_DRIVER_REPO} | tar xz && mv media-driver-${MEDIA_DRIVER_VER} media-driver && \ + mkdir -p media-driver/build && \ + cd media-driver/build && \ + cmake -DBUILD_TYPE=release -DBUILD_ALONG_WITH_CMRTLIB=1 -DMEDIA_VERSION="2.0.0" -DBS_DIR_GMMLIB=/home/gmmlib/Source/GmmLib -DBS_DIR_COMMON=/home/gmmlib/Source/Common -DBS_DIR_INC=/home/gmmlib/Source/inc -DBS_DIR_MEDIA=/home/media-driver -Wno-dev -DCMAKE_INSTALL_PREFIX=/usr .. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install +# Install automake +ARG AUTOMAKE_VER=1.14 +ARG AUTOMAKE_REPO=https://ftp.gnu.org/pub/gnu/automake/automake-${AUTOMAKE_VER}.tar.xz + +RUN wget -O - ${AUTOMAKE_REPO} | tar xJ && \ + cd automake-${AUTOMAKE_VER} && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --disable-doc && \ + make -j8 && \ + make install + + # Build the gstremaer core ARG GST_VER=1.14.4 ARG GST_REPO=https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${GST_VER}.tar.xz -RUN yum install -y -q glib2-devel-2.56.1 -RUN wget -O - ${GST_REPO} | tar xJ; \ - cd gstreamer-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-gst-debug --disable-debug --disable-benchmarks --disable-check; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN yum install -y -q glib2-devel-2.56.1 gettext-devel gtk-doc +RUN wget -O - ${GST_REPO} | tar xJ && \ + cd gstreamer-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-gst-debug --disable-debug --disable-benchmarks --disable-check && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin base ARG GST_PLUGIN_BASE_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_BASE_REPO} | tar xJ; \ - cd gst-plugins-base-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-debug; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${GST_PLUGIN_BASE_REPO} | tar xJ && \ + cd gst-plugins-base-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-debug && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin good set ARG GST_PLUGIN_GOOD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_GOOD_REPO} | tar xJ; \ - cd gst-plugins-good-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-debug; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${GST_PLUGIN_GOOD_REPO} | tar xJ && \ + cd gst-plugins-good-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-debug && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin bad set ARG GST_PLUGIN_BAD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_BAD_REPO} | tar xJ; \ - cd gst-plugins-bad-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-debug; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${GST_PLUGIN_BAD_REPO} | tar xJ && \ + cd gst-plugins-bad-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-debug && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin ugly set ARG GST_PLUGIN_UGLY_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_UGLY_REPO} | tar xJ; \ - cd gst-plugins-ugly-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-debug; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${GST_PLUGIN_UGLY_REPO} | tar xJ && \ + cd gst-plugins-ugly-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-debug && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build gst-libav @@ -291,10 +302,10 @@ ARG GST_PLUGIN_LIBAV_REPO=https://gstreamer.freedesktop.org/src/gst-libav/gst-li RUN yum install -y -q zlib-devel openssl-devel -RUN wget -O - ${GST_PLUGIN_LIBAV_REPO} | tar xJ; \ - cd gst-libav-${GST_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --enable-gpl; \ - make -j8; \ +RUN wget -O - ${GST_PLUGIN_LIBAV_REPO} | tar xJ && \ + cd gst-libav-${GST_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --enable-gpl && \ + make -j8 && \ make install DESTDIR="/home/build" @@ -303,10 +314,10 @@ RUN wget -O - ${GST_PLUGIN_LIBAV_REPO} | tar xJ; \ ARG AUTOMAKE_VER=1.14 ARG AUTOMAKE_REPO=https://ftp.gnu.org/pub/gnu/automake/automake-${AUTOMAKE_VER}.tar.xz -RUN wget -O - ${AUTOMAKE_REPO} | tar xJ; \ - cd automake-${AUTOMAKE_VER}; \ - ./configure --prefix=/usr --libdir=/usr/lib64 --disable-doc; \ - make -j8; \ +RUN wget -O - ${AUTOMAKE_REPO} | tar xJ && \ + cd automake-${AUTOMAKE_VER} && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --disable-doc && \ + make -j8 && \ make install @@ -325,10 +336,10 @@ RUN wget -O - ${GST_PLUGIN_VAAPI_REPO} | tar xJ; \ # Clean up after build -RUN rm -rf /home/build/usr/include; \ - rm -rf /home/build/usr/share/doc; \ - rm -rf /home/build/usr/share/gtk-doc; \ - rm -rf /home/build/usr/share/man; \ +RUN rm -rf /home/build/usr/include && \ + rm -rf /home/build/usr/share/doc && \ + rm -rf /home/build/usr/share/gtk-doc && \ + rm -rf /home/build/usr/share/man && \ find /home/build -name "*.a" -exec rm -f {} \; FROM centos:7.5.1804 diff --git a/XeonE3/centos-7.5/gst/Dockerfile.m4 b/XeonE3/centos-7.5/gst/Dockerfile.m4 index a6a97548b..961a0fc0b 100644 --- a/XeonE3/centos-7.5/gst/Dockerfile.m4 +++ b/XeonE3/centos-7.5/gst/Dockerfile.m4 @@ -20,6 +20,7 @@ include(gmmlib.m4) #include(libdrm.m4) include(libva.m4) include(media-driver.m4) +include(automake.m4) include(gst.m4) include(gst-plugin-base.m4) include(gst-plugin-good.m4) diff --git a/XeonE3/centos-7.5/nginx+rtmp/Dockerfile b/XeonE3/centos-7.5/nginx+rtmp/Dockerfile index 7718b53b5..fd33cdb0d 100644 --- a/XeonE3/centos-7.5/nginx+rtmp/Dockerfile +++ b/XeonE3/centos-7.5/nginx+rtmp/Dockerfile @@ -8,10 +8,10 @@ RUN yum install -y -q bzip2 make autoconf libtool git wget ca-certificates pkg-c # Install cmake ARG CMAKE_VER=3.13.1 ARG CMAKE_REPO=https://cmake.org/files -RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz; \ - cd cmake-${CMAKE_VER}; \ - ./bootstrap --prefix="/usr"; \ - make -j8; \ +RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz && \ + cd cmake-${CMAKE_VER} && \ + ./bootstrap --prefix="/usr" && \ + make -j8 && \ make install @@ -21,11 +21,11 @@ ARG NGINX_RTMP_REPO=https://github.com/arut/nginx-rtmp-module/archive/${NGINX_RT ARG NGINX_RTMP_PATCH_HLS=https://raw.githubusercontent.com/VCDP/CDN/master/0001-add-hevc-support-for-rtmp-and-hls.patch ARG NGINX_RTMP_PATCH_DASH=https://raw.githubusercontent.com/VCDP/CDN/master/0002-add-HEVC-support-for-dash.patch -RUN wget -O - ${NGINX_RTMP_REPO} | tar xz && mv nginx-rtmp-module-${NGINX_RTMP_VER#v} nginx-rtmp-module; \ - cd nginx-rtmp-module; \ - mkdir -p /home/build/var/www/html; \ - cp -f stat.xsl /home/build/var/www/html; \ - wget -O - ${NGINX_RTMP_PATCH_HLS} | patch -p1; \ +RUN wget -O - ${NGINX_RTMP_REPO} | tar xz && mv nginx-rtmp-module-${NGINX_RTMP_VER#v} nginx-rtmp-module && \ + cd nginx-rtmp-module && \ + mkdir -p /home/build/var/www/html && \ + cp -f stat.xsl /home/build/var/www/html && \ + wget -O - ${NGINX_RTMP_PATCH_HLS} | patch -p1 && \ wget -O - ${NGINX_RTMP_PATCH_DASH} | patch -p1; # Build nginx & nginx-rtmp @@ -34,21 +34,21 @@ ARG NGINX_REPO=https://nginx.org/download/nginx-${NGINX_VER}.tar.gz RUN yum install -y -q openssl-devel pcre2-devel zlib-devel libxslt-devel -RUN wget -O - ${NGINX_REPO} | tar xz; \ - cd nginx-${NGINX_VER}; \ - ./configure --prefix=/var/www --sbin-path=/usr/sbin/nginx --modules-path=/usr/lib64/nginx/modules --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/www/log/error.log --pid-path=/var/www/nginx.pid --lock-path=/var/www/nginx.lock --http-log-path=/var/www/log/access.log --http-client-body-temp-path=/var/www/tmp/client_body --http-proxy-temp-path=/var/www/tmp/proxy --http-fastcgi-temp-path=/var/www/tmp/fastcgi --http-uwsgi-temp-path=/var/www/tmp/uwsgi --http-scgi-temp-path=/var/www/tmp/scgi --user=nobody --group=nobody --with-select_module --with-poll_module --with-threads --with-file-aio --with-http_ssl_module --with-http_v2_module --with-http_realip_module --with-http_addition_module --with-http_xslt_module --with-http_sub_module --with-http_dav_module --with-http_flv_module --with-http_mp4_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_auth_request_module --with-http_random_index_module --with-http_secure_link_module --with-http_degradation_module --with-http_slice_module --with-http_stub_status_module --with-stream --with-stream_ssl_module --with-stream_realip_module --with-stream_ssl_preread_module --with-pcre --add-module=../nginx-rtmp-module ; \ - make -j8; \ +RUN wget -O - ${NGINX_REPO} | tar xz && \ + cd nginx-${NGINX_VER} && \ + ./configure --prefix=/var/www --sbin-path=/usr/sbin/nginx --modules-path=/usr/lib64/nginx/modules --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/www/log/error.log --pid-path=/var/www/nginx.pid --lock-path=/var/www/nginx.lock --http-log-path=/var/www/log/access.log --http-client-body-temp-path=/var/www/tmp/client_body --http-proxy-temp-path=/var/www/tmp/proxy --http-fastcgi-temp-path=/var/www/tmp/fastcgi --http-uwsgi-temp-path=/var/www/tmp/uwsgi --http-scgi-temp-path=/var/www/tmp/scgi --user=nobody --group=nobody --with-select_module --with-poll_module --with-threads --with-file-aio --with-http_ssl_module --with-http_v2_module --with-http_realip_module --with-http_addition_module --with-http_xslt_module --with-http_sub_module --with-http_dav_module --with-http_flv_module --with-http_mp4_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_auth_request_module --with-http_random_index_module --with-http_secure_link_module --with-http_degradation_module --with-http_slice_module --with-http_stub_status_module --with-stream --with-stream_ssl_module --with-stream_realip_module --with-stream_ssl_preread_module --with-pcre --add-module=../nginx-rtmp-module && \ + make -j8 && \ make install DESTDIR=/home/build; # NGINX Setup COPY nginx.conf /home/build/etc/nginx -RUN mkdir -p /home/build/var/www/tmp/client_body; \ - mkdir -p /home/build/var/www/tmp/proxy; \ - mkdir -p /home/build/var/www/tmp/fastcgi; \ - mkdir -p /home/build/var/www/tmp/uwsgi; \ - mkdir -p /home/build/var/www/tmp/scgi; \ - mkdir -p /home/build/var/www/cache; \ - mkdir -p /home/build/var/www/html; \ +RUN mkdir -p /home/build/var/www/tmp/client_body && \ + mkdir -p /home/build/var/www/tmp/proxy && \ + mkdir -p /home/build/var/www/tmp/fastcgi && \ + mkdir -p /home/build/var/www/tmp/uwsgi && \ + mkdir -p /home/build/var/www/tmp/scgi && \ + mkdir -p /home/build/var/www/cache && \ + mkdir -p /home/build/var/www/html && \ touch /home/build/var/www/html/index.html; diff --git a/XeonE3/centos-7.6/ffmpeg+gst+dev/Dockerfile b/XeonE3/centos-7.6/ffmpeg+gst+dev/Dockerfile index bac08f527..a5724c240 100644 --- a/XeonE3/centos-7.6/ffmpeg+gst+dev/Dockerfile +++ b/XeonE3/centos-7.6/ffmpeg+gst+dev/Dockerfile @@ -8,76 +8,76 @@ RUN yum install -y -q bzip2 make autoconf libtool git wget ca-certificates pkg-c # Install cmake ARG CMAKE_VER=3.13.1 ARG CMAKE_REPO=https://cmake.org/files -RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz; \ - cd cmake-${CMAKE_VER}; \ - ./bootstrap --prefix="/usr"; \ - make -j8; \ +RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz && \ + cd cmake-${CMAKE_VER} && \ + ./bootstrap --prefix="/usr" && \ + make -j8 && \ make install # Build NASM ARG NASM_VER=2.13.03 ARG NASM_REPO=https://www.nasm.us/pub/nasm/releasebuilds/${NASM_VER}/nasm-${NASM_VER}.tar.bz2 -RUN wget ${NASM_REPO}; \ - tar -xaf nasm*; \ - cd nasm-${NASM_VER}; \ - ./autogen.sh; \ - ./configure --prefix="/usr" --libdir=/usr/lib64; \ - make -j8; \ +RUN wget ${NASM_REPO} && \ + tar -xaf nasm* && \ + cd nasm-${NASM_VER} && \ + ./autogen.sh && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 && \ + make -j8 && \ make install # Build YASM ARG YASM_VER=1.3.0 ARG YASM_REPO=https://www.tortall.net/projects/yasm/releases/yasm-${YASM_VER}.tar.gz -RUN wget -O - ${YASM_REPO} | tar xz; \ - cd yasm-${YASM_VER}; \ - sed -i "s/) ytasm.*/)/" Makefile.in; \ - ./configure --prefix="/usr" --libdir=/usr/lib64; \ - make -j8; \ +RUN wget -O - ${YASM_REPO} | tar xz && \ + cd yasm-${YASM_VER} && \ + sed -i "s/) ytasm.*/)/" Makefile.in && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 && \ + make -j8 && \ make install # Build ogg ARG OGG_VER=1.3.3 ARG OGG_REPO=https://downloads.xiph.org/releases/ogg/libogg-${OGG_VER}.tar.xz -RUN wget -O - ${OGG_REPO} | tar xJ; \ - cd libogg-${OGG_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${OGG_REPO} | tar xJ && \ + cd libogg-${OGG_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build vorbis ARG VORBIS_VER=1.3.6 ARG VORBIS_REPO=https://downloads.xiph.org/releases/vorbis/libvorbis-${VORBIS_VER}.tar.xz -RUN wget -O - ${VORBIS_REPO} | tar xJ; \ - cd libvorbis-${VORBIS_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${VORBIS_REPO} | tar xJ && \ + cd libvorbis-${VORBIS_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build mp3lame ARG MP3LAME_VER=3.100 ARG MP3LAME_REPO=https://sourceforge.net/projects/lame/files/lame/${MP3LAME_VER}/lame-${MP3LAME_VER}.tar.gz -RUN wget -O - ${MP3LAME_REPO} | tar xz; \ - cd lame-${MP3LAME_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --enable-nasm; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${MP3LAME_REPO} | tar xz && \ + cd lame-${MP3LAME_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --enable-nasm && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build fdk-aac ARG FDK_AAC_VER=v0.1.6 ARG FDK_AAC_REPO=https://github.com/mstorsjo/fdk-aac/archive/${FDK_AAC_VER}.tar.gz -RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac; \ - cd fdk-aac; \ - autoreconf -fiv; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac && \ + cd fdk-aac && \ + autoreconf -fiv && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -85,23 +85,23 @@ RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac; \ ARG OPUS_VER=1.2.1 ARG OPUS_REPO=https://archive.mozilla.org/pub/opus/opus-${OPUS_VER}.tar.gz -RUN wget -O - ${OPUS_REPO} | tar xz; \ - cd opus-${OPUS_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${OPUS_REPO} | tar xz && \ + cd opus-${OPUS_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build vpx ARG VPX_VER=tags/v1.7.0 ARG VPX_REPO=https://chromium.googlesource.com/webm/libvpx.git -RUN git clone ${VPX_REPO}; \ - cd libvpx; \ - git checkout ${VPX_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=nasm; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${VPX_REPO} && \ + cd libvpx && \ + git checkout ${VPX_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=nasm && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -109,25 +109,25 @@ RUN git clone ${VPX_REPO}; \ ARG AOM_VER=tags/v1.0.0 ARG AOM_REPO=https://aomedia.googlesource.com/aom -RUN git clone ${AOM_REPO}; \ - mkdir aom/aom_build; \ - cd aom/aom_build; \ - git checkout ${AOM_VER}; \ - cmake -DBUILD_SHARED_LIBS=ON -DENABLE_NASM=ON -DENABLE_TESTS=OFF -DENABLE_DOCS=OFF -DCMAKE_INSTALL_PREFIX="/usr" -DLIB_INSTALL_DIR=/usr/lib64 ..; \ - make -j8; \ - make install DESTDIR="/home/build"; \ +RUN git clone ${AOM_REPO} && \ + mkdir aom/aom_build && \ + cd aom/aom_build && \ + git checkout ${AOM_VER} && \ + cmake -DBUILD_SHARED_LIBS=ON -DENABLE_NASM=ON -DENABLE_TESTS=OFF -DENABLE_DOCS=OFF -DCMAKE_INSTALL_PREFIX="/usr" -DLIB_INSTALL_DIR=/usr/lib64 .. && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ make install # Build x264 ARG X264_VER=stable ARG X264_REPO=https://github.com/mirror/x264 -RUN git clone ${X264_REPO}; \ - cd x264; \ - git checkout ${X264_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared; \ - make -j8; \ - make install DESTDIR="/home/build"; \ +RUN git clone ${X264_REPO} && \ + cd x264 && \ + git checkout ${X264_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ make install @@ -137,28 +137,28 @@ ARG X265_REPO=https://github.com/videolan/x265/archive/${X265_VER}.tar.gz RUN yum install -y -q numactl-devel libpciaccess-devel -RUN wget -O - ${X265_REPO} | tar xz && mv x265-${X265_VER} x265; \ - cd x265/build/linux; \ - cmake -DBUILD_SHARED_LIBS=ON -DENABLE_TESTS=OFF -DCMAKE_INSTALL_PREFIX=/usr -DLIB_INSTALL_DIR=/usr/lib64 ../../source; \ - make -j8; \ - make install DESTDIR="/home/build"; \ +RUN wget -O - ${X265_REPO} | tar xz && mv x265-${X265_VER} x265 && \ + cd x265/build/linux && \ + cmake -DBUILD_SHARED_LIBS=ON -DENABLE_TESTS=OFF -DCMAKE_INSTALL_PREFIX=/usr -DLIB_INSTALL_DIR=/usr/lib64 ../../source && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ make install # Fetch SVT-HEVC ARG SVT_HEVC_VER=v1.3.0 ARG SVT_HEVC_REPO=https://github.com/intel/SVT-HEVC -RUN yum install -y -q patch centos-release-scl; \ +RUN yum install -y -q patch centos-release-scl && \ yum install -y -q devtoolset-7 -RUN git clone ${SVT_HEVC_REPO}; \ - cd SVT-HEVC/Build/linux; \ - git checkout ${SVT_HEVC_VER}; \ - mkdir -p ../../Bin/Release; \ - ( source /opt/rh/devtoolset-7/enable; \ - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${SVT_HEVC_REPO} && \ + cd SVT-HEVC/Build/linux && \ + git checkout ${SVT_HEVC_VER} && \ + mkdir -p ../../Bin/Release && \ + ( source /opt/rh/devtoolset-7/enable && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install ) @@ -166,13 +166,13 @@ RUN git clone ${SVT_HEVC_REPO}; \ ARG SVT_AV1_VER=a39acb2 ARG SVT_AV1_REPO=https://github.com/OpenVisualCloud/SVT-AV1 -RUN git clone ${SVT_AV1_REPO}; \ - cd SVT-AV1/Build/linux; \ - git checkout ${SVT_AV1_VER}; \ - mkdir -p ../../Bin/Release; \ - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${SVT_AV1_REPO} && \ + cd SVT-AV1/Build/linux && \ + git checkout ${SVT_AV1_VER} && \ + mkdir -p ../../Bin/Release && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -180,14 +180,14 @@ RUN git clone ${SVT_AV1_REPO}; \ ARG SVT_VP9_VER=e92a57c ARG SVT_VP9_REPO=https://github.com/OpenVisualCloud/SVT-VP9 -RUN git clone ${SVT_VP9_REPO}; \ - cd SVT-VP9/Build/linux; \ - git checkout ${SVT_VP9_VER}; \ - mkdir -p ../../Bin/Release; \ - ( source /opt/rh/devtoolset-7/enable; \ - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${SVT_VP9_REPO} && \ + cd SVT-VP9/Build/linux && \ + git checkout ${SVT_VP9_VER} && \ + mkdir -p ../../Bin/Release && \ + ( source /opt/rh/devtoolset-7/enable && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install ) #include(transform360.m4) @@ -205,11 +205,11 @@ ARG LIBVA_REPO=https://github.com/intel/libva/archive/${LIBVA_VER}.tar.gz RUN yum install -y -q libX11-devel mesa-libGL-devel which libdrm-devel -RUN wget -O - ${LIBVA_REPO} | tar xz; \ - cd libva-${LIBVA_VER}; \ - ./autogen.sh --prefix=/usr --libdir=/usr/lib64; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${LIBVA_REPO} | tar xz && \ + cd libva-${LIBVA_VER} && \ + ./autogen.sh --prefix=/usr --libdir=/usr/lib64 && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install; @@ -219,12 +219,12 @@ ARG MEDIA_DRIVER_REPO=https://github.com/VCDP/media-driver/archive/${MEDIA_DRIVE RUN yum install -y -q libX11-devel mesa-libGL-devel libpciaccess-devel libXext-devel -RUN wget -O - ${MEDIA_DRIVER_REPO} | tar xz && mv media-driver-${MEDIA_DRIVER_VER} media-driver; \ - mkdir -p media-driver/build; \ - cd media-driver/build; \ - cmake -DBUILD_TYPE=release -DBUILD_ALONG_WITH_CMRTLIB=1 -DMEDIA_VERSION="2.0.0" -DBS_DIR_GMMLIB=/home/gmmlib/Source/GmmLib -DBS_DIR_COMMON=/home/gmmlib/Source/Common -DBS_DIR_INC=/home/gmmlib/Source/inc -DBS_DIR_MEDIA=/home/media-driver -Wno-dev -DCMAKE_INSTALL_PREFIX=/usr ..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${MEDIA_DRIVER_REPO} | tar xz && mv media-driver-${MEDIA_DRIVER_VER} media-driver && \ + mkdir -p media-driver/build && \ + cd media-driver/build && \ + cmake -DBUILD_TYPE=release -DBUILD_ALONG_WITH_CMRTLIB=1 -DMEDIA_VERSION="2.0.0" -DBS_DIR_GMMLIB=/home/gmmlib/Source/GmmLib -DBS_DIR_COMMON=/home/gmmlib/Source/Common -DBS_DIR_INC=/home/gmmlib/Source/inc -DBS_DIR_MEDIA=/home/media-driver -Wno-dev -DCMAKE_INSTALL_PREFIX=/usr .. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -233,12 +233,12 @@ RUN wget -O - ${MEDIA_DRIVER_REPO} | tar xz && mv media-driver-${MEDIA_DRIVER_VE ARG MSDK_VER=MSS-KBL-2019-R1 ARG MSDK_REPO=https://github.com/Intel-Media-SDK/MediaSDK/archive/${MSDK_VER}.tar.gz -RUN wget -O - ${MSDK_REPO} | tar xz && mv MediaSDK-${MSDK_VER} MediaSDK; \ - mkdir -p MediaSDK/build; \ - cd MediaSDK/build; \ - cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_INCLUDEDIR=include/mfx -DBUILD_SAMPLES=OFF -DENABLE_OPENCL=OFF -Wno-dev ..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${MSDK_REPO} | tar xz && mv MediaSDK-${MSDK_VER} MediaSDK && \ + mkdir -p MediaSDK/build && \ + cd MediaSDK/build && \ + cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_INCLUDEDIR=include/mfx -DBUILD_SAMPLES=OFF -DENABLE_OPENCL=OFF -Wno-dev .. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install; # Build DLDT-Inference Engine @@ -276,62 +276,73 @@ RUN git clone -b ${DLDT_VER} ${DLDT_REPO}; \ echo "Cflags: -I\${includedir}" >> "$pc"; \ done; +# Install automake +ARG AUTOMAKE_VER=1.14 +ARG AUTOMAKE_REPO=https://ftp.gnu.org/pub/gnu/automake/automake-${AUTOMAKE_VER}.tar.xz + +RUN wget -O - ${AUTOMAKE_REPO} | tar xJ && \ + cd automake-${AUTOMAKE_VER} && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --disable-doc && \ + make -j8 && \ + make install + + # Build the gstremaer core ARG GST_VER=1.14.4 ARG GST_REPO=https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${GST_VER}.tar.xz -RUN yum install -y -q glib2-devel-2.56.1 -RUN wget -O - ${GST_REPO} | tar xJ; \ - cd gstreamer-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples ; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN yum install -y -q glib2-devel-2.56.1 gettext-devel gtk-doc +RUN wget -O - ${GST_REPO} | tar xJ && \ + cd gstreamer-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin base ARG GST_PLUGIN_BASE_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_BASE_REPO} | tar xJ; \ - cd gst-plugins-base-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples ; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${GST_PLUGIN_BASE_REPO} | tar xJ && \ + cd gst-plugins-base-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin good set ARG GST_PLUGIN_GOOD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_GOOD_REPO} | tar xJ; \ - cd gst-plugins-good-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples ; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${GST_PLUGIN_GOOD_REPO} | tar xJ && \ + cd gst-plugins-good-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin bad set ARG GST_PLUGIN_BAD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_BAD_REPO} | tar xJ; \ - cd gst-plugins-bad-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples ; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${GST_PLUGIN_BAD_REPO} | tar xJ && \ + cd gst-plugins-bad-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin ugly set ARG GST_PLUGIN_UGLY_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_UGLY_REPO} | tar xJ; \ - cd gst-plugins-ugly-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples ; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${GST_PLUGIN_UGLY_REPO} | tar xJ && \ + cd gst-plugins-ugly-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build gst-libav @@ -339,10 +350,10 @@ ARG GST_PLUGIN_LIBAV_REPO=https://gstreamer.freedesktop.org/src/gst-libav/gst-li RUN yum install -y -q zlib-devel openssl-devel -RUN wget -O - ${GST_PLUGIN_LIBAV_REPO} | tar xJ; \ - cd gst-libav-${GST_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --enable-gpl; \ - make -j8; \ +RUN wget -O - ${GST_PLUGIN_LIBAV_REPO} | tar xJ && \ + cd gst-libav-${GST_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --enable-gpl && \ + make -j8 && \ make install DESTDIR="/home/build" @@ -351,10 +362,10 @@ RUN wget -O - ${GST_PLUGIN_LIBAV_REPO} | tar xJ; \ ARG AUTOMAKE_VER=1.14 ARG AUTOMAKE_REPO=https://ftp.gnu.org/pub/gnu/automake/automake-${AUTOMAKE_VER}.tar.xz -RUN wget -O - ${AUTOMAKE_REPO} | tar xJ; \ - cd automake-${AUTOMAKE_VER}; \ - ./configure --prefix=/usr --libdir=/usr/lib64 --disable-doc; \ - make -j8; \ +RUN wget -O - ${AUTOMAKE_REPO} | tar xJ && \ + cd automake-${AUTOMAKE_VER} && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --disable-doc && \ + make -j8 && \ make install @@ -380,20 +391,20 @@ ARG FFMPEG_1TN_PATCH_REPO=https://patchwork.ffmpeg.org/patch/11625/raw ARG FFMPEG_THREAD_PATCH_REPO=https://patchwork.ffmpeg.org/patch/11035/raw RUN yum install -y -q libass-devel freetype-devel SDL2-devel libxcb-devel libvdpau-devel texinfo zlib-devel openssl-devel -RUN wget -O - ${FFMPEG_REPO} | tar xz && mv FFmpeg-${FFMPEG_VER} FFmpeg; \ - cd FFmpeg; \ - wget -O - ${FFMPEG_FLV_PATCH_REPO} | patch -p1; \ - wget -O - ${FFMPEG_1TN_PATCH_REPO} | patch -p1; \ +RUN wget -O - ${FFMPEG_REPO} | tar xz && mv FFmpeg-${FFMPEG_VER} FFmpeg && \ + cd FFmpeg && \ + wget -O - ${FFMPEG_FLV_PATCH_REPO} | patch -p1 && \ + wget -O - ${FFMPEG_1TN_PATCH_REPO} | patch -p1 && \ wget -O - ${FFMPEG_THREAD_PATCH_REPO} | patch -p1; # Patch FFmpeg source for SVT-HEVC -RUN cd /home/FFmpeg; \ +RUN cd /home/FFmpeg && \ patch -p1 < ../SVT-HEVC/ffmpeg_plugin/0001-lavc-svt_hevc-add-libsvt-hevc-encoder-wrapper.patch; # Compile FFmpeg -RUN cd /home/FFmpeg; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --extra-libs="-lpthread -lm" --enable-shared --enable-gpl --enable-libass --enable-libfreetype --enable-openssl --enable-nonfree --enable-libdrm --enable-libmfx --enable-libfdk-aac --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-libaom --enable-libsvthevc ; \ - make -j8; \ +RUN cd /home/FFmpeg && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --extra-libs="-lpthread -lm" --enable-shared --enable-gpl --enable-libass --enable-libfreetype --enable-openssl --enable-nonfree --enable-libdrm --enable-libmfx --enable-libfdk-aac --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-libaom --enable-libsvthevc && \ + make -j8 && \ make install DESTDIR="/home/build" diff --git a/XeonE3/centos-7.6/ffmpeg+gst+dev/Dockerfile.m4 b/XeonE3/centos-7.6/ffmpeg+gst+dev/Dockerfile.m4 index 16a122ff3..f6980e999 100644 --- a/XeonE3/centos-7.6/ffmpeg+gst+dev/Dockerfile.m4 +++ b/XeonE3/centos-7.6/ffmpeg+gst+dev/Dockerfile.m4 @@ -23,6 +23,7 @@ include(libva.m4) include(media-driver.m4) include(media-sdk.m4) include(dldt-ie.m4) +include(automake.m4) include(gst.m4) include(gst-plugin-base.m4) include(gst-plugin-good.m4) diff --git a/XeonE3/centos-7.6/ffmpeg/Dockerfile b/XeonE3/centos-7.6/ffmpeg/Dockerfile index 0f23e4360..04de76bb0 100644 --- a/XeonE3/centos-7.6/ffmpeg/Dockerfile +++ b/XeonE3/centos-7.6/ffmpeg/Dockerfile @@ -8,76 +8,76 @@ RUN yum install -y -q bzip2 make autoconf libtool git wget ca-certificates pkg-c # Install cmake ARG CMAKE_VER=3.13.1 ARG CMAKE_REPO=https://cmake.org/files -RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz; \ - cd cmake-${CMAKE_VER}; \ - ./bootstrap --prefix="/usr"; \ - make -j8; \ +RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz && \ + cd cmake-${CMAKE_VER} && \ + ./bootstrap --prefix="/usr" && \ + make -j8 && \ make install # Build NASM ARG NASM_VER=2.13.03 ARG NASM_REPO=https://www.nasm.us/pub/nasm/releasebuilds/${NASM_VER}/nasm-${NASM_VER}.tar.bz2 -RUN wget ${NASM_REPO}; \ - tar -xaf nasm*; \ - cd nasm-${NASM_VER}; \ - ./autogen.sh; \ - ./configure --prefix="/usr" --libdir=/usr/lib64; \ - make -j8; \ +RUN wget ${NASM_REPO} && \ + tar -xaf nasm* && \ + cd nasm-${NASM_VER} && \ + ./autogen.sh && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 && \ + make -j8 && \ make install # Build YASM ARG YASM_VER=1.3.0 ARG YASM_REPO=https://www.tortall.net/projects/yasm/releases/yasm-${YASM_VER}.tar.gz -RUN wget -O - ${YASM_REPO} | tar xz; \ - cd yasm-${YASM_VER}; \ - sed -i "s/) ytasm.*/)/" Makefile.in; \ - ./configure --prefix="/usr" --libdir=/usr/lib64; \ - make -j8; \ +RUN wget -O - ${YASM_REPO} | tar xz && \ + cd yasm-${YASM_VER} && \ + sed -i "s/) ytasm.*/)/" Makefile.in && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 && \ + make -j8 && \ make install # Build ogg ARG OGG_VER=1.3.3 ARG OGG_REPO=https://downloads.xiph.org/releases/ogg/libogg-${OGG_VER}.tar.xz -RUN wget -O - ${OGG_REPO} | tar xJ; \ - cd libogg-${OGG_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${OGG_REPO} | tar xJ && \ + cd libogg-${OGG_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build vorbis ARG VORBIS_VER=1.3.6 ARG VORBIS_REPO=https://downloads.xiph.org/releases/vorbis/libvorbis-${VORBIS_VER}.tar.xz -RUN wget -O - ${VORBIS_REPO} | tar xJ; \ - cd libvorbis-${VORBIS_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${VORBIS_REPO} | tar xJ && \ + cd libvorbis-${VORBIS_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build mp3lame ARG MP3LAME_VER=3.100 ARG MP3LAME_REPO=https://sourceforge.net/projects/lame/files/lame/${MP3LAME_VER}/lame-${MP3LAME_VER}.tar.gz -RUN wget -O - ${MP3LAME_REPO} | tar xz; \ - cd lame-${MP3LAME_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --enable-nasm; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${MP3LAME_REPO} | tar xz && \ + cd lame-${MP3LAME_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --enable-nasm && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build fdk-aac ARG FDK_AAC_VER=v0.1.6 ARG FDK_AAC_REPO=https://github.com/mstorsjo/fdk-aac/archive/${FDK_AAC_VER}.tar.gz -RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac; \ - cd fdk-aac; \ - autoreconf -fiv; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac && \ + cd fdk-aac && \ + autoreconf -fiv && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -85,23 +85,23 @@ RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac; \ ARG OPUS_VER=1.2.1 ARG OPUS_REPO=https://archive.mozilla.org/pub/opus/opus-${OPUS_VER}.tar.gz -RUN wget -O - ${OPUS_REPO} | tar xz; \ - cd opus-${OPUS_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${OPUS_REPO} | tar xz && \ + cd opus-${OPUS_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build vpx ARG VPX_VER=tags/v1.7.0 ARG VPX_REPO=https://chromium.googlesource.com/webm/libvpx.git -RUN git clone ${VPX_REPO}; \ - cd libvpx; \ - git checkout ${VPX_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=nasm; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${VPX_REPO} && \ + cd libvpx && \ + git checkout ${VPX_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=nasm && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -109,25 +109,25 @@ RUN git clone ${VPX_REPO}; \ ARG AOM_VER=tags/v1.0.0 ARG AOM_REPO=https://aomedia.googlesource.com/aom -RUN git clone ${AOM_REPO}; \ - mkdir aom/aom_build; \ - cd aom/aom_build; \ - git checkout ${AOM_VER}; \ - cmake -DBUILD_SHARED_LIBS=ON -DENABLE_NASM=ON -DENABLE_TESTS=OFF -DENABLE_DOCS=OFF -DCMAKE_INSTALL_PREFIX="/usr" -DLIB_INSTALL_DIR=/usr/lib64 ..; \ - make -j8; \ - make install DESTDIR="/home/build"; \ +RUN git clone ${AOM_REPO} && \ + mkdir aom/aom_build && \ + cd aom/aom_build && \ + git checkout ${AOM_VER} && \ + cmake -DBUILD_SHARED_LIBS=ON -DENABLE_NASM=ON -DENABLE_TESTS=OFF -DENABLE_DOCS=OFF -DCMAKE_INSTALL_PREFIX="/usr" -DLIB_INSTALL_DIR=/usr/lib64 .. && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ make install # Build x264 ARG X264_VER=stable ARG X264_REPO=https://github.com/mirror/x264 -RUN git clone ${X264_REPO}; \ - cd x264; \ - git checkout ${X264_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared; \ - make -j8; \ - make install DESTDIR="/home/build"; \ +RUN git clone ${X264_REPO} && \ + cd x264 && \ + git checkout ${X264_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ make install @@ -137,28 +137,28 @@ ARG X265_REPO=https://github.com/videolan/x265/archive/${X265_VER}.tar.gz RUN yum install -y -q numactl-devel libpciaccess-devel -RUN wget -O - ${X265_REPO} | tar xz && mv x265-${X265_VER} x265; \ - cd x265/build/linux; \ - cmake -DBUILD_SHARED_LIBS=ON -DENABLE_TESTS=OFF -DCMAKE_INSTALL_PREFIX=/usr -DLIB_INSTALL_DIR=/usr/lib64 ../../source; \ - make -j8; \ - make install DESTDIR="/home/build"; \ +RUN wget -O - ${X265_REPO} | tar xz && mv x265-${X265_VER} x265 && \ + cd x265/build/linux && \ + cmake -DBUILD_SHARED_LIBS=ON -DENABLE_TESTS=OFF -DCMAKE_INSTALL_PREFIX=/usr -DLIB_INSTALL_DIR=/usr/lib64 ../../source && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ make install # Fetch SVT-HEVC ARG SVT_HEVC_VER=v1.3.0 ARG SVT_HEVC_REPO=https://github.com/intel/SVT-HEVC -RUN yum install -y -q patch centos-release-scl; \ +RUN yum install -y -q patch centos-release-scl && \ yum install -y -q devtoolset-7 -RUN git clone ${SVT_HEVC_REPO}; \ - cd SVT-HEVC/Build/linux; \ - git checkout ${SVT_HEVC_VER}; \ - mkdir -p ../../Bin/Release; \ - ( source /opt/rh/devtoolset-7/enable; \ - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${SVT_HEVC_REPO} && \ + cd SVT-HEVC/Build/linux && \ + git checkout ${SVT_HEVC_VER} && \ + mkdir -p ../../Bin/Release && \ + ( source /opt/rh/devtoolset-7/enable && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install ) @@ -166,13 +166,13 @@ RUN git clone ${SVT_HEVC_REPO}; \ ARG SVT_AV1_VER=a39acb2 ARG SVT_AV1_REPO=https://github.com/OpenVisualCloud/SVT-AV1 -RUN git clone ${SVT_AV1_REPO}; \ - cd SVT-AV1/Build/linux; \ - git checkout ${SVT_AV1_VER}; \ - mkdir -p ../../Bin/Release; \ - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${SVT_AV1_REPO} && \ + cd SVT-AV1/Build/linux && \ + git checkout ${SVT_AV1_VER} && \ + mkdir -p ../../Bin/Release && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -180,14 +180,14 @@ RUN git clone ${SVT_AV1_REPO}; \ ARG SVT_VP9_VER=e92a57c ARG SVT_VP9_REPO=https://github.com/OpenVisualCloud/SVT-VP9 -RUN git clone ${SVT_VP9_REPO}; \ - cd SVT-VP9/Build/linux; \ - git checkout ${SVT_VP9_VER}; \ - mkdir -p ../../Bin/Release; \ - ( source /opt/rh/devtoolset-7/enable; \ - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${SVT_VP9_REPO} && \ + cd SVT-VP9/Build/linux && \ + git checkout ${SVT_VP9_VER} && \ + mkdir -p ../../Bin/Release && \ + ( source /opt/rh/devtoolset-7/enable && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install ) #include(transform360.m4) @@ -205,11 +205,11 @@ ARG LIBVA_REPO=https://github.com/intel/libva/archive/${LIBVA_VER}.tar.gz RUN yum install -y -q libX11-devel mesa-libGL-devel which libdrm-devel -RUN wget -O - ${LIBVA_REPO} | tar xz; \ - cd libva-${LIBVA_VER}; \ - ./autogen.sh --prefix=/usr --libdir=/usr/lib64; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${LIBVA_REPO} | tar xz && \ + cd libva-${LIBVA_VER} && \ + ./autogen.sh --prefix=/usr --libdir=/usr/lib64 && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install; @@ -219,12 +219,12 @@ ARG MEDIA_DRIVER_REPO=https://github.com/VCDP/media-driver/archive/${MEDIA_DRIVE RUN yum install -y -q libX11-devel mesa-libGL-devel libpciaccess-devel libXext-devel -RUN wget -O - ${MEDIA_DRIVER_REPO} | tar xz && mv media-driver-${MEDIA_DRIVER_VER} media-driver; \ - mkdir -p media-driver/build; \ - cd media-driver/build; \ - cmake -DBUILD_TYPE=release -DBUILD_ALONG_WITH_CMRTLIB=1 -DMEDIA_VERSION="2.0.0" -DBS_DIR_GMMLIB=/home/gmmlib/Source/GmmLib -DBS_DIR_COMMON=/home/gmmlib/Source/Common -DBS_DIR_INC=/home/gmmlib/Source/inc -DBS_DIR_MEDIA=/home/media-driver -Wno-dev -DCMAKE_INSTALL_PREFIX=/usr ..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${MEDIA_DRIVER_REPO} | tar xz && mv media-driver-${MEDIA_DRIVER_VER} media-driver && \ + mkdir -p media-driver/build && \ + cd media-driver/build && \ + cmake -DBUILD_TYPE=release -DBUILD_ALONG_WITH_CMRTLIB=1 -DMEDIA_VERSION="2.0.0" -DBS_DIR_GMMLIB=/home/gmmlib/Source/GmmLib -DBS_DIR_COMMON=/home/gmmlib/Source/Common -DBS_DIR_INC=/home/gmmlib/Source/inc -DBS_DIR_MEDIA=/home/media-driver -Wno-dev -DCMAKE_INSTALL_PREFIX=/usr .. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -233,14 +233,14 @@ RUN wget -O - ${MEDIA_DRIVER_REPO} | tar xz && mv media-driver-${MEDIA_DRIVER_VE ARG MSDK_VER=MSS-KBL-2019-R1 ARG MSDK_REPO=https://github.com/Intel-Media-SDK/MediaSDK/archive/${MSDK_VER}.tar.gz -RUN wget -O - ${MSDK_REPO} | tar xz && mv MediaSDK-${MSDK_VER} MediaSDK; \ - mkdir -p MediaSDK/build; \ - cd MediaSDK/build; \ - cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_INCLUDEDIR=include/mfx -DBUILD_SAMPLES=OFF -DENABLE_OPENCL=OFF -Wno-dev ..; \ - make -j8; \ - make install DESTDIR=/home/build; \ - rm -rf /home/build/usr/samples; \ - rm -rf /home/build/usr/plugins; \ +RUN wget -O - ${MSDK_REPO} | tar xz && mv MediaSDK-${MSDK_VER} MediaSDK && \ + mkdir -p MediaSDK/build && \ + cd MediaSDK/build && \ + cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_INCLUDEDIR=include/mfx -DBUILD_SAMPLES=OFF -DENABLE_OPENCL=OFF -Wno-dev .. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ + rm -rf /home/build/usr/samples && \ + rm -rf /home/build/usr/plugins && \ make install; # Fetch FFmpeg source @@ -251,28 +251,28 @@ ARG FFMPEG_1TN_PATCH_REPO=https://patchwork.ffmpeg.org/patch/11625/raw ARG FFMPEG_THREAD_PATCH_REPO=https://patchwork.ffmpeg.org/patch/11035/raw RUN yum install -y -q SDL2-devel libxcb-devel libvdpau-devel zlib-devel openssl-devel -RUN wget -O - ${FFMPEG_REPO} | tar xz && mv FFmpeg-${FFMPEG_VER} FFmpeg; \ - cd FFmpeg; \ - wget -O - ${FFMPEG_FLV_PATCH_REPO} | patch -p1; \ - wget -O - ${FFMPEG_1TN_PATCH_REPO} | patch -p1; \ +RUN wget -O - ${FFMPEG_REPO} | tar xz && mv FFmpeg-${FFMPEG_VER} FFmpeg && \ + cd FFmpeg && \ + wget -O - ${FFMPEG_FLV_PATCH_REPO} | patch -p1 && \ + wget -O - ${FFMPEG_1TN_PATCH_REPO} | patch -p1 && \ wget -O - ${FFMPEG_THREAD_PATCH_REPO} | patch -p1; # Patch FFmpeg source for SVT-HEVC -RUN cd /home/FFmpeg; \ +RUN cd /home/FFmpeg && \ patch -p1 < ../SVT-HEVC/ffmpeg_plugin/0001-lavc-svt_hevc-add-libsvt-hevc-encoder-wrapper.patch; # Compile FFmpeg -RUN cd /home/FFmpeg; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --extra-libs="-lpthread -lm" --enable-shared --enable-gpl --enable-openssl --enable-nonfree --enable-libdrm --enable-libmfx --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --enable-libfdk-aac --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-libaom --enable-libsvthevc ; \ - make -j8; \ +RUN cd /home/FFmpeg && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --extra-libs="-lpthread -lm" --enable-shared --enable-gpl --enable-openssl --enable-nonfree --enable-libdrm --enable-libmfx --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --enable-libfdk-aac --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-libaom --enable-libsvthevc && \ + make -j8 && \ make install DESTDIR="/home/build" # Clean up after build -RUN rm -rf /home/build/usr/include; \ - rm -rf /home/build/usr/share/doc; \ - rm -rf /home/build/usr/share/gtk-doc; \ - rm -rf /home/build/usr/share/man; \ +RUN rm -rf /home/build/usr/include && \ + rm -rf /home/build/usr/share/doc && \ + rm -rf /home/build/usr/share/gtk-doc && \ + rm -rf /home/build/usr/share/man && \ find /home/build -name "*.a" -exec rm -f {} \; FROM centos:7.6.1810 diff --git a/XeonE3/centos-7.6/gst/Dockerfile b/XeonE3/centos-7.6/gst/Dockerfile index 418a6e129..b3855edfe 100644 --- a/XeonE3/centos-7.6/gst/Dockerfile +++ b/XeonE3/centos-7.6/gst/Dockerfile @@ -8,76 +8,76 @@ RUN yum install -y -q bzip2 make autoconf libtool git wget ca-certificates pkg-c # Install cmake ARG CMAKE_VER=3.13.1 ARG CMAKE_REPO=https://cmake.org/files -RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz; \ - cd cmake-${CMAKE_VER}; \ - ./bootstrap --prefix="/usr"; \ - make -j8; \ +RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz && \ + cd cmake-${CMAKE_VER} && \ + ./bootstrap --prefix="/usr" && \ + make -j8 && \ make install # Build NASM ARG NASM_VER=2.13.03 ARG NASM_REPO=https://www.nasm.us/pub/nasm/releasebuilds/${NASM_VER}/nasm-${NASM_VER}.tar.bz2 -RUN wget ${NASM_REPO}; \ - tar -xaf nasm*; \ - cd nasm-${NASM_VER}; \ - ./autogen.sh; \ - ./configure --prefix="/usr" --libdir=/usr/lib64; \ - make -j8; \ +RUN wget ${NASM_REPO} && \ + tar -xaf nasm* && \ + cd nasm-${NASM_VER} && \ + ./autogen.sh && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 && \ + make -j8 && \ make install # Build YASM ARG YASM_VER=1.3.0 ARG YASM_REPO=https://www.tortall.net/projects/yasm/releases/yasm-${YASM_VER}.tar.gz -RUN wget -O - ${YASM_REPO} | tar xz; \ - cd yasm-${YASM_VER}; \ - sed -i "s/) ytasm.*/)/" Makefile.in; \ - ./configure --prefix="/usr" --libdir=/usr/lib64; \ - make -j8; \ +RUN wget -O - ${YASM_REPO} | tar xz && \ + cd yasm-${YASM_VER} && \ + sed -i "s/) ytasm.*/)/" Makefile.in && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 && \ + make -j8 && \ make install # Build ogg ARG OGG_VER=1.3.3 ARG OGG_REPO=https://downloads.xiph.org/releases/ogg/libogg-${OGG_VER}.tar.xz -RUN wget -O - ${OGG_REPO} | tar xJ; \ - cd libogg-${OGG_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${OGG_REPO} | tar xJ && \ + cd libogg-${OGG_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build vorbis ARG VORBIS_VER=1.3.6 ARG VORBIS_REPO=https://downloads.xiph.org/releases/vorbis/libvorbis-${VORBIS_VER}.tar.xz -RUN wget -O - ${VORBIS_REPO} | tar xJ; \ - cd libvorbis-${VORBIS_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${VORBIS_REPO} | tar xJ && \ + cd libvorbis-${VORBIS_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build mp3lame ARG MP3LAME_VER=3.100 ARG MP3LAME_REPO=https://sourceforge.net/projects/lame/files/lame/${MP3LAME_VER}/lame-${MP3LAME_VER}.tar.gz -RUN wget -O - ${MP3LAME_REPO} | tar xz; \ - cd lame-${MP3LAME_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --enable-nasm; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${MP3LAME_REPO} | tar xz && \ + cd lame-${MP3LAME_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --enable-nasm && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build fdk-aac ARG FDK_AAC_VER=v0.1.6 ARG FDK_AAC_REPO=https://github.com/mstorsjo/fdk-aac/archive/${FDK_AAC_VER}.tar.gz -RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac; \ - cd fdk-aac; \ - autoreconf -fiv; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac && \ + cd fdk-aac && \ + autoreconf -fiv && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -85,23 +85,23 @@ RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac; \ ARG OPUS_VER=1.2.1 ARG OPUS_REPO=https://archive.mozilla.org/pub/opus/opus-${OPUS_VER}.tar.gz -RUN wget -O - ${OPUS_REPO} | tar xz; \ - cd opus-${OPUS_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${OPUS_REPO} | tar xz && \ + cd opus-${OPUS_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build vpx ARG VPX_VER=tags/v1.7.0 ARG VPX_REPO=https://chromium.googlesource.com/webm/libvpx.git -RUN git clone ${VPX_REPO}; \ - cd libvpx; \ - git checkout ${VPX_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=nasm; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${VPX_REPO} && \ + cd libvpx && \ + git checkout ${VPX_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=nasm && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -109,25 +109,25 @@ RUN git clone ${VPX_REPO}; \ ARG AOM_VER=tags/v1.0.0 ARG AOM_REPO=https://aomedia.googlesource.com/aom -RUN git clone ${AOM_REPO}; \ - mkdir aom/aom_build; \ - cd aom/aom_build; \ - git checkout ${AOM_VER}; \ - cmake -DBUILD_SHARED_LIBS=ON -DENABLE_NASM=ON -DENABLE_TESTS=OFF -DENABLE_DOCS=OFF -DCMAKE_INSTALL_PREFIX="/usr" -DLIB_INSTALL_DIR=/usr/lib64 ..; \ - make -j8; \ - make install DESTDIR="/home/build"; \ +RUN git clone ${AOM_REPO} && \ + mkdir aom/aom_build && \ + cd aom/aom_build && \ + git checkout ${AOM_VER} && \ + cmake -DBUILD_SHARED_LIBS=ON -DENABLE_NASM=ON -DENABLE_TESTS=OFF -DENABLE_DOCS=OFF -DCMAKE_INSTALL_PREFIX="/usr" -DLIB_INSTALL_DIR=/usr/lib64 .. && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ make install # Build x264 ARG X264_VER=stable ARG X264_REPO=https://github.com/mirror/x264 -RUN git clone ${X264_REPO}; \ - cd x264; \ - git checkout ${X264_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared; \ - make -j8; \ - make install DESTDIR="/home/build"; \ +RUN git clone ${X264_REPO} && \ + cd x264 && \ + git checkout ${X264_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ make install @@ -137,28 +137,28 @@ ARG X265_REPO=https://github.com/videolan/x265/archive/${X265_VER}.tar.gz RUN yum install -y -q numactl-devel libpciaccess-devel -RUN wget -O - ${X265_REPO} | tar xz && mv x265-${X265_VER} x265; \ - cd x265/build/linux; \ - cmake -DBUILD_SHARED_LIBS=ON -DENABLE_TESTS=OFF -DCMAKE_INSTALL_PREFIX=/usr -DLIB_INSTALL_DIR=/usr/lib64 ../../source; \ - make -j8; \ - make install DESTDIR="/home/build"; \ +RUN wget -O - ${X265_REPO} | tar xz && mv x265-${X265_VER} x265 && \ + cd x265/build/linux && \ + cmake -DBUILD_SHARED_LIBS=ON -DENABLE_TESTS=OFF -DCMAKE_INSTALL_PREFIX=/usr -DLIB_INSTALL_DIR=/usr/lib64 ../../source && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ make install # Fetch SVT-HEVC ARG SVT_HEVC_VER=v1.3.0 ARG SVT_HEVC_REPO=https://github.com/intel/SVT-HEVC -RUN yum install -y -q patch centos-release-scl; \ +RUN yum install -y -q patch centos-release-scl && \ yum install -y -q devtoolset-7 -RUN git clone ${SVT_HEVC_REPO}; \ - cd SVT-HEVC/Build/linux; \ - git checkout ${SVT_HEVC_VER}; \ - mkdir -p ../../Bin/Release; \ - ( source /opt/rh/devtoolset-7/enable; \ - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${SVT_HEVC_REPO} && \ + cd SVT-HEVC/Build/linux && \ + git checkout ${SVT_HEVC_VER} && \ + mkdir -p ../../Bin/Release && \ + ( source /opt/rh/devtoolset-7/enable && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install ) @@ -166,13 +166,13 @@ RUN git clone ${SVT_HEVC_REPO}; \ ARG SVT_AV1_VER=a39acb2 ARG SVT_AV1_REPO=https://github.com/OpenVisualCloud/SVT-AV1 -RUN git clone ${SVT_AV1_REPO}; \ - cd SVT-AV1/Build/linux; \ - git checkout ${SVT_AV1_VER}; \ - mkdir -p ../../Bin/Release; \ - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${SVT_AV1_REPO} && \ + cd SVT-AV1/Build/linux && \ + git checkout ${SVT_AV1_VER} && \ + mkdir -p ../../Bin/Release && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -180,14 +180,14 @@ RUN git clone ${SVT_AV1_REPO}; \ ARG SVT_VP9_VER=e92a57c ARG SVT_VP9_REPO=https://github.com/OpenVisualCloud/SVT-VP9 -RUN git clone ${SVT_VP9_REPO}; \ - cd SVT-VP9/Build/linux; \ - git checkout ${SVT_VP9_VER}; \ - mkdir -p ../../Bin/Release; \ - ( source /opt/rh/devtoolset-7/enable; \ - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${SVT_VP9_REPO} && \ + cd SVT-VP9/Build/linux && \ + git checkout ${SVT_VP9_VER} && \ + mkdir -p ../../Bin/Release && \ + ( source /opt/rh/devtoolset-7/enable && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install ) # Fetch gmmlib @@ -204,11 +204,11 @@ ARG LIBVA_REPO=https://github.com/intel/libva/archive/${LIBVA_VER}.tar.gz RUN yum install -y -q libX11-devel mesa-libGL-devel which libdrm-devel -RUN wget -O - ${LIBVA_REPO} | tar xz; \ - cd libva-${LIBVA_VER}; \ - ./autogen.sh --prefix=/usr --libdir=/usr/lib64; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${LIBVA_REPO} | tar xz && \ + cd libva-${LIBVA_VER} && \ + ./autogen.sh --prefix=/usr --libdir=/usr/lib64 && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install; @@ -218,72 +218,83 @@ ARG MEDIA_DRIVER_REPO=https://github.com/VCDP/media-driver/archive/${MEDIA_DRIVE RUN yum install -y -q libX11-devel mesa-libGL-devel libpciaccess-devel libXext-devel -RUN wget -O - ${MEDIA_DRIVER_REPO} | tar xz && mv media-driver-${MEDIA_DRIVER_VER} media-driver; \ - mkdir -p media-driver/build; \ - cd media-driver/build; \ - cmake -DBUILD_TYPE=release -DBUILD_ALONG_WITH_CMRTLIB=1 -DMEDIA_VERSION="2.0.0" -DBS_DIR_GMMLIB=/home/gmmlib/Source/GmmLib -DBS_DIR_COMMON=/home/gmmlib/Source/Common -DBS_DIR_INC=/home/gmmlib/Source/inc -DBS_DIR_MEDIA=/home/media-driver -Wno-dev -DCMAKE_INSTALL_PREFIX=/usr ..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${MEDIA_DRIVER_REPO} | tar xz && mv media-driver-${MEDIA_DRIVER_VER} media-driver && \ + mkdir -p media-driver/build && \ + cd media-driver/build && \ + cmake -DBUILD_TYPE=release -DBUILD_ALONG_WITH_CMRTLIB=1 -DMEDIA_VERSION="2.0.0" -DBS_DIR_GMMLIB=/home/gmmlib/Source/GmmLib -DBS_DIR_COMMON=/home/gmmlib/Source/Common -DBS_DIR_INC=/home/gmmlib/Source/inc -DBS_DIR_MEDIA=/home/media-driver -Wno-dev -DCMAKE_INSTALL_PREFIX=/usr .. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install +# Install automake +ARG AUTOMAKE_VER=1.14 +ARG AUTOMAKE_REPO=https://ftp.gnu.org/pub/gnu/automake/automake-${AUTOMAKE_VER}.tar.xz + +RUN wget -O - ${AUTOMAKE_REPO} | tar xJ && \ + cd automake-${AUTOMAKE_VER} && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --disable-doc && \ + make -j8 && \ + make install + + # Build the gstremaer core ARG GST_VER=1.14.4 ARG GST_REPO=https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${GST_VER}.tar.xz -RUN yum install -y -q glib2-devel-2.56.1 -RUN wget -O - ${GST_REPO} | tar xJ; \ - cd gstreamer-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-gst-debug --disable-debug --disable-benchmarks --disable-check; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN yum install -y -q glib2-devel-2.56.1 gettext-devel gtk-doc +RUN wget -O - ${GST_REPO} | tar xJ && \ + cd gstreamer-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-gst-debug --disable-debug --disable-benchmarks --disable-check && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin base ARG GST_PLUGIN_BASE_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_BASE_REPO} | tar xJ; \ - cd gst-plugins-base-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-debug; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${GST_PLUGIN_BASE_REPO} | tar xJ && \ + cd gst-plugins-base-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-debug && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin good set ARG GST_PLUGIN_GOOD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_GOOD_REPO} | tar xJ; \ - cd gst-plugins-good-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-debug; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${GST_PLUGIN_GOOD_REPO} | tar xJ && \ + cd gst-plugins-good-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-debug && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin bad set ARG GST_PLUGIN_BAD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_BAD_REPO} | tar xJ; \ - cd gst-plugins-bad-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-debug; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${GST_PLUGIN_BAD_REPO} | tar xJ && \ + cd gst-plugins-bad-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-debug && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin ugly set ARG GST_PLUGIN_UGLY_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_UGLY_REPO} | tar xJ; \ - cd gst-plugins-ugly-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-debug; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${GST_PLUGIN_UGLY_REPO} | tar xJ && \ + cd gst-plugins-ugly-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-debug && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build gst-libav @@ -291,10 +302,10 @@ ARG GST_PLUGIN_LIBAV_REPO=https://gstreamer.freedesktop.org/src/gst-libav/gst-li RUN yum install -y -q zlib-devel openssl-devel -RUN wget -O - ${GST_PLUGIN_LIBAV_REPO} | tar xJ; \ - cd gst-libav-${GST_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --enable-gpl; \ - make -j8; \ +RUN wget -O - ${GST_PLUGIN_LIBAV_REPO} | tar xJ && \ + cd gst-libav-${GST_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --enable-gpl && \ + make -j8 && \ make install DESTDIR="/home/build" @@ -303,10 +314,10 @@ RUN wget -O - ${GST_PLUGIN_LIBAV_REPO} | tar xJ; \ ARG AUTOMAKE_VER=1.14 ARG AUTOMAKE_REPO=https://ftp.gnu.org/pub/gnu/automake/automake-${AUTOMAKE_VER}.tar.xz -RUN wget -O - ${AUTOMAKE_REPO} | tar xJ; \ - cd automake-${AUTOMAKE_VER}; \ - ./configure --prefix=/usr --libdir=/usr/lib64 --disable-doc; \ - make -j8; \ +RUN wget -O - ${AUTOMAKE_REPO} | tar xJ && \ + cd automake-${AUTOMAKE_VER} && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --disable-doc && \ + make -j8 && \ make install @@ -325,10 +336,10 @@ RUN wget -O - ${GST_PLUGIN_VAAPI_REPO} | tar xJ; \ # Clean up after build -RUN rm -rf /home/build/usr/include; \ - rm -rf /home/build/usr/share/doc; \ - rm -rf /home/build/usr/share/gtk-doc; \ - rm -rf /home/build/usr/share/man; \ +RUN rm -rf /home/build/usr/include && \ + rm -rf /home/build/usr/share/doc && \ + rm -rf /home/build/usr/share/gtk-doc && \ + rm -rf /home/build/usr/share/man && \ find /home/build -name "*.a" -exec rm -f {} \; FROM centos:7.6.1810 diff --git a/XeonE3/centos-7.6/gst/Dockerfile.m4 b/XeonE3/centos-7.6/gst/Dockerfile.m4 index ecf4e5487..cbdfbd3b6 100644 --- a/XeonE3/centos-7.6/gst/Dockerfile.m4 +++ b/XeonE3/centos-7.6/gst/Dockerfile.m4 @@ -20,6 +20,7 @@ include(gmmlib.m4) #include(libdrm.m4) include(libva.m4) include(media-driver.m4) +include(automake.m4) include(gst.m4) include(gst-plugin-base.m4) include(gst-plugin-good.m4) diff --git a/XeonE3/centos-7.6/nginx+rtmp/Dockerfile b/XeonE3/centos-7.6/nginx+rtmp/Dockerfile index e7d286f15..fb64dbc88 100644 --- a/XeonE3/centos-7.6/nginx+rtmp/Dockerfile +++ b/XeonE3/centos-7.6/nginx+rtmp/Dockerfile @@ -8,10 +8,10 @@ RUN yum install -y -q bzip2 make autoconf libtool git wget ca-certificates pkg-c # Install cmake ARG CMAKE_VER=3.13.1 ARG CMAKE_REPO=https://cmake.org/files -RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz; \ - cd cmake-${CMAKE_VER}; \ - ./bootstrap --prefix="/usr"; \ - make -j8; \ +RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz && \ + cd cmake-${CMAKE_VER} && \ + ./bootstrap --prefix="/usr" && \ + make -j8 && \ make install @@ -21,11 +21,11 @@ ARG NGINX_RTMP_REPO=https://github.com/arut/nginx-rtmp-module/archive/${NGINX_RT ARG NGINX_RTMP_PATCH_HLS=https://raw.githubusercontent.com/VCDP/CDN/master/0001-add-hevc-support-for-rtmp-and-hls.patch ARG NGINX_RTMP_PATCH_DASH=https://raw.githubusercontent.com/VCDP/CDN/master/0002-add-HEVC-support-for-dash.patch -RUN wget -O - ${NGINX_RTMP_REPO} | tar xz && mv nginx-rtmp-module-${NGINX_RTMP_VER#v} nginx-rtmp-module; \ - cd nginx-rtmp-module; \ - mkdir -p /home/build/var/www/html; \ - cp -f stat.xsl /home/build/var/www/html; \ - wget -O - ${NGINX_RTMP_PATCH_HLS} | patch -p1; \ +RUN wget -O - ${NGINX_RTMP_REPO} | tar xz && mv nginx-rtmp-module-${NGINX_RTMP_VER#v} nginx-rtmp-module && \ + cd nginx-rtmp-module && \ + mkdir -p /home/build/var/www/html && \ + cp -f stat.xsl /home/build/var/www/html && \ + wget -O - ${NGINX_RTMP_PATCH_HLS} | patch -p1 && \ wget -O - ${NGINX_RTMP_PATCH_DASH} | patch -p1; # Build nginx & nginx-rtmp @@ -34,21 +34,21 @@ ARG NGINX_REPO=https://nginx.org/download/nginx-${NGINX_VER}.tar.gz RUN yum install -y -q openssl-devel pcre2-devel zlib-devel libxslt-devel -RUN wget -O - ${NGINX_REPO} | tar xz; \ - cd nginx-${NGINX_VER}; \ - ./configure --prefix=/var/www --sbin-path=/usr/sbin/nginx --modules-path=/usr/lib64/nginx/modules --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/www/log/error.log --pid-path=/var/www/nginx.pid --lock-path=/var/www/nginx.lock --http-log-path=/var/www/log/access.log --http-client-body-temp-path=/var/www/tmp/client_body --http-proxy-temp-path=/var/www/tmp/proxy --http-fastcgi-temp-path=/var/www/tmp/fastcgi --http-uwsgi-temp-path=/var/www/tmp/uwsgi --http-scgi-temp-path=/var/www/tmp/scgi --user=nobody --group=nobody --with-select_module --with-poll_module --with-threads --with-file-aio --with-http_ssl_module --with-http_v2_module --with-http_realip_module --with-http_addition_module --with-http_xslt_module --with-http_sub_module --with-http_dav_module --with-http_flv_module --with-http_mp4_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_auth_request_module --with-http_random_index_module --with-http_secure_link_module --with-http_degradation_module --with-http_slice_module --with-http_stub_status_module --with-stream --with-stream_ssl_module --with-stream_realip_module --with-stream_ssl_preread_module --with-pcre --add-module=../nginx-rtmp-module ; \ - make -j8; \ +RUN wget -O - ${NGINX_REPO} | tar xz && \ + cd nginx-${NGINX_VER} && \ + ./configure --prefix=/var/www --sbin-path=/usr/sbin/nginx --modules-path=/usr/lib64/nginx/modules --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/www/log/error.log --pid-path=/var/www/nginx.pid --lock-path=/var/www/nginx.lock --http-log-path=/var/www/log/access.log --http-client-body-temp-path=/var/www/tmp/client_body --http-proxy-temp-path=/var/www/tmp/proxy --http-fastcgi-temp-path=/var/www/tmp/fastcgi --http-uwsgi-temp-path=/var/www/tmp/uwsgi --http-scgi-temp-path=/var/www/tmp/scgi --user=nobody --group=nobody --with-select_module --with-poll_module --with-threads --with-file-aio --with-http_ssl_module --with-http_v2_module --with-http_realip_module --with-http_addition_module --with-http_xslt_module --with-http_sub_module --with-http_dav_module --with-http_flv_module --with-http_mp4_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_auth_request_module --with-http_random_index_module --with-http_secure_link_module --with-http_degradation_module --with-http_slice_module --with-http_stub_status_module --with-stream --with-stream_ssl_module --with-stream_realip_module --with-stream_ssl_preread_module --with-pcre --add-module=../nginx-rtmp-module && \ + make -j8 && \ make install DESTDIR=/home/build; # NGINX Setup COPY nginx.conf /home/build/etc/nginx -RUN mkdir -p /home/build/var/www/tmp/client_body; \ - mkdir -p /home/build/var/www/tmp/proxy; \ - mkdir -p /home/build/var/www/tmp/fastcgi; \ - mkdir -p /home/build/var/www/tmp/uwsgi; \ - mkdir -p /home/build/var/www/tmp/scgi; \ - mkdir -p /home/build/var/www/cache; \ - mkdir -p /home/build/var/www/html; \ +RUN mkdir -p /home/build/var/www/tmp/client_body && \ + mkdir -p /home/build/var/www/tmp/proxy && \ + mkdir -p /home/build/var/www/tmp/fastcgi && \ + mkdir -p /home/build/var/www/tmp/uwsgi && \ + mkdir -p /home/build/var/www/tmp/scgi && \ + mkdir -p /home/build/var/www/cache && \ + mkdir -p /home/build/var/www/html && \ touch /home/build/var/www/html/index.html; diff --git a/XeonE3/ubuntu-16.04/ffmpeg+gst+dev/Dockerfile b/XeonE3/ubuntu-16.04/ffmpeg+gst+dev/Dockerfile index 39c9f887c..4ca5958bf 100644 --- a/XeonE3/ubuntu-16.04/ffmpeg+gst+dev/Dockerfile +++ b/XeonE3/ubuntu-16.04/ffmpeg+gst+dev/Dockerfile @@ -8,76 +8,76 @@ RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no- # Install cmake ARG CMAKE_VER=3.13.1 ARG CMAKE_REPO=https://cmake.org/files -RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz; \ - cd cmake-${CMAKE_VER}; \ - ./bootstrap --prefix="/usr"; \ - make -j8; \ +RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz && \ + cd cmake-${CMAKE_VER} && \ + ./bootstrap --prefix="/usr" && \ + make -j8 && \ make install # Build NASM ARG NASM_VER=2.13.03 ARG NASM_REPO=https://www.nasm.us/pub/nasm/releasebuilds/${NASM_VER}/nasm-${NASM_VER}.tar.bz2 -RUN wget ${NASM_REPO}; \ - tar -xaf nasm*; \ - cd nasm-${NASM_VER}; \ - ./autogen.sh; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu; \ - make -j8; \ +RUN wget ${NASM_REPO} && \ + tar -xaf nasm* && \ + cd nasm-${NASM_VER} && \ + ./autogen.sh && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu && \ + make -j8 && \ make install # Build YASM ARG YASM_VER=1.3.0 ARG YASM_REPO=https://www.tortall.net/projects/yasm/releases/yasm-${YASM_VER}.tar.gz -RUN wget -O - ${YASM_REPO} | tar xz; \ - cd yasm-${YASM_VER}; \ - sed -i "s/) ytasm.*/)/" Makefile.in; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu; \ - make -j8; \ +RUN wget -O - ${YASM_REPO} | tar xz && \ + cd yasm-${YASM_VER} && \ + sed -i "s/) ytasm.*/)/" Makefile.in && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu && \ + make -j8 && \ make install # Build ogg ARG OGG_VER=1.3.3 ARG OGG_REPO=https://downloads.xiph.org/releases/ogg/libogg-${OGG_VER}.tar.xz -RUN wget -O - ${OGG_REPO} | tar xJ; \ - cd libogg-${OGG_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${OGG_REPO} | tar xJ && \ + cd libogg-${OGG_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build vorbis ARG VORBIS_VER=1.3.6 ARG VORBIS_REPO=https://downloads.xiph.org/releases/vorbis/libvorbis-${VORBIS_VER}.tar.xz -RUN wget -O - ${VORBIS_REPO} | tar xJ; \ - cd libvorbis-${VORBIS_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${VORBIS_REPO} | tar xJ && \ + cd libvorbis-${VORBIS_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build mp3lame ARG MP3LAME_VER=3.100 ARG MP3LAME_REPO=https://sourceforge.net/projects/lame/files/lame/${MP3LAME_VER}/lame-${MP3LAME_VER}.tar.gz -RUN wget -O - ${MP3LAME_REPO} | tar xz; \ - cd lame-${MP3LAME_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared --enable-nasm; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${MP3LAME_REPO} | tar xz && \ + cd lame-${MP3LAME_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared --enable-nasm && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build fdk-aac ARG FDK_AAC_VER=v0.1.6 ARG FDK_AAC_REPO=https://github.com/mstorsjo/fdk-aac/archive/${FDK_AAC_VER}.tar.gz -RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac; \ - cd fdk-aac; \ - autoreconf -fiv; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac && \ + cd fdk-aac && \ + autoreconf -fiv && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -85,23 +85,23 @@ RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac; \ ARG OPUS_VER=1.2.1 ARG OPUS_REPO=https://archive.mozilla.org/pub/opus/opus-${OPUS_VER}.tar.gz -RUN wget -O - ${OPUS_REPO} | tar xz; \ - cd opus-${OPUS_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${OPUS_REPO} | tar xz && \ + cd opus-${OPUS_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build vpx ARG VPX_VER=tags/v1.7.0 ARG VPX_REPO=https://chromium.googlesource.com/webm/libvpx.git -RUN git clone ${VPX_REPO}; \ - cd libvpx; \ - git checkout ${VPX_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=nasm; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${VPX_REPO} && \ + cd libvpx && \ + git checkout ${VPX_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=nasm && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -109,25 +109,25 @@ RUN git clone ${VPX_REPO}; \ ARG AOM_VER=tags/v1.0.0 ARG AOM_REPO=https://aomedia.googlesource.com/aom -RUN git clone ${AOM_REPO}; \ - mkdir aom/aom_build; \ - cd aom/aom_build; \ - git checkout ${AOM_VER}; \ - cmake -DBUILD_SHARED_LIBS=ON -DENABLE_NASM=ON -DENABLE_TESTS=OFF -DENABLE_DOCS=OFF -DCMAKE_INSTALL_PREFIX="/usr" -DLIB_INSTALL_DIR=/usr/lib/x86_64-linux-gnu ..; \ - make -j8; \ - make install DESTDIR="/home/build"; \ +RUN git clone ${AOM_REPO} && \ + mkdir aom/aom_build && \ + cd aom/aom_build && \ + git checkout ${AOM_VER} && \ + cmake -DBUILD_SHARED_LIBS=ON -DENABLE_NASM=ON -DENABLE_TESTS=OFF -DENABLE_DOCS=OFF -DCMAKE_INSTALL_PREFIX="/usr" -DLIB_INSTALL_DIR=/usr/lib/x86_64-linux-gnu .. && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ make install # Build x264 ARG X264_VER=stable ARG X264_REPO=https://github.com/mirror/x264 -RUN git clone ${X264_REPO}; \ - cd x264; \ - git checkout ${X264_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared; \ - make -j8; \ - make install DESTDIR="/home/build"; \ +RUN git clone ${X264_REPO} && \ + cd x264 && \ + git checkout ${X264_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ make install @@ -137,24 +137,24 @@ ARG X265_REPO=https://github.com/videolan/x265/archive/${X265_VER}.tar.gz RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libnuma-dev -RUN wget -O - ${X265_REPO} | tar xz && mv x265-${X265_VER} x265; \ - cd x265/build/linux; \ - cmake -DBUILD_SHARED_LIBS=ON -DENABLE_TESTS=OFF -DCMAKE_INSTALL_PREFIX=/usr -DLIB_INSTALL_DIR=/usr/lib/x86_64-linux-gnu ../../source; \ - make -j8; \ - make install DESTDIR="/home/build"; \ +RUN wget -O - ${X265_REPO} | tar xz && mv x265-${X265_VER} x265 && \ + cd x265/build/linux && \ + cmake -DBUILD_SHARED_LIBS=ON -DENABLE_TESTS=OFF -DCMAKE_INSTALL_PREFIX=/usr -DLIB_INSTALL_DIR=/usr/lib/x86_64-linux-gnu ../../source && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ make install # Fetch SVT-HEVC ARG SVT_HEVC_VER=v1.3.0 ARG SVT_HEVC_REPO=https://github.com/intel/SVT-HEVC -RUN git clone ${SVT_HEVC_REPO}; \ - cd SVT-HEVC/Build/linux; \ - git checkout ${SVT_HEVC_VER}; \ - mkdir -p ../../Bin/Release; \ - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${SVT_HEVC_REPO} && \ + cd SVT-HEVC/Build/linux && \ + git checkout ${SVT_HEVC_VER} && \ + mkdir -p ../../Bin/Release && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -162,13 +162,13 @@ RUN git clone ${SVT_HEVC_REPO}; \ ARG SVT_AV1_VER=a39acb2 ARG SVT_AV1_REPO=https://github.com/OpenVisualCloud/SVT-AV1 -RUN git clone ${SVT_AV1_REPO}; \ - cd SVT-AV1/Build/linux; \ - git checkout ${SVT_AV1_VER}; \ - mkdir -p ../../Bin/Release; \ - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${SVT_AV1_REPO} && \ + cd SVT-AV1/Build/linux && \ + git checkout ${SVT_AV1_VER} && \ + mkdir -p ../../Bin/Release && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -176,13 +176,13 @@ RUN git clone ${SVT_AV1_REPO}; \ ARG SVT_VP9_VER=e92a57c ARG SVT_VP9_REPO=https://github.com/OpenVisualCloud/SVT-VP9 -RUN git clone ${SVT_VP9_REPO}; \ - cd SVT-VP9/Build/linux; \ - git checkout ${SVT_VP9_VER}; \ - mkdir -p ../../Bin/Release; \ - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${SVT_VP9_REPO} && \ + cd SVT-VP9/Build/linux && \ + git checkout ${SVT_VP9_VER} && \ + mkdir -p ../../Bin/Release && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install #include(transform360.m4) @@ -199,11 +199,11 @@ ARG LIBVA_REPO=https://github.com/intel/libva/archive/${LIBVA_VER}.tar.gz RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libdrm-dev libx11-dev xorg-dev libgl1-mesa-dev -RUN wget -O - ${LIBVA_REPO} | tar xz; \ - cd libva-${LIBVA_VER}; \ - ./autogen.sh --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${LIBVA_REPO} | tar xz && \ + cd libva-${LIBVA_VER} && \ + ./autogen.sh --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install; @@ -213,12 +213,12 @@ ARG MEDIA_DRIVER_REPO=https://github.com/VCDP/media-driver/archive/${MEDIA_DRIVE RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libdrm-dev libpciaccess-dev libx11-dev xorg-dev libgl1-mesa-dev -RUN wget -O - ${MEDIA_DRIVER_REPO} | tar xz && mv media-driver-${MEDIA_DRIVER_VER} media-driver; \ - mkdir -p media-driver/build; \ - cd media-driver/build; \ - cmake -DBUILD_TYPE=release -DBUILD_ALONG_WITH_CMRTLIB=1 -DMEDIA_VERSION="2.0.0" -DBS_DIR_GMMLIB=/home/gmmlib/Source/GmmLib -DBS_DIR_COMMON=/home/gmmlib/Source/Common -DBS_DIR_INC=/home/gmmlib/Source/inc -DBS_DIR_MEDIA=/home/media-driver -Wno-dev -DCMAKE_INSTALL_PREFIX=/usr ..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${MEDIA_DRIVER_REPO} | tar xz && mv media-driver-${MEDIA_DRIVER_VER} media-driver && \ + mkdir -p media-driver/build && \ + cd media-driver/build && \ + cmake -DBUILD_TYPE=release -DBUILD_ALONG_WITH_CMRTLIB=1 -DMEDIA_VERSION="2.0.0" -DBS_DIR_GMMLIB=/home/gmmlib/Source/GmmLib -DBS_DIR_COMMON=/home/gmmlib/Source/Common -DBS_DIR_INC=/home/gmmlib/Source/inc -DBS_DIR_MEDIA=/home/media-driver -Wno-dev -DCMAKE_INSTALL_PREFIX=/usr .. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -227,12 +227,12 @@ RUN wget -O - ${MEDIA_DRIVER_REPO} | tar xz && mv media-driver-${MEDIA_DRIVER_VE ARG MSDK_VER=MSS-KBL-2019-R1 ARG MSDK_REPO=https://github.com/Intel-Media-SDK/MediaSDK/archive/${MSDK_VER}.tar.gz -RUN wget -O - ${MSDK_REPO} | tar xz && mv MediaSDK-${MSDK_VER} MediaSDK; \ - mkdir -p MediaSDK/build; \ - cd MediaSDK/build; \ - cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_INCLUDEDIR=include/mfx -DBUILD_SAMPLES=OFF -DENABLE_OPENCL=OFF -Wno-dev ..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${MSDK_REPO} | tar xz && mv MediaSDK-${MSDK_VER} MediaSDK && \ + mkdir -p MediaSDK/build && \ + cd MediaSDK/build && \ + cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_INCLUDEDIR=include/mfx -DBUILD_SAMPLES=OFF -DENABLE_OPENCL=OFF -Wno-dev .. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install; # Build DLDT-Inference Engine @@ -274,58 +274,58 @@ RUN git clone -b ${DLDT_VER} ${DLDT_REPO}; \ ARG GST_VER=1.14.4 ARG GST_REPO=https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${GST_VER}.tar.xz -RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libglib2.0-dev -RUN wget -O - ${GST_REPO} | tar xJ; \ - cd gstreamer-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples ; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libglib2.0-dev autopoint gtk-doc-tools +RUN wget -O - ${GST_REPO} | tar xJ && \ + cd gstreamer-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin base ARG GST_PLUGIN_BASE_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_BASE_REPO} | tar xJ; \ - cd gst-plugins-base-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples ; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${GST_PLUGIN_BASE_REPO} | tar xJ && \ + cd gst-plugins-base-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin good set ARG GST_PLUGIN_GOOD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_GOOD_REPO} | tar xJ; \ - cd gst-plugins-good-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples ; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${GST_PLUGIN_GOOD_REPO} | tar xJ && \ + cd gst-plugins-good-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin bad set ARG GST_PLUGIN_BAD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_BAD_REPO} | tar xJ; \ - cd gst-plugins-bad-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples ; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${GST_PLUGIN_BAD_REPO} | tar xJ && \ + cd gst-plugins-bad-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin ugly set ARG GST_PLUGIN_UGLY_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_UGLY_REPO} | tar xJ; \ - cd gst-plugins-ugly-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples ; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${GST_PLUGIN_UGLY_REPO} | tar xJ && \ + cd gst-plugins-ugly-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build gst-libav @@ -333,10 +333,10 @@ ARG GST_PLUGIN_LIBAV_REPO=https://gstreamer.freedesktop.org/src/gst-libav/gst-li RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends zlib1g-dev libssl-dev -RUN wget -O - ${GST_PLUGIN_LIBAV_REPO} | tar xJ; \ - cd gst-libav-${GST_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared --enable-gpl; \ - make -j8; \ +RUN wget -O - ${GST_PLUGIN_LIBAV_REPO} | tar xJ && \ + cd gst-libav-${GST_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared --enable-gpl && \ + make -j8 && \ make install DESTDIR="/home/build" @@ -363,20 +363,20 @@ ARG FFMPEG_1TN_PATCH_REPO=https://patchwork.ffmpeg.org/patch/11625/raw ARG FFMPEG_THREAD_PATCH_REPO=https://patchwork.ffmpeg.org/patch/11035/raw RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libass-dev libfreetype6-dev libvdpau-dev libsdl2-dev libxcb1-dev libxcb-shm0-dev libxcb-xfixes0-dev texinfo zlib1g-dev libssl-dev -RUN wget -O - ${FFMPEG_REPO} | tar xz && mv FFmpeg-${FFMPEG_VER} FFmpeg; \ - cd FFmpeg; \ - wget -O - ${FFMPEG_FLV_PATCH_REPO} | patch -p1; \ - wget -O - ${FFMPEG_1TN_PATCH_REPO} | patch -p1; \ +RUN wget -O - ${FFMPEG_REPO} | tar xz && mv FFmpeg-${FFMPEG_VER} FFmpeg && \ + cd FFmpeg && \ + wget -O - ${FFMPEG_FLV_PATCH_REPO} | patch -p1 && \ + wget -O - ${FFMPEG_1TN_PATCH_REPO} | patch -p1 && \ wget -O - ${FFMPEG_THREAD_PATCH_REPO} | patch -p1; # Patch FFmpeg source for SVT-HEVC -RUN cd /home/FFmpeg; \ +RUN cd /home/FFmpeg && \ patch -p1 < ../SVT-HEVC/ffmpeg_plugin/0001-lavc-svt_hevc-add-libsvt-hevc-encoder-wrapper.patch; # Compile FFmpeg -RUN cd /home/FFmpeg; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --extra-libs="-lpthread -lm" --enable-shared --enable-gpl --enable-libass --enable-libfreetype --enable-openssl --enable-nonfree --enable-libdrm --enable-libmfx --enable-libfdk-aac --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-libaom --enable-libsvthevc ; \ - make -j8; \ +RUN cd /home/FFmpeg && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --extra-libs="-lpthread -lm" --enable-shared --enable-gpl --enable-libass --enable-libfreetype --enable-openssl --enable-nonfree --enable-libdrm --enable-libmfx --enable-libfdk-aac --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-libaom --enable-libsvthevc && \ + make -j8 && \ make install DESTDIR="/home/build" diff --git a/XeonE3/ubuntu-16.04/ffmpeg/Dockerfile b/XeonE3/ubuntu-16.04/ffmpeg/Dockerfile index 50d3519bd..6157361f5 100644 --- a/XeonE3/ubuntu-16.04/ffmpeg/Dockerfile +++ b/XeonE3/ubuntu-16.04/ffmpeg/Dockerfile @@ -8,76 +8,76 @@ RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no- # Install cmake ARG CMAKE_VER=3.13.1 ARG CMAKE_REPO=https://cmake.org/files -RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz; \ - cd cmake-${CMAKE_VER}; \ - ./bootstrap --prefix="/usr"; \ - make -j8; \ +RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz && \ + cd cmake-${CMAKE_VER} && \ + ./bootstrap --prefix="/usr" && \ + make -j8 && \ make install # Build NASM ARG NASM_VER=2.13.03 ARG NASM_REPO=https://www.nasm.us/pub/nasm/releasebuilds/${NASM_VER}/nasm-${NASM_VER}.tar.bz2 -RUN wget ${NASM_REPO}; \ - tar -xaf nasm*; \ - cd nasm-${NASM_VER}; \ - ./autogen.sh; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu; \ - make -j8; \ +RUN wget ${NASM_REPO} && \ + tar -xaf nasm* && \ + cd nasm-${NASM_VER} && \ + ./autogen.sh && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu && \ + make -j8 && \ make install # Build YASM ARG YASM_VER=1.3.0 ARG YASM_REPO=https://www.tortall.net/projects/yasm/releases/yasm-${YASM_VER}.tar.gz -RUN wget -O - ${YASM_REPO} | tar xz; \ - cd yasm-${YASM_VER}; \ - sed -i "s/) ytasm.*/)/" Makefile.in; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu; \ - make -j8; \ +RUN wget -O - ${YASM_REPO} | tar xz && \ + cd yasm-${YASM_VER} && \ + sed -i "s/) ytasm.*/)/" Makefile.in && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu && \ + make -j8 && \ make install # Build ogg ARG OGG_VER=1.3.3 ARG OGG_REPO=https://downloads.xiph.org/releases/ogg/libogg-${OGG_VER}.tar.xz -RUN wget -O - ${OGG_REPO} | tar xJ; \ - cd libogg-${OGG_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${OGG_REPO} | tar xJ && \ + cd libogg-${OGG_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build vorbis ARG VORBIS_VER=1.3.6 ARG VORBIS_REPO=https://downloads.xiph.org/releases/vorbis/libvorbis-${VORBIS_VER}.tar.xz -RUN wget -O - ${VORBIS_REPO} | tar xJ; \ - cd libvorbis-${VORBIS_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${VORBIS_REPO} | tar xJ && \ + cd libvorbis-${VORBIS_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build mp3lame ARG MP3LAME_VER=3.100 ARG MP3LAME_REPO=https://sourceforge.net/projects/lame/files/lame/${MP3LAME_VER}/lame-${MP3LAME_VER}.tar.gz -RUN wget -O - ${MP3LAME_REPO} | tar xz; \ - cd lame-${MP3LAME_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared --enable-nasm; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${MP3LAME_REPO} | tar xz && \ + cd lame-${MP3LAME_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared --enable-nasm && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build fdk-aac ARG FDK_AAC_VER=v0.1.6 ARG FDK_AAC_REPO=https://github.com/mstorsjo/fdk-aac/archive/${FDK_AAC_VER}.tar.gz -RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac; \ - cd fdk-aac; \ - autoreconf -fiv; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac && \ + cd fdk-aac && \ + autoreconf -fiv && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -85,23 +85,23 @@ RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac; \ ARG OPUS_VER=1.2.1 ARG OPUS_REPO=https://archive.mozilla.org/pub/opus/opus-${OPUS_VER}.tar.gz -RUN wget -O - ${OPUS_REPO} | tar xz; \ - cd opus-${OPUS_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${OPUS_REPO} | tar xz && \ + cd opus-${OPUS_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build vpx ARG VPX_VER=tags/v1.7.0 ARG VPX_REPO=https://chromium.googlesource.com/webm/libvpx.git -RUN git clone ${VPX_REPO}; \ - cd libvpx; \ - git checkout ${VPX_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=nasm; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${VPX_REPO} && \ + cd libvpx && \ + git checkout ${VPX_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=nasm && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -109,25 +109,25 @@ RUN git clone ${VPX_REPO}; \ ARG AOM_VER=tags/v1.0.0 ARG AOM_REPO=https://aomedia.googlesource.com/aom -RUN git clone ${AOM_REPO}; \ - mkdir aom/aom_build; \ - cd aom/aom_build; \ - git checkout ${AOM_VER}; \ - cmake -DBUILD_SHARED_LIBS=ON -DENABLE_NASM=ON -DENABLE_TESTS=OFF -DENABLE_DOCS=OFF -DCMAKE_INSTALL_PREFIX="/usr" -DLIB_INSTALL_DIR=/usr/lib/x86_64-linux-gnu ..; \ - make -j8; \ - make install DESTDIR="/home/build"; \ +RUN git clone ${AOM_REPO} && \ + mkdir aom/aom_build && \ + cd aom/aom_build && \ + git checkout ${AOM_VER} && \ + cmake -DBUILD_SHARED_LIBS=ON -DENABLE_NASM=ON -DENABLE_TESTS=OFF -DENABLE_DOCS=OFF -DCMAKE_INSTALL_PREFIX="/usr" -DLIB_INSTALL_DIR=/usr/lib/x86_64-linux-gnu .. && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ make install # Build x264 ARG X264_VER=stable ARG X264_REPO=https://github.com/mirror/x264 -RUN git clone ${X264_REPO}; \ - cd x264; \ - git checkout ${X264_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared; \ - make -j8; \ - make install DESTDIR="/home/build"; \ +RUN git clone ${X264_REPO} && \ + cd x264 && \ + git checkout ${X264_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ make install @@ -137,24 +137,24 @@ ARG X265_REPO=https://github.com/videolan/x265/archive/${X265_VER}.tar.gz RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libnuma-dev -RUN wget -O - ${X265_REPO} | tar xz && mv x265-${X265_VER} x265; \ - cd x265/build/linux; \ - cmake -DBUILD_SHARED_LIBS=ON -DENABLE_TESTS=OFF -DCMAKE_INSTALL_PREFIX=/usr -DLIB_INSTALL_DIR=/usr/lib/x86_64-linux-gnu ../../source; \ - make -j8; \ - make install DESTDIR="/home/build"; \ +RUN wget -O - ${X265_REPO} | tar xz && mv x265-${X265_VER} x265 && \ + cd x265/build/linux && \ + cmake -DBUILD_SHARED_LIBS=ON -DENABLE_TESTS=OFF -DCMAKE_INSTALL_PREFIX=/usr -DLIB_INSTALL_DIR=/usr/lib/x86_64-linux-gnu ../../source && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ make install # Fetch SVT-HEVC ARG SVT_HEVC_VER=v1.3.0 ARG SVT_HEVC_REPO=https://github.com/intel/SVT-HEVC -RUN git clone ${SVT_HEVC_REPO}; \ - cd SVT-HEVC/Build/linux; \ - git checkout ${SVT_HEVC_VER}; \ - mkdir -p ../../Bin/Release; \ - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${SVT_HEVC_REPO} && \ + cd SVT-HEVC/Build/linux && \ + git checkout ${SVT_HEVC_VER} && \ + mkdir -p ../../Bin/Release && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -162,13 +162,13 @@ RUN git clone ${SVT_HEVC_REPO}; \ ARG SVT_AV1_VER=a39acb2 ARG SVT_AV1_REPO=https://github.com/OpenVisualCloud/SVT-AV1 -RUN git clone ${SVT_AV1_REPO}; \ - cd SVT-AV1/Build/linux; \ - git checkout ${SVT_AV1_VER}; \ - mkdir -p ../../Bin/Release; \ - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${SVT_AV1_REPO} && \ + cd SVT-AV1/Build/linux && \ + git checkout ${SVT_AV1_VER} && \ + mkdir -p ../../Bin/Release && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -176,13 +176,13 @@ RUN git clone ${SVT_AV1_REPO}; \ ARG SVT_VP9_VER=e92a57c ARG SVT_VP9_REPO=https://github.com/OpenVisualCloud/SVT-VP9 -RUN git clone ${SVT_VP9_REPO}; \ - cd SVT-VP9/Build/linux; \ - git checkout ${SVT_VP9_VER}; \ - mkdir -p ../../Bin/Release; \ - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${SVT_VP9_REPO} && \ + cd SVT-VP9/Build/linux && \ + git checkout ${SVT_VP9_VER} && \ + mkdir -p ../../Bin/Release && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install #include(transform360.m4) @@ -199,11 +199,11 @@ ARG LIBVA_REPO=https://github.com/intel/libva/archive/${LIBVA_VER}.tar.gz RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libdrm-dev libx11-dev xorg-dev libgl1-mesa-dev -RUN wget -O - ${LIBVA_REPO} | tar xz; \ - cd libva-${LIBVA_VER}; \ - ./autogen.sh --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${LIBVA_REPO} | tar xz && \ + cd libva-${LIBVA_VER} && \ + ./autogen.sh --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install; @@ -213,12 +213,12 @@ ARG MEDIA_DRIVER_REPO=https://github.com/VCDP/media-driver/archive/${MEDIA_DRIVE RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libdrm-dev libpciaccess-dev libx11-dev xorg-dev libgl1-mesa-dev -RUN wget -O - ${MEDIA_DRIVER_REPO} | tar xz && mv media-driver-${MEDIA_DRIVER_VER} media-driver; \ - mkdir -p media-driver/build; \ - cd media-driver/build; \ - cmake -DBUILD_TYPE=release -DBUILD_ALONG_WITH_CMRTLIB=1 -DMEDIA_VERSION="2.0.0" -DBS_DIR_GMMLIB=/home/gmmlib/Source/GmmLib -DBS_DIR_COMMON=/home/gmmlib/Source/Common -DBS_DIR_INC=/home/gmmlib/Source/inc -DBS_DIR_MEDIA=/home/media-driver -Wno-dev -DCMAKE_INSTALL_PREFIX=/usr ..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${MEDIA_DRIVER_REPO} | tar xz && mv media-driver-${MEDIA_DRIVER_VER} media-driver && \ + mkdir -p media-driver/build && \ + cd media-driver/build && \ + cmake -DBUILD_TYPE=release -DBUILD_ALONG_WITH_CMRTLIB=1 -DMEDIA_VERSION="2.0.0" -DBS_DIR_GMMLIB=/home/gmmlib/Source/GmmLib -DBS_DIR_COMMON=/home/gmmlib/Source/Common -DBS_DIR_INC=/home/gmmlib/Source/inc -DBS_DIR_MEDIA=/home/media-driver -Wno-dev -DCMAKE_INSTALL_PREFIX=/usr .. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -227,14 +227,14 @@ RUN wget -O - ${MEDIA_DRIVER_REPO} | tar xz && mv media-driver-${MEDIA_DRIVER_VE ARG MSDK_VER=MSS-KBL-2019-R1 ARG MSDK_REPO=https://github.com/Intel-Media-SDK/MediaSDK/archive/${MSDK_VER}.tar.gz -RUN wget -O - ${MSDK_REPO} | tar xz && mv MediaSDK-${MSDK_VER} MediaSDK; \ - mkdir -p MediaSDK/build; \ - cd MediaSDK/build; \ - cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_INCLUDEDIR=include/mfx -DBUILD_SAMPLES=OFF -DENABLE_OPENCL=OFF -Wno-dev ..; \ - make -j8; \ - make install DESTDIR=/home/build; \ - rm -rf /home/build/usr/samples; \ - rm -rf /home/build/usr/plugins; \ +RUN wget -O - ${MSDK_REPO} | tar xz && mv MediaSDK-${MSDK_VER} MediaSDK && \ + mkdir -p MediaSDK/build && \ + cd MediaSDK/build && \ + cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_INCLUDEDIR=include/mfx -DBUILD_SAMPLES=OFF -DENABLE_OPENCL=OFF -Wno-dev .. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ + rm -rf /home/build/usr/samples && \ + rm -rf /home/build/usr/plugins && \ make install; # Fetch FFmpeg source @@ -245,28 +245,28 @@ ARG FFMPEG_1TN_PATCH_REPO=https://patchwork.ffmpeg.org/patch/11625/raw ARG FFMPEG_THREAD_PATCH_REPO=https://patchwork.ffmpeg.org/patch/11035/raw RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libvdpau-dev libsdl2-dev libxcb1-dev libxcb-shm0-dev libxcb-xfixes0-dev zlib1g-dev libssl-dev -RUN wget -O - ${FFMPEG_REPO} | tar xz && mv FFmpeg-${FFMPEG_VER} FFmpeg; \ - cd FFmpeg; \ - wget -O - ${FFMPEG_FLV_PATCH_REPO} | patch -p1; \ - wget -O - ${FFMPEG_1TN_PATCH_REPO} | patch -p1; \ +RUN wget -O - ${FFMPEG_REPO} | tar xz && mv FFmpeg-${FFMPEG_VER} FFmpeg && \ + cd FFmpeg && \ + wget -O - ${FFMPEG_FLV_PATCH_REPO} | patch -p1 && \ + wget -O - ${FFMPEG_1TN_PATCH_REPO} | patch -p1 && \ wget -O - ${FFMPEG_THREAD_PATCH_REPO} | patch -p1; # Patch FFmpeg source for SVT-HEVC -RUN cd /home/FFmpeg; \ +RUN cd /home/FFmpeg && \ patch -p1 < ../SVT-HEVC/ffmpeg_plugin/0001-lavc-svt_hevc-add-libsvt-hevc-encoder-wrapper.patch; # Compile FFmpeg -RUN cd /home/FFmpeg; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --extra-libs="-lpthread -lm" --enable-shared --enable-gpl --enable-openssl --enable-nonfree --enable-libdrm --enable-libmfx --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --enable-libfdk-aac --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-libaom --enable-libsvthevc ; \ - make -j8; \ +RUN cd /home/FFmpeg && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --extra-libs="-lpthread -lm" --enable-shared --enable-gpl --enable-openssl --enable-nonfree --enable-libdrm --enable-libmfx --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --enable-libfdk-aac --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-libaom --enable-libsvthevc && \ + make -j8 && \ make install DESTDIR="/home/build" # Clean up after build -RUN rm -rf /home/build/usr/include; \ - rm -rf /home/build/usr/share/doc; \ - rm -rf /home/build/usr/share/gtk-doc; \ - rm -rf /home/build/usr/share/man; \ +RUN rm -rf /home/build/usr/include && \ + rm -rf /home/build/usr/share/doc && \ + rm -rf /home/build/usr/share/gtk-doc && \ + rm -rf /home/build/usr/share/man && \ find /home/build -name "*.a" -exec rm -f {} \; FROM ubuntu:16.04 diff --git a/XeonE3/ubuntu-16.04/gst/Dockerfile b/XeonE3/ubuntu-16.04/gst/Dockerfile index 5e3552494..c3413e423 100644 --- a/XeonE3/ubuntu-16.04/gst/Dockerfile +++ b/XeonE3/ubuntu-16.04/gst/Dockerfile @@ -8,76 +8,76 @@ RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no- # Install cmake ARG CMAKE_VER=3.13.1 ARG CMAKE_REPO=https://cmake.org/files -RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz; \ - cd cmake-${CMAKE_VER}; \ - ./bootstrap --prefix="/usr"; \ - make -j8; \ +RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz && \ + cd cmake-${CMAKE_VER} && \ + ./bootstrap --prefix="/usr" && \ + make -j8 && \ make install # Build NASM ARG NASM_VER=2.13.03 ARG NASM_REPO=https://www.nasm.us/pub/nasm/releasebuilds/${NASM_VER}/nasm-${NASM_VER}.tar.bz2 -RUN wget ${NASM_REPO}; \ - tar -xaf nasm*; \ - cd nasm-${NASM_VER}; \ - ./autogen.sh; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu; \ - make -j8; \ +RUN wget ${NASM_REPO} && \ + tar -xaf nasm* && \ + cd nasm-${NASM_VER} && \ + ./autogen.sh && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu && \ + make -j8 && \ make install # Build YASM ARG YASM_VER=1.3.0 ARG YASM_REPO=https://www.tortall.net/projects/yasm/releases/yasm-${YASM_VER}.tar.gz -RUN wget -O - ${YASM_REPO} | tar xz; \ - cd yasm-${YASM_VER}; \ - sed -i "s/) ytasm.*/)/" Makefile.in; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu; \ - make -j8; \ +RUN wget -O - ${YASM_REPO} | tar xz && \ + cd yasm-${YASM_VER} && \ + sed -i "s/) ytasm.*/)/" Makefile.in && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu && \ + make -j8 && \ make install # Build ogg ARG OGG_VER=1.3.3 ARG OGG_REPO=https://downloads.xiph.org/releases/ogg/libogg-${OGG_VER}.tar.xz -RUN wget -O - ${OGG_REPO} | tar xJ; \ - cd libogg-${OGG_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${OGG_REPO} | tar xJ && \ + cd libogg-${OGG_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build vorbis ARG VORBIS_VER=1.3.6 ARG VORBIS_REPO=https://downloads.xiph.org/releases/vorbis/libvorbis-${VORBIS_VER}.tar.xz -RUN wget -O - ${VORBIS_REPO} | tar xJ; \ - cd libvorbis-${VORBIS_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${VORBIS_REPO} | tar xJ && \ + cd libvorbis-${VORBIS_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build mp3lame ARG MP3LAME_VER=3.100 ARG MP3LAME_REPO=https://sourceforge.net/projects/lame/files/lame/${MP3LAME_VER}/lame-${MP3LAME_VER}.tar.gz -RUN wget -O - ${MP3LAME_REPO} | tar xz; \ - cd lame-${MP3LAME_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared --enable-nasm; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${MP3LAME_REPO} | tar xz && \ + cd lame-${MP3LAME_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared --enable-nasm && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build fdk-aac ARG FDK_AAC_VER=v0.1.6 ARG FDK_AAC_REPO=https://github.com/mstorsjo/fdk-aac/archive/${FDK_AAC_VER}.tar.gz -RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac; \ - cd fdk-aac; \ - autoreconf -fiv; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac && \ + cd fdk-aac && \ + autoreconf -fiv && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -85,23 +85,23 @@ RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac; \ ARG OPUS_VER=1.2.1 ARG OPUS_REPO=https://archive.mozilla.org/pub/opus/opus-${OPUS_VER}.tar.gz -RUN wget -O - ${OPUS_REPO} | tar xz; \ - cd opus-${OPUS_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${OPUS_REPO} | tar xz && \ + cd opus-${OPUS_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build vpx ARG VPX_VER=tags/v1.7.0 ARG VPX_REPO=https://chromium.googlesource.com/webm/libvpx.git -RUN git clone ${VPX_REPO}; \ - cd libvpx; \ - git checkout ${VPX_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=nasm; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${VPX_REPO} && \ + cd libvpx && \ + git checkout ${VPX_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=nasm && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -109,25 +109,25 @@ RUN git clone ${VPX_REPO}; \ ARG AOM_VER=tags/v1.0.0 ARG AOM_REPO=https://aomedia.googlesource.com/aom -RUN git clone ${AOM_REPO}; \ - mkdir aom/aom_build; \ - cd aom/aom_build; \ - git checkout ${AOM_VER}; \ - cmake -DBUILD_SHARED_LIBS=ON -DENABLE_NASM=ON -DENABLE_TESTS=OFF -DENABLE_DOCS=OFF -DCMAKE_INSTALL_PREFIX="/usr" -DLIB_INSTALL_DIR=/usr/lib/x86_64-linux-gnu ..; \ - make -j8; \ - make install DESTDIR="/home/build"; \ +RUN git clone ${AOM_REPO} && \ + mkdir aom/aom_build && \ + cd aom/aom_build && \ + git checkout ${AOM_VER} && \ + cmake -DBUILD_SHARED_LIBS=ON -DENABLE_NASM=ON -DENABLE_TESTS=OFF -DENABLE_DOCS=OFF -DCMAKE_INSTALL_PREFIX="/usr" -DLIB_INSTALL_DIR=/usr/lib/x86_64-linux-gnu .. && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ make install # Build x264 ARG X264_VER=stable ARG X264_REPO=https://github.com/mirror/x264 -RUN git clone ${X264_REPO}; \ - cd x264; \ - git checkout ${X264_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared; \ - make -j8; \ - make install DESTDIR="/home/build"; \ +RUN git clone ${X264_REPO} && \ + cd x264 && \ + git checkout ${X264_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ make install @@ -137,24 +137,24 @@ ARG X265_REPO=https://github.com/videolan/x265/archive/${X265_VER}.tar.gz RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libnuma-dev -RUN wget -O - ${X265_REPO} | tar xz && mv x265-${X265_VER} x265; \ - cd x265/build/linux; \ - cmake -DBUILD_SHARED_LIBS=ON -DENABLE_TESTS=OFF -DCMAKE_INSTALL_PREFIX=/usr -DLIB_INSTALL_DIR=/usr/lib/x86_64-linux-gnu ../../source; \ - make -j8; \ - make install DESTDIR="/home/build"; \ +RUN wget -O - ${X265_REPO} | tar xz && mv x265-${X265_VER} x265 && \ + cd x265/build/linux && \ + cmake -DBUILD_SHARED_LIBS=ON -DENABLE_TESTS=OFF -DCMAKE_INSTALL_PREFIX=/usr -DLIB_INSTALL_DIR=/usr/lib/x86_64-linux-gnu ../../source && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ make install # Fetch SVT-HEVC ARG SVT_HEVC_VER=v1.3.0 ARG SVT_HEVC_REPO=https://github.com/intel/SVT-HEVC -RUN git clone ${SVT_HEVC_REPO}; \ - cd SVT-HEVC/Build/linux; \ - git checkout ${SVT_HEVC_VER}; \ - mkdir -p ../../Bin/Release; \ - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${SVT_HEVC_REPO} && \ + cd SVT-HEVC/Build/linux && \ + git checkout ${SVT_HEVC_VER} && \ + mkdir -p ../../Bin/Release && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -162,13 +162,13 @@ RUN git clone ${SVT_HEVC_REPO}; \ ARG SVT_AV1_VER=a39acb2 ARG SVT_AV1_REPO=https://github.com/OpenVisualCloud/SVT-AV1 -RUN git clone ${SVT_AV1_REPO}; \ - cd SVT-AV1/Build/linux; \ - git checkout ${SVT_AV1_VER}; \ - mkdir -p ../../Bin/Release; \ - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${SVT_AV1_REPO} && \ + cd SVT-AV1/Build/linux && \ + git checkout ${SVT_AV1_VER} && \ + mkdir -p ../../Bin/Release && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -176,13 +176,13 @@ RUN git clone ${SVT_AV1_REPO}; \ ARG SVT_VP9_VER=e92a57c ARG SVT_VP9_REPO=https://github.com/OpenVisualCloud/SVT-VP9 -RUN git clone ${SVT_VP9_REPO}; \ - cd SVT-VP9/Build/linux; \ - git checkout ${SVT_VP9_VER}; \ - mkdir -p ../../Bin/Release; \ - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${SVT_VP9_REPO} && \ + cd SVT-VP9/Build/linux && \ + git checkout ${SVT_VP9_VER} && \ + mkdir -p ../../Bin/Release && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Fetch gmmlib @@ -198,11 +198,11 @@ ARG LIBVA_REPO=https://github.com/intel/libva/archive/${LIBVA_VER}.tar.gz RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libdrm-dev libx11-dev xorg-dev libgl1-mesa-dev -RUN wget -O - ${LIBVA_REPO} | tar xz; \ - cd libva-${LIBVA_VER}; \ - ./autogen.sh --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${LIBVA_REPO} | tar xz && \ + cd libva-${LIBVA_VER} && \ + ./autogen.sh --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install; @@ -212,12 +212,12 @@ ARG MEDIA_DRIVER_REPO=https://github.com/VCDP/media-driver/archive/${MEDIA_DRIVE RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libdrm-dev libpciaccess-dev libx11-dev xorg-dev libgl1-mesa-dev -RUN wget -O - ${MEDIA_DRIVER_REPO} | tar xz && mv media-driver-${MEDIA_DRIVER_VER} media-driver; \ - mkdir -p media-driver/build; \ - cd media-driver/build; \ - cmake -DBUILD_TYPE=release -DBUILD_ALONG_WITH_CMRTLIB=1 -DMEDIA_VERSION="2.0.0" -DBS_DIR_GMMLIB=/home/gmmlib/Source/GmmLib -DBS_DIR_COMMON=/home/gmmlib/Source/Common -DBS_DIR_INC=/home/gmmlib/Source/inc -DBS_DIR_MEDIA=/home/media-driver -Wno-dev -DCMAKE_INSTALL_PREFIX=/usr ..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${MEDIA_DRIVER_REPO} | tar xz && mv media-driver-${MEDIA_DRIVER_VER} media-driver && \ + mkdir -p media-driver/build && \ + cd media-driver/build && \ + cmake -DBUILD_TYPE=release -DBUILD_ALONG_WITH_CMRTLIB=1 -DMEDIA_VERSION="2.0.0" -DBS_DIR_GMMLIB=/home/gmmlib/Source/GmmLib -DBS_DIR_COMMON=/home/gmmlib/Source/Common -DBS_DIR_INC=/home/gmmlib/Source/inc -DBS_DIR_MEDIA=/home/media-driver -Wno-dev -DCMAKE_INSTALL_PREFIX=/usr .. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -226,58 +226,58 @@ RUN wget -O - ${MEDIA_DRIVER_REPO} | tar xz && mv media-driver-${MEDIA_DRIVER_VE ARG GST_VER=1.14.4 ARG GST_REPO=https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${GST_VER}.tar.xz -RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libglib2.0-dev -RUN wget -O - ${GST_REPO} | tar xJ; \ - cd gstreamer-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples --disable-gst-debug --disable-debug --disable-benchmarks --disable-check; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libglib2.0-dev autopoint gtk-doc-tools +RUN wget -O - ${GST_REPO} | tar xJ && \ + cd gstreamer-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples --disable-gst-debug --disable-debug --disable-benchmarks --disable-check && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin base ARG GST_PLUGIN_BASE_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_BASE_REPO} | tar xJ; \ - cd gst-plugins-base-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples --disable-debug; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${GST_PLUGIN_BASE_REPO} | tar xJ && \ + cd gst-plugins-base-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples --disable-debug && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin good set ARG GST_PLUGIN_GOOD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_GOOD_REPO} | tar xJ; \ - cd gst-plugins-good-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples --disable-debug; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${GST_PLUGIN_GOOD_REPO} | tar xJ && \ + cd gst-plugins-good-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples --disable-debug && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin bad set ARG GST_PLUGIN_BAD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_BAD_REPO} | tar xJ; \ - cd gst-plugins-bad-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples --disable-debug; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${GST_PLUGIN_BAD_REPO} | tar xJ && \ + cd gst-plugins-bad-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples --disable-debug && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin ugly set ARG GST_PLUGIN_UGLY_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_UGLY_REPO} | tar xJ; \ - cd gst-plugins-ugly-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples --disable-debug; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${GST_PLUGIN_UGLY_REPO} | tar xJ && \ + cd gst-plugins-ugly-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples --disable-debug && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build gst-libav @@ -285,10 +285,10 @@ ARG GST_PLUGIN_LIBAV_REPO=https://gstreamer.freedesktop.org/src/gst-libav/gst-li RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends zlib1g-dev libssl-dev -RUN wget -O - ${GST_PLUGIN_LIBAV_REPO} | tar xJ; \ - cd gst-libav-${GST_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared --enable-gpl; \ - make -j8; \ +RUN wget -O - ${GST_PLUGIN_LIBAV_REPO} | tar xJ && \ + cd gst-libav-${GST_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared --enable-gpl && \ + make -j8 && \ make install DESTDIR="/home/build" @@ -308,10 +308,10 @@ RUN wget -O - ${GST_PLUGIN_VAAPI_REPO} | tar xJ; \ # Clean up after build -RUN rm -rf /home/build/usr/include; \ - rm -rf /home/build/usr/share/doc; \ - rm -rf /home/build/usr/share/gtk-doc; \ - rm -rf /home/build/usr/share/man; \ +RUN rm -rf /home/build/usr/include && \ + rm -rf /home/build/usr/share/doc && \ + rm -rf /home/build/usr/share/gtk-doc && \ + rm -rf /home/build/usr/share/man && \ find /home/build -name "*.a" -exec rm -f {} \; FROM ubuntu:16.04 diff --git a/XeonE3/ubuntu-16.04/nginx+rtmp/Dockerfile b/XeonE3/ubuntu-16.04/nginx+rtmp/Dockerfile index ac2bf9f40..cca7b6c1b 100644 --- a/XeonE3/ubuntu-16.04/nginx+rtmp/Dockerfile +++ b/XeonE3/ubuntu-16.04/nginx+rtmp/Dockerfile @@ -8,10 +8,10 @@ RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no- # Install cmake ARG CMAKE_VER=3.13.1 ARG CMAKE_REPO=https://cmake.org/files -RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz; \ - cd cmake-${CMAKE_VER}; \ - ./bootstrap --prefix="/usr"; \ - make -j8; \ +RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz && \ + cd cmake-${CMAKE_VER} && \ + ./bootstrap --prefix="/usr" && \ + make -j8 && \ make install @@ -21,11 +21,11 @@ ARG NGINX_RTMP_REPO=https://github.com/arut/nginx-rtmp-module/archive/${NGINX_RT ARG NGINX_RTMP_PATCH_HLS=https://raw.githubusercontent.com/VCDP/CDN/master/0001-add-hevc-support-for-rtmp-and-hls.patch ARG NGINX_RTMP_PATCH_DASH=https://raw.githubusercontent.com/VCDP/CDN/master/0002-add-HEVC-support-for-dash.patch -RUN wget -O - ${NGINX_RTMP_REPO} | tar xz && mv nginx-rtmp-module-${NGINX_RTMP_VER#v} nginx-rtmp-module; \ - cd nginx-rtmp-module; \ - mkdir -p /home/build/var/www/html; \ - cp -f stat.xsl /home/build/var/www/html; \ - wget -O - ${NGINX_RTMP_PATCH_HLS} | patch -p1; \ +RUN wget -O - ${NGINX_RTMP_REPO} | tar xz && mv nginx-rtmp-module-${NGINX_RTMP_VER#v} nginx-rtmp-module && \ + cd nginx-rtmp-module && \ + mkdir -p /home/build/var/www/html && \ + cp -f stat.xsl /home/build/var/www/html && \ + wget -O - ${NGINX_RTMP_PATCH_HLS} | patch -p1 && \ wget -O - ${NGINX_RTMP_PATCH_DASH} | patch -p1; # Build nginx & nginx-rtmp @@ -34,21 +34,21 @@ ARG NGINX_REPO=https://nginx.org/download/nginx-${NGINX_VER}.tar.gz RUN apt-get update && apt-get install -y -q --no-install-recommends libssl-dev libpcre3-dev zlib1g-dev libxslt1-dev -RUN wget -O - ${NGINX_REPO} | tar xz; \ - cd nginx-${NGINX_VER}; \ - ./configure --prefix=/var/www --sbin-path=/usr/sbin/nginx --modules-path=/usr/lib/x86_64-linux-gnu/nginx/modules --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/www/log/error.log --pid-path=/var/www/nginx.pid --lock-path=/var/www/nginx.lock --http-log-path=/var/www/log/access.log --http-client-body-temp-path=/var/www/tmp/client_body --http-proxy-temp-path=/var/www/tmp/proxy --http-fastcgi-temp-path=/var/www/tmp/fastcgi --http-uwsgi-temp-path=/var/www/tmp/uwsgi --http-scgi-temp-path=/var/www/tmp/scgi --user=www-data --group=www-data --with-select_module --with-poll_module --with-threads --with-file-aio --with-http_ssl_module --with-http_v2_module --with-http_realip_module --with-http_addition_module --with-http_xslt_module --with-http_sub_module --with-http_dav_module --with-http_flv_module --with-http_mp4_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_auth_request_module --with-http_random_index_module --with-http_secure_link_module --with-http_degradation_module --with-http_slice_module --with-http_stub_status_module --with-stream --with-stream_ssl_module --with-stream_realip_module --with-stream_ssl_preread_module --with-pcre --add-module=../nginx-rtmp-module ; \ - make -j8; \ +RUN wget -O - ${NGINX_REPO} | tar xz && \ + cd nginx-${NGINX_VER} && \ + ./configure --prefix=/var/www --sbin-path=/usr/sbin/nginx --modules-path=/usr/lib/x86_64-linux-gnu/nginx/modules --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/www/log/error.log --pid-path=/var/www/nginx.pid --lock-path=/var/www/nginx.lock --http-log-path=/var/www/log/access.log --http-client-body-temp-path=/var/www/tmp/client_body --http-proxy-temp-path=/var/www/tmp/proxy --http-fastcgi-temp-path=/var/www/tmp/fastcgi --http-uwsgi-temp-path=/var/www/tmp/uwsgi --http-scgi-temp-path=/var/www/tmp/scgi --user=www-data --group=www-data --with-select_module --with-poll_module --with-threads --with-file-aio --with-http_ssl_module --with-http_v2_module --with-http_realip_module --with-http_addition_module --with-http_xslt_module --with-http_sub_module --with-http_dav_module --with-http_flv_module --with-http_mp4_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_auth_request_module --with-http_random_index_module --with-http_secure_link_module --with-http_degradation_module --with-http_slice_module --with-http_stub_status_module --with-stream --with-stream_ssl_module --with-stream_realip_module --with-stream_ssl_preread_module --with-pcre --add-module=../nginx-rtmp-module && \ + make -j8 && \ make install DESTDIR=/home/build; # NGINX Setup COPY nginx.conf /home/build/etc/nginx -RUN mkdir -p /home/build/var/www/tmp/client_body; \ - mkdir -p /home/build/var/www/tmp/proxy; \ - mkdir -p /home/build/var/www/tmp/fastcgi; \ - mkdir -p /home/build/var/www/tmp/uwsgi; \ - mkdir -p /home/build/var/www/tmp/scgi; \ - mkdir -p /home/build/var/www/cache; \ - mkdir -p /home/build/var/www/html; \ +RUN mkdir -p /home/build/var/www/tmp/client_body && \ + mkdir -p /home/build/var/www/tmp/proxy && \ + mkdir -p /home/build/var/www/tmp/fastcgi && \ + mkdir -p /home/build/var/www/tmp/uwsgi && \ + mkdir -p /home/build/var/www/tmp/scgi && \ + mkdir -p /home/build/var/www/cache && \ + mkdir -p /home/build/var/www/html && \ touch /home/build/var/www/html/index.html; diff --git a/XeonE3/ubuntu-18.04/ffmpeg+gst+dev/Dockerfile b/XeonE3/ubuntu-18.04/ffmpeg+gst+dev/Dockerfile index 04521877d..9e37eb860 100644 --- a/XeonE3/ubuntu-18.04/ffmpeg+gst+dev/Dockerfile +++ b/XeonE3/ubuntu-18.04/ffmpeg+gst+dev/Dockerfile @@ -8,76 +8,76 @@ RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no- # Install cmake ARG CMAKE_VER=3.13.1 ARG CMAKE_REPO=https://cmake.org/files -RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz; \ - cd cmake-${CMAKE_VER}; \ - ./bootstrap --prefix="/usr"; \ - make -j8; \ +RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz && \ + cd cmake-${CMAKE_VER} && \ + ./bootstrap --prefix="/usr" && \ + make -j8 && \ make install # Build NASM ARG NASM_VER=2.13.03 ARG NASM_REPO=https://www.nasm.us/pub/nasm/releasebuilds/${NASM_VER}/nasm-${NASM_VER}.tar.bz2 -RUN wget ${NASM_REPO}; \ - tar -xaf nasm*; \ - cd nasm-${NASM_VER}; \ - ./autogen.sh; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu; \ - make -j8; \ +RUN wget ${NASM_REPO} && \ + tar -xaf nasm* && \ + cd nasm-${NASM_VER} && \ + ./autogen.sh && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu && \ + make -j8 && \ make install # Build YASM ARG YASM_VER=1.3.0 ARG YASM_REPO=https://www.tortall.net/projects/yasm/releases/yasm-${YASM_VER}.tar.gz -RUN wget -O - ${YASM_REPO} | tar xz; \ - cd yasm-${YASM_VER}; \ - sed -i "s/) ytasm.*/)/" Makefile.in; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu; \ - make -j8; \ +RUN wget -O - ${YASM_REPO} | tar xz && \ + cd yasm-${YASM_VER} && \ + sed -i "s/) ytasm.*/)/" Makefile.in && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu && \ + make -j8 && \ make install # Build ogg ARG OGG_VER=1.3.3 ARG OGG_REPO=https://downloads.xiph.org/releases/ogg/libogg-${OGG_VER}.tar.xz -RUN wget -O - ${OGG_REPO} | tar xJ; \ - cd libogg-${OGG_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${OGG_REPO} | tar xJ && \ + cd libogg-${OGG_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build vorbis ARG VORBIS_VER=1.3.6 ARG VORBIS_REPO=https://downloads.xiph.org/releases/vorbis/libvorbis-${VORBIS_VER}.tar.xz -RUN wget -O - ${VORBIS_REPO} | tar xJ; \ - cd libvorbis-${VORBIS_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${VORBIS_REPO} | tar xJ && \ + cd libvorbis-${VORBIS_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build mp3lame ARG MP3LAME_VER=3.100 ARG MP3LAME_REPO=https://sourceforge.net/projects/lame/files/lame/${MP3LAME_VER}/lame-${MP3LAME_VER}.tar.gz -RUN wget -O - ${MP3LAME_REPO} | tar xz; \ - cd lame-${MP3LAME_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared --enable-nasm; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${MP3LAME_REPO} | tar xz && \ + cd lame-${MP3LAME_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared --enable-nasm && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build fdk-aac ARG FDK_AAC_VER=v0.1.6 ARG FDK_AAC_REPO=https://github.com/mstorsjo/fdk-aac/archive/${FDK_AAC_VER}.tar.gz -RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac; \ - cd fdk-aac; \ - autoreconf -fiv; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac && \ + cd fdk-aac && \ + autoreconf -fiv && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -85,23 +85,23 @@ RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac; \ ARG OPUS_VER=1.2.1 ARG OPUS_REPO=https://archive.mozilla.org/pub/opus/opus-${OPUS_VER}.tar.gz -RUN wget -O - ${OPUS_REPO} | tar xz; \ - cd opus-${OPUS_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${OPUS_REPO} | tar xz && \ + cd opus-${OPUS_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build vpx ARG VPX_VER=tags/v1.7.0 ARG VPX_REPO=https://chromium.googlesource.com/webm/libvpx.git -RUN git clone ${VPX_REPO}; \ - cd libvpx; \ - git checkout ${VPX_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=nasm; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${VPX_REPO} && \ + cd libvpx && \ + git checkout ${VPX_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=nasm && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -109,25 +109,25 @@ RUN git clone ${VPX_REPO}; \ ARG AOM_VER=tags/v1.0.0 ARG AOM_REPO=https://aomedia.googlesource.com/aom -RUN git clone ${AOM_REPO}; \ - mkdir aom/aom_build; \ - cd aom/aom_build; \ - git checkout ${AOM_VER}; \ - cmake -DBUILD_SHARED_LIBS=ON -DENABLE_NASM=ON -DENABLE_TESTS=OFF -DENABLE_DOCS=OFF -DCMAKE_INSTALL_PREFIX="/usr" -DLIB_INSTALL_DIR=/usr/lib/x86_64-linux-gnu ..; \ - make -j8; \ - make install DESTDIR="/home/build"; \ +RUN git clone ${AOM_REPO} && \ + mkdir aom/aom_build && \ + cd aom/aom_build && \ + git checkout ${AOM_VER} && \ + cmake -DBUILD_SHARED_LIBS=ON -DENABLE_NASM=ON -DENABLE_TESTS=OFF -DENABLE_DOCS=OFF -DCMAKE_INSTALL_PREFIX="/usr" -DLIB_INSTALL_DIR=/usr/lib/x86_64-linux-gnu .. && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ make install # Build x264 ARG X264_VER=stable ARG X264_REPO=https://github.com/mirror/x264 -RUN git clone ${X264_REPO}; \ - cd x264; \ - git checkout ${X264_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared; \ - make -j8; \ - make install DESTDIR="/home/build"; \ +RUN git clone ${X264_REPO} && \ + cd x264 && \ + git checkout ${X264_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ make install @@ -137,24 +137,24 @@ ARG X265_REPO=https://github.com/videolan/x265/archive/${X265_VER}.tar.gz RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libnuma-dev -RUN wget -O - ${X265_REPO} | tar xz && mv x265-${X265_VER} x265; \ - cd x265/build/linux; \ - cmake -DBUILD_SHARED_LIBS=ON -DENABLE_TESTS=OFF -DCMAKE_INSTALL_PREFIX=/usr -DLIB_INSTALL_DIR=/usr/lib/x86_64-linux-gnu ../../source; \ - make -j8; \ - make install DESTDIR="/home/build"; \ +RUN wget -O - ${X265_REPO} | tar xz && mv x265-${X265_VER} x265 && \ + cd x265/build/linux && \ + cmake -DBUILD_SHARED_LIBS=ON -DENABLE_TESTS=OFF -DCMAKE_INSTALL_PREFIX=/usr -DLIB_INSTALL_DIR=/usr/lib/x86_64-linux-gnu ../../source && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ make install # Fetch SVT-HEVC ARG SVT_HEVC_VER=v1.3.0 ARG SVT_HEVC_REPO=https://github.com/intel/SVT-HEVC -RUN git clone ${SVT_HEVC_REPO}; \ - cd SVT-HEVC/Build/linux; \ - git checkout ${SVT_HEVC_VER}; \ - mkdir -p ../../Bin/Release; \ - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${SVT_HEVC_REPO} && \ + cd SVT-HEVC/Build/linux && \ + git checkout ${SVT_HEVC_VER} && \ + mkdir -p ../../Bin/Release && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -162,13 +162,13 @@ RUN git clone ${SVT_HEVC_REPO}; \ ARG SVT_AV1_VER=a39acb2 ARG SVT_AV1_REPO=https://github.com/OpenVisualCloud/SVT-AV1 -RUN git clone ${SVT_AV1_REPO}; \ - cd SVT-AV1/Build/linux; \ - git checkout ${SVT_AV1_VER}; \ - mkdir -p ../../Bin/Release; \ - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${SVT_AV1_REPO} && \ + cd SVT-AV1/Build/linux && \ + git checkout ${SVT_AV1_VER} && \ + mkdir -p ../../Bin/Release && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -176,13 +176,13 @@ RUN git clone ${SVT_AV1_REPO}; \ ARG SVT_VP9_VER=e92a57c ARG SVT_VP9_REPO=https://github.com/OpenVisualCloud/SVT-VP9 -RUN git clone ${SVT_VP9_REPO}; \ - cd SVT-VP9/Build/linux; \ - git checkout ${SVT_VP9_VER}; \ - mkdir -p ../../Bin/Release; \ - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${SVT_VP9_REPO} && \ + cd SVT-VP9/Build/linux && \ + git checkout ${SVT_VP9_VER} && \ + mkdir -p ../../Bin/Release && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install #include(transform360.m4) @@ -199,11 +199,11 @@ ARG LIBVA_REPO=https://github.com/intel/libva/archive/${LIBVA_VER}.tar.gz RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libdrm-dev libx11-dev xorg-dev libgl1-mesa-dev -RUN wget -O - ${LIBVA_REPO} | tar xz; \ - cd libva-${LIBVA_VER}; \ - ./autogen.sh --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${LIBVA_REPO} | tar xz && \ + cd libva-${LIBVA_VER} && \ + ./autogen.sh --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install; @@ -213,12 +213,12 @@ ARG MEDIA_DRIVER_REPO=https://github.com/VCDP/media-driver/archive/${MEDIA_DRIVE RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libdrm-dev libpciaccess-dev libx11-dev xorg-dev libgl1-mesa-dev -RUN wget -O - ${MEDIA_DRIVER_REPO} | tar xz && mv media-driver-${MEDIA_DRIVER_VER} media-driver; \ - mkdir -p media-driver/build; \ - cd media-driver/build; \ - cmake -DBUILD_TYPE=release -DBUILD_ALONG_WITH_CMRTLIB=1 -DMEDIA_VERSION="2.0.0" -DBS_DIR_GMMLIB=/home/gmmlib/Source/GmmLib -DBS_DIR_COMMON=/home/gmmlib/Source/Common -DBS_DIR_INC=/home/gmmlib/Source/inc -DBS_DIR_MEDIA=/home/media-driver -Wno-dev -DCMAKE_INSTALL_PREFIX=/usr ..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${MEDIA_DRIVER_REPO} | tar xz && mv media-driver-${MEDIA_DRIVER_VER} media-driver && \ + mkdir -p media-driver/build && \ + cd media-driver/build && \ + cmake -DBUILD_TYPE=release -DBUILD_ALONG_WITH_CMRTLIB=1 -DMEDIA_VERSION="2.0.0" -DBS_DIR_GMMLIB=/home/gmmlib/Source/GmmLib -DBS_DIR_COMMON=/home/gmmlib/Source/Common -DBS_DIR_INC=/home/gmmlib/Source/inc -DBS_DIR_MEDIA=/home/media-driver -Wno-dev -DCMAKE_INSTALL_PREFIX=/usr .. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -227,12 +227,12 @@ RUN wget -O - ${MEDIA_DRIVER_REPO} | tar xz && mv media-driver-${MEDIA_DRIVER_VE ARG MSDK_VER=MSS-KBL-2019-R1 ARG MSDK_REPO=https://github.com/Intel-Media-SDK/MediaSDK/archive/${MSDK_VER}.tar.gz -RUN wget -O - ${MSDK_REPO} | tar xz && mv MediaSDK-${MSDK_VER} MediaSDK; \ - mkdir -p MediaSDK/build; \ - cd MediaSDK/build; \ - cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_INCLUDEDIR=include/mfx -DBUILD_SAMPLES=OFF -DENABLE_OPENCL=OFF -Wno-dev ..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${MSDK_REPO} | tar xz && mv MediaSDK-${MSDK_VER} MediaSDK && \ + mkdir -p MediaSDK/build && \ + cd MediaSDK/build && \ + cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_INCLUDEDIR=include/mfx -DBUILD_SAMPLES=OFF -DENABLE_OPENCL=OFF -Wno-dev .. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install; # Build DLDT-Inference Engine @@ -275,58 +275,58 @@ ARG GST_VER=1.14.4 ARG GST_REPO=https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${GST_VER}.tar.xz RUN ln -sf /usr/share/zoneinfo/UTC /etc/localtime; \ - DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libglib2.0-dev -RUN wget -O - ${GST_REPO} | tar xJ; \ - cd gstreamer-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples ; \ - make -j8; \ - make install DESTDIR=/home/build; \ + DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libglib2.0-dev autopoint gtk-doc-tools +RUN wget -O - ${GST_REPO} | tar xJ && \ + cd gstreamer-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin base ARG GST_PLUGIN_BASE_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_BASE_REPO} | tar xJ; \ - cd gst-plugins-base-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples ; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${GST_PLUGIN_BASE_REPO} | tar xJ && \ + cd gst-plugins-base-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin good set ARG GST_PLUGIN_GOOD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_GOOD_REPO} | tar xJ; \ - cd gst-plugins-good-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples ; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${GST_PLUGIN_GOOD_REPO} | tar xJ && \ + cd gst-plugins-good-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin bad set ARG GST_PLUGIN_BAD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_BAD_REPO} | tar xJ; \ - cd gst-plugins-bad-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples ; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${GST_PLUGIN_BAD_REPO} | tar xJ && \ + cd gst-plugins-bad-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin ugly set ARG GST_PLUGIN_UGLY_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_UGLY_REPO} | tar xJ; \ - cd gst-plugins-ugly-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples ; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${GST_PLUGIN_UGLY_REPO} | tar xJ && \ + cd gst-plugins-ugly-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build gst-libav @@ -334,10 +334,10 @@ ARG GST_PLUGIN_LIBAV_REPO=https://gstreamer.freedesktop.org/src/gst-libav/gst-li RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends zlib1g-dev libssl-dev -RUN wget -O - ${GST_PLUGIN_LIBAV_REPO} | tar xJ; \ - cd gst-libav-${GST_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared --enable-gpl; \ - make -j8; \ +RUN wget -O - ${GST_PLUGIN_LIBAV_REPO} | tar xJ && \ + cd gst-libav-${GST_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared --enable-gpl && \ + make -j8 && \ make install DESTDIR="/home/build" @@ -364,20 +364,20 @@ ARG FFMPEG_1TN_PATCH_REPO=https://patchwork.ffmpeg.org/patch/11625/raw ARG FFMPEG_THREAD_PATCH_REPO=https://patchwork.ffmpeg.org/patch/11035/raw RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libass-dev libfreetype6-dev libvdpau-dev libsdl2-dev libxcb1-dev libxcb-shm0-dev libxcb-xfixes0-dev texinfo zlib1g-dev libssl-dev -RUN wget -O - ${FFMPEG_REPO} | tar xz && mv FFmpeg-${FFMPEG_VER} FFmpeg; \ - cd FFmpeg; \ - wget -O - ${FFMPEG_FLV_PATCH_REPO} | patch -p1; \ - wget -O - ${FFMPEG_1TN_PATCH_REPO} | patch -p1; \ +RUN wget -O - ${FFMPEG_REPO} | tar xz && mv FFmpeg-${FFMPEG_VER} FFmpeg && \ + cd FFmpeg && \ + wget -O - ${FFMPEG_FLV_PATCH_REPO} | patch -p1 && \ + wget -O - ${FFMPEG_1TN_PATCH_REPO} | patch -p1 && \ wget -O - ${FFMPEG_THREAD_PATCH_REPO} | patch -p1; # Patch FFmpeg source for SVT-HEVC -RUN cd /home/FFmpeg; \ +RUN cd /home/FFmpeg && \ patch -p1 < ../SVT-HEVC/ffmpeg_plugin/0001-lavc-svt_hevc-add-libsvt-hevc-encoder-wrapper.patch; # Compile FFmpeg -RUN cd /home/FFmpeg; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --extra-libs="-lpthread -lm" --enable-shared --enable-gpl --enable-libass --enable-libfreetype --enable-openssl --enable-nonfree --enable-libdrm --enable-libmfx --enable-libfdk-aac --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-libaom --enable-libsvthevc ; \ - make -j8; \ +RUN cd /home/FFmpeg && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --extra-libs="-lpthread -lm" --enable-shared --enable-gpl --enable-libass --enable-libfreetype --enable-openssl --enable-nonfree --enable-libdrm --enable-libmfx --enable-libfdk-aac --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-libaom --enable-libsvthevc && \ + make -j8 && \ make install DESTDIR="/home/build" diff --git a/XeonE3/ubuntu-18.04/ffmpeg/Dockerfile b/XeonE3/ubuntu-18.04/ffmpeg/Dockerfile index cb52c9c99..b5f5dea38 100644 --- a/XeonE3/ubuntu-18.04/ffmpeg/Dockerfile +++ b/XeonE3/ubuntu-18.04/ffmpeg/Dockerfile @@ -8,76 +8,76 @@ RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no- # Install cmake ARG CMAKE_VER=3.13.1 ARG CMAKE_REPO=https://cmake.org/files -RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz; \ - cd cmake-${CMAKE_VER}; \ - ./bootstrap --prefix="/usr"; \ - make -j8; \ +RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz && \ + cd cmake-${CMAKE_VER} && \ + ./bootstrap --prefix="/usr" && \ + make -j8 && \ make install # Build NASM ARG NASM_VER=2.13.03 ARG NASM_REPO=https://www.nasm.us/pub/nasm/releasebuilds/${NASM_VER}/nasm-${NASM_VER}.tar.bz2 -RUN wget ${NASM_REPO}; \ - tar -xaf nasm*; \ - cd nasm-${NASM_VER}; \ - ./autogen.sh; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu; \ - make -j8; \ +RUN wget ${NASM_REPO} && \ + tar -xaf nasm* && \ + cd nasm-${NASM_VER} && \ + ./autogen.sh && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu && \ + make -j8 && \ make install # Build YASM ARG YASM_VER=1.3.0 ARG YASM_REPO=https://www.tortall.net/projects/yasm/releases/yasm-${YASM_VER}.tar.gz -RUN wget -O - ${YASM_REPO} | tar xz; \ - cd yasm-${YASM_VER}; \ - sed -i "s/) ytasm.*/)/" Makefile.in; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu; \ - make -j8; \ +RUN wget -O - ${YASM_REPO} | tar xz && \ + cd yasm-${YASM_VER} && \ + sed -i "s/) ytasm.*/)/" Makefile.in && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu && \ + make -j8 && \ make install # Build ogg ARG OGG_VER=1.3.3 ARG OGG_REPO=https://downloads.xiph.org/releases/ogg/libogg-${OGG_VER}.tar.xz -RUN wget -O - ${OGG_REPO} | tar xJ; \ - cd libogg-${OGG_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${OGG_REPO} | tar xJ && \ + cd libogg-${OGG_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build vorbis ARG VORBIS_VER=1.3.6 ARG VORBIS_REPO=https://downloads.xiph.org/releases/vorbis/libvorbis-${VORBIS_VER}.tar.xz -RUN wget -O - ${VORBIS_REPO} | tar xJ; \ - cd libvorbis-${VORBIS_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${VORBIS_REPO} | tar xJ && \ + cd libvorbis-${VORBIS_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build mp3lame ARG MP3LAME_VER=3.100 ARG MP3LAME_REPO=https://sourceforge.net/projects/lame/files/lame/${MP3LAME_VER}/lame-${MP3LAME_VER}.tar.gz -RUN wget -O - ${MP3LAME_REPO} | tar xz; \ - cd lame-${MP3LAME_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared --enable-nasm; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${MP3LAME_REPO} | tar xz && \ + cd lame-${MP3LAME_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared --enable-nasm && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build fdk-aac ARG FDK_AAC_VER=v0.1.6 ARG FDK_AAC_REPO=https://github.com/mstorsjo/fdk-aac/archive/${FDK_AAC_VER}.tar.gz -RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac; \ - cd fdk-aac; \ - autoreconf -fiv; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac && \ + cd fdk-aac && \ + autoreconf -fiv && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -85,23 +85,23 @@ RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac; \ ARG OPUS_VER=1.2.1 ARG OPUS_REPO=https://archive.mozilla.org/pub/opus/opus-${OPUS_VER}.tar.gz -RUN wget -O - ${OPUS_REPO} | tar xz; \ - cd opus-${OPUS_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${OPUS_REPO} | tar xz && \ + cd opus-${OPUS_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build vpx ARG VPX_VER=tags/v1.7.0 ARG VPX_REPO=https://chromium.googlesource.com/webm/libvpx.git -RUN git clone ${VPX_REPO}; \ - cd libvpx; \ - git checkout ${VPX_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=nasm; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${VPX_REPO} && \ + cd libvpx && \ + git checkout ${VPX_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=nasm && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -109,25 +109,25 @@ RUN git clone ${VPX_REPO}; \ ARG AOM_VER=tags/v1.0.0 ARG AOM_REPO=https://aomedia.googlesource.com/aom -RUN git clone ${AOM_REPO}; \ - mkdir aom/aom_build; \ - cd aom/aom_build; \ - git checkout ${AOM_VER}; \ - cmake -DBUILD_SHARED_LIBS=ON -DENABLE_NASM=ON -DENABLE_TESTS=OFF -DENABLE_DOCS=OFF -DCMAKE_INSTALL_PREFIX="/usr" -DLIB_INSTALL_DIR=/usr/lib/x86_64-linux-gnu ..; \ - make -j8; \ - make install DESTDIR="/home/build"; \ +RUN git clone ${AOM_REPO} && \ + mkdir aom/aom_build && \ + cd aom/aom_build && \ + git checkout ${AOM_VER} && \ + cmake -DBUILD_SHARED_LIBS=ON -DENABLE_NASM=ON -DENABLE_TESTS=OFF -DENABLE_DOCS=OFF -DCMAKE_INSTALL_PREFIX="/usr" -DLIB_INSTALL_DIR=/usr/lib/x86_64-linux-gnu .. && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ make install # Build x264 ARG X264_VER=stable ARG X264_REPO=https://github.com/mirror/x264 -RUN git clone ${X264_REPO}; \ - cd x264; \ - git checkout ${X264_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared; \ - make -j8; \ - make install DESTDIR="/home/build"; \ +RUN git clone ${X264_REPO} && \ + cd x264 && \ + git checkout ${X264_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ make install @@ -137,24 +137,24 @@ ARG X265_REPO=https://github.com/videolan/x265/archive/${X265_VER}.tar.gz RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libnuma-dev -RUN wget -O - ${X265_REPO} | tar xz && mv x265-${X265_VER} x265; \ - cd x265/build/linux; \ - cmake -DBUILD_SHARED_LIBS=ON -DENABLE_TESTS=OFF -DCMAKE_INSTALL_PREFIX=/usr -DLIB_INSTALL_DIR=/usr/lib/x86_64-linux-gnu ../../source; \ - make -j8; \ - make install DESTDIR="/home/build"; \ +RUN wget -O - ${X265_REPO} | tar xz && mv x265-${X265_VER} x265 && \ + cd x265/build/linux && \ + cmake -DBUILD_SHARED_LIBS=ON -DENABLE_TESTS=OFF -DCMAKE_INSTALL_PREFIX=/usr -DLIB_INSTALL_DIR=/usr/lib/x86_64-linux-gnu ../../source && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ make install # Fetch SVT-HEVC ARG SVT_HEVC_VER=v1.3.0 ARG SVT_HEVC_REPO=https://github.com/intel/SVT-HEVC -RUN git clone ${SVT_HEVC_REPO}; \ - cd SVT-HEVC/Build/linux; \ - git checkout ${SVT_HEVC_VER}; \ - mkdir -p ../../Bin/Release; \ - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${SVT_HEVC_REPO} && \ + cd SVT-HEVC/Build/linux && \ + git checkout ${SVT_HEVC_VER} && \ + mkdir -p ../../Bin/Release && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -162,13 +162,13 @@ RUN git clone ${SVT_HEVC_REPO}; \ ARG SVT_AV1_VER=a39acb2 ARG SVT_AV1_REPO=https://github.com/OpenVisualCloud/SVT-AV1 -RUN git clone ${SVT_AV1_REPO}; \ - cd SVT-AV1/Build/linux; \ - git checkout ${SVT_AV1_VER}; \ - mkdir -p ../../Bin/Release; \ - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${SVT_AV1_REPO} && \ + cd SVT-AV1/Build/linux && \ + git checkout ${SVT_AV1_VER} && \ + mkdir -p ../../Bin/Release && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -176,13 +176,13 @@ RUN git clone ${SVT_AV1_REPO}; \ ARG SVT_VP9_VER=e92a57c ARG SVT_VP9_REPO=https://github.com/OpenVisualCloud/SVT-VP9 -RUN git clone ${SVT_VP9_REPO}; \ - cd SVT-VP9/Build/linux; \ - git checkout ${SVT_VP9_VER}; \ - mkdir -p ../../Bin/Release; \ - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${SVT_VP9_REPO} && \ + cd SVT-VP9/Build/linux && \ + git checkout ${SVT_VP9_VER} && \ + mkdir -p ../../Bin/Release && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install #include(transform360.m4) @@ -199,11 +199,11 @@ ARG LIBVA_REPO=https://github.com/intel/libva/archive/${LIBVA_VER}.tar.gz RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libdrm-dev libx11-dev xorg-dev libgl1-mesa-dev -RUN wget -O - ${LIBVA_REPO} | tar xz; \ - cd libva-${LIBVA_VER}; \ - ./autogen.sh --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${LIBVA_REPO} | tar xz && \ + cd libva-${LIBVA_VER} && \ + ./autogen.sh --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install; @@ -213,12 +213,12 @@ ARG MEDIA_DRIVER_REPO=https://github.com/VCDP/media-driver/archive/${MEDIA_DRIVE RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libdrm-dev libpciaccess-dev libx11-dev xorg-dev libgl1-mesa-dev -RUN wget -O - ${MEDIA_DRIVER_REPO} | tar xz && mv media-driver-${MEDIA_DRIVER_VER} media-driver; \ - mkdir -p media-driver/build; \ - cd media-driver/build; \ - cmake -DBUILD_TYPE=release -DBUILD_ALONG_WITH_CMRTLIB=1 -DMEDIA_VERSION="2.0.0" -DBS_DIR_GMMLIB=/home/gmmlib/Source/GmmLib -DBS_DIR_COMMON=/home/gmmlib/Source/Common -DBS_DIR_INC=/home/gmmlib/Source/inc -DBS_DIR_MEDIA=/home/media-driver -Wno-dev -DCMAKE_INSTALL_PREFIX=/usr ..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${MEDIA_DRIVER_REPO} | tar xz && mv media-driver-${MEDIA_DRIVER_VER} media-driver && \ + mkdir -p media-driver/build && \ + cd media-driver/build && \ + cmake -DBUILD_TYPE=release -DBUILD_ALONG_WITH_CMRTLIB=1 -DMEDIA_VERSION="2.0.0" -DBS_DIR_GMMLIB=/home/gmmlib/Source/GmmLib -DBS_DIR_COMMON=/home/gmmlib/Source/Common -DBS_DIR_INC=/home/gmmlib/Source/inc -DBS_DIR_MEDIA=/home/media-driver -Wno-dev -DCMAKE_INSTALL_PREFIX=/usr .. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -227,14 +227,14 @@ RUN wget -O - ${MEDIA_DRIVER_REPO} | tar xz && mv media-driver-${MEDIA_DRIVER_VE ARG MSDK_VER=MSS-KBL-2019-R1 ARG MSDK_REPO=https://github.com/Intel-Media-SDK/MediaSDK/archive/${MSDK_VER}.tar.gz -RUN wget -O - ${MSDK_REPO} | tar xz && mv MediaSDK-${MSDK_VER} MediaSDK; \ - mkdir -p MediaSDK/build; \ - cd MediaSDK/build; \ - cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_INCLUDEDIR=include/mfx -DBUILD_SAMPLES=OFF -DENABLE_OPENCL=OFF -Wno-dev ..; \ - make -j8; \ - make install DESTDIR=/home/build; \ - rm -rf /home/build/usr/samples; \ - rm -rf /home/build/usr/plugins; \ +RUN wget -O - ${MSDK_REPO} | tar xz && mv MediaSDK-${MSDK_VER} MediaSDK && \ + mkdir -p MediaSDK/build && \ + cd MediaSDK/build && \ + cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_INCLUDEDIR=include/mfx -DBUILD_SAMPLES=OFF -DENABLE_OPENCL=OFF -Wno-dev .. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ + rm -rf /home/build/usr/samples && \ + rm -rf /home/build/usr/plugins && \ make install; # Fetch FFmpeg source @@ -245,28 +245,28 @@ ARG FFMPEG_1TN_PATCH_REPO=https://patchwork.ffmpeg.org/patch/11625/raw ARG FFMPEG_THREAD_PATCH_REPO=https://patchwork.ffmpeg.org/patch/11035/raw RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libvdpau-dev libsdl2-dev libxcb1-dev libxcb-shm0-dev libxcb-xfixes0-dev zlib1g-dev libssl-dev -RUN wget -O - ${FFMPEG_REPO} | tar xz && mv FFmpeg-${FFMPEG_VER} FFmpeg; \ - cd FFmpeg; \ - wget -O - ${FFMPEG_FLV_PATCH_REPO} | patch -p1; \ - wget -O - ${FFMPEG_1TN_PATCH_REPO} | patch -p1; \ +RUN wget -O - ${FFMPEG_REPO} | tar xz && mv FFmpeg-${FFMPEG_VER} FFmpeg && \ + cd FFmpeg && \ + wget -O - ${FFMPEG_FLV_PATCH_REPO} | patch -p1 && \ + wget -O - ${FFMPEG_1TN_PATCH_REPO} | patch -p1 && \ wget -O - ${FFMPEG_THREAD_PATCH_REPO} | patch -p1; # Patch FFmpeg source for SVT-HEVC -RUN cd /home/FFmpeg; \ +RUN cd /home/FFmpeg && \ patch -p1 < ../SVT-HEVC/ffmpeg_plugin/0001-lavc-svt_hevc-add-libsvt-hevc-encoder-wrapper.patch; # Compile FFmpeg -RUN cd /home/FFmpeg; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --extra-libs="-lpthread -lm" --enable-shared --enable-gpl --enable-openssl --enable-nonfree --enable-libdrm --enable-libmfx --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --enable-libfdk-aac --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-libaom --enable-libsvthevc ; \ - make -j8; \ +RUN cd /home/FFmpeg && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --extra-libs="-lpthread -lm" --enable-shared --enable-gpl --enable-openssl --enable-nonfree --enable-libdrm --enable-libmfx --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --enable-libfdk-aac --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-libaom --enable-libsvthevc && \ + make -j8 && \ make install DESTDIR="/home/build" # Clean up after build -RUN rm -rf /home/build/usr/include; \ - rm -rf /home/build/usr/share/doc; \ - rm -rf /home/build/usr/share/gtk-doc; \ - rm -rf /home/build/usr/share/man; \ +RUN rm -rf /home/build/usr/include && \ + rm -rf /home/build/usr/share/doc && \ + rm -rf /home/build/usr/share/gtk-doc && \ + rm -rf /home/build/usr/share/man && \ find /home/build -name "*.a" -exec rm -f {} \; FROM ubuntu:18.04 diff --git a/XeonE3/ubuntu-18.04/gst/Dockerfile b/XeonE3/ubuntu-18.04/gst/Dockerfile index a548f7266..d7e34beec 100644 --- a/XeonE3/ubuntu-18.04/gst/Dockerfile +++ b/XeonE3/ubuntu-18.04/gst/Dockerfile @@ -8,76 +8,76 @@ RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no- # Install cmake ARG CMAKE_VER=3.13.1 ARG CMAKE_REPO=https://cmake.org/files -RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz; \ - cd cmake-${CMAKE_VER}; \ - ./bootstrap --prefix="/usr"; \ - make -j8; \ +RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz && \ + cd cmake-${CMAKE_VER} && \ + ./bootstrap --prefix="/usr" && \ + make -j8 && \ make install # Build NASM ARG NASM_VER=2.13.03 ARG NASM_REPO=https://www.nasm.us/pub/nasm/releasebuilds/${NASM_VER}/nasm-${NASM_VER}.tar.bz2 -RUN wget ${NASM_REPO}; \ - tar -xaf nasm*; \ - cd nasm-${NASM_VER}; \ - ./autogen.sh; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu; \ - make -j8; \ +RUN wget ${NASM_REPO} && \ + tar -xaf nasm* && \ + cd nasm-${NASM_VER} && \ + ./autogen.sh && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu && \ + make -j8 && \ make install # Build YASM ARG YASM_VER=1.3.0 ARG YASM_REPO=https://www.tortall.net/projects/yasm/releases/yasm-${YASM_VER}.tar.gz -RUN wget -O - ${YASM_REPO} | tar xz; \ - cd yasm-${YASM_VER}; \ - sed -i "s/) ytasm.*/)/" Makefile.in; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu; \ - make -j8; \ +RUN wget -O - ${YASM_REPO} | tar xz && \ + cd yasm-${YASM_VER} && \ + sed -i "s/) ytasm.*/)/" Makefile.in && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu && \ + make -j8 && \ make install # Build ogg ARG OGG_VER=1.3.3 ARG OGG_REPO=https://downloads.xiph.org/releases/ogg/libogg-${OGG_VER}.tar.xz -RUN wget -O - ${OGG_REPO} | tar xJ; \ - cd libogg-${OGG_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${OGG_REPO} | tar xJ && \ + cd libogg-${OGG_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build vorbis ARG VORBIS_VER=1.3.6 ARG VORBIS_REPO=https://downloads.xiph.org/releases/vorbis/libvorbis-${VORBIS_VER}.tar.xz -RUN wget -O - ${VORBIS_REPO} | tar xJ; \ - cd libvorbis-${VORBIS_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${VORBIS_REPO} | tar xJ && \ + cd libvorbis-${VORBIS_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build mp3lame ARG MP3LAME_VER=3.100 ARG MP3LAME_REPO=https://sourceforge.net/projects/lame/files/lame/${MP3LAME_VER}/lame-${MP3LAME_VER}.tar.gz -RUN wget -O - ${MP3LAME_REPO} | tar xz; \ - cd lame-${MP3LAME_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared --enable-nasm; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${MP3LAME_REPO} | tar xz && \ + cd lame-${MP3LAME_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared --enable-nasm && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build fdk-aac ARG FDK_AAC_VER=v0.1.6 ARG FDK_AAC_REPO=https://github.com/mstorsjo/fdk-aac/archive/${FDK_AAC_VER}.tar.gz -RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac; \ - cd fdk-aac; \ - autoreconf -fiv; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac && \ + cd fdk-aac && \ + autoreconf -fiv && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -85,23 +85,23 @@ RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac; \ ARG OPUS_VER=1.2.1 ARG OPUS_REPO=https://archive.mozilla.org/pub/opus/opus-${OPUS_VER}.tar.gz -RUN wget -O - ${OPUS_REPO} | tar xz; \ - cd opus-${OPUS_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${OPUS_REPO} | tar xz && \ + cd opus-${OPUS_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build vpx ARG VPX_VER=tags/v1.7.0 ARG VPX_REPO=https://chromium.googlesource.com/webm/libvpx.git -RUN git clone ${VPX_REPO}; \ - cd libvpx; \ - git checkout ${VPX_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=nasm; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${VPX_REPO} && \ + cd libvpx && \ + git checkout ${VPX_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=nasm && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -109,25 +109,25 @@ RUN git clone ${VPX_REPO}; \ ARG AOM_VER=tags/v1.0.0 ARG AOM_REPO=https://aomedia.googlesource.com/aom -RUN git clone ${AOM_REPO}; \ - mkdir aom/aom_build; \ - cd aom/aom_build; \ - git checkout ${AOM_VER}; \ - cmake -DBUILD_SHARED_LIBS=ON -DENABLE_NASM=ON -DENABLE_TESTS=OFF -DENABLE_DOCS=OFF -DCMAKE_INSTALL_PREFIX="/usr" -DLIB_INSTALL_DIR=/usr/lib/x86_64-linux-gnu ..; \ - make -j8; \ - make install DESTDIR="/home/build"; \ +RUN git clone ${AOM_REPO} && \ + mkdir aom/aom_build && \ + cd aom/aom_build && \ + git checkout ${AOM_VER} && \ + cmake -DBUILD_SHARED_LIBS=ON -DENABLE_NASM=ON -DENABLE_TESTS=OFF -DENABLE_DOCS=OFF -DCMAKE_INSTALL_PREFIX="/usr" -DLIB_INSTALL_DIR=/usr/lib/x86_64-linux-gnu .. && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ make install # Build x264 ARG X264_VER=stable ARG X264_REPO=https://github.com/mirror/x264 -RUN git clone ${X264_REPO}; \ - cd x264; \ - git checkout ${X264_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared; \ - make -j8; \ - make install DESTDIR="/home/build"; \ +RUN git clone ${X264_REPO} && \ + cd x264 && \ + git checkout ${X264_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ make install @@ -137,24 +137,24 @@ ARG X265_REPO=https://github.com/videolan/x265/archive/${X265_VER}.tar.gz RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libnuma-dev -RUN wget -O - ${X265_REPO} | tar xz && mv x265-${X265_VER} x265; \ - cd x265/build/linux; \ - cmake -DBUILD_SHARED_LIBS=ON -DENABLE_TESTS=OFF -DCMAKE_INSTALL_PREFIX=/usr -DLIB_INSTALL_DIR=/usr/lib/x86_64-linux-gnu ../../source; \ - make -j8; \ - make install DESTDIR="/home/build"; \ +RUN wget -O - ${X265_REPO} | tar xz && mv x265-${X265_VER} x265 && \ + cd x265/build/linux && \ + cmake -DBUILD_SHARED_LIBS=ON -DENABLE_TESTS=OFF -DCMAKE_INSTALL_PREFIX=/usr -DLIB_INSTALL_DIR=/usr/lib/x86_64-linux-gnu ../../source && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ make install # Fetch SVT-HEVC ARG SVT_HEVC_VER=v1.3.0 ARG SVT_HEVC_REPO=https://github.com/intel/SVT-HEVC -RUN git clone ${SVT_HEVC_REPO}; \ - cd SVT-HEVC/Build/linux; \ - git checkout ${SVT_HEVC_VER}; \ - mkdir -p ../../Bin/Release; \ - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${SVT_HEVC_REPO} && \ + cd SVT-HEVC/Build/linux && \ + git checkout ${SVT_HEVC_VER} && \ + mkdir -p ../../Bin/Release && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -162,13 +162,13 @@ RUN git clone ${SVT_HEVC_REPO}; \ ARG SVT_AV1_VER=a39acb2 ARG SVT_AV1_REPO=https://github.com/OpenVisualCloud/SVT-AV1 -RUN git clone ${SVT_AV1_REPO}; \ - cd SVT-AV1/Build/linux; \ - git checkout ${SVT_AV1_VER}; \ - mkdir -p ../../Bin/Release; \ - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${SVT_AV1_REPO} && \ + cd SVT-AV1/Build/linux && \ + git checkout ${SVT_AV1_VER} && \ + mkdir -p ../../Bin/Release && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -176,13 +176,13 @@ RUN git clone ${SVT_AV1_REPO}; \ ARG SVT_VP9_VER=e92a57c ARG SVT_VP9_REPO=https://github.com/OpenVisualCloud/SVT-VP9 -RUN git clone ${SVT_VP9_REPO}; \ - cd SVT-VP9/Build/linux; \ - git checkout ${SVT_VP9_VER}; \ - mkdir -p ../../Bin/Release; \ - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${SVT_VP9_REPO} && \ + cd SVT-VP9/Build/linux && \ + git checkout ${SVT_VP9_VER} && \ + mkdir -p ../../Bin/Release && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Fetch gmmlib @@ -198,11 +198,11 @@ ARG LIBVA_REPO=https://github.com/intel/libva/archive/${LIBVA_VER}.tar.gz RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libdrm-dev libx11-dev xorg-dev libgl1-mesa-dev -RUN wget -O - ${LIBVA_REPO} | tar xz; \ - cd libva-${LIBVA_VER}; \ - ./autogen.sh --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${LIBVA_REPO} | tar xz && \ + cd libva-${LIBVA_VER} && \ + ./autogen.sh --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install; @@ -212,12 +212,12 @@ ARG MEDIA_DRIVER_REPO=https://github.com/VCDP/media-driver/archive/${MEDIA_DRIVE RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libdrm-dev libpciaccess-dev libx11-dev xorg-dev libgl1-mesa-dev -RUN wget -O - ${MEDIA_DRIVER_REPO} | tar xz && mv media-driver-${MEDIA_DRIVER_VER} media-driver; \ - mkdir -p media-driver/build; \ - cd media-driver/build; \ - cmake -DBUILD_TYPE=release -DBUILD_ALONG_WITH_CMRTLIB=1 -DMEDIA_VERSION="2.0.0" -DBS_DIR_GMMLIB=/home/gmmlib/Source/GmmLib -DBS_DIR_COMMON=/home/gmmlib/Source/Common -DBS_DIR_INC=/home/gmmlib/Source/inc -DBS_DIR_MEDIA=/home/media-driver -Wno-dev -DCMAKE_INSTALL_PREFIX=/usr ..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${MEDIA_DRIVER_REPO} | tar xz && mv media-driver-${MEDIA_DRIVER_VER} media-driver && \ + mkdir -p media-driver/build && \ + cd media-driver/build && \ + cmake -DBUILD_TYPE=release -DBUILD_ALONG_WITH_CMRTLIB=1 -DMEDIA_VERSION="2.0.0" -DBS_DIR_GMMLIB=/home/gmmlib/Source/GmmLib -DBS_DIR_COMMON=/home/gmmlib/Source/Common -DBS_DIR_INC=/home/gmmlib/Source/inc -DBS_DIR_MEDIA=/home/media-driver -Wno-dev -DCMAKE_INSTALL_PREFIX=/usr .. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install @@ -227,58 +227,58 @@ ARG GST_VER=1.14.4 ARG GST_REPO=https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${GST_VER}.tar.xz RUN ln -sf /usr/share/zoneinfo/UTC /etc/localtime; \ - DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libglib2.0-dev -RUN wget -O - ${GST_REPO} | tar xJ; \ - cd gstreamer-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples --disable-gst-debug --disable-debug --disable-benchmarks --disable-check; \ - make -j8; \ - make install DESTDIR=/home/build; \ + DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libglib2.0-dev autopoint gtk-doc-tools +RUN wget -O - ${GST_REPO} | tar xJ && \ + cd gstreamer-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples --disable-gst-debug --disable-debug --disable-benchmarks --disable-check && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin base ARG GST_PLUGIN_BASE_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_BASE_REPO} | tar xJ; \ - cd gst-plugins-base-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples --disable-debug; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${GST_PLUGIN_BASE_REPO} | tar xJ && \ + cd gst-plugins-base-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples --disable-debug && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin good set ARG GST_PLUGIN_GOOD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_GOOD_REPO} | tar xJ; \ - cd gst-plugins-good-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples --disable-debug; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${GST_PLUGIN_GOOD_REPO} | tar xJ && \ + cd gst-plugins-good-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples --disable-debug && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin bad set ARG GST_PLUGIN_BAD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_BAD_REPO} | tar xJ; \ - cd gst-plugins-bad-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples --disable-debug; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${GST_PLUGIN_BAD_REPO} | tar xJ && \ + cd gst-plugins-bad-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples --disable-debug && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin ugly set ARG GST_PLUGIN_UGLY_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_UGLY_REPO} | tar xJ; \ - cd gst-plugins-ugly-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples --disable-debug; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${GST_PLUGIN_UGLY_REPO} | tar xJ && \ + cd gst-plugins-ugly-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples --disable-debug && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install # Build gst-libav @@ -286,10 +286,10 @@ ARG GST_PLUGIN_LIBAV_REPO=https://gstreamer.freedesktop.org/src/gst-libav/gst-li RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends zlib1g-dev libssl-dev -RUN wget -O - ${GST_PLUGIN_LIBAV_REPO} | tar xJ; \ - cd gst-libav-${GST_VER}; \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared --enable-gpl; \ - make -j8; \ +RUN wget -O - ${GST_PLUGIN_LIBAV_REPO} | tar xJ && \ + cd gst-libav-${GST_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared --enable-gpl && \ + make -j8 && \ make install DESTDIR="/home/build" @@ -309,10 +309,10 @@ RUN wget -O - ${GST_PLUGIN_VAAPI_REPO} | tar xJ; \ # Clean up after build -RUN rm -rf /home/build/usr/include; \ - rm -rf /home/build/usr/share/doc; \ - rm -rf /home/build/usr/share/gtk-doc; \ - rm -rf /home/build/usr/share/man; \ +RUN rm -rf /home/build/usr/include && \ + rm -rf /home/build/usr/share/doc && \ + rm -rf /home/build/usr/share/gtk-doc && \ + rm -rf /home/build/usr/share/man && \ find /home/build -name "*.a" -exec rm -f {} \; FROM ubuntu:18.04 diff --git a/XeonE3/ubuntu-18.04/nginx+rtmp/Dockerfile b/XeonE3/ubuntu-18.04/nginx+rtmp/Dockerfile index b1d1cdd68..78ff72b3d 100644 --- a/XeonE3/ubuntu-18.04/nginx+rtmp/Dockerfile +++ b/XeonE3/ubuntu-18.04/nginx+rtmp/Dockerfile @@ -8,10 +8,10 @@ RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no- # Install cmake ARG CMAKE_VER=3.13.1 ARG CMAKE_REPO=https://cmake.org/files -RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz; \ - cd cmake-${CMAKE_VER}; \ - ./bootstrap --prefix="/usr"; \ - make -j8; \ +RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz && \ + cd cmake-${CMAKE_VER} && \ + ./bootstrap --prefix="/usr" && \ + make -j8 && \ make install @@ -21,11 +21,11 @@ ARG NGINX_RTMP_REPO=https://github.com/arut/nginx-rtmp-module/archive/${NGINX_RT ARG NGINX_RTMP_PATCH_HLS=https://raw.githubusercontent.com/VCDP/CDN/master/0001-add-hevc-support-for-rtmp-and-hls.patch ARG NGINX_RTMP_PATCH_DASH=https://raw.githubusercontent.com/VCDP/CDN/master/0002-add-HEVC-support-for-dash.patch -RUN wget -O - ${NGINX_RTMP_REPO} | tar xz && mv nginx-rtmp-module-${NGINX_RTMP_VER#v} nginx-rtmp-module; \ - cd nginx-rtmp-module; \ - mkdir -p /home/build/var/www/html; \ - cp -f stat.xsl /home/build/var/www/html; \ - wget -O - ${NGINX_RTMP_PATCH_HLS} | patch -p1; \ +RUN wget -O - ${NGINX_RTMP_REPO} | tar xz && mv nginx-rtmp-module-${NGINX_RTMP_VER#v} nginx-rtmp-module && \ + cd nginx-rtmp-module && \ + mkdir -p /home/build/var/www/html && \ + cp -f stat.xsl /home/build/var/www/html && \ + wget -O - ${NGINX_RTMP_PATCH_HLS} | patch -p1 && \ wget -O - ${NGINX_RTMP_PATCH_DASH} | patch -p1; # Build nginx & nginx-rtmp @@ -34,21 +34,21 @@ ARG NGINX_REPO=https://nginx.org/download/nginx-${NGINX_VER}.tar.gz RUN apt-get update && apt-get install -y -q --no-install-recommends libssl-dev libpcre3-dev zlib1g-dev libxslt1-dev -RUN wget -O - ${NGINX_REPO} | tar xz; \ - cd nginx-${NGINX_VER}; \ - ./configure --prefix=/var/www --sbin-path=/usr/sbin/nginx --modules-path=/usr/lib/x86_64-linux-gnu/nginx/modules --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/www/log/error.log --pid-path=/var/www/nginx.pid --lock-path=/var/www/nginx.lock --http-log-path=/var/www/log/access.log --http-client-body-temp-path=/var/www/tmp/client_body --http-proxy-temp-path=/var/www/tmp/proxy --http-fastcgi-temp-path=/var/www/tmp/fastcgi --http-uwsgi-temp-path=/var/www/tmp/uwsgi --http-scgi-temp-path=/var/www/tmp/scgi --user=www-data --group=www-data --with-select_module --with-poll_module --with-threads --with-file-aio --with-http_ssl_module --with-http_v2_module --with-http_realip_module --with-http_addition_module --with-http_xslt_module --with-http_sub_module --with-http_dav_module --with-http_flv_module --with-http_mp4_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_auth_request_module --with-http_random_index_module --with-http_secure_link_module --with-http_degradation_module --with-http_slice_module --with-http_stub_status_module --with-stream --with-stream_ssl_module --with-stream_realip_module --with-stream_ssl_preread_module --with-pcre --add-module=../nginx-rtmp-module ; \ - make -j8; \ +RUN wget -O - ${NGINX_REPO} | tar xz && \ + cd nginx-${NGINX_VER} && \ + ./configure --prefix=/var/www --sbin-path=/usr/sbin/nginx --modules-path=/usr/lib/x86_64-linux-gnu/nginx/modules --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/www/log/error.log --pid-path=/var/www/nginx.pid --lock-path=/var/www/nginx.lock --http-log-path=/var/www/log/access.log --http-client-body-temp-path=/var/www/tmp/client_body --http-proxy-temp-path=/var/www/tmp/proxy --http-fastcgi-temp-path=/var/www/tmp/fastcgi --http-uwsgi-temp-path=/var/www/tmp/uwsgi --http-scgi-temp-path=/var/www/tmp/scgi --user=www-data --group=www-data --with-select_module --with-poll_module --with-threads --with-file-aio --with-http_ssl_module --with-http_v2_module --with-http_realip_module --with-http_addition_module --with-http_xslt_module --with-http_sub_module --with-http_dav_module --with-http_flv_module --with-http_mp4_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_auth_request_module --with-http_random_index_module --with-http_secure_link_module --with-http_degradation_module --with-http_slice_module --with-http_stub_status_module --with-stream --with-stream_ssl_module --with-stream_realip_module --with-stream_ssl_preread_module --with-pcre --add-module=../nginx-rtmp-module && \ + make -j8 && \ make install DESTDIR=/home/build; # NGINX Setup COPY nginx.conf /home/build/etc/nginx -RUN mkdir -p /home/build/var/www/tmp/client_body; \ - mkdir -p /home/build/var/www/tmp/proxy; \ - mkdir -p /home/build/var/www/tmp/fastcgi; \ - mkdir -p /home/build/var/www/tmp/uwsgi; \ - mkdir -p /home/build/var/www/tmp/scgi; \ - mkdir -p /home/build/var/www/cache; \ - mkdir -p /home/build/var/www/html; \ +RUN mkdir -p /home/build/var/www/tmp/client_body && \ + mkdir -p /home/build/var/www/tmp/proxy && \ + mkdir -p /home/build/var/www/tmp/fastcgi && \ + mkdir -p /home/build/var/www/tmp/uwsgi && \ + mkdir -p /home/build/var/www/tmp/scgi && \ + mkdir -p /home/build/var/www/cache && \ + mkdir -p /home/build/var/www/html && \ touch /home/build/var/www/html/index.html; diff --git a/template/automake.m4 b/template/automake.m4 index f2638110d..38e494119 100644 --- a/template/automake.m4 +++ b/template/automake.m4 @@ -2,9 +2,9 @@ ARG AUTOMAKE_VER=1.14 ARG AUTOMAKE_REPO=https://ftp.gnu.org/pub/gnu/automake/automake-${AUTOMAKE_VER}.tar.xz -RUN wget -O - ${AUTOMAKE_REPO} | tar xJ; \ - cd automake-${AUTOMAKE_VER}; \ - ./configure --prefix=/usr --libdir=/usr/ifelse(index(DOCKER_IMAGE,ubuntu),-1,lib64,lib/x86_64-linux-gnu) --disable-doc; \ - make -j8; \ +RUN wget -O - ${AUTOMAKE_REPO} | tar xJ && \ + cd automake-${AUTOMAKE_VER} && \ + ./configure --prefix=/usr --libdir=/usr/ifelse(index(DOCKER_IMAGE,ubuntu),-1,lib64,lib/x86_64-linux-gnu) --disable-doc && \ + make -j8 && \ make install diff --git a/template/cleanup.m4 b/template/cleanup.m4 index dc6799aef..5093dc2ec 100644 --- a/template/cleanup.m4 +++ b/template/cleanup.m4 @@ -1,8 +1,8 @@ ifelse(index(DOCKER_IMAGE,-dev),-1, # Clean up after build -RUN rm -rf /home/build/usr/include; \ - rm -rf /home/build/usr/share/doc; \ - rm -rf /home/build/usr/share/gtk-doc; \ - rm -rf /home/build/usr/share/man; \ +RUN rm -rf /home/build/usr/include && \ + rm -rf /home/build/usr/share/doc && \ + rm -rf /home/build/usr/share/gtk-doc && \ + rm -rf /home/build/usr/share/man && \ find /home/build -name "*.a" -exec rm -f {} \; )dnl diff --git a/template/cmake.m4 b/template/cmake.m4 index d4091536c..ffea7e70e 100644 --- a/template/cmake.m4 +++ b/template/cmake.m4 @@ -1,8 +1,8 @@ # Install cmake ARG CMAKE_VER=3.13.1 ARG CMAKE_REPO=https://cmake.org/files -RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz; \ - cd cmake-${CMAKE_VER}; \ - ./bootstrap --prefix="/usr"; \ - make -j8; \ +RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz && \ + cd cmake-${CMAKE_VER} && \ + ./bootstrap --prefix="/usr" && \ + make -j8 && \ make install diff --git a/template/ffmpeg.m4 b/template/ffmpeg.m4 index de539ab69..2970ba0e4 100644 --- a/template/ffmpeg.m4 +++ b/template/ffmpeg.m4 @@ -13,17 +13,17 @@ RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no- ifelse(index(DOCKER_IMAGE,centos),-1,, RUN yum install -y -q ifelse(FFMPEG_SUBTITLE,ON,libass-devel freetype-devel )ifelse(FFMPEG_X11,ON,SDL2-devel libxcb-devel )ifelse(index(DOCKER_IMAGE,xeon-),-1,libvdpau-devel )ifelse(index(DOCKER_IMAGE,-dev),-1,,texinfo )zlib-devel openssl-devel )dnl -RUN wget -O - ${FFMPEG_REPO} | tar xz && mv FFmpeg-${FFMPEG_VER} FFmpeg; \ - cd FFmpeg; \ - wget -O - ${FFMPEG_FLV_PATCH_REPO} | patch -p1; \ - wget -O - ${FFMPEG_1TN_PATCH_REPO} | patch -p1; \ +RUN wget -O - ${FFMPEG_REPO} | tar xz && mv FFmpeg-${FFMPEG_VER} FFmpeg && \ + cd FFmpeg && \ + wget -O - ${FFMPEG_FLV_PATCH_REPO} | patch -p1 && \ + wget -O - ${FFMPEG_1TN_PATCH_REPO} | patch -p1 && \ wget -O - ${FFMPEG_THREAD_PATCH_REPO} | patch -p1; defn(`FFMPEG_SOURCE_SVT_HEVC',`FFMPEG_SOURCE_TRANSFORM360')dnl # Compile FFmpeg -RUN cd /home/FFmpeg; \ - ./configure --prefix="/usr" --libdir=ifelse(index(DOCKER_IMAGE,ubuntu),-1,/usr/lib64,/usr/lib/x86_64-linux-gnu) --extra-libs="-lpthread -lm" --enable-defn(`BUILD_LINKAGE') --enable-gpl ifelse(FFMPEG_SUBTITLE,ON,--enable-libass --enable-libfreetype) ifelse(FFMPEG_X11,OFF,--disable-xlib --disable-sdl2) --enable-openssl --enable-nonfree ifelse(index(DOCKER_IMAGE,xeon-),-1,--enable-libdrm --enable-libmfx,--disable-vaapi --disable-hwaccels) ifelse(index(DOCKER_IMAGE,-dev),-1,--disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages) defn(`FFMPEG_CONFIG_FDKAAC',`FFMPEG_CONFIG_MP3LAME',`FFMPEG_CONFIG_OPUS',`FFMPEG_CONFIG_VORBIS',`FFMPEG_CONFIG_VPX',`FFMPEG_CONFIG_X264',`FFMPEG_CONFIG_X265',`FFMPEG_CONFIG_AOM',`FFMPEG_CONFIG_SVT_HEVC',`FFMPEG_CONFIG_TRANSFORM360'); \ - make -j8; \ +RUN cd /home/FFmpeg && \ + ./configure --prefix="/usr" --libdir=ifelse(index(DOCKER_IMAGE,ubuntu),-1,/usr/lib64,/usr/lib/x86_64-linux-gnu) --extra-libs="-lpthread -lm" --enable-defn(`BUILD_LINKAGE') --enable-gpl ifelse(FFMPEG_SUBTITLE,ON,--enable-libass --enable-libfreetype) ifelse(FFMPEG_X11,OFF,--disable-xlib --disable-sdl2) --enable-openssl --enable-nonfree ifelse(index(DOCKER_IMAGE,xeon-),-1,--enable-libdrm --enable-libmfx,--disable-vaapi --disable-hwaccels) ifelse(index(DOCKER_IMAGE,-dev),-1,--disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages) defn(`FFMPEG_CONFIG_FDKAAC',`FFMPEG_CONFIG_MP3LAME',`FFMPEG_CONFIG_OPUS',`FFMPEG_CONFIG_VORBIS',`FFMPEG_CONFIG_VPX',`FFMPEG_CONFIG_X264',`FFMPEG_CONFIG_X265',`FFMPEG_CONFIG_AOM',`FFMPEG_CONFIG_SVT_HEVC',`FFMPEG_CONFIG_TRANSFORM360') && \ + make -j8 && \ make install DESTDIR="/home/build" define(`INSTALL_PKGS_FFMPEG',dnl diff --git a/template/gst-plugin-bad.m4 b/template/gst-plugin-bad.m4 index 15922c814..ceeb75917 100644 --- a/template/gst-plugin-bad.m4 +++ b/template/gst-plugin-bad.m4 @@ -1,10 +1,10 @@ # Build the gstremaer plugin bad set ARG GST_PLUGIN_BAD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_BAD_REPO} | tar xJ; \ - cd gst-plugins-bad-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/ifelse(index(DOCKER_IMAGE,ubuntu),-1,lib64,lib/x86_64-linux-gnu) --libexecdir=/usr/ifelse(index(DOCKER_IMAGE,ubuntu),-1,lib64,lib/x86_64-linux-gnu) --enable-defn(`BUILD_LINKAGE') --disable-examples ifelse(index(DOCKER_IMAGE,-dev),-1,--disable-debug); \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${GST_PLUGIN_BAD_REPO} | tar xJ && \ + cd gst-plugins-bad-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/ifelse(index(DOCKER_IMAGE,ubuntu),-1,lib64,lib/x86_64-linux-gnu) --libexecdir=/usr/ifelse(index(DOCKER_IMAGE,ubuntu),-1,lib64,lib/x86_64-linux-gnu) --enable-defn(`BUILD_LINKAGE') --disable-examples ifelse(index(DOCKER_IMAGE,-dev),-1,--disable-debug) && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install diff --git a/template/gst-plugin-base.m4 b/template/gst-plugin-base.m4 index df338d861..b11c29850 100644 --- a/template/gst-plugin-base.m4 +++ b/template/gst-plugin-base.m4 @@ -1,12 +1,12 @@ # Build the gstremaer plugin base ARG GST_PLUGIN_BASE_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_BASE_REPO} | tar xJ; \ - cd gst-plugins-base-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/ifelse(index(DOCKER_IMAGE,ubuntu),-1,lib64,lib/x86_64-linux-gnu) --libexecdir=/usr/ifelse(index(DOCKER_IMAGE,ubuntu),-1,lib64,lib/x86_64-linux-gnu) --enable-defn(`BUILD_LINKAGE') --disable-examples ifelse(index(DOCKER_IMAGE,-dev),-1,--disable-debug); \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${GST_PLUGIN_BASE_REPO} | tar xJ && \ + cd gst-plugins-base-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/ifelse(index(DOCKER_IMAGE,ubuntu),-1,lib64,lib/x86_64-linux-gnu) --libexecdir=/usr/ifelse(index(DOCKER_IMAGE,ubuntu),-1,lib64,lib/x86_64-linux-gnu) --enable-defn(`BUILD_LINKAGE') --disable-examples ifelse(index(DOCKER_IMAGE,-dev),-1,--disable-debug) && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install define(`INSTALL_PKGS_GST_PLUGIN_BASE',ifelse(index(DOCKER_IMAGE,ubuntu1604),-1,,libpng12-0 libxv1 )ifelse(index(DOCKER_IMAGE,ubuntu1804),-1,,libpng16-16 libxv1 )ifelse(index(DOCKER_IMAGE,centos),-1,,libpng12 libXv ))dnl diff --git a/template/gst-plugin-good.m4 b/template/gst-plugin-good.m4 index 320378431..ce657e66d 100644 --- a/template/gst-plugin-good.m4 +++ b/template/gst-plugin-good.m4 @@ -1,10 +1,10 @@ # Build the gstremaer plugin good set ARG GST_PLUGIN_GOOD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_GOOD_REPO} | tar xJ; \ - cd gst-plugins-good-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/ifelse(index(DOCKER_IMAGE,ubuntu),-1,lib64,lib/x86_64-linux-gnu) --libexecdir=/usr/ifelse(index(DOCKER_IMAGE,ubuntu),-1,lib64,lib/x86_64-linux-gnu) --enable-defn(`BUILD_LINKAGE') --disable-examples ifelse(index(DOCKER_IMAGE,-dev),-1,--disable-debug); \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${GST_PLUGIN_GOOD_REPO} | tar xJ && \ + cd gst-plugins-good-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/ifelse(index(DOCKER_IMAGE,ubuntu),-1,lib64,lib/x86_64-linux-gnu) --libexecdir=/usr/ifelse(index(DOCKER_IMAGE,ubuntu),-1,lib64,lib/x86_64-linux-gnu) --enable-defn(`BUILD_LINKAGE') --disable-examples ifelse(index(DOCKER_IMAGE,-dev),-1,--disable-debug) && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install diff --git a/template/gst-plugin-libav.m4 b/template/gst-plugin-libav.m4 index 00b473905..27ec2289b 100644 --- a/template/gst-plugin-libav.m4 +++ b/template/gst-plugin-libav.m4 @@ -8,10 +8,10 @@ ifelse(index(DOCKER_IMAGE,centos),-1,, RUN yum install -y -q zlib-devel openssl-devel )dnl -RUN wget -O - ${GST_PLUGIN_LIBAV_REPO} | tar xJ; \ - cd gst-libav-${GST_VER}; \ - ./configure --prefix="/usr" --libdir=ifelse(index(DOCKER_IMAGE,ubuntu),-1,/usr/lib64,/usr/lib/x86_64-linux-gnu) --enable-defn(`BUILD_LINKAGE') --enable-gpl; \ - make -j8; \ +RUN wget -O - ${GST_PLUGIN_LIBAV_REPO} | tar xJ && \ + cd gst-libav-${GST_VER} && \ + ./configure --prefix="/usr" --libdir=ifelse(index(DOCKER_IMAGE,ubuntu),-1,/usr/lib64,/usr/lib/x86_64-linux-gnu) --enable-defn(`BUILD_LINKAGE') --enable-gpl && \ + make -j8 && \ make install DESTDIR="/home/build" define(`INSTALL_PKGS_FFMPEG',ifelse(index(DOCKER_IMAGE,ubuntu1604),-1,,libnuma1 libssl1.0.0 )ifelse(index(DOCKER_IMAGE,ubuntu1804),-1,,libnuma1 libssl1.1 )ifelse(index(DOCKER_IMAGE,centos),-1,,numactl openssl ))dnl diff --git a/template/gst-plugin-ugly.m4 b/template/gst-plugin-ugly.m4 index c0b064f64..61ed94500 100644 --- a/template/gst-plugin-ugly.m4 +++ b/template/gst-plugin-ugly.m4 @@ -1,10 +1,10 @@ # Build the gstremaer plugin ugly set ARG GST_PLUGIN_UGLY_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_UGLY_REPO} | tar xJ; \ - cd gst-plugins-ugly-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/ifelse(index(DOCKER_IMAGE,ubuntu),-1,lib64,lib/x86_64-linux-gnu) --libexecdir=/usr/ifelse(index(DOCKER_IMAGE,ubuntu),-1,lib64,lib/x86_64-linux-gnu) --enable-defn(`BUILD_LINKAGE') --disable-examples ifelse(index(DOCKER_IMAGE,-dev),-1,--disable-debug); \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${GST_PLUGIN_UGLY_REPO} | tar xJ && \ + cd gst-plugins-ugly-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/ifelse(index(DOCKER_IMAGE,ubuntu),-1,lib64,lib/x86_64-linux-gnu) --libexecdir=/usr/ifelse(index(DOCKER_IMAGE,ubuntu),-1,lib64,lib/x86_64-linux-gnu) --enable-defn(`BUILD_LINKAGE') --disable-examples ifelse(index(DOCKER_IMAGE,-dev),-1,--disable-debug) && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install diff --git a/template/gst.m4 b/template/gst.m4 index 2c4286f0c..fe0b2cf42 100644 --- a/template/gst.m4 +++ b/template/gst.m4 @@ -3,20 +3,20 @@ ARG GST_VER=1.14.4 ARG GST_REPO=https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${GST_VER}.tar.xz ifelse(index(DOCKER_IMAGE,ubuntu1604),-1,, -RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libglib2.0-dev +RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libglib2.0-dev autopoint gtk-doc-tools )dnl ifelse(index(DOCKER_IMAGE,ubuntu1804),-1,, RUN ln -sf /usr/share/zoneinfo/UTC /etc/localtime; \ - DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libglib2.0-dev + DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libglib2.0-dev autopoint gtk-doc-tools )dnl ifelse(index(DOCKER_IMAGE,centos),-1,, -RUN yum install -y -q glib2-devel-2.56.1 +RUN yum install -y -q glib2-devel-2.56.1 gettext-devel gtk-doc )dnl -RUN wget -O - ${GST_REPO} | tar xJ; \ - cd gstreamer-${GST_VER}; \ - ./autogen.sh; \ - ./configure --prefix=/usr --libdir=/usr/ifelse(index(DOCKER_IMAGE,ubuntu),-1,lib64,lib/x86_64-linux-gnu) --libexecdir=/usr/ifelse(index(DOCKER_IMAGE,ubuntu),-1,lib64,lib/x86_64-linux-gnu) --enable-defn(`BUILD_LINKAGE') --disable-examples ifelse(index(DOCKER_IMAGE,-dev),-1,--disable-gst-debug --disable-debug --disable-benchmarks --disable-check); \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${GST_REPO} | tar xJ && \ + cd gstreamer-${GST_VER} && \ + ./autogen.sh && \ + ./configure --prefix=/usr --libdir=/usr/ifelse(index(DOCKER_IMAGE,ubuntu),-1,lib64,lib/x86_64-linux-gnu) --libexecdir=/usr/ifelse(index(DOCKER_IMAGE,ubuntu),-1,lib64,lib/x86_64-linux-gnu) --enable-defn(`BUILD_LINKAGE') --disable-examples ifelse(index(DOCKER_IMAGE,-dev),-1,--disable-gst-debug --disable-debug --disable-benchmarks --disable-check) && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install define(`INSTALL_PKGS_GST',ifelse(index(DOCKER_IMAGE,ubuntu),-1,glib2-2.56.1,libglib2.0) )dnl diff --git a/template/libaom.m4 b/template/libaom.m4 index 136f7c828..924b3158e 100644 --- a/template/libaom.m4 +++ b/template/libaom.m4 @@ -3,11 +3,11 @@ ARG AOM_VER=tags/v1.0.0 ARG AOM_REPO=https://aomedia.googlesource.com/aom define(`FFMPEG_CONFIG_AOM',--enable-libaom )dnl -RUN git clone ${AOM_REPO}; \ - mkdir aom/aom_build; \ - cd aom/aom_build; \ - git checkout ${AOM_VER}; \ - cmake -DBUILD_SHARED_LIBS=ifelse(BUILD_LINKAGE,shared,ON,OFF) -DENABLE_NASM=ON -DENABLE_TESTS=OFF -DENABLE_DOCS=OFF -DCMAKE_INSTALL_PREFIX="/usr" -DLIB_INSTALL_DIR=ifelse(index(DOCKER_IMAGE,ubuntu),-1,/usr/lib64,/usr/lib/x86_64-linux-gnu) ..; \ - make -j8; \ - make install DESTDIR="/home/build"; \ +RUN git clone ${AOM_REPO} && \ + mkdir aom/aom_build && \ + cd aom/aom_build && \ + git checkout ${AOM_VER} && \ + cmake -DBUILD_SHARED_LIBS=ifelse(BUILD_LINKAGE,shared,ON,OFF) -DENABLE_NASM=ON -DENABLE_TESTS=OFF -DENABLE_DOCS=OFF -DCMAKE_INSTALL_PREFIX="/usr" -DLIB_INSTALL_DIR=ifelse(index(DOCKER_IMAGE,ubuntu),-1,/usr/lib64,/usr/lib/x86_64-linux-gnu) .. && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ make install diff --git a/template/libdrm.m4 b/template/libdrm.m4 index 6fa856de5..e42eb7e8b 100644 --- a/template/libdrm.m4 +++ b/template/libdrm.m4 @@ -9,11 +9,11 @@ ifelse(index(DOCKER_IMAGE,centos),-1,,dnl RUN yum install -y -q libpciaccess-devel )dnl -RUN wget -O - ${LIBDRM_REPO} | tar xz; \ - cd libdrm-${LIBDRM_VER}; \ - ./configure --prefix=/usr --libdir=/usr/ifelse(index(DOCKER_IMAGE,ubuntu),-1,lib64,lib/x86_64-linux-gnu); \ - make -j8; \ - make install DESTDIR=/home/build; \ - make install; +RUN wget -O - ${LIBDRM_REPO} | tar xz && \ + cd libdrm-${LIBDRM_VER} && \ + ./configure --prefix=/usr --libdir=/usr/ifelse(index(DOCKER_IMAGE,ubuntu),-1,lib64,lib/x86_64-linux-gnu) && \ + make -j8 && \ + make install DESTDIR=/home/build && \ + make install ; define(`INSTALL_PKGS_LIBDRM',libpciaccess )dnl diff --git a/template/libfdk-aac.m4 b/template/libfdk-aac.m4 index ad9077d07..0d9360d0d 100644 --- a/template/libfdk-aac.m4 +++ b/template/libfdk-aac.m4 @@ -3,11 +3,11 @@ ARG FDK_AAC_VER=v0.1.6 ARG FDK_AAC_REPO=https://github.com/mstorsjo/fdk-aac/archive/${FDK_AAC_VER}.tar.gz define(`FFMPEG_CONFIG_FDKAAC',--enable-libfdk-aac )dnl -RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac; \ - cd fdk-aac; \ - autoreconf -fiv; \ - ./configure --prefix="/usr" --libdir=ifelse(index(DOCKER_IMAGE,ubuntu),-1,/usr/lib64,/usr/lib/x86_64-linux-gnu) --enable-defn(`BUILD_LINKAGE'); \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac && \ + cd fdk-aac && \ + autoreconf -fiv && \ + ./configure --prefix="/usr" --libdir=ifelse(index(DOCKER_IMAGE,ubuntu),-1,/usr/lib64,/usr/lib/x86_64-linux-gnu) --enable-defn(`BUILD_LINKAGE') && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install diff --git a/template/libmp3lame.m4 b/template/libmp3lame.m4 index f3361243e..fd1198aa2 100644 --- a/template/libmp3lame.m4 +++ b/template/libmp3lame.m4 @@ -3,9 +3,9 @@ ARG MP3LAME_VER=3.100 ARG MP3LAME_REPO=https://sourceforge.net/projects/lame/files/lame/${MP3LAME_VER}/lame-${MP3LAME_VER}.tar.gz define(`FFMPEG_CONFIG_MP3LAME',--enable-libmp3lame )dnl -RUN wget -O - ${MP3LAME_REPO} | tar xz; \ - cd lame-${MP3LAME_VER}; \ - ./configure --prefix="/usr" --libdir=ifelse(index(DOCKER_IMAGE,ubuntu),-1,/usr/lib64,/usr/lib/x86_64-linux-gnu) --enable-defn(`BUILD_LINKAGE') --enable-nasm; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${MP3LAME_REPO} | tar xz && \ + cd lame-${MP3LAME_VER} && \ + ./configure --prefix="/usr" --libdir=ifelse(index(DOCKER_IMAGE,ubuntu),-1,/usr/lib64,/usr/lib/x86_64-linux-gnu) --enable-defn(`BUILD_LINKAGE') --enable-nasm && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install diff --git a/template/libogg.m4 b/template/libogg.m4 index ec4acf28b..6ee276505 100644 --- a/template/libogg.m4 +++ b/template/libogg.m4 @@ -2,9 +2,9 @@ ARG OGG_VER=1.3.3 ARG OGG_REPO=https://downloads.xiph.org/releases/ogg/libogg-${OGG_VER}.tar.xz -RUN wget -O - ${OGG_REPO} | tar xJ; \ - cd libogg-${OGG_VER}; \ - ./configure --prefix="/usr" --libdir=ifelse(index(DOCKER_IMAGE,ubuntu),-1,/usr/lib64,/usr/lib/x86_64-linux-gnu) --enable-defn(`BUILD_LINKAGE'); \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${OGG_REPO} | tar xJ && \ + cd libogg-${OGG_VER} && \ + ./configure --prefix="/usr" --libdir=ifelse(index(DOCKER_IMAGE,ubuntu),-1,/usr/lib64,/usr/lib/x86_64-linux-gnu) --enable-defn(`BUILD_LINKAGE') && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install diff --git a/template/libopus.m4 b/template/libopus.m4 index a1eff969d..9578810f7 100644 --- a/template/libopus.m4 +++ b/template/libopus.m4 @@ -3,9 +3,9 @@ ARG OPUS_VER=1.2.1 ARG OPUS_REPO=https://archive.mozilla.org/pub/opus/opus-${OPUS_VER}.tar.gz define(`FFMPEG_CONFIG_OPUS',--enable-libopus )dnl -RUN wget -O - ${OPUS_REPO} | tar xz; \ - cd opus-${OPUS_VER}; \ - ./configure --prefix="/usr" --libdir=ifelse(index(DOCKER_IMAGE,ubuntu),-1,/usr/lib64,/usr/lib/x86_64-linux-gnu) --enable-defn(`BUILD_LINKAGE'); \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${OPUS_REPO} | tar xz && \ + cd opus-${OPUS_VER} && \ + ./configure --prefix="/usr" --libdir=ifelse(index(DOCKER_IMAGE,ubuntu),-1,/usr/lib64,/usr/lib/x86_64-linux-gnu) --enable-defn(`BUILD_LINKAGE') && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install diff --git a/template/libva.m4 b/template/libva.m4 index a75977adf..5b6904749 100644 --- a/template/libva.m4 +++ b/template/libva.m4 @@ -9,11 +9,11 @@ ifelse(index(DOCKER_IMAGE,centos),-1,,dnl RUN yum install -y -q libX11-devel mesa-libGL-devel which libdrm-devel )dnl -RUN wget -O - ${LIBVA_REPO} | tar xz; \ - cd libva-${LIBVA_VER}; \ - ./autogen.sh --prefix=/usr --libdir=/usr/ifelse(index(DOCKER_IMAGE,ubuntu),-1,lib64,lib/x86_64-linux-gnu); \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${LIBVA_REPO} | tar xz && \ + cd libva-${LIBVA_VER} && \ + ./autogen.sh --prefix=/usr --libdir=/usr/ifelse(index(DOCKER_IMAGE,ubuntu),-1,lib64,lib/x86_64-linux-gnu) && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install; define(`INSTALL_PKGS_LIBVA',mesa-dri-drivers mesa-libGL )dnl diff --git a/template/libvorbis.m4 b/template/libvorbis.m4 index 9de9a85b9..600fb5fd2 100644 --- a/template/libvorbis.m4 +++ b/template/libvorbis.m4 @@ -3,9 +3,9 @@ ARG VORBIS_VER=1.3.6 ARG VORBIS_REPO=https://downloads.xiph.org/releases/vorbis/libvorbis-${VORBIS_VER}.tar.xz define(`FFMPEG_CONFIG_VORBIS',--enable-libvorbis )dnl -RUN wget -O - ${VORBIS_REPO} | tar xJ; \ - cd libvorbis-${VORBIS_VER}; \ - ./configure --prefix="/usr" --libdir=ifelse(index(DOCKER_IMAGE,ubuntu),-1,/usr/lib64,/usr/lib/x86_64-linux-gnu) --enable-defn(`BUILD_LINKAGE'); \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${VORBIS_REPO} | tar xJ && \ + cd libvorbis-${VORBIS_VER} && \ + ./configure --prefix="/usr" --libdir=ifelse(index(DOCKER_IMAGE,ubuntu),-1,/usr/lib64,/usr/lib/x86_64-linux-gnu) --enable-defn(`BUILD_LINKAGE') && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install diff --git a/template/libvpx.m4 b/template/libvpx.m4 index e0bc1b96c..57d78e7b8 100644 --- a/template/libvpx.m4 +++ b/template/libvpx.m4 @@ -3,11 +3,11 @@ ARG VPX_VER=tags/v1.7.0 ARG VPX_REPO=https://chromium.googlesource.com/webm/libvpx.git define(`FFMPEG_CONFIG_VPX',--enable-libvpx )dnl -RUN git clone ${VPX_REPO}; \ - cd libvpx; \ - git checkout ${VPX_VER}; \ - ./configure --prefix="/usr" --libdir=ifelse(index(DOCKER_IMAGE,ubuntu),-1,/usr/lib64,/usr/lib/x86_64-linux-gnu) --enable-defn(`BUILD_LINKAGE') --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=nasm; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${VPX_REPO} && \ + cd libvpx && \ + git checkout ${VPX_VER} && \ + ./configure --prefix="/usr" --libdir=ifelse(index(DOCKER_IMAGE,ubuntu),-1,/usr/lib64,/usr/lib/x86_64-linux-gnu) --enable-defn(`BUILD_LINKAGE') --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=nasm && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install diff --git a/template/libx264.m4 b/template/libx264.m4 index b140d92ef..36e02bc3f 100644 --- a/template/libx264.m4 +++ b/template/libx264.m4 @@ -3,11 +3,11 @@ ARG X264_VER=stable ARG X264_REPO=https://github.com/mirror/x264 define(`FFMPEG_CONFIG_X264',--enable-libx264 )dnl -RUN git clone ${X264_REPO}; \ - cd x264; \ - git checkout ${X264_VER}; \ - ./configure --prefix="/usr" --libdir=ifelse(index(DOCKER_IMAGE,ubuntu),-1,/usr/lib64,/usr/lib/x86_64-linux-gnu) --enable-defn(`BUILD_LINKAGE'); \ - make -j8; \ - make install DESTDIR="/home/build"; \ +RUN git clone ${X264_REPO} && \ + cd x264 && \ + git checkout ${X264_VER} && \ + ./configure --prefix="/usr" --libdir=ifelse(index(DOCKER_IMAGE,ubuntu),-1,/usr/lib64,/usr/lib/x86_64-linux-gnu) --enable-defn(`BUILD_LINKAGE') && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ make install diff --git a/template/libx265.m4 b/template/libx265.m4 index 351c56e29..8f2243b64 100644 --- a/template/libx265.m4 +++ b/template/libx265.m4 @@ -10,9 +10,9 @@ RUN yum install -y -q numactl-devel libpciaccess-devel )dnl define(`FFMPEG_CONFIG_X265',--enable-libx265 )dnl -RUN wget -O - ${X265_REPO} | tar xz && mv x265-${X265_VER} x265; \ - cd x265/build/linux; \ - cmake -DBUILD_SHARED_LIBS=ifelse(BUILD_LINKAGE,shared,ON,OFF) -DENABLE_TESTS=OFF -DCMAKE_INSTALL_PREFIX=/usr -DLIB_INSTALL_DIR=ifelse(index(DOCKER_IMAGE,ubuntu),-1,/usr/lib64,/usr/lib/x86_64-linux-gnu) ../../source; \ - make -j8; \ - make install DESTDIR="/home/build"; \ +RUN wget -O - ${X265_REPO} | tar xz && mv x265-${X265_VER} x265 && \ + cd x265/build/linux && \ + cmake -DBUILD_SHARED_LIBS=ifelse(BUILD_LINKAGE,shared,ON,OFF) -DENABLE_TESTS=OFF -DCMAKE_INSTALL_PREFIX=/usr -DLIB_INSTALL_DIR=ifelse(index(DOCKER_IMAGE,ubuntu),-1,/usr/lib64,/usr/lib/x86_64-linux-gnu) ../../source && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ make install diff --git a/template/media-driver.m4 b/template/media-driver.m4 index 92f48c9cd..a01650e77 100644 --- a/template/media-driver.m4 +++ b/template/media-driver.m4 @@ -9,12 +9,12 @@ ifelse(index(DOCKER_IMAGE,centos),-1,,dnl RUN yum install -y -q libX11-devel mesa-libGL-devel libpciaccess-devel libXext-devel )dnl -RUN wget -O - ${MEDIA_DRIVER_REPO} | tar xz && mv media-driver-${MEDIA_DRIVER_VER} media-driver; \ - mkdir -p media-driver/build; \ - cd media-driver/build; \ - cmake -DBUILD_TYPE=release -DBUILD_ALONG_WITH_CMRTLIB=1 -DMEDIA_VERSION="2.0.0" -DBS_DIR_GMMLIB=/home/gmmlib/Source/GmmLib -DBS_DIR_COMMON=/home/gmmlib/Source/Common -DBS_DIR_INC=/home/gmmlib/Source/inc -DBS_DIR_MEDIA=/home/media-driver -Wno-dev -DCMAKE_INSTALL_PREFIX=/usr ..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${MEDIA_DRIVER_REPO} | tar xz && mv media-driver-${MEDIA_DRIVER_VER} media-driver && \ + mkdir -p media-driver/build && \ + cd media-driver/build && \ + cmake -DBUILD_TYPE=release -DBUILD_ALONG_WITH_CMRTLIB=1 -DMEDIA_VERSION="2.0.0" -DBS_DIR_GMMLIB=/home/gmmlib/Source/GmmLib -DBS_DIR_COMMON=/home/gmmlib/Source/Common -DBS_DIR_INC=/home/gmmlib/Source/inc -DBS_DIR_MEDIA=/home/media-driver -Wno-dev -DCMAKE_INSTALL_PREFIX=/usr .. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install define(`INSTALL_MEDIA_DRIVER',dnl diff --git a/template/media-sdk.m4 b/template/media-sdk.m4 index a391b9f8c..a8230ffcc 100644 --- a/template/media-sdk.m4 +++ b/template/media-sdk.m4 @@ -2,14 +2,14 @@ ARG MSDK_VER=MSS-KBL-2019-R1 ARG MSDK_REPO=https://github.com/Intel-Media-SDK/MediaSDK/archive/${MSDK_VER}.tar.gz -RUN wget -O - ${MSDK_REPO} | tar xz && mv MediaSDK-${MSDK_VER} MediaSDK; \ - mkdir -p MediaSDK/build; \ - cd MediaSDK/build; \ - cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_INCLUDEDIR=include/mfx -DBUILD_SAMPLES=OFF -DENABLE_OPENCL=OFF -Wno-dev ..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${MSDK_REPO} | tar xz && mv MediaSDK-${MSDK_VER} MediaSDK && \ + mkdir -p MediaSDK/build && \ + cd MediaSDK/build && \ + cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_INCLUDEDIR=include/mfx -DBUILD_SAMPLES=OFF -DENABLE_OPENCL=OFF -Wno-dev .. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ ifelse(index(DOCKER_IMAGE,-dev),-1,dnl - rm -rf /home/build/usr/samples; \ - rm -rf /home/build/usr/plugins; \ + rm -rf /home/build/usr/samples && \ + rm -rf /home/build/usr/plugins && \ )dnl make install; diff --git a/template/nasm.m4 b/template/nasm.m4 index ddc5053ab..1e61285e5 100644 --- a/template/nasm.m4 +++ b/template/nasm.m4 @@ -1,10 +1,10 @@ # Build NASM ARG NASM_VER=2.13.03 ARG NASM_REPO=https://www.nasm.us/pub/nasm/releasebuilds/${NASM_VER}/nasm-${NASM_VER}.tar.bz2 -RUN wget ${NASM_REPO}; \ - tar -xaf nasm*; \ - cd nasm-${NASM_VER}; \ - ./autogen.sh; \ - ./configure --prefix="/usr" --libdir=ifelse(index(DOCKER_IMAGE,ubuntu),-1,/usr/lib64,/usr/lib/x86_64-linux-gnu); \ - make -j8; \ +RUN wget ${NASM_REPO} && \ + tar -xaf nasm* && \ + cd nasm-${NASM_VER} && \ + ./autogen.sh && \ + ./configure --prefix="/usr" --libdir=ifelse(index(DOCKER_IMAGE,ubuntu),-1,/usr/lib64,/usr/lib/x86_64-linux-gnu) && \ + make -j8 && \ make install diff --git a/template/nginx-qat.m4 b/template/nginx-qat.m4 index b99056444..2ccf5d23c 100644 --- a/template/nginx-qat.m4 +++ b/template/nginx-qat.m4 @@ -8,19 +8,19 @@ RUN apt-get update && apt-get install -y -q --no-install-recommends libssl-dev l RUN yum install -y -q openssl-devel pcre2-devel zlib-devel libxslt-devel )dnl -RUN wget -O - ${NGINX_QAT_REPO} | tar xz && mv async_mode_nginx-${NGINX_QAT_VER} asynch_mode_nginx; \ - cd asynch_mode_nginx; \ - ./configure --add-dynamic-module=modules/nginx_qatzip_module --add-dynamic-module=modules/nginx_qat_module --with-cc-opt="-DNGX_SECURE_MEM -I/opt/openssl/include -Wno-error=deprecated-declarations" --with-ld-opt="-L/opt/openssl/lib -L/opt/qat/lib -lqatzip -lz" --prefix=/var/www --sbin-path=/usr/sbin/nginx --modules-path=/usr/ifelse(index(DOCKER_IMAGE,ubuntu),-1,lib64,lib/x86_64-linux-gnu)/nginx/modules --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/www/log/error.log --pid-path=/var/www/nginx.pid --lock-path=/var/www/nginx.lock --http-log-path=/var/www/log/access.log --http-client-body-temp-path=/var/www/tmp/client_body --http-proxy-temp-path=/var/www/tmp/proxy --http-fastcgi-temp-path=/var/www/tmp/fastcgi --http-uwsgi-temp-path=/var/www/tmp/uwsgi --http-scgi-temp-path=/var/www/tmp/scgi --user=ifelse(index(DOCKER_IMAGE,ubuntu),-1,nobody,www-data) --group=ifelse(index(DOCKER_IMAGE,ubuntu),-1,nobody,www-data) --with-select_module --with-poll_module --with-threads --with-file-aio --with-http_ssl_module --with-http_v2_module --with-http_realip_module --with-http_addition_module --with-http_xslt_module --with-http_sub_module --with-http_dav_module --with-http_flv_module --with-http_mp4_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_auth_request_module --with-http_random_index_module --with-http_secure_link_module --with-http_degradation_module --with-http_slice_module --with-http_stub_status_module --with-stream --with-stream_ssl_module --with-pcre defn(`NGINX_RTMP_MODULE'); \ - make -j8; \ +RUN wget -O - ${NGINX_QAT_REPO} | tar xz && mv async_mode_nginx-${NGINX_QAT_VER} asynch_mode_nginx && \ + cd asynch_mode_nginx && \ + ./configure --add-dynamic-module=modules/nginx_qatzip_module --add-dynamic-module=modules/nginx_qat_module --with-cc-opt="-DNGX_SECURE_MEM -I/opt/openssl/include -Wno-error=deprecated-declarations" --with-ld-opt="-L/opt/openssl/lib -L/opt/qat/lib -lqatzip -lz" --prefix=/var/www --sbin-path=/usr/sbin/nginx --modules-path=/usr/ifelse(index(DOCKER_IMAGE,ubuntu),-1,lib64,lib/x86_64-linux-gnu)/nginx/modules --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/www/log/error.log --pid-path=/var/www/nginx.pid --lock-path=/var/www/nginx.lock --http-log-path=/var/www/log/access.log --http-client-body-temp-path=/var/www/tmp/client_body --http-proxy-temp-path=/var/www/tmp/proxy --http-fastcgi-temp-path=/var/www/tmp/fastcgi --http-uwsgi-temp-path=/var/www/tmp/uwsgi --http-scgi-temp-path=/var/www/tmp/scgi --user=ifelse(index(DOCKER_IMAGE,ubuntu),-1,nobody,www-data) --group=ifelse(index(DOCKER_IMAGE,ubuntu),-1,nobody,www-data) --with-select_module --with-poll_module --with-threads --with-file-aio --with-http_ssl_module --with-http_v2_module --with-http_realip_module --with-http_addition_module --with-http_xslt_module --with-http_sub_module --with-http_dav_module --with-http_flv_module --with-http_mp4_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_auth_request_module --with-http_random_index_module --with-http_secure_link_module --with-http_degradation_module --with-http_slice_module --with-http_stub_status_module --with-stream --with-stream_ssl_module --with-pcre defn(`NGINX_RTMP_MODULE') && \ + make -j8 && \ make install DESTDIR=/home/build; # NGINX Setup COPY *.conf /home/build/etc/nginx -RUN mkdir -p /home/build/var/www/tmp/client_body; \ - mkdir -p /home/build/var/www/tmp/proxy; \ - mkdir -p /home/build/var/www/tmp/fastcgi; \ - mkdir -p /home/build/var/www/tmp/uwsgi; \ - mkdir -p /home/build/var/www/tmp/scgi; \ +RUN mkdir -p /home/build/var/www/tmp/client_body && \ + mkdir -p /home/build/var/www/tmp/proxy && \ + mkdir -p /home/build/var/www/tmp/fastcgi && \ + mkdir -p /home/build/var/www/tmp/uwsgi && \ + mkdir -p /home/build/var/www/tmp/scgi && \ mkdir -p /home/build/var/www/cache; define(`INSTALL_PKGS_NGINX',ifelse(index(DOCKER_IMAGE,ubuntu),-1,openssl-libs pcre2 zlib libxslt ,libxml2 libssl1.0.0 libpcre3 zlib1g libxslt1.1 ))dnl diff --git a/template/nginx-rtmp.m4 b/template/nginx-rtmp.m4 index cffbaa9a0..e13854ae8 100644 --- a/template/nginx-rtmp.m4 +++ b/template/nginx-rtmp.m4 @@ -5,9 +5,9 @@ ARG NGINX_RTMP_PATCH_HLS=https://raw.githubusercontent.com/VCDP/CDN/master/0001- ARG NGINX_RTMP_PATCH_DASH=https://raw.githubusercontent.com/VCDP/CDN/master/0002-add-HEVC-support-for-dash.patch define(`NGINX_RTMP_MODULE',--add-module=../nginx-rtmp-module )dnl -RUN wget -O - ${NGINX_RTMP_REPO} | tar xz && mv nginx-rtmp-module-${NGINX_RTMP_VER#v} nginx-rtmp-module; \ - cd nginx-rtmp-module; \ - mkdir -p /home/build/var/www/html; \ - cp -f stat.xsl /home/build/var/www/html; \ - wget -O - ${NGINX_RTMP_PATCH_HLS} | patch -p1; \ +RUN wget -O - ${NGINX_RTMP_REPO} | tar xz && mv nginx-rtmp-module-${NGINX_RTMP_VER#v} nginx-rtmp-module && \ + cd nginx-rtmp-module && \ + mkdir -p /home/build/var/www/html && \ + cp -f stat.xsl /home/build/var/www/html && \ + wget -O - ${NGINX_RTMP_PATCH_HLS} | patch -p1 && \ wget -O - ${NGINX_RTMP_PATCH_DASH} | patch -p1; diff --git a/template/nginx.m4 b/template/nginx.m4 index 375f8b562..f0a68c783 100644 --- a/template/nginx.m4 +++ b/template/nginx.m4 @@ -8,21 +8,21 @@ RUN apt-get update && apt-get install -y -q --no-install-recommends libssl-dev l RUN yum install -y -q openssl-devel pcre2-devel zlib-devel libxslt-devel )dnl -RUN wget -O - ${NGINX_REPO} | tar xz; \ - cd nginx-${NGINX_VER}; \ - ./configure --prefix=/var/www --sbin-path=/usr/sbin/nginx --modules-path=/usr/ifelse(index(DOCKER_IMAGE,ubuntu),-1,lib64,lib/x86_64-linux-gnu)/nginx/modules --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/www/log/error.log --pid-path=/var/www/nginx.pid --lock-path=/var/www/nginx.lock --http-log-path=/var/www/log/access.log --http-client-body-temp-path=/var/www/tmp/client_body --http-proxy-temp-path=/var/www/tmp/proxy --http-fastcgi-temp-path=/var/www/tmp/fastcgi --http-uwsgi-temp-path=/var/www/tmp/uwsgi --http-scgi-temp-path=/var/www/tmp/scgi --user=ifelse(index(DOCKER_IMAGE,ubuntu),-1,nobody,www-data) --group=ifelse(index(DOCKER_IMAGE,ubuntu),-1,nobody,www-data) --with-select_module --with-poll_module --with-threads --with-file-aio --with-http_ssl_module --with-http_v2_module --with-http_realip_module --with-http_addition_module --with-http_xslt_module --with-http_sub_module --with-http_dav_module --with-http_flv_module --with-http_mp4_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_auth_request_module --with-http_random_index_module --with-http_secure_link_module --with-http_degradation_module --with-http_slice_module --with-http_stub_status_module --with-stream --with-stream_ssl_module --with-stream_realip_module --with-stream_ssl_preread_module --with-pcre defn(`NGINX_RTMP_MODULE'); \ - make -j8; \ +RUN wget -O - ${NGINX_REPO} | tar xz && \ + cd nginx-${NGINX_VER} && \ + ./configure --prefix=/var/www --sbin-path=/usr/sbin/nginx --modules-path=/usr/ifelse(index(DOCKER_IMAGE,ubuntu),-1,lib64,lib/x86_64-linux-gnu)/nginx/modules --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/www/log/error.log --pid-path=/var/www/nginx.pid --lock-path=/var/www/nginx.lock --http-log-path=/var/www/log/access.log --http-client-body-temp-path=/var/www/tmp/client_body --http-proxy-temp-path=/var/www/tmp/proxy --http-fastcgi-temp-path=/var/www/tmp/fastcgi --http-uwsgi-temp-path=/var/www/tmp/uwsgi --http-scgi-temp-path=/var/www/tmp/scgi --user=ifelse(index(DOCKER_IMAGE,ubuntu),-1,nobody,www-data) --group=ifelse(index(DOCKER_IMAGE,ubuntu),-1,nobody,www-data) --with-select_module --with-poll_module --with-threads --with-file-aio --with-http_ssl_module --with-http_v2_module --with-http_realip_module --with-http_addition_module --with-http_xslt_module --with-http_sub_module --with-http_dav_module --with-http_flv_module --with-http_mp4_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_auth_request_module --with-http_random_index_module --with-http_secure_link_module --with-http_degradation_module --with-http_slice_module --with-http_stub_status_module --with-stream --with-stream_ssl_module --with-stream_realip_module --with-stream_ssl_preread_module --with-pcre defn(`NGINX_RTMP_MODULE') && \ + make -j8 && \ make install DESTDIR=/home/build; # NGINX Setup COPY nginx.conf /home/build/etc/nginx -RUN mkdir -p /home/build/var/www/tmp/client_body; \ - mkdir -p /home/build/var/www/tmp/proxy; \ - mkdir -p /home/build/var/www/tmp/fastcgi; \ - mkdir -p /home/build/var/www/tmp/uwsgi; \ - mkdir -p /home/build/var/www/tmp/scgi; \ - mkdir -p /home/build/var/www/cache; \ - mkdir -p /home/build/var/www/html; \ +RUN mkdir -p /home/build/var/www/tmp/client_body && \ + mkdir -p /home/build/var/www/tmp/proxy && \ + mkdir -p /home/build/var/www/tmp/fastcgi && \ + mkdir -p /home/build/var/www/tmp/uwsgi && \ + mkdir -p /home/build/var/www/tmp/scgi && \ + mkdir -p /home/build/var/www/cache && \ + mkdir -p /home/build/var/www/html && \ touch /home/build/var/www/html/index.html; define(`INSTALL_PKGS_NGINX',ifelse(index(DOCKER_IMAGE,ubuntu),-1,openssl-libs pcre2 zlib libxslt libxml2 ,libxml2 libssl1.0.0 libpcre3 zlib1g libxslt1.1 ))dnl diff --git a/template/qat-driver.m4 b/template/qat-driver.m4 index 38f9739c8..229befc60 100644 --- a/template/qat-driver.m4 +++ b/template/qat-driver.m4 @@ -7,23 +7,23 @@ RUN apt-get update && apt-get install -y -q --no-install-recommends libelf-dev b RUN yum install -y -q elf-devel bc openssl-dev udev-devel )dnl -RUN kernel_version=$(cat /proc/version | cut -f3 -d' '); \ - wget -O - ${QAT_KERNEL_SOURCE_REPO}/v${kernel_version%%.*}.x/linux-${kernel_version}.tar.xz | tar xJ; \ - cd linux-${kernel_version}; \ - make olddefconfig; \ - sed -i 's/.* CONFIG_CRYPTO_SHA512 .*/CONFIG_CRYPTO_SHA512=y/' .config; \ - sed -i 's/.* CONFIG_UIO .*/CONFIG_UIO=y/' .config; \ - yes "" | make -j8; \ +RUN kernel_version=$(cat /proc/version | cut -f3 -d' ') && \ + wget -O - ${QAT_KERNEL_SOURCE_REPO}/v${kernel_version%%.*}.x/linux-${kernel_version}.tar.xz | tar xJ && \ + cd linux-${kernel_version} && \ + make olddefconfig && \ + sed -i 's/.* CONFIG_CRYPTO_SHA512 .*/CONFIG_CRYPTO_SHA512=y/' .config && \ + sed -i 's/.* CONFIG_UIO .*/CONFIG_UIO=y/' .config && \ + yes "" | make -j8 && \ yes "" | make -j8 modules; # Build the QAT Driver ARG QAT_DRIVER_VER=1.7.l.4.3.0-00033 ARG QAT_DRIVER_REPO=https://01.org/sites/default/files/downloads/intelr-quickassist-technology/qat${QAT_DRIVER_VER}.tar.gz -RUN kernel_version=$(cat /proc/version | cut -f3 -d' '); \ - mkdir qat-driver; \ - cd qat-driver; \ - wget -O - ${QAT_DRIVER_REPO} | tar xz; \ - KERNEL_SOURCE_ROOT=/home/linux-${kernel_version} ./configure --prefix=/opt/qat; \ - sed -i 's/rdtscll(timestamp)//' quickassist/utilities/osal/src/linux/kernel_space/OsalServices.c; \ +RUN kernel_version=$(cat /proc/version | cut -f3 -d' ') && \ + mkdir qat-driver && \ + cd qat-driver && \ + wget -O - ${QAT_DRIVER_REPO} | tar xz && \ + KERNEL_SOURCE_ROOT=/home/linux-${kernel_version} ./configure --prefix=/opt/qat && \ + sed -i 's/rdtscll(timestamp)//' quickassist/utilities/osal/src/linux/kernel_space/OsalServices.c && \ make -j8; diff --git a/template/qat-engine.m4 b/template/qat-engine.m4 index 63e9ae2a7..06789cdaa 100644 --- a/template/qat-engine.m4 +++ b/template/qat-engine.m4 @@ -2,11 +2,11 @@ ARG QAT_ENGINE_VER=v0.5.39 ARG QAT_ENGINE_REPO=https://github.com/intel/QAT_Engine/archive/${QAT_ENGINE_VER}.tar.gz -RUN wget -O - ${QAT_ENGINE_REPO} | tar xz && mv QAT_Engine-${QAT_ENGINE_VER} QAT_Engine; \ - cd QAT_Engine; \ - ./autogen.sh; \ - ./configure --with-qat_dir=/home/qat-driver --with-openssl_dir=/home/openssl --with-openssl_install_dir=/opt/openssl --enable-upstream_driver --enable-usdm --prefix=/opt/qat; \ - PERL5LIB=/home/openssl make -j8; \ - PERL5LIB=/home/openssl make install DESTDIR=/home/build; \ +RUN wget -O - ${QAT_ENGINE_REPO} | tar xz && mv QAT_Engine-${QAT_ENGINE_VER} QAT_Engine && \ + cd QAT_Engine && \ + ./autogen.sh && \ + ./configure --with-qat_dir=/home/qat-driver --with-openssl_dir=/home/openssl --with-openssl_install_dir=/opt/openssl --enable-upstream_driver --enable-usdm --prefix=/opt/qat && \ + PERL5LIB=/home/openssl make -j8 && \ + PERL5LIB=/home/openssl make install DESTDIR=/home/build && \ PERL5LIB=/home/openssl make install diff --git a/template/qat-openssl.m4 b/template/qat-openssl.m4 index 2e4595022..23262a1ea 100644 --- a/template/qat-openssl.m4 +++ b/template/qat-openssl.m4 @@ -2,14 +2,14 @@ ARG QAT_OPENSSL_VER=OpenSSL_1_1_1 ARG QAT_OPENSSL_REPO=https://github.com/openssl/openssl/archive/${QAT_OPENSSL_VER}.tar.gz -RUN wget -O - ${QAT_OPENSSL_REPO} | tar xz && mv openssl-${QAT_OPENSSL_VER} openssl; \ - cd openssl; \ - ./config --prefix=/opt/openssl --openssldir=/opt/openssl -Wl,-rpath,\${LIBRPATH}; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN wget -O - ${QAT_OPENSSL_REPO} | tar xz && mv openssl-${QAT_OPENSSL_VER} openssl && \ + cd openssl && \ + ./config --prefix=/opt/openssl --openssldir=/opt/openssl -Wl,-rpath,\${LIBRPATH} && \ + make -j8 && \ + make install DESTDIR=/home/build && \ ifelse(index(DOCKER_IMAGE,-dev),-1,,dnl - rm -rf /home/build/opt/openssl/share/doc; \ - rm -rf /home/build/opt/openssl/share/man; \ + rm -rf /home/build/opt/openssl/share/doc && \ + rm -rf /home/build/opt/openssl/share/man && \ )dnl make install; diff --git a/template/qat-zip.m4 b/template/qat-zip.m4 index 8c94e3915..2d9b14210 100644 --- a/template/qat-zip.m4 +++ b/template/qat-zip.m4 @@ -2,12 +2,12 @@ ARG QATZIP_VER=v0.2.7 ARG QATZIP_REPO=https://github.com/intel/QATzip/archive/${QATZIP_VER}.tar.gz -RUN wget -O - ${QATZIP_REPO} | tar xz && mv QATzip-${QATZIP_VER} QATzip; \ - cd QATzip; \ - ./configure --with-ICP_ROOT=/home/qat-driver --prefix=/opt/qat; \ - make -j8; \ - mkdir -p /opt/qat/lib; \ - mkdir -p /opt/qat/bin; \ - mkdir -p /opt/qat/include; \ - make install; \ +RUN wget -O - ${QATZIP_REPO} | tar xz && mv QATzip-${QATZIP_VER} QATzip && \ + cd QATzip && \ + ./configure --with-ICP_ROOT=/home/qat-driver --prefix=/opt/qat && \ + make -j8 && \ + mkdir -p /opt/qat/lib && \ + mkdir -p /opt/qat/bin && \ + mkdir -p /opt/qat/include && \ + make install && \ cp /usr/include/qatzip.h /opt/qat/include; diff --git a/template/svt-av1.m4 b/template/svt-av1.m4 index ac97d4a12..d2d452b97 100644 --- a/template/svt-av1.m4 +++ b/template/svt-av1.m4 @@ -2,12 +2,12 @@ ARG SVT_AV1_VER=a39acb2 ARG SVT_AV1_REPO=https://github.com/OpenVisualCloud/SVT-AV1 -RUN git clone ${SVT_AV1_REPO}; \ - cd SVT-AV1/Build/linux; \ - git checkout ${SVT_AV1_VER}; \ - mkdir -p ../../Bin/Release; \ - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=ifelse(index(DOCKER_IMAGE,ubuntu),-1,lib64,lib/x86_64-linux-gnu) -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ - make -j8; \ - make install DESTDIR=/home/build; \ +RUN git clone ${SVT_AV1_REPO} && \ + cd SVT-AV1/Build/linux && \ + git checkout ${SVT_AV1_VER} && \ + mkdir -p ../../Bin/Release && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=ifelse(index(DOCKER_IMAGE,ubuntu),-1,lib64,lib/x86_64-linux-gnu) -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install diff --git a/template/svt-hevc.m4 b/template/svt-hevc.m4 index 56c1bb9f5..64fe9951f 100644 --- a/template/svt-hevc.m4 +++ b/template/svt-hevc.m4 @@ -3,25 +3,25 @@ ARG SVT_HEVC_VER=v1.3.0 ARG SVT_HEVC_REPO=https://github.com/intel/SVT-HEVC ifelse(index(DOCKER_IMAGE,ubuntu),-1, -RUN yum install -y -q patch centos-release-scl; \ +RUN yum install -y -q patch centos-release-scl && \ yum install -y -q devtoolset-7 )dnl -RUN git clone ${SVT_HEVC_REPO}; \ - cd SVT-HEVC/Build/linux; \ - git checkout ${SVT_HEVC_VER}; \ - mkdir -p ../../Bin/Release; \ +RUN git clone ${SVT_HEVC_REPO} && \ + cd SVT-HEVC/Build/linux && \ + git checkout ${SVT_HEVC_VER} && \ + mkdir -p ../../Bin/Release && \ ifelse(index(DOCKER_IMAGE,centos),-1,,`dnl - ( source /opt/rh/devtoolset-7/enable; \ + ( source /opt/rh/devtoolset-7/enable && \ ')dnl - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=ifelse(index(DOCKER_IMAGE,ubuntu),-1,lib64,lib/x86_64-linux-gnu) -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ - make -j8; \ - make install DESTDIR=/home/build; \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=ifelse(index(DOCKER_IMAGE,ubuntu),-1,lib64,lib/x86_64-linux-gnu) -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install ifelse(index(DOCKER_IMAGE,centos),-1,,`)') define(`FFMPEG_SOURCE_SVT_HEVC',dnl # Patch FFmpeg source for SVT-HEVC -RUN cd /home/FFmpeg; \ +RUN cd /home/FFmpeg && \ patch -p1 < ../SVT-HEVC/ffmpeg_plugin/0001-lavc-svt_hevc-add-libsvt-hevc-encoder-wrapper.patch; )dnl diff --git a/template/svt-vp9.m4 b/template/svt-vp9.m4 index 4f496c245..093550f0d 100644 --- a/template/svt-vp9.m4 +++ b/template/svt-vp9.m4 @@ -2,14 +2,14 @@ ARG SVT_VP9_VER=e92a57c ARG SVT_VP9_REPO=https://github.com/OpenVisualCloud/SVT-VP9 -RUN git clone ${SVT_VP9_REPO}; \ - cd SVT-VP9/Build/linux; \ - git checkout ${SVT_VP9_VER}; \ - mkdir -p ../../Bin/Release; \ +RUN git clone ${SVT_VP9_REPO} && \ + cd SVT-VP9/Build/linux && \ + git checkout ${SVT_VP9_VER} && \ + mkdir -p ../../Bin/Release && \ ifelse(index(DOCKER_IMAGE,centos),-1,,`dnl - ( source /opt/rh/devtoolset-7/enable; \ + ( source /opt/rh/devtoolset-7/enable && \ ')dnl - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=ifelse(index(DOCKER_IMAGE,ubuntu),-1,lib64,lib/x86_64-linux-gnu) -DCMAKE_ASM_NASM_COMPILER=yasm ../..; \ - make -j8; \ - make install DESTDIR=/home/build; \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=ifelse(index(DOCKER_IMAGE,ubuntu),-1,lib64,lib/x86_64-linux-gnu) -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ make install ifelse(index(DOCKER_IMAGE,centos),-1,,`)') diff --git a/template/transform360.m4 b/template/transform360.m4 index 0f6b467c6..ae5e4f4d0 100644 --- a/template/transform360.m4 +++ b/template/transform360.m4 @@ -12,24 +12,24 @@ RUN ln -sf /usr/share/zoneinfo/UTC /etc/localtime; \ ifelse(index(DOCKER_IMAGE,centos),-1,, RUN yum install -y -q opencv-devel )dnl -RUN git clone ${TRANSFORM360_REPO}; \ - cd transform360/Transform360; \ - git checkout ${TRANSFORM360_VER}; \ - sed -i "s/STATIC//" CMakeLists.txt; \ +RUN git clone ${TRANSFORM360_REPO} && \ + cd transform360/Transform360 && \ + git checkout ${TRANSFORM360_VER} && \ + sed -i "s/STATIC//" CMakeLists.txt && \ sed -i "s/DESTINATION lib/DESTINATION \${LIB_INSTALL_DIR}/g" CMakeLists.txt; define(`FFMPEG_SOURCE_TRANSFORM360',dnl # Build transform360 -RUN cd /home/transform360/Transform360; \ - cmake -DBUILD_SHARED_LIBS=ifelse(BUILD_LINKAGE,shared,ON,OFF) -DCMAKE_INSTALL_PREFIX=/usr -DLIB_INSTALL_DIR=ifelse(index(DOCKER_IMAGE,ubuntu),-1,/usr/lib64,/usr/lib/x86_64-linux-gnu) .; \ - make -j8; \ - make install DESTDIR="/home/build"; \ +RUN cd /home/transform360/Transform360 && \ + cmake -DBUILD_SHARED_LIBS=ifelse(BUILD_LINKAGE,shared,ON,OFF) -DCMAKE_INSTALL_PREFIX=/usr -DLIB_INSTALL_DIR=ifelse(index(DOCKER_IMAGE,ubuntu),-1,/usr/lib64,/usr/lib/x86_64-linux-gnu) . && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ make install # Patch FFmpeg source for transform360 -RUN cd /home/FFmpeg/libavfilter; \ - cp /home/transform360/Transform360/vf_transform360.c .; \ - sed -i "s/transform360\/VideoFrameTransformHandler.h/Transform360\/Library\/VideoFrameTransformHandler.h/" vf_transform360.c; \ - sed -i "s/transform360\/VideoFrameTransformHelper.h/Transform360\/Library\/VideoFrameTransformHelper.h/" vf_transform360.c; \ +RUN cd /home/FFmpeg/libavfilter && \ + cp /home/transform360/Transform360/vf_transform360.c . && \ + sed -i "s/transform360\/VideoFrameTransformHandler.h/Transform360\/Library\/VideoFrameTransformHandler.h/" vf_transform360.c && \ + sed -i "s/transform360\/VideoFrameTransformHelper.h/Transform360\/Library\/VideoFrameTransformHelper.h/" vf_transform360.c && \ sed -i "s/.*multimedia filters.*/extern AVFilter ff_vf_transform360;/" allfilters.c; \ sed -i "s/.*video filters.*/OBJS-\$(CONFIG_TRANSFORM360_FILTER) += vf_transform360.o/" Makefile; diff --git a/template/yasm.m4 b/template/yasm.m4 index 19c57e8b5..84fa3eb4e 100644 --- a/template/yasm.m4 +++ b/template/yasm.m4 @@ -1,9 +1,9 @@ # Build YASM ARG YASM_VER=1.3.0 ARG YASM_REPO=https://www.tortall.net/projects/yasm/releases/yasm-${YASM_VER}.tar.gz -RUN wget -O - ${YASM_REPO} | tar xz; \ - cd yasm-${YASM_VER}; \ - sed -i "s/) ytasm.*/)/" Makefile.in; \ - ./configure --prefix="/usr" --libdir=ifelse(index(DOCKER_IMAGE,ubuntu),-1,/usr/lib64,/usr/lib/x86_64-linux-gnu); \ - make -j8; \ +RUN wget -O - ${YASM_REPO} | tar xz && \ + cd yasm-${YASM_VER} && \ + sed -i "s/) ytasm.*/)/" Makefile.in && \ + ./configure --prefix="/usr" --libdir=ifelse(index(DOCKER_IMAGE,ubuntu),-1,/usr/lib64,/usr/lib/x86_64-linux-gnu) && \ + make -j8 && \ make install