-sudo yum -y groupinstall "Development Tools"
-sudo yum -y install pciutils
-sudo yum -y install libudev-devel
-sudo yum -y install kernel-devel-$(uname -r)
-sudo yum -y install gcc
-sudo yum -y install openssl-devel
-
-./configure
-make
-make install
-```
- Enable kernel hugepage support:
@@ -34,7 +20,7 @@ sudo systemctl restart qat_service
QATzip is a utility (`qzip`) for data compression. QATengine is a crypto engine that can be used in the openssl framework. The async mode NGINX requires both QATzip and QATengine.
-While the docker images contain QATzip and QATengine, you **must** configure QATzip and QATengine on each host that the containers run. The QATzip configuration files are located at [QATzip/config_file](https://github.com/intel/QATzip/tree/master/config_file) and the QATengine configuration files are located at [QATengine/qat/config](https://github.com/intel/QAT_Engine/tree/master/qat/config).
+While the docker images contain QATzip and QATengine, you **must** configure QATzip and QATengine on each host that the containers run. The QATzip configuration files are located at [QATzip/config_file](https://github.com/intel/QATzip/tree/master/config_file) and the QATengine configuration files are located at [QAT_Engine/qat_hw_config](https://github.com/intel/QAT_Engine/tree/master/qat_hw_config).
There are multiple versions of the configuration files optimized for different adapaters and usage scenarios. Select the ones that meet your adapter and usage pattern. Copy them to the `/etc` directory. Note that QATzip looks for `NumberDcInstances` and QATengine looks for `NumberCyInstances`. Thus you will need to merge the QATzip and QATengine configuration files together as you need both in NGINX.
@@ -76,9 +62,9 @@ The table lists the available docker images:
(*media-nginx* image uses QAT HW implementation & *dev/nginx_sw* images use QAT SW implmentation.)
|Image|Dockerfile|Docker Image|
|:-:|---|---|
-|media-dev|[centos-7/media/dev](centos-7/media/dev)
[ubuntu-20.04/media/dev](ubuntu-20.04/media/dev)|[openvisualcloud/qat-centos7-media-dev](https://hub.docker.com/r/openvisualcloud/qat-centos7-media-dev)
[openvisualcloud/qat-ubuntu2004-media-dev](https://hub.docker.com/r/openvisualcloud/qat-ubuntu2004-media-dev)|
-|media-nginx|[centos-7/media/nginx](centos-7/media/nginx)
[ubuntu-20.04/media/nginx](ubuntu-20.04/media/nginx)|[openvisualcloud/qat-centos7-media-nginx](https://hub.docker.com/r/openvisualcloud/qat-centos7-media-nginx)
[openvisualcloud/qat-ubuntu2004-media-nginx](https://hub.docker.com/r/openvisualcloud/qat-ubuntu2004-media-nginx)|
-|media-nginx_sw|[centos-7/media/nginx_sw](centos-7/media/nginx_sw)
[ubuntu-20.04/media/nginx_sw](ubuntu-20.04/media/nginx_sw)|[openvisualcloud/qat-centos7-media-nginx_sw](https://hub.docker.com/r/openvisualcloud/qat-centos7-media-nginx_sw)
[openvisualcloud/qat-ubuntu2004-media-nginx_sw](https://hub.docker.com/r/openvisualcloud/qat-ubuntu2004-media-nginx_sw)|
+|media-dev|[ubuntu-22.04/media/dev](ubuntu-22.04/media/dev)
[ubuntu-20.04/media/dev](ubuntu-20.04/media/dev)|[openvisualcloud/qat-ubuntu2204-media-dev](https://hub.docker.com/r/openvisualcloud/qat-ubuntu2204-media-dev)
[openvisualcloud/qat-ubuntu2004-media-dev](https://hub.docker.com/r/openvisualcloud/qat-ubuntu2004-media-dev)|
+|media-nginx|[ubuntu-22.04/media/nginx](ubuntu-22.04/media/nginx)
[ubuntu-20.04/media/nginx](ubuntu-20.04/media/nginx)|[openvisualcloud/qat-ubuntu2204-media-nginx](https://hub.docker.com/r/openvisualcloud/qat-ubuntu2204-media-nginx)
[openvisualcloud/qat-ubuntu2004-media-nginx](https://hub.docker.com/r/openvisualcloud/qat-ubuntu2004-media-nginx)|
+|media-nginx_sw|[ubuntu-22.04/media/nginx_sw](ubuntu-22.04/media/nginx_sw)
[ubuntu-20.04/media/nginx_sw](ubuntu-20.04/media/nginx_sw)|[openvisualcloud/qat-ubuntu2204-media-nginx_sw](https://hub.docker.com/r/openvisualcloud/qat-ubuntu2204-media-nginx_sw)
[openvisualcloud/qat-ubuntu2004-media-nginx_sw](https://hub.docker.com/r/openvisualcloud/qat-ubuntu2004-media-nginx_sw)|
The docker images **must** run with the following devices attached:
- `/dev/hugepages`: The hugepage kernel pages.
diff --git a/QAT/ubuntu-20.04/media/dev/Dockerfile b/QAT/ubuntu-20.04/media/dev/Dockerfile
index baadeed15..bac33cb0a 100644
--- a/QAT/ubuntu-20.04/media/dev/Dockerfile
+++ b/QAT/ubuntu-20.04/media/dev/Dockerfile
@@ -50,12 +50,13 @@ RUN apt-get update && \
# TODO: Revert to NASM repo, this is temp fix is nasm repo certificate expired temporarily
ARG NASM_REPO=https://github.com/OpenVisualCloud/Dockerfiles-Resources/raw/master/nasm-2.15.05.tar.bz2
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${NASM_REPO} | tar xj && \
cd nasm-2.15.05 && \
./autogen.sh && \
./configure --prefix=/usr/local --libdir=/usr/local/lib && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install
@@ -67,14 +68,16 @@ RUN mkdir -p /opt/intel /opt/dist/opt/intel && \
RUN apt-get update && \
DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
- wget ca-certificates make gcc libzip-dev && \
+ wget ca-certificates make gcc libzip-dev automake libtool liblz4-dev libssl-dev && \
rm -rf /var/lib/apt/lists/*
# load qat-zip
-ARG QAT_ZIP_REPO=https://github.com/intel/QATzip/archive/v1.0.6.tar.gz
+ARG QAT_ZIP_REPO=https://github.com/intel/QATzip/archive/v1.1.2.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${QAT_ZIP_REPO} | tar xz && \
cd QATzip* && \
+ ./autogen.sh && \
/bin/bash ./configure LDFLAGS="-Wl,-rpath=/opt/intel/QAT/build" --with-ICP_ROOT=/opt/intel/QAT --prefix=/opt/intel/QATzip && \
make -j8 && \
make install && \
@@ -86,30 +89,31 @@ RUN apt-get update && \
rm -rf /var/lib/apt/lists/*
# build openssl
-ARG OPENSSL_REPO=https://github.com/openssl/openssl/archive/OpenSSL_1_1_1s.tar.gz
+ARG OPENSSL_REPO=https://github.com/openssl/openssl/releases/download/openssl-3.0.7/openssl-3.0.7.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${OPENSSL_REPO} | tar xz && \
- cd openssl-OpenSSL_1_1_1s && \
- ./config no-ssl3 shared --prefix=/usr/local/ssl --openssldir=/usr/local/ssl -fPIC -Wl,-rpath=/usr/local/ssl/lib && \
+ cd openssl-3.0.7 && \
+ ./config shared --prefix=/usr/local/ssl --openssldir=/usr/local/ssl -fPIC -Wl,-rpath=/usr/local/ssl/lib64 && \
make depend && \
- make -s V=0 && \
+ make -j"$(nproc)" -s V=0 && \
make install DESTDIR=/opt/dist && \
- (cd /opt/dist && mkdir -p ./usr/local/lib/pkgconfig && mv ./usr/local/ssl/lib/pkgconfig/*.pc ./usr/local/lib/pkgconfig/) && \
- make install && \
- (mkdir -p /usr/local/lib/pkgconfig && mv /usr/local/ssl/lib/pkgconfig/*.pc /usr/local/lib/pkgconfig/)
+ make install
RUN apt-get update && \
DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
- wget ca-certificates cmake make python && \
+ wget ca-certificates cmake make python3 && \
rm -rf /var/lib/apt/lists/*
-ARG QAT_CRYPTOMB_REPO=https://github.com/intel/ipp-crypto/archive/ippcp_2021.6.tar.gz
+ARG QAT_CRYPTOMB_REPO=https://github.com/intel/ipp-crypto/archive/ippcp_2021.7.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${QAT_CRYPTOMB_REPO} | tar xz && \
- mkdir -p ipp-crypto-ippcp_2021.6/sources/ippcp/crypto_mb/build && \
- cd ipp-crypto-ippcp_2021.6/sources/ippcp/crypto_mb/build && \
- CFLAGS="-Wl,-rpath=/usr/local/ssl/lib" cmake -DOPENSSL_INCLUDE_DIR=/usr/local/ssl/include -DOPENSSL_LIBRARIES=/usr/local/ssl/lib -DOPENSSL_ROOT_DIR=/usr/local/ssl .. && \
- make -j8 && \
+ mkdir -p ipp-crypto-ippcp_2021.7/sources/ippcp/crypto_mb/build && \
+ cd ipp-crypto-ippcp_2021.7/sources/ippcp/crypto_mb/build && \
+ export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/local/ssl/lib64 && \
+ CFLAGS="-Wl,-rpath=/usr/local/ssl/lib64" cmake -DOPENSSL_INCLUDE_DIR=/usr/local/ssl/include -DOPENSSL_LIBRARIES=/usr/local/ssl/lib64 -DOPENSSL_ROOT_DIR=/usr/local/ssl -DOPENSSL_CRYPTO_LIBRARY=/usr/local/ssl/lib64/libcrypto.so .. && \
+ make -j"$(nproc)" && \
make install && \
make install DESTDIR=/opt/dist
@@ -122,7 +126,7 @@ ARG IPSECMB_REPO=https://github.com/intel/intel-ipsec-mb.git
RUN cd /opt/build && \
git clone -b v1.2 ${IPSECMB_REPO} && \
cd intel-ipsec-mb && \
- CFLAGS="-Wl,-rpath=/usr/local/ssl/lib" make -j SAFE_DATA=y SAFE_PARAM=y SAFE_LOOKUP=y && \
+ CFLAGS="-Wl,-rpath=/usr/local/ssl/lib64" make -j SAFE_DATA=y SAFE_PARAM=y SAFE_LOOKUP=y && \
make install && \
make install PREFIX=/opt/dist\/usr/local
@@ -132,14 +136,15 @@ RUN apt-get update && \
rm -rf /var/lib/apt/lists/*
# load qat-engine
-ARG QAT_ENGINE_REPO=https://github.com/intel/QAT_Engine/archive/v0.6.15.tar.gz
+ARG QAT_ENGINE_REPO=https://github.com/intel/QAT_Engine/archive/v0.6.19.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${QAT_ENGINE_REPO} | tar xz && \
cd QAT_Engine* && \
+ export LD_LIBRARY_PATH=${LD_LIBRARY_PATH=$}:/usr/local/ssl/lib64 && \
./autogen.sh && \
- export PERL5LIB="$(ls -1 -d /opt/build/openssl-*)" && \
- ./configure --with-qat_dir=/opt/intel/QAT --with-openssl_dir="$PERL5LIB" --with-openssl_install_dir=/usr/local/ssl --prefix=/opt/intel/QATengine --disable-qat_ecx --with-cc-opt="-DQAT_DISABLE_NONZERO_MEMFREE -I/opt/build/ipp-crypto-ippcp_2021.6/sources/ippcp/crypto_mb/include" --enable-multibuff_offload --enable-multibuff_ecx --enable-qat_sw && \
- make -j8 && \
+ ./configure --with-qat_dir=/opt/intel/QAT --with-openssl_dir="$(ls -1 -d /opt/build/openssl-*)" --with-openssl_install_dir=/usr/local/ssl --prefix=/opt/intel/QATengine --disable-qat_ecx --with-cc-opt="-DQAT_DISABLE_NONZERO_MEMFREE -I/opt/build/ipp-crypto-ippcp_2021.7/sources/ippcp/crypto_mb/include" --enable-multibuff_offload --enable-multibuff_ecx --enable-qat_sw && \
+ make -j"$(nproc)" && \
make install && \
tar cf - /usr/local/ssl | (cd /opt/dist && tar xf -)
@@ -150,11 +155,13 @@ RUN apt-get update && \
ARG NGINX_FLV_PATCHES_REPO=https://github.com/VCDP/CDN/archive/v0.4.tar.gz
ARG NGINX_FLV_PATCHES_PATH=/opt/build/CDN-0.4
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${NGINX_FLV_PATCHES_REPO} | tar xz
# build nginx flv
ARG NGINX_FLV_REPO=https://github.com/winshining/nginx-http-flv-module/archive/v1.2.10.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${NGINX_FLV_REPO} | tar xz && \
cd nginx-http-flv-module-1.2.10 && \
@@ -166,6 +173,7 @@ RUN cd /opt/build && \
# build nginx upload
ARG NGINX_UPLOAD_REPO=https://github.com/fdintino/nginx-upload-module/archive/2.3.0.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${NGINX_UPLOAD_REPO} | tar xz
@@ -174,9 +182,10 @@ RUN apt-get update && \
wget ca-certificates libpcre3-dev zlib1g-dev libxslt1-dev && \
rm -rf /var/lib/apt/lists/*
-ARG QAT_NGINX_REPO=https://github.com/intel/asynch_mode_nginx/archive/v0.4.7.tar.gz
+ARG QAT_NGINX_REPO=https://github.com/intel/asynch_mode_nginx/archive/v0.5.0.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN wget -O - ${QAT_NGINX_REPO} | tar xz && cd asynch_mode_nginx* && \
- ./configure --with-ld-opt="-Wl,-rpath=/usr/local/ssl/lib,-rpath=/opt/intel/QATengine/lib,-rpath=/opt/intel/QATzip/lib64,-rpath=/opt/intel/QAT/build -L/usr/local/ssl/lib -L/opt/intel/QATzip/lib64 -lqatzip -lz" \
+ ./configure --with-ld-opt="-Wl,-rpath=/usr/local/ssl/lib64,-rpath=/opt/intel/QATengine/lib,-rpath=/opt/intel/QATzip/lib,-rpath=/opt/intel/QAT/build -L/usr/local/ssl/lib64 -L/opt/intel/QATzip/lib -lqatzip -lz" \
--with-cc-opt="-DNGX_SECURE_MEM -I/usr/local/ssl/include -I/opt/intel/QATzip/include -I/opt/intel/QAT/quickassist/include/dc -I/opt/intel/QAT/quickassist/include -Wno-error=deprecated-declarations" \
--add-dynamic-module=modules/nginx_qatzip_module \
--add-dynamic-module=modules/nginx_qat_module \
@@ -241,6 +250,7 @@ RUN apt-get update && \
rm -rf /var/lib/apt/lists/*
# Generate a self-certificate for testing purpose
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN mkdir -p /opt/dist/etc/nginx && \
printf "US\nOR\nPortland\nOregon\nOpen Visual Cloud\nIntel Corporation\n%s\nnobody@intel.com\n" "$(hostname)" | openssl req -x509 -nodes -days 30 -newkey rsa:4096 -keyout /opt/dist/etc/nginx/cert.key -out /opt/dist/etc/nginx/cert.crt && \
chmod 640 /opt/dist/etc/nginx/cert.key && \
@@ -252,8 +262,9 @@ RUN rm -rf /opt/dist/usr/local/share/man
RUN rm -rf /opt/intel/QATzip/share/man
RUN rm -rf /opt/dist/usr/local/ssl/share/man
RUN rm -rf /opt/dist/usr/local/ssl/share/doc
+HEALTHCHECK CMD echo "This is a healthcheck test." || exit 1
-FROM openvisualcloud/xeon-ubuntu2004-media-dev:-n
+FROM openvisualcloud/xeon-ubuntu2004-media-dev:23.06
LABEL Description="This is the QAT development image for ubuntu 20.04"
LABEL Vendor="Intel Corporation"
WORKDIR /home
@@ -269,6 +280,7 @@ ENV PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
COPY --from=build /opt/dist /
RUN echo "/usr/local/lib" >> /etc/ld.so.conf.d/all-libs.conf && ldconfig
+ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/ssl/lib64
RUN echo "/opt/intel/QAT/build" >> /etc/ld.so.conf.d/qat.conf && ldconfig
-
+HEALTHCHECK CMD echo "This is a healthcheck test." || exit 1
\ No newline at end of file
diff --git a/QAT/ubuntu-20.04/media/dev/Dockerfile.m4 b/QAT/ubuntu-20.04/media/dev/Dockerfile.m4
index f931fee98..1f3c3c95b 100644
--- a/QAT/ubuntu-20.04/media/dev/Dockerfile.m4
+++ b/QAT/ubuntu-20.04/media/dev/Dockerfile.m4
@@ -29,4 +29,4 @@ WORKDIR /home
# Install
UPGRADE_UBUNTU_COMPONENTS()
INSTALL_ALL(devel,build)
-
+HEALTHCHECK CMD echo "This is a healthcheck test." || exit 1
\ No newline at end of file
diff --git a/QAT/ubuntu-20.04/media/dev/README.md b/QAT/ubuntu-20.04/media/dev/README.md
index 67e258807..8c226d23c 100644
--- a/QAT/ubuntu-20.04/media/dev/README.md
+++ b/QAT/ubuntu-20.04/media/dev/README.md
@@ -1,9 +1,7 @@
This docker image is part of Open Visual Cloud software stacks. Optimized for NGINX web server with compute-intensive operations acceleration with Intel® QuickAssist Technology (Intel® QAT).The docker image can be used in the FROM field of a downstream Dockerfile.
-This Image implements Software Implementation of [QAT-Engine](https://github.com/intel/QAT_Engine).
-Refer to [Nginx image](https://github.com/OpenVisualCloud/Dockerfiles/tree/master/QAT/ubuntu-20.04/media/nginx) for Hardware Implementation.
## Supported tags and respective Dockerfile links
- - [qat-ubuntu-2004-media-dev](https://github.com/OpenVisualCloud/Dockerfiles/blob/v22.3/QAT/ubuntu-20.04/media/dev/Dockerfile)
+ - [qat-ubuntu-2004-media-dev](https://github.com/OpenVisualCloud/Dockerfiles/blob/v23.06/QAT/ubuntu-20.04/media/dev/Dockerfile)
## Quick reference
- #### Supported platform and OS
diff --git a/QAT/ubuntu-20.04/media/nginx/Dockerfile b/QAT/ubuntu-20.04/media/nginx/Dockerfile
index b94936989..4ba9e37f0 100644
--- a/QAT/ubuntu-20.04/media/nginx/Dockerfile
+++ b/QAT/ubuntu-20.04/media/nginx/Dockerfile
@@ -50,12 +50,13 @@ RUN apt-get update && \
# TODO: Revert to NASM repo, this is temp fix is nasm repo certificate expired temporarily
ARG NASM_REPO=https://github.com/OpenVisualCloud/Dockerfiles-Resources/raw/master/nasm-2.15.05.tar.bz2
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${NASM_REPO} | tar xj && \
cd nasm-2.15.05 && \
./autogen.sh && \
./configure --prefix=/usr/local --libdir=/usr/local/lib && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install
@@ -67,14 +68,16 @@ RUN mkdir -p /opt/intel /opt/dist/opt/intel && \
RUN apt-get update && \
DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
- wget ca-certificates make gcc libzip-dev && \
+ wget ca-certificates make gcc libzip-dev automake libtool liblz4-dev libssl-dev && \
rm -rf /var/lib/apt/lists/*
# load qat-zip
-ARG QAT_ZIP_REPO=https://github.com/intel/QATzip/archive/v1.0.6.tar.gz
+ARG QAT_ZIP_REPO=https://github.com/intel/QATzip/archive/v1.1.2.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${QAT_ZIP_REPO} | tar xz && \
cd QATzip* && \
+ ./autogen.sh && \
/bin/bash ./configure LDFLAGS="-Wl,-rpath=/opt/intel/QAT/build" --with-ICP_ROOT=/opt/intel/QAT --prefix=/opt/intel/QATzip && \
make -j8 && \
make install && \
@@ -86,17 +89,16 @@ RUN apt-get update && \
rm -rf /var/lib/apt/lists/*
# build openssl
-ARG OPENSSL_REPO=https://github.com/openssl/openssl/archive/OpenSSL_1_1_1s.tar.gz
+ARG OPENSSL_REPO=https://github.com/openssl/openssl/releases/download/openssl-3.0.7/openssl-3.0.7.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${OPENSSL_REPO} | tar xz && \
- cd openssl-OpenSSL_1_1_1s && \
- ./config no-ssl3 shared --prefix=/usr/local/ssl --openssldir=/usr/local/ssl -fPIC -Wl,-rpath=/usr/local/ssl/lib && \
+ cd openssl-3.0.7 && \
+ ./config shared --prefix=/usr/local/ssl --openssldir=/usr/local/ssl -fPIC -Wl,-rpath=/usr/local/ssl/lib64 && \
make depend && \
- make -s V=0 && \
+ make -j"$(nproc)" -s V=0 && \
make install DESTDIR=/opt/dist && \
- (cd /opt/dist && mkdir -p ./usr/local/lib/pkgconfig && mv ./usr/local/ssl/lib/pkgconfig/*.pc ./usr/local/lib/pkgconfig/) && \
- make install && \
- (mkdir -p /usr/local/lib/pkgconfig && mv /usr/local/ssl/lib/pkgconfig/*.pc /usr/local/lib/pkgconfig/)
+ make install
RUN apt-get update && \
DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
@@ -104,14 +106,15 @@ RUN apt-get update && \
rm -rf /var/lib/apt/lists/*
# load qat-engine
-ARG QAT_ENGINE_REPO=https://github.com/intel/QAT_Engine/archive/v0.6.15.tar.gz
+ARG QAT_ENGINE_REPO=https://github.com/intel/QAT_Engine/archive/v0.6.19.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${QAT_ENGINE_REPO} | tar xz && \
cd QAT_Engine* && \
+ export LD_LIBRARY_PATH=${LD_LIBRARY_PATH=$}:/usr/local/ssl/lib64 && \
./autogen.sh && \
- export PERL5LIB="$(ls -1 -d /opt/build/openssl-*)" && \
- ./configure --with-qat_dir=/opt/intel/QAT --with-openssl_dir="$PERL5LIB" --with-openssl_install_dir=/usr/local/ssl --prefix=/opt/intel/QATengine --disable-qat_ecx --with-cc-opt="-DQAT_DISABLE_NONZERO_MEMFREE " --enable-qat_hw --with-qat_hw_dir=/opt/intel/QAT && \
- make -j8 && \
+ ./configure --with-qat_dir=/opt/intel/QAT --with-openssl_dir="$(ls -1 -d /opt/build/openssl-*)" --with-openssl_install_dir=/usr/local/ssl --prefix=/opt/intel/QATengine --disable-qat_ecx --with-cc-opt="-DQAT_DISABLE_NONZERO_MEMFREE " --enable-qat_hw --with-qat_hw_dir=/opt/intel/QAT && \
+ make -j"$(nproc)" && \
make install && \
tar cf - /usr/local/ssl | (cd /opt/dist && tar xf -)
@@ -122,11 +125,13 @@ RUN apt-get update && \
ARG NGINX_FLV_PATCHES_REPO=https://github.com/VCDP/CDN/archive/v0.4.tar.gz
ARG NGINX_FLV_PATCHES_PATH=/opt/build/CDN-0.4
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${NGINX_FLV_PATCHES_REPO} | tar xz
# build nginx flv
ARG NGINX_FLV_REPO=https://github.com/winshining/nginx-http-flv-module/archive/v1.2.10.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${NGINX_FLV_REPO} | tar xz && \
cd nginx-http-flv-module-1.2.10 && \
@@ -138,6 +143,7 @@ RUN cd /opt/build && \
# build nginx upload
ARG NGINX_UPLOAD_REPO=https://github.com/fdintino/nginx-upload-module/archive/2.3.0.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${NGINX_UPLOAD_REPO} | tar xz
@@ -146,9 +152,10 @@ RUN apt-get update && \
wget ca-certificates libpcre3-dev zlib1g-dev libxslt1-dev && \
rm -rf /var/lib/apt/lists/*
-ARG QAT_NGINX_REPO=https://github.com/intel/asynch_mode_nginx/archive/v0.4.7.tar.gz
+ARG QAT_NGINX_REPO=https://github.com/intel/asynch_mode_nginx/archive/v0.5.0.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN wget -O - ${QAT_NGINX_REPO} | tar xz && cd asynch_mode_nginx* && \
- ./configure --with-ld-opt="-Wl,-rpath=/usr/local/ssl/lib,-rpath=/opt/intel/QATengine/lib,-rpath=/opt/intel/QATzip/lib64,-rpath=/opt/intel/QAT/build -L/usr/local/ssl/lib -L/opt/intel/QATzip/lib64 -lqatzip -lz" \
+ ./configure --with-ld-opt="-Wl,-rpath=/usr/local/ssl/lib64,-rpath=/opt/intel/QATengine/lib,-rpath=/opt/intel/QATzip/lib,-rpath=/opt/intel/QAT/build -L/usr/local/ssl/lib64 -L/opt/intel/QATzip/lib -lqatzip -lz" \
--with-cc-opt="-DNGX_SECURE_MEM -I/usr/local/ssl/include -I/opt/intel/QATzip/include -I/opt/intel/QAT/quickassist/include/dc -I/opt/intel/QAT/quickassist/include -Wno-error=deprecated-declarations" \
--add-dynamic-module=modules/nginx_qatzip_module \
--add-dynamic-module=modules/nginx_qat_module \
@@ -213,6 +220,7 @@ RUN apt-get update && \
rm -rf /var/lib/apt/lists/*
# Generate a self-certificate for testing purpose
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN mkdir -p /opt/dist/etc/nginx && \
printf "US\nOR\nPortland\nOregon\nOpen Visual Cloud\nIntel Corporation\n%s\nnobody@intel.com\n" "$(hostname)" | openssl req -x509 -nodes -days 30 -newkey rsa:4096 -keyout /opt/dist/etc/nginx/cert.key -out /opt/dist/etc/nginx/cert.crt && \
chmod 640 /opt/dist/etc/nginx/cert.key && \
@@ -228,8 +236,9 @@ RUN rm -rf /opt/intel/QATzip/share/man
RUN rm -rf /opt/dist/usr/local/ssl/include
RUN rm -rf /opt/dist/usr/local/ssl/share/man
RUN rm -rf /opt/dist/usr/local/ssl/share/doc
+HEALTHCHECK CMD echo "This is a healthcheck test." || exit 1
-FROM openvisualcloud/xeon-ubuntu2004-media-ffmpeg:-n
+FROM openvisualcloud/xeon-ubuntu2004-media-ffmpeg:23.06
LABEL Description="This is the base image for QAT NGINX ubuntu 20.04"
LABEL Vendor="Intel Corporation"
WORKDIR /home
@@ -244,5 +253,7 @@ RUN apt-get update && \
COPY --from=build /opt/dist /
RUN echo "/usr/local/lib" >> /etc/ld.so.conf.d/all-libs.conf && ldconfig
+ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/ssl/lib64
RUN echo "/opt/intel/QAT/build" >> /etc/ld.so.conf.d/qat.conf && ldconfig
+HEALTHCHECK CMD echo "This is a healthcheck test." || exit 1
\ No newline at end of file
diff --git a/QAT/ubuntu-20.04/media/nginx/Dockerfile.m4 b/QAT/ubuntu-20.04/media/nginx/Dockerfile.m4
index b90d1a319..0a32fe782 100644
--- a/QAT/ubuntu-20.04/media/nginx/Dockerfile.m4
+++ b/QAT/ubuntu-20.04/media/nginx/Dockerfile.m4
@@ -26,3 +26,4 @@ WORKDIR /home
# Install
UPGRADE_UBUNTU_COMPONENTS()
INSTALL_ALL(runtime,build)
+HEALTHCHECK CMD echo "This is a healthcheck test." || exit 1
\ No newline at end of file
diff --git a/QAT/ubuntu-20.04/media/nginx/README.md b/QAT/ubuntu-20.04/media/nginx/README.md
index 50e9b044f..be63c2325 100644
--- a/QAT/ubuntu-20.04/media/nginx/README.md
+++ b/QAT/ubuntu-20.04/media/nginx/README.md
@@ -1,9 +1,7 @@
This docker image is part of Open Visual Cloud software stacks. Optimized for NGINX web server with compute-intensive operations acceleration with Intel® QuickAssist Technology (Intel® QAT).The docker image can be used in the FROM field of a downstream Dockerfile.
-This Image implements Hardware Implementation of [QAT-Engine](https://github.com/intel/QAT_Engine).
-Refer to [Nginx SW image](https://github.com/OpenVisualCloud/Dockerfiles/tree/master/QAT/ubuntu-20.04/media/nginx_sw) or [Development image](https://github.com/OpenVisualCloud/Dockerfiles/tree/master/QAT/ubuntu-20.04/media/dev) for Software Implementation.
## Supported tags and respective Dockerfile links
- - [qat-ubuntu-2004-media-nginx](https://github.com/OpenVisualCloud/Dockerfiles/blob/v22.3/QAT/ubuntu-20.04/media/nginx/Dockerfile)
+ - [qat-ubuntu-2004-media-nginx](https://github.com/OpenVisualCloud/Dockerfiles/blob/v23.06/QAT/ubuntu-20.04/media/nginx/Dockerfile)
## Quick reference
- #### Supported platform and OS
@@ -44,7 +42,7 @@ This docker installs third party components licensed under various open source l
|Intel SVT-AV1|BSD-2-Clause Plus Patent License|
|Intel SVT-VP9|BSD-2-Clause Plus Patent License|
|OpenCV|BSD 3-clause "New" or "Revised" License|
-|FFmpeg|GNU General Public License v2.0 or later|
+|FFmpeg|GNU Lesser General Public License v2.1 or later|
More license information can be found in [components source package](https://github.com/OpenVisualCloud/Dockerfiles-Resources).
diff --git a/QAT/ubuntu-20.04/media/nginx_sw/Dockerfile b/QAT/ubuntu-20.04/media/nginx_sw/Dockerfile
index f1d3cd56f..239caa624 100644
--- a/QAT/ubuntu-20.04/media/nginx_sw/Dockerfile
+++ b/QAT/ubuntu-20.04/media/nginx_sw/Dockerfile
@@ -50,12 +50,13 @@ RUN apt-get update && \
# TODO: Revert to NASM repo, this is temp fix is nasm repo certificate expired temporarily
ARG NASM_REPO=https://github.com/OpenVisualCloud/Dockerfiles-Resources/raw/master/nasm-2.15.05.tar.bz2
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${NASM_REPO} | tar xj && \
cd nasm-2.15.05 && \
./autogen.sh && \
./configure --prefix=/usr/local --libdir=/usr/local/lib && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install
@@ -67,14 +68,16 @@ RUN mkdir -p /opt/intel /opt/dist/opt/intel && \
RUN apt-get update && \
DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
- wget ca-certificates make gcc libzip-dev && \
+ wget ca-certificates make gcc libzip-dev automake libtool liblz4-dev libssl-dev && \
rm -rf /var/lib/apt/lists/*
# load qat-zip
-ARG QAT_ZIP_REPO=https://github.com/intel/QATzip/archive/v1.0.6.tar.gz
+ARG QAT_ZIP_REPO=https://github.com/intel/QATzip/archive/v1.1.2.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${QAT_ZIP_REPO} | tar xz && \
cd QATzip* && \
+ ./autogen.sh && \
/bin/bash ./configure LDFLAGS="-Wl,-rpath=/opt/intel/QAT/build" --with-ICP_ROOT=/opt/intel/QAT --prefix=/opt/intel/QATzip && \
make -j8 && \
make install && \
@@ -86,30 +89,31 @@ RUN apt-get update && \
rm -rf /var/lib/apt/lists/*
# build openssl
-ARG OPENSSL_REPO=https://github.com/openssl/openssl/archive/OpenSSL_1_1_1s.tar.gz
+ARG OPENSSL_REPO=https://github.com/openssl/openssl/releases/download/openssl-3.0.7/openssl-3.0.7.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${OPENSSL_REPO} | tar xz && \
- cd openssl-OpenSSL_1_1_1s && \
- ./config no-ssl3 shared --prefix=/usr/local/ssl --openssldir=/usr/local/ssl -fPIC -Wl,-rpath=/usr/local/ssl/lib && \
+ cd openssl-3.0.7 && \
+ ./config shared --prefix=/usr/local/ssl --openssldir=/usr/local/ssl -fPIC -Wl,-rpath=/usr/local/ssl/lib64 && \
make depend && \
- make -s V=0 && \
+ make -j"$(nproc)" -s V=0 && \
make install DESTDIR=/opt/dist && \
- (cd /opt/dist && mkdir -p ./usr/local/lib/pkgconfig && mv ./usr/local/ssl/lib/pkgconfig/*.pc ./usr/local/lib/pkgconfig/) && \
- make install && \
- (mkdir -p /usr/local/lib/pkgconfig && mv /usr/local/ssl/lib/pkgconfig/*.pc /usr/local/lib/pkgconfig/)
+ make install
RUN apt-get update && \
DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
- wget ca-certificates cmake make python && \
+ wget ca-certificates cmake make python3 && \
rm -rf /var/lib/apt/lists/*
-ARG QAT_CRYPTOMB_REPO=https://github.com/intel/ipp-crypto/archive/ippcp_2021.6.tar.gz
+ARG QAT_CRYPTOMB_REPO=https://github.com/intel/ipp-crypto/archive/ippcp_2021.7.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${QAT_CRYPTOMB_REPO} | tar xz && \
- mkdir -p ipp-crypto-ippcp_2021.6/sources/ippcp/crypto_mb/build && \
- cd ipp-crypto-ippcp_2021.6/sources/ippcp/crypto_mb/build && \
- CFLAGS="-Wl,-rpath=/usr/local/ssl/lib" cmake -DOPENSSL_INCLUDE_DIR=/usr/local/ssl/include -DOPENSSL_LIBRARIES=/usr/local/ssl/lib -DOPENSSL_ROOT_DIR=/usr/local/ssl .. && \
- make -j8 && \
+ mkdir -p ipp-crypto-ippcp_2021.7/sources/ippcp/crypto_mb/build && \
+ cd ipp-crypto-ippcp_2021.7/sources/ippcp/crypto_mb/build && \
+ export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/local/ssl/lib64 && \
+ CFLAGS="-Wl,-rpath=/usr/local/ssl/lib64" cmake -DOPENSSL_INCLUDE_DIR=/usr/local/ssl/include -DOPENSSL_LIBRARIES=/usr/local/ssl/lib64 -DOPENSSL_ROOT_DIR=/usr/local/ssl -DOPENSSL_CRYPTO_LIBRARY=/usr/local/ssl/lib64/libcrypto.so .. && \
+ make -j"$(nproc)" && \
make install && \
make install DESTDIR=/opt/dist
@@ -122,7 +126,7 @@ ARG IPSECMB_REPO=https://github.com/intel/intel-ipsec-mb.git
RUN cd /opt/build && \
git clone -b v1.2 ${IPSECMB_REPO} && \
cd intel-ipsec-mb && \
- CFLAGS="-Wl,-rpath=/usr/local/ssl/lib" make -j SAFE_DATA=y SAFE_PARAM=y SAFE_LOOKUP=y && \
+ CFLAGS="-Wl,-rpath=/usr/local/ssl/lib64" make -j SAFE_DATA=y SAFE_PARAM=y SAFE_LOOKUP=y && \
make install && \
make install PREFIX=/opt/dist\/usr/local
@@ -132,14 +136,15 @@ RUN apt-get update && \
rm -rf /var/lib/apt/lists/*
# load qat-engine
-ARG QAT_ENGINE_REPO=https://github.com/intel/QAT_Engine/archive/v0.6.15.tar.gz
+ARG QAT_ENGINE_REPO=https://github.com/intel/QAT_Engine/archive/v0.6.19.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${QAT_ENGINE_REPO} | tar xz && \
cd QAT_Engine* && \
+ export LD_LIBRARY_PATH=${LD_LIBRARY_PATH=$}:/usr/local/ssl/lib64 && \
./autogen.sh && \
- export PERL5LIB="$(ls -1 -d /opt/build/openssl-*)" && \
- ./configure --with-qat_dir=/opt/intel/QAT --with-openssl_dir="$PERL5LIB" --with-openssl_install_dir=/usr/local/ssl --prefix=/opt/intel/QATengine --disable-qat_ecx --with-cc-opt="-DQAT_DISABLE_NONZERO_MEMFREE -I/opt/build/ipp-crypto-ippcp_2021.6/sources/ippcp/crypto_mb/include" --enable-multibuff_offload --enable-multibuff_ecx --enable-qat_sw && \
- make -j8 && \
+ ./configure --with-qat_dir=/opt/intel/QAT --with-openssl_dir="$(ls -1 -d /opt/build/openssl-*)" --with-openssl_install_dir=/usr/local/ssl --prefix=/opt/intel/QATengine --disable-qat_ecx --with-cc-opt="-DQAT_DISABLE_NONZERO_MEMFREE -I/opt/build/ipp-crypto-ippcp_2021.7/sources/ippcp/crypto_mb/include" --enable-multibuff_offload --enable-multibuff_ecx --enable-qat_sw && \
+ make -j"$(nproc)" && \
make install && \
tar cf - /usr/local/ssl | (cd /opt/dist && tar xf -)
@@ -150,11 +155,13 @@ RUN apt-get update && \
ARG NGINX_FLV_PATCHES_REPO=https://github.com/VCDP/CDN/archive/v0.4.tar.gz
ARG NGINX_FLV_PATCHES_PATH=/opt/build/CDN-0.4
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${NGINX_FLV_PATCHES_REPO} | tar xz
# build nginx flv
ARG NGINX_FLV_REPO=https://github.com/winshining/nginx-http-flv-module/archive/v1.2.10.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${NGINX_FLV_REPO} | tar xz && \
cd nginx-http-flv-module-1.2.10 && \
@@ -166,6 +173,7 @@ RUN cd /opt/build && \
# build nginx upload
ARG NGINX_UPLOAD_REPO=https://github.com/fdintino/nginx-upload-module/archive/2.3.0.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${NGINX_UPLOAD_REPO} | tar xz
@@ -174,9 +182,10 @@ RUN apt-get update && \
wget ca-certificates libpcre3-dev zlib1g-dev libxslt1-dev && \
rm -rf /var/lib/apt/lists/*
-ARG QAT_NGINX_REPO=https://github.com/intel/asynch_mode_nginx/archive/v0.4.7.tar.gz
+ARG QAT_NGINX_REPO=https://github.com/intel/asynch_mode_nginx/archive/v0.5.0.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN wget -O - ${QAT_NGINX_REPO} | tar xz && cd asynch_mode_nginx* && \
- ./configure --with-ld-opt="-Wl,-rpath=/usr/local/ssl/lib,-rpath=/opt/intel/QATengine/lib,-rpath=/opt/intel/QATzip/lib64,-rpath=/opt/intel/QAT/build -L/usr/local/ssl/lib -L/opt/intel/QATzip/lib64 -lqatzip -lz" \
+ ./configure --with-ld-opt="-Wl,-rpath=/usr/local/ssl/lib64,-rpath=/opt/intel/QATengine/lib,-rpath=/opt/intel/QATzip/lib,-rpath=/opt/intel/QAT/build -L/usr/local/ssl/lib64 -L/opt/intel/QATzip/lib -lqatzip -lz" \
--with-cc-opt="-DNGX_SECURE_MEM -I/usr/local/ssl/include -I/opt/intel/QATzip/include -I/opt/intel/QAT/quickassist/include/dc -I/opt/intel/QAT/quickassist/include -Wno-error=deprecated-declarations" \
--add-dynamic-module=modules/nginx_qatzip_module \
--add-dynamic-module=modules/nginx_qat_module \
@@ -241,6 +250,7 @@ RUN apt-get update && \
rm -rf /var/lib/apt/lists/*
# Generate a self-certificate for testing purpose
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN mkdir -p /opt/dist/etc/nginx && \
printf "US\nOR\nPortland\nOregon\nOpen Visual Cloud\nIntel Corporation\n%s\nnobody@intel.com\n" "$(hostname)" | openssl req -x509 -nodes -days 30 -newkey rsa:4096 -keyout /opt/dist/etc/nginx/cert.key -out /opt/dist/etc/nginx/cert.crt && \
chmod 640 /opt/dist/etc/nginx/cert.key && \
@@ -256,8 +266,9 @@ RUN rm -rf /opt/intel/QATzip/share/man
RUN rm -rf /opt/dist/usr/local/ssl/include
RUN rm -rf /opt/dist/usr/local/ssl/share/man
RUN rm -rf /opt/dist/usr/local/ssl/share/doc
+HEALTHCHECK CMD echo "This is a healthcheck test." || exit 1
-FROM openvisualcloud/xeon-ubuntu2004-media-ffmpeg:-n
+FROM openvisualcloud/xeon-ubuntu2004-media-ffmpeg:23.06
LABEL Description="This is the base image for QAT NGINX ubuntu 20.04"
LABEL Vendor="Intel Corporation"
WORKDIR /home
@@ -272,5 +283,7 @@ RUN apt-get update && \
COPY --from=build /opt/dist /
RUN echo "/usr/local/lib" >> /etc/ld.so.conf.d/all-libs.conf && ldconfig
+ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/ssl/lib64
RUN echo "/opt/intel/QAT/build" >> /etc/ld.so.conf.d/qat.conf && ldconfig
+HEALTHCHECK CMD echo "This is a healthcheck test." || exit 1
\ No newline at end of file
diff --git a/QAT/ubuntu-20.04/media/nginx_sw/Dockerfile.m4 b/QAT/ubuntu-20.04/media/nginx_sw/Dockerfile.m4
index 708f87ec4..cb8e2c396 100644
--- a/QAT/ubuntu-20.04/media/nginx_sw/Dockerfile.m4
+++ b/QAT/ubuntu-20.04/media/nginx_sw/Dockerfile.m4
@@ -28,3 +28,4 @@ WORKDIR /home
# Install
UPGRADE_UBUNTU_COMPONENTS()
INSTALL_ALL(runtime,build)
+HEALTHCHECK CMD echo "This is a healthcheck test." || exit 1
\ No newline at end of file
diff --git a/QAT/ubuntu-20.04/media/nginx_sw/README.md b/QAT/ubuntu-20.04/media/nginx_sw/README.md
index c95c7f1be..a5709a63a 100644
--- a/QAT/ubuntu-20.04/media/nginx_sw/README.md
+++ b/QAT/ubuntu-20.04/media/nginx_sw/README.md
@@ -1,16 +1,13 @@
This docker image is part of Open Visual Cloud software stacks. Optimized for NGINX web server with compute-intensive operations acceleration with Intel® QuickAssist Technology (Intel® QAT).The docker image can be used in the FROM field of a downstream Dockerfile.
-This Image implements Software Implementation of [QAT-Engine](https://github.com/intel/QAT_Engine).
-Refer to [Nginx image](https://github.com/OpenVisualCloud/Dockerfiles/tree/master/QAT/ubuntu-20.04/media/nginx) for Hardware Implementation.
## Supported tags and respective Dockerfile links
- - [qat-ubuntu-2004-media-nginx_sw](https://github.com/OpenVisualCloud/Dockerfiles/blob/v22.3/QAT/ubuntu-20.04/media/nginx_sw/Dockerfile)
+ - [qat-ubuntu-2004-media-nginx_sw](https://github.com/OpenVisualCloud/Dockerfiles/blob/v23.06/QAT/ubuntu-20.04/media/nginx_sw/Dockerfile)
## Quick reference
- #### Supported platform and OS
Intel® QAT platform, Ubuntu 20.04
-- #### Usage instructions:
- [NGINX](https://github.com/OpenVisualCloud/Dockerfiles/blob/master/doc/nginx.md)
+
- #### Getting started with Dockerfiles:
@@ -45,7 +42,7 @@ This docker installs third party components licensed under various open source l
|Intel SVT-AV1|BSD-2-Clause Plus Patent License|
|Intel SVT-VP9|BSD-2-Clause Plus Patent License|
|OpenCV|BSD 3-clause "New" or "Revised" License|
-|FFmpeg|GNU General Public License v2.0 or later|
+|FFmpeg|GNU Lesser General Public License v2.1 or later|
More license information can be found in [components source package](https://github.com/OpenVisualCloud/Dockerfiles-Resources).
diff --git a/QAT/ubuntu-22.04/CMakeLists.txt b/QAT/ubuntu-22.04/CMakeLists.txt
new file mode 100644
index 000000000..7b997e48f
--- /dev/null
+++ b/QAT/ubuntu-22.04/CMakeLists.txt
@@ -0,0 +1,3 @@
+set(OS_NAME "ubuntu")
+set(OS_VERSION "22.04")
+include(os)
diff --git a/QAT/ubuntu-22.04/media/CMakeLists.txt b/QAT/ubuntu-22.04/media/CMakeLists.txt
new file mode 100644
index 000000000..0f97d75f3
--- /dev/null
+++ b/QAT/ubuntu-22.04/media/CMakeLists.txt
@@ -0,0 +1 @@
+include(usage)
diff --git a/QAT/ubuntu-22.04/media/dev/.gitignore b/QAT/ubuntu-22.04/media/dev/.gitignore
new file mode 100644
index 000000000..335ec9573
--- /dev/null
+++ b/QAT/ubuntu-22.04/media/dev/.gitignore
@@ -0,0 +1 @@
+*.tar.gz
diff --git a/QAT/ubuntu-22.04/media/dev/CMakeLists.txt b/QAT/ubuntu-22.04/media/dev/CMakeLists.txt
new file mode 100644
index 000000000..cdc70e38c
--- /dev/null
+++ b/QAT/ubuntu-22.04/media/dev/CMakeLists.txt
@@ -0,0 +1,6 @@
+set(image "qat_media_devel_ubuntu2204")
+set(dep_image "xeon_media_devel_ubuntu2204")
+set_property(DIRECTORY APPEND PROPERTY ADDITIONAL_MAKE_CLEAN_FILES "${CMAKE_CURRENT_SOURCE_DIR}/qat.tar.gz")
+include(image)
+include(nginx-tests)
+include(qat-tests)
diff --git a/QAT/centos-7/media/dev/Dockerfile b/QAT/ubuntu-22.04/media/dev/Dockerfile
similarity index 61%
rename from QAT/centos-7/media/dev/Dockerfile
rename to QAT/ubuntu-22.04/media/dev/Dockerfile
index 33afce523..be21bb19c 100644
--- a/QAT/centos-7/media/dev/Dockerfile
+++ b/QAT/ubuntu-22.04/media/dev/Dockerfile
@@ -3,7 +3,7 @@
# BSD 3-Clause License
#
-# Copyright (c) 2021, Intel Corporation
+# Copyright (c) 2023, Intel Corporation
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
@@ -33,37 +33,30 @@
# This file is automatically generated from .m4 template.
# To update, modify the template and regenerate.
-FROM centos:7 AS build
-
-
-
-
-
-
-
-
-
-
-RUN yum install -y -q epel-release centos-release-scl && rm -rf /var/yum/cache/*
-
+FROM ubuntu:22.04 AS build
RUN mkdir -p /opt/build && mkdir -p /opt/dist
-ENV PKG_CONFIG_PATH=/usr/local/lib64/pkgconfig
+ENV PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
-RUN yum install -y ca-certificates wget tar gcc-c++ make bzip2
+RUN apt-get update && \
+ DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
+ ca-certificates wget tar g++ make bzip2 && \
+ rm -rf /var/lib/apt/lists/*
# build nasm
#ARG NASM_REPO=https://www.nasm.us/pub/nasm/releasebuilds/NASM_VER/nasm-NASM_VER.tar.bz2
-# TODO: to revert to official nasm repo
+# TODO: Revert to NASM repo, this is temp fix is nasm repo certificate expired temporarily
+
ARG NASM_REPO=https://github.com/OpenVisualCloud/Dockerfiles-Resources/raw/master/nasm-2.15.05.tar.bz2
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${NASM_REPO} | tar xj && \
cd nasm-2.15.05 && \
./autogen.sh && \
- ./configure --prefix=/usr/local --libdir=/usr/local/lib64 && \
- make -j$(nproc) && \
+ ./configure --prefix=/usr/local --libdir=/usr/local/lib && \
+ make -j"$(nproc)" && \
make install
@@ -73,78 +66,102 @@ ADD qat.tar.gz /opt/dist/
RUN mkdir -p /opt/intel /opt/dist/opt/intel && \
ln -s /opt/dist/opt/intel/QAT /opt/intel/QAT
-RUN yum install -y wget make gcc zlib-devel
+RUN apt-get update && \
+ DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
+ wget ca-certificates make gcc libzip-dev automake libtool liblz4-dev libssl-dev && \
+ rm -rf /var/lib/apt/lists/*
# load qat-zip
-ARG QAT_ZIP_REPO=https://github.com/intel/QATzip/archive/v1.0.6.tar.gz
+ARG QAT_ZIP_REPO=https://github.com/intel/QATzip/archive/v1.1.2.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${QAT_ZIP_REPO} | tar xz && \
cd QATzip* && \
+ ./autogen.sh && \
/bin/bash ./configure LDFLAGS="-Wl,-rpath=/opt/intel/QAT/build" --with-ICP_ROOT=/opt/intel/QAT --prefix=/opt/intel/QATzip && \
make -j8 && \
make install && \
tar cf - /opt/intel/QATzip | (cd /opt/dist && tar xf -)
-RUN yum install -y wget tar gcc-c++ make libtool autoconf
+RUN apt-get update && \
+ DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
+ ca-certificates wget tar g++ make libtool autoconf && \
+ rm -rf /var/lib/apt/lists/*
# build openssl
-ARG OPENSSL_REPO=https://github.com/openssl/openssl/archive/OpenSSL_1_1_1q.tar.gz
+ARG OPENSSL_REPO=https://github.com/openssl/openssl/releases/download/openssl-3.0.7/openssl-3.0.7.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${OPENSSL_REPO} | tar xz && \
- cd openssl-OpenSSL_1_1_1q && \
- ./config no-ssl3 shared --prefix=/usr/local/ssl --openssldir=/usr/local/ssl -fPIC -Wl,-rpath=/usr/local/ssl/lib && \
+ cd openssl-3.0.7 && \
+ ./config shared --prefix=/usr/local/ssl --openssldir=/usr/local/ssl -fPIC -Wl,-rpath=/usr/local/ssl/lib64 && \
make depend && \
- make -s V=0 && \
+ make -j"$(nproc)" -s V=0 && \
make install DESTDIR=/opt/dist && \
- (cd /opt/dist && mkdir -p ./usr/local/lib64/pkgconfig && mv ./usr/local/ssl/lib/pkgconfig/*.pc ./usr/local/lib64/pkgconfig/) && \
- make install && \
- (mkdir -p /usr/local/lib64/pkgconfig && mv /usr/local/ssl/lib/pkgconfig/*.pc /usr/local/lib64/pkgconfig/)
+ make install
-RUN yum install -y wget cmake3 make python devtoolset-9
+RUN apt-get update && \
+ DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
+ wget ca-certificates cmake make python3 && \
+ rm -rf /var/lib/apt/lists/*
-ARG QAT_CRYPTOMB_REPO=https://github.com/intel/ipp-crypto/archive/ippcp_2021.6.tar.gz
+ARG QAT_CRYPTOMB_REPO=https://github.com/intel/ipp-crypto/archive/ippcp_2021.7.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${QAT_CRYPTOMB_REPO} | tar xz && \
- mkdir -p ipp-crypto-ippcp_2021.6/sources/ippcp/crypto_mb/build && \
- cd ipp-crypto-ippcp_2021.6/sources/ippcp/crypto_mb/build && \
- (. /opt/rh/devtoolset-9/enable && CFLAGS="-Wl,-rpath=/usr/local/ssl/lib" cmake3 -DOPENSSL_INCLUDE_DIR=/usr/local/ssl/include -DOPENSSL_LIBRARIES=/usr/local/ssl/lib -DOPENSSL_ROOT_DIR=/usr/local/ssl .. && \
- make -j8 ) && \
+ mkdir -p ipp-crypto-ippcp_2021.7/sources/ippcp/crypto_mb/build && \
+ cd ipp-crypto-ippcp_2021.7/sources/ippcp/crypto_mb/build && \
+ export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/local/ssl/lib64 && \
+ CFLAGS="-Wl,-rpath=/usr/local/ssl/lib64" cmake -DOPENSSL_INCLUDE_DIR=/usr/local/ssl/include -DOPENSSL_LIBRARIES=/usr/local/ssl/lib64 -DOPENSSL_ROOT_DIR=/usr/local/ssl -DOPENSSL_CRYPTO_LIBRARY=/usr/local/ssl/lib64/libcrypto.so .. && \
+ make -j"$(nproc)" && \
make install && \
make install DESTDIR=/opt/dist
-RUN yum install -y git make devtoolset-9
+RUN apt-get update && \
+ DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
+ git make && \
+ rm -rf /var/lib/apt/lists/*
ARG IPSECMB_REPO=https://github.com/intel/intel-ipsec-mb.git
RUN cd /opt/build && \
git clone -b v1.2 ${IPSECMB_REPO} && \
cd intel-ipsec-mb && \
- (. /opt/rh/devtoolset-9/enable && CFLAGS="-Wl,-rpath=/usr/local/ssl/lib" make -j SAFE_DATA=y SAFE_PARAM=y SAFE_LOOKUP=y ) && \
+ CFLAGS="-Wl,-rpath=/usr/local/ssl/lib64" make -j SAFE_DATA=y SAFE_PARAM=y SAFE_LOOKUP=y && \
make install && \
- make install PREFIX=/opt/dist
+ make install PREFIX=/opt/dist\/usr/local
-RUN yum install -y wget make gcc gawk autoconf automake libtool pkg-config
+RUN apt-get update && \
+ DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
+ wget ca-certificates make gcc gawk autoconf automake libtool pkg-config && \
+ rm -rf /var/lib/apt/lists/*
# load qat-engine
-ARG QAT_ENGINE_REPO=https://github.com/intel/QAT_Engine/archive/v0.6.15.tar.gz
+ARG QAT_ENGINE_REPO=https://github.com/intel/QAT_Engine/archive/v0.6.19.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${QAT_ENGINE_REPO} | tar xz && \
cd QAT_Engine* && \
+ export LD_LIBRARY_PATH=${LD_LIBRARY_PATH=$}:/usr/local/ssl/lib64 && \
./autogen.sh && \
- export PERL5LIB="$(ls -1 -d /opt/build/openssl-*)" && \
- ./configure --with-qat_dir=/opt/intel/QAT --with-openssl_dir="$PERL5LIB" --with-openssl_install_dir=/usr/local/ssl --prefix=/opt/intel/QATengine --disable-qat_ecx --with-cc-opt="-DQAT_DISABLE_NONZERO_MEMFREE -I/opt/build/ipp-crypto-ippcp_2021.6/sources/ippcp/crypto_mb/include" --enable-multibuff_offload --enable-multibuff_ecx --enable-qat_sw && \
- make -j8 && \
+ ./configure --with-qat_dir=/opt/intel/QAT --with-openssl_dir="$(ls -1 -d /opt/build/openssl-*)" --with-openssl_install_dir=/usr/local/ssl --prefix=/opt/intel/QATengine --disable-qat_ecx --with-cc-opt="-DQAT_DISABLE_NONZERO_MEMFREE -I/opt/build/ipp-crypto-ippcp_2021.7/sources/ippcp/crypto_mb/include" --enable-multibuff_offload --enable-multibuff_ecx --enable-qat_sw && \
+ make -j"$(nproc)" && \
make install && \
tar cf - /usr/local/ssl | (cd /opt/dist && tar xf -)
-RUN yum install -y wget patch
+RUN apt-get update && \
+ DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
+ ca-certificates wget patch && \
+ rm -rf /var/lib/apt/lists/*
ARG NGINX_FLV_PATCHES_REPO=https://github.com/VCDP/CDN/archive/v0.4.tar.gz
ARG NGINX_FLV_PATCHES_PATH=/opt/build/CDN-0.4
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${NGINX_FLV_PATCHES_REPO} | tar xz
# build nginx flv
ARG NGINX_FLV_REPO=https://github.com/winshining/nginx-http-flv-module/archive/v1.2.10.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${NGINX_FLV_REPO} | tar xz && \
cd nginx-http-flv-module-1.2.10 && \
@@ -156,14 +173,19 @@ RUN cd /opt/build && \
# build nginx upload
ARG NGINX_UPLOAD_REPO=https://github.com/fdintino/nginx-upload-module/archive/2.3.0.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${NGINX_UPLOAD_REPO} | tar xz
-RUN yum install -y wget pcre-devel zlib-devel libxslt-devel
+RUN apt-get update && \
+ DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
+ wget ca-certificates libpcre3-dev zlib1g-dev libxslt1-dev && \
+ rm -rf /var/lib/apt/lists/*
-ARG QAT_NGINX_REPO=https://github.com/intel/asynch_mode_nginx/archive/v0.4.7.tar.gz
+ARG QAT_NGINX_REPO=https://github.com/intel/asynch_mode_nginx/archive/v0.5.0.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN wget -O - ${QAT_NGINX_REPO} | tar xz && cd asynch_mode_nginx* && \
- ./configure --with-ld-opt="-Wl,-rpath=/usr/local/ssl/lib,-rpath=/opt/intel/QATengine/lib,-rpath=/opt/intel/QATzip/lib64,-rpath=/opt/intel/QAT/build -L/usr/local/ssl/lib -L/opt/intel/QATzip/lib64 -lqatzip -lz" \
+ ./configure --with-ld-opt="-Wl,-rpath=/usr/local/ssl/lib64,-rpath=/opt/intel/QATengine/lib,-rpath=/opt/intel/QATzip/lib,-rpath=/opt/intel/QAT/build -L/usr/local/ssl/lib64 -L/opt/intel/QATzip/lib -lqatzip -lz" \
--with-cc-opt="-DNGX_SECURE_MEM -I/usr/local/ssl/include -I/opt/intel/QATzip/include -I/opt/intel/QAT/quickassist/include/dc -I/opt/intel/QAT/quickassist/include -Wno-error=deprecated-declarations" \
--add-dynamic-module=modules/nginx_qatzip_module \
--add-dynamic-module=modules/nginx_qat_module \
@@ -180,8 +202,8 @@ RUN wget -O - ${QAT_NGINX_REPO} | tar xz && cd asynch_mode_nginx* && \
--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 \
+ --user=www-data \
+ --group=www-data \
--with-select_module --with-poll_module \
--with-threads --with-file-aio \
--with-http_ssl_module \
@@ -222,9 +244,13 @@ RUN mkdir -p /opt/dist/var/www/tmp/client_body && \
mkdir -p /opt/dist/var/www/html && \
touch /opt/dist/var/www/html/index.html;
-RUN yum install -y openssl
+RUN apt-get update && \
+ DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
+ openssl && \
+ rm -rf /var/lib/apt/lists/*
# Generate a self-certificate for testing purpose
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN mkdir -p /opt/dist/etc/nginx && \
printf "US\nOR\nPortland\nOregon\nOpen Visual Cloud\nIntel Corporation\n%s\nnobody@intel.com\n" "$(hostname)" | openssl req -x509 -nodes -days 30 -newkey rsa:4096 -keyout /opt/dist/etc/nginx/cert.key -out /opt/dist/etc/nginx/cert.crt && \
chmod 640 /opt/dist/etc/nginx/cert.key && \
@@ -236,21 +262,25 @@ RUN rm -rf /opt/dist/usr/local/share/man
RUN rm -rf /opt/intel/QATzip/share/man
RUN rm -rf /opt/dist/usr/local/ssl/share/man
RUN rm -rf /opt/dist/usr/local/ssl/share/doc
+HEALTHCHECK CMD echo "This is a healthcheck test." || exit 1
-FROM openvisualcloud/xeon-centos7-media-dev:-n
-LABEL Description="This is the QAT development image for centos 7"
+FROM openvisualcloud/xeon-ubuntu2204-media-dev:23.06
+LABEL Description="This is the QAT development image for ubuntu 22.04"
LABEL Vendor="Intel Corporation"
WORKDIR /home
# Install
-RUN yum install -y -q epel-release && rm -rf /var/yum/cache/*
-
-RUN yum install -y zlib pcre libxslt
-ENV PKG_CONFIG_PATH=/usr/local/lib64/pkgconfig
+RUN apt-get update && apt-get upgrade -y systemd
+RUN apt-get update && \
+ DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
+ libzip4 libxml2 libpcre3 zlib1g libxslt1.1 && \
+ rm -rf /var/lib/apt/lists/*
+ENV PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
COPY --from=build /opt/dist /
-RUN echo "/usr/local/lib64" >> /etc/ld.so.conf.d/all-libs.conf && ldconfig
+RUN echo "/usr/local/lib" >> /etc/ld.so.conf.d/all-libs.conf && ldconfig
+ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/ssl/lib64
RUN echo "/opt/intel/QAT/build" >> /etc/ld.so.conf.d/qat.conf && ldconfig
-
+HEALTHCHECK CMD echo "This is a healthcheck test." || exit 1
\ No newline at end of file
diff --git a/QAT/ubuntu-22.04/media/dev/Dockerfile.m4 b/QAT/ubuntu-22.04/media/dev/Dockerfile.m4
new file mode 100644
index 000000000..1f3c3c95b
--- /dev/null
+++ b/QAT/ubuntu-22.04/media/dev/Dockerfile.m4
@@ -0,0 +1,32 @@
+
+include(begin.m4)
+include(ubuntu.m4)
+include(nasm.m4)
+include(qat-core.m4)
+include(qat-zip.m4)
+include(openssl.m4)
+include(qat-cryptomb.m4)
+include(ipsecmb.m4)
+include(qat-engine.m4)
+include(nginx-flv.m4)
+include(nginx-upload.m4)
+include(qat-nginx.m4)
+include(nginx-cert.m4)
+include(end.m4)
+
+PREAMBLE
+FROM OS_NAME:OS_VERSION AS build
+
+BUILD_ALL()dnl
+define(`CLEANUP_CC',no)dnl
+CLEANUP()dnl
+
+FROM openvisualcloud/xeon-OS_NAME`'patsubst(OS_VERSION,\.)-media-dev:BUILD_VERSION
+LABEL Description="This is the QAT development image for OS_NAME OS_VERSION"
+LABEL Vendor="Intel Corporation"
+WORKDIR /home
+
+# Install
+UPGRADE_UBUNTU_COMPONENTS()
+INSTALL_ALL(devel,build)
+HEALTHCHECK CMD echo "This is a healthcheck test." || exit 1
\ No newline at end of file
diff --git a/SG2/ubuntu-22.04/analytics/dev/README.md b/QAT/ubuntu-22.04/media/dev/README.md
similarity index 70%
rename from SG2/ubuntu-22.04/analytics/dev/README.md
rename to QAT/ubuntu-22.04/media/dev/README.md
index 8e0ecc2e7..c9c69dba9 100644
--- a/SG2/ubuntu-22.04/analytics/dev/README.md
+++ b/QAT/ubuntu-22.04/media/dev/README.md
@@ -1,14 +1,14 @@
-This docker image is part of Open Visual Cloud software stacks. Optimized for Media Analytics. Included what are in media delivery GStreamer image, inferencing engine and video analytics plugins. The docker image can be used in the FROM field of a downstream Dockerfile.
+This docker image is part of Open Visual Cloud software stacks. Optimized for NGINX web server with compute-intensive operations acceleration with Intel® QuickAssist Technology (Intel® QAT).The docker image can be used in the FROM field of a downstream Dockerfile.
## Supported tags and respective Dockerfile links
- - [xeon-ubuntu-2004-analytics-gst](https://github.com/OpenVisualCloud/Dockerfiles/blob/v22.3/Xeon/ubuntu-20.04/analytics/gst/Dockerfile)
+ - [qat-ubuntu-2204-media-dev](https://github.com/OpenVisualCloud/Dockerfiles/blob/v23.06/QAT/ubuntu-22.04/media/dev/Dockerfile)
## Quick reference
- #### Supported platform and OS
- Intel® Xeon® platform, Ubuntu 20.04
+ Intel® QAT platform, Ubuntu 22.04
- #### Usage instructions:
- [GStreamer](https://github.com/OpenVisualCloud/Dockerfiles/blob/master/doc/gst.md)
+ [FFmpeg](https://github.com/OpenVisualCloud/Dockerfiles/blob/master/doc/ffmpeg.md) [GStreamer](https://github.com/OpenVisualCloud/Dockerfiles/blob/master/doc/gst.md)
- #### Getting started with Dockerfiles:
@@ -25,20 +25,22 @@ This docker installs third party components licensed under various open source l
| Components | License |
| ----- | ----- |
|Ubuntu| [Various](https://hub.docker.com/_/ubuntu) |
+|QATzip|BSD 3-clause "New" or "Revised" License|
+|OpenSSL|Apache License 2.0|
+|ipp crypo|Apache-2.0 License|
+|QAT OpenSSL engine|BSD 3-clause "New" or "Revised" License|
+|nginx http flv|BSD 2-clause "Simplified" License|
+|nginx upload module|BSD 3-clause "Simplified" License|
+|asynch mode nginx |BSD 3-clause "New" or "Revised" License|
|libogg|BSD 3-clause "New" or "Revised" License|
|libvorbis|BSD 3-clause "New" or "Revised" License|
|Opus Interactive Audio Codec|BSD 3-clause "New" or "Revised" License|
|libvpx|BSD 3-clause "New" or "Revised" License|
|Aomedia AV1 Codec Library|BSD 2-clause "Simplified" License|
-|x264|GNU General Public License v2.0 or later|
-|x265|GNU General Public License v2.0 or later|
|dav1d|BSD 2-clause "Simplified" License|
|Intel SVT-HEVC|BSD-2-Clause Plus Patent License|
|Intel SVT-AV1|BSD-2-Clause Plus Patent License|
|Intel SVT-VP9|BSD-2-Clause Plus Patent License|
-|OpenVINO|Apache License v2.0|
-|json-c|MIT License|
-|librdkafka|BSD 2-clause "Simplified" License|
|gstreamer|GNU Lesser General Public License v2.1 or later|
|gst plugins base|GNU Lesser General Public License v2.1 or later|
|gst plugins good|GNU Lesser General Public License v2.1 or later|
@@ -46,10 +48,7 @@ This docker installs third party components licensed under various open source l
|gst plugins ugly|GNU Lesser General Public License v2.1 or later|
|gst libav|GNU Library General Public License Version 2.1 or later|
|gst svt|GNU Lesser General Public License v2.1 or later|
-|OpenCV|BSD 3-clause "New" or "Revised" License|
-|paho.mqtt.c|Eclipse Public License - v 2.0|
-|gst video analytics|MIT License|
-|gst python|GNU Library General Public License Version 2.1|
+|FFmpeg|GNU Lesser General Public License v2.1 or later|
More license information can be found in [components source package](https://github.com/OpenVisualCloud/Dockerfiles-Resources).
diff --git a/QAT/ubuntu-22.04/media/dev/build.sh b/QAT/ubuntu-22.04/media/dev/build.sh
new file mode 100755
index 000000000..1217d3343
--- /dev/null
+++ b/QAT/ubuntu-22.04/media/dev/build.sh
@@ -0,0 +1,6 @@
+#!/bin/bash -e
+
+IMAGE="qat-ubuntu2204-media-dev"
+DIR=$(dirname $(readlink -f "$0"))
+
+. "${DIR}/../../../../script/qatbuild.sh"
diff --git a/QAT/ubuntu-22.04/media/dev/nginx.conf b/QAT/ubuntu-22.04/media/dev/nginx.conf
new file mode 100644
index 000000000..251d05e97
--- /dev/null
+++ b/QAT/ubuntu-22.04/media/dev/nginx.conf
@@ -0,0 +1,176 @@
+
+user root;
+worker_processes 1;
+daemon off;
+
+load_module modules/ngx_http_qatzip_filter_module.so;
+load_module modules/ngx_ssl_engine_qat_module.so;
+
+events {
+ worker_connections 4096;
+}
+
+# Enable QAT engine in heretic mode.
+ssl_engine {
+ use_engine qatengine;
+ default_algorithms RSA,EC,DH,DSA;
+ qat_engine {
+ qat_offload_mode async;
+ qat_notify_mode poll;
+ qat_poll_mode heuristic;
+ #qat_sw_fallback on;
+ }
+}
+
+# Configure RTMP
+rtmp {
+ server {
+ listen 1935;
+ chunk_size 4000;
+
+ application stream {
+ live on;
+ }
+
+ application hls {
+ live on;
+ hls on;
+ hls_path /var/www/hls;
+ hls_nested on;
+ hls_fragment 3;
+ hls_playlist_length 60;
+ }
+
+ application dash {
+ live on;
+ dash on;
+ dash_path /var/www/dash;
+ dash_fragment 3;
+ dash_playlist_length 60;
+ dash_nested on;
+ }
+ }
+}
+
+http {
+ gzip on;
+ gzip_min_length 128;
+ gzip_comp_level 1;
+ gzip_types text/css text/javascript text/xml text/plain text/x-component application/javascript application/json application/xml application/rss+xml font/truetype font/opentype application/vnd.ms-fontobject image/svg+xml;
+ gzip_vary on;
+ gzip_disable "msie6";
+ gzip_http_version 1.0;
+
+ qatzip_sw failover;
+ qatzip_min_length 128;
+ qatzip_comp_level 1;
+ qatzip_buffers 16 8k;
+ qatzip_types text/css text/javascript text/xml text/plain text/x-component application/javascript application/json application/xml application/rss+xml font/truetype font/opentype application/vnd.ms-fontobject image/svg+xml application/octet-stream image/jpeg;
+ qatzip_chunk_size 64k;
+ qatzip_stream_size 256k;
+ qatzip_sw_threshold 256;
+
+ # HTTP server with QATZip enabled.
+ server {
+ listen 80;
+ server_name localhost;
+
+ location / {
+ root html;
+ index index.html index.htm;
+ }
+
+ location /hls {
+ alias /var/www/hls;
+ add_header Cache-Control no-cache;
+ add_header 'Access-Control-Allow-Origin' '*' always;
+ add_header 'Access-Control-Expose-Headers' 'Content-Length';
+ types {
+ application/vnd.apple.mpegurl m3u8;
+ video/mp2t ts;
+ }
+ }
+
+ location /dash {
+ alias /var/www/dash;
+ add_header Cache-Control no-cache;
+ add_header 'Access-Control-Allow-Origin' '*' always;
+ add_header 'Access-Control-Expose-Headers' 'Content-Length';
+ types {
+ application/dash+xml mpd;
+ }
+ }
+
+ location /stat {
+ rtmp_stat all;
+ rtmp_stat_stylesheet stat.xsl;
+ }
+
+ location /upload {
+ client_max_body_size 1024M;
+ upload_pass @upload;
+ upload_pass_args on;
+ upload_store /var/www/upload;
+ upload_set_form_field $upload_field_name.path "$upload_tmp_path";
+ upload_cleanup 400 404 499 500-505;
+ }
+
+ location @upload {
+ return 200;
+ }
+ }
+
+ # HTTPS server with QATZip enabled.
+ server {
+ listen 443 ssl asynch;
+ server_name localhost;
+
+ ssl_protocols TLSv1.2;
+ ssl_certificate cert.crt;
+ ssl_certificate_key cert.key;
+
+ location / {
+ root html;
+ index index.html index.htm;
+ }
+
+ location /hls {
+ alias /var/www/hls;
+ add_header Cache-Control no-cache;
+ add_header 'Access-Control-Allow-Origin' '*' always;
+ add_header 'Access-Control-Expose-Headers' 'Content-Length';
+ types {
+ application/vnd.apple.mpegurl m3u8;
+ video/mp2t ts;
+ }
+ }
+
+ location /dash {
+ alias /var/www/dash;
+ add_header Cache-Control no-cache;
+ add_header 'Access-Control-Allow-Origin' '*' always;
+ add_header 'Access-Control-Expose-Headers' 'Content-Length';
+ types {
+ application/dash+xml mpd;
+ }
+ }
+
+ location /stat {
+ rtmp_stat all;
+ rtmp_stat_stylesheet stat.xsl;
+ }
+
+ location /upload {
+ client_max_body_size 1024M;
+ upload_pass @upload;
+ upload_pass_args on;
+ upload_store /var/www/upload;
+ upload_set_form_field $upload_field_name.path "$upload_tmp_path";
+ upload_cleanup 400 404 499 500-505;
+ }
+
+ location @upload {
+ return 200;
+ }
+ }
+}
diff --git a/QAT/ubuntu-22.04/media/dev/shell.sh b/QAT/ubuntu-22.04/media/dev/shell.sh
new file mode 100755
index 000000000..f3effad0c
--- /dev/null
+++ b/QAT/ubuntu-22.04/media/dev/shell.sh
@@ -0,0 +1,6 @@
+#!/bin/bash -e
+
+IMAGE="qat-ubuntu2204-media-dev"
+DIR=$(dirname $(readlink -f "$0"))
+
+. "${DIR}/../../../../script/qatshell.sh"
diff --git a/QAT/ubuntu-22.04/media/nginx/.gitignore b/QAT/ubuntu-22.04/media/nginx/.gitignore
new file mode 100644
index 000000000..335ec9573
--- /dev/null
+++ b/QAT/ubuntu-22.04/media/nginx/.gitignore
@@ -0,0 +1 @@
+*.tar.gz
diff --git a/QAT/ubuntu-22.04/media/nginx/CMakeLists.txt b/QAT/ubuntu-22.04/media/nginx/CMakeLists.txt
new file mode 100644
index 000000000..2f7fc9f72
--- /dev/null
+++ b/QAT/ubuntu-22.04/media/nginx/CMakeLists.txt
@@ -0,0 +1,6 @@
+set(image "qat_media_nginx_ubuntu2204")
+set(dep_image "xeon_ffmpeg_ubuntu2204")
+set_property(DIRECTORY APPEND PROPERTY ADDITIONAL_MAKE_CLEAN_FILES "${CMAKE_CURRENT_SOURCE_DIR}/qat.tar.gz")
+include(image)
+include(nginx-tests)
+include(qat-tests)
diff --git a/QAT/centos-7/media/nginx/Dockerfile b/QAT/ubuntu-22.04/media/nginx/Dockerfile
similarity index 66%
rename from QAT/centos-7/media/nginx/Dockerfile
rename to QAT/ubuntu-22.04/media/nginx/Dockerfile
index f3936a7d2..9bdc77a25 100644
--- a/QAT/centos-7/media/nginx/Dockerfile
+++ b/QAT/ubuntu-22.04/media/nginx/Dockerfile
@@ -3,7 +3,7 @@
# BSD 3-Clause License
#
-# Copyright (c) 2021, Intel Corporation
+# Copyright (c) 2023, Intel Corporation
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
@@ -33,37 +33,30 @@
# This file is automatically generated from .m4 template.
# To update, modify the template and regenerate.
-FROM centos:7 AS build
-
-
-
-
-
-
-
-
-
-
-RUN yum install -y -q epel-release centos-release-scl && rm -rf /var/yum/cache/*
-
+FROM ubuntu:22.04 AS build
RUN mkdir -p /opt/build && mkdir -p /opt/dist
-ENV PKG_CONFIG_PATH=/usr/local/lib64/pkgconfig
+ENV PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
-RUN yum install -y ca-certificates wget tar gcc-c++ make bzip2
+RUN apt-get update && \
+ DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
+ ca-certificates wget tar g++ make bzip2 && \
+ rm -rf /var/lib/apt/lists/*
# build nasm
#ARG NASM_REPO=https://www.nasm.us/pub/nasm/releasebuilds/NASM_VER/nasm-NASM_VER.tar.bz2
-# TODO: to revert to official nasm repo
+# TODO: Revert to NASM repo, this is temp fix is nasm repo certificate expired temporarily
+
ARG NASM_REPO=https://github.com/OpenVisualCloud/Dockerfiles-Resources/raw/master/nasm-2.15.05.tar.bz2
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${NASM_REPO} | tar xj && \
cd nasm-2.15.05 && \
./autogen.sh && \
- ./configure --prefix=/usr/local --libdir=/usr/local/lib64 && \
- make -j$(nproc) && \
+ ./configure --prefix=/usr/local --libdir=/usr/local/lib && \
+ make -j"$(nproc)" && \
make install
@@ -73,56 +66,72 @@ ADD qat.tar.gz /opt/dist/
RUN mkdir -p /opt/intel /opt/dist/opt/intel && \
ln -s /opt/dist/opt/intel/QAT /opt/intel/QAT
-RUN yum install -y wget make gcc zlib-devel
+RUN apt-get update && \
+ DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
+ wget ca-certificates make gcc libzip-dev automake libtool liblz4-dev libssl-dev && \
+ rm -rf /var/lib/apt/lists/*
# load qat-zip
-ARG QAT_ZIP_REPO=https://github.com/intel/QATzip/archive/v1.0.6.tar.gz
+ARG QAT_ZIP_REPO=https://github.com/intel/QATzip/archive/v1.1.2.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${QAT_ZIP_REPO} | tar xz && \
cd QATzip* && \
+ ./autogen.sh && \
/bin/bash ./configure LDFLAGS="-Wl,-rpath=/opt/intel/QAT/build" --with-ICP_ROOT=/opt/intel/QAT --prefix=/opt/intel/QATzip && \
make -j8 && \
make install && \
tar cf - /opt/intel/QATzip | (cd /opt/dist && tar xf -)
-RUN yum install -y wget tar gcc-c++ make libtool autoconf
+RUN apt-get update && \
+ DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
+ ca-certificates wget tar g++ make libtool autoconf && \
+ rm -rf /var/lib/apt/lists/*
# build openssl
-ARG OPENSSL_REPO=https://github.com/openssl/openssl/archive/OpenSSL_1_1_1q.tar.gz
+ARG OPENSSL_REPO=https://github.com/openssl/openssl/releases/download/openssl-3.0.7/openssl-3.0.7.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${OPENSSL_REPO} | tar xz && \
- cd openssl-OpenSSL_1_1_1q && \
- ./config no-ssl3 shared --prefix=/usr/local/ssl --openssldir=/usr/local/ssl -fPIC -Wl,-rpath=/usr/local/ssl/lib && \
+ cd openssl-3.0.7 && \
+ ./config shared --prefix=/usr/local/ssl --openssldir=/usr/local/ssl -fPIC -Wl,-rpath=/usr/local/ssl/lib64 && \
make depend && \
- make -s V=0 && \
+ make -j"$(nproc)" -s V=0 && \
make install DESTDIR=/opt/dist && \
- (cd /opt/dist && mkdir -p ./usr/local/lib64/pkgconfig && mv ./usr/local/ssl/lib/pkgconfig/*.pc ./usr/local/lib64/pkgconfig/) && \
- make install && \
- (mkdir -p /usr/local/lib64/pkgconfig && mv /usr/local/ssl/lib/pkgconfig/*.pc /usr/local/lib64/pkgconfig/)
+ make install
-RUN yum install -y wget make gcc gawk autoconf automake libtool pkg-config
+RUN apt-get update && \
+ DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
+ wget ca-certificates make gcc gawk autoconf automake libtool pkg-config && \
+ rm -rf /var/lib/apt/lists/*
# load qat-engine
-ARG QAT_ENGINE_REPO=https://github.com/intel/QAT_Engine/archive/v0.6.15.tar.gz
+ARG QAT_ENGINE_REPO=https://github.com/intel/QAT_Engine/archive/v0.6.19.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${QAT_ENGINE_REPO} | tar xz && \
cd QAT_Engine* && \
+ export LD_LIBRARY_PATH=${LD_LIBRARY_PATH=$}:/usr/local/ssl/lib64 && \
./autogen.sh && \
- export PERL5LIB="$(ls -1 -d /opt/build/openssl-*)" && \
- ./configure --with-qat_dir=/opt/intel/QAT --with-openssl_dir="$PERL5LIB" --with-openssl_install_dir=/usr/local/ssl --prefix=/opt/intel/QATengine --disable-qat_ecx --with-cc-opt="-DQAT_DISABLE_NONZERO_MEMFREE " --enable-qat_hw --with-qat_hw_dir=/opt/intel/QAT && \
- make -j8 && \
+ ./configure --with-qat_dir=/opt/intel/QAT --with-openssl_dir="$(ls -1 -d /opt/build/openssl-*)" --with-openssl_install_dir=/usr/local/ssl --prefix=/opt/intel/QATengine --disable-qat_ecx --with-cc-opt="-DQAT_DISABLE_NONZERO_MEMFREE " --enable-qat_hw --with-qat_hw_dir=/opt/intel/QAT && \
+ make -j"$(nproc)" && \
make install && \
tar cf - /usr/local/ssl | (cd /opt/dist && tar xf -)
-RUN yum install -y wget patch
+RUN apt-get update && \
+ DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
+ ca-certificates wget patch && \
+ rm -rf /var/lib/apt/lists/*
ARG NGINX_FLV_PATCHES_REPO=https://github.com/VCDP/CDN/archive/v0.4.tar.gz
ARG NGINX_FLV_PATCHES_PATH=/opt/build/CDN-0.4
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${NGINX_FLV_PATCHES_REPO} | tar xz
# build nginx flv
ARG NGINX_FLV_REPO=https://github.com/winshining/nginx-http-flv-module/archive/v1.2.10.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${NGINX_FLV_REPO} | tar xz && \
cd nginx-http-flv-module-1.2.10 && \
@@ -134,14 +143,19 @@ RUN cd /opt/build && \
# build nginx upload
ARG NGINX_UPLOAD_REPO=https://github.com/fdintino/nginx-upload-module/archive/2.3.0.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${NGINX_UPLOAD_REPO} | tar xz
-RUN yum install -y wget pcre-devel zlib-devel libxslt-devel
+RUN apt-get update && \
+ DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
+ wget ca-certificates libpcre3-dev zlib1g-dev libxslt1-dev && \
+ rm -rf /var/lib/apt/lists/*
-ARG QAT_NGINX_REPO=https://github.com/intel/asynch_mode_nginx/archive/v0.4.7.tar.gz
+ARG QAT_NGINX_REPO=https://github.com/intel/asynch_mode_nginx/archive/v0.5.0.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN wget -O - ${QAT_NGINX_REPO} | tar xz && cd asynch_mode_nginx* && \
- ./configure --with-ld-opt="-Wl,-rpath=/usr/local/ssl/lib,-rpath=/opt/intel/QATengine/lib,-rpath=/opt/intel/QATzip/lib64,-rpath=/opt/intel/QAT/build -L/usr/local/ssl/lib -L/opt/intel/QATzip/lib64 -lqatzip -lz" \
+ ./configure --with-ld-opt="-Wl,-rpath=/usr/local/ssl/lib64,-rpath=/opt/intel/QATengine/lib,-rpath=/opt/intel/QATzip/lib,-rpath=/opt/intel/QAT/build -L/usr/local/ssl/lib64 -L/opt/intel/QATzip/lib -lqatzip -lz" \
--with-cc-opt="-DNGX_SECURE_MEM -I/usr/local/ssl/include -I/opt/intel/QATzip/include -I/opt/intel/QAT/quickassist/include/dc -I/opt/intel/QAT/quickassist/include -Wno-error=deprecated-declarations" \
--add-dynamic-module=modules/nginx_qatzip_module \
--add-dynamic-module=modules/nginx_qat_module \
@@ -158,8 +172,8 @@ RUN wget -O - ${QAT_NGINX_REPO} | tar xz && cd asynch_mode_nginx* && \
--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 \
+ --user=www-data \
+ --group=www-data \
--with-select_module --with-poll_module \
--with-threads --with-file-aio \
--with-http_ssl_module \
@@ -200,9 +214,13 @@ RUN mkdir -p /opt/dist/var/www/tmp/client_body && \
mkdir -p /opt/dist/var/www/html && \
touch /opt/dist/var/www/html/index.html;
-RUN yum install -y openssl
+RUN apt-get update && \
+ DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
+ openssl && \
+ rm -rf /var/lib/apt/lists/*
# Generate a self-certificate for testing purpose
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN mkdir -p /opt/dist/etc/nginx && \
printf "US\nOR\nPortland\nOregon\nOpen Visual Cloud\nIntel Corporation\n%s\nnobody@intel.com\n" "$(hostname)" | openssl req -x509 -nodes -days 30 -newkey rsa:4096 -keyout /opt/dist/etc/nginx/cert.key -out /opt/dist/etc/nginx/cert.crt && \
chmod 640 /opt/dist/etc/nginx/cert.key && \
@@ -210,7 +228,7 @@ RUN mkdir -p /opt/dist/etc/nginx && \
# cleanup
RUN rm -rf /opt/dist/usr/local/include && \
- rm -rf /opt/dist/usr/local/lib64/pkgconfig && \
+ rm -rf /opt/dist/usr/local/lib/pkgconfig && \
find /opt/dist -name "*.a" -exec rm -f {} \; || echo ""
RUN rm -rf /opt/dist/usr/local/share/doc /opt/dist/usr/local/share/gtk-doc
RUN rm -rf /opt/dist/usr/local/share/man
@@ -218,20 +236,24 @@ RUN rm -rf /opt/intel/QATzip/share/man
RUN rm -rf /opt/dist/usr/local/ssl/include
RUN rm -rf /opt/dist/usr/local/ssl/share/man
RUN rm -rf /opt/dist/usr/local/ssl/share/doc
+HEALTHCHECK CMD echo "This is a healthcheck test." || exit 1
-FROM openvisualcloud/xeon-centos7-media-ffmpeg:-n
-LABEL Description="This is the base image for QAT NGINX centos 7"
+FROM openvisualcloud/xeon-ubuntu2204-media-ffmpeg:23.06
+LABEL Description="This is the base image for QAT NGINX ubuntu 22.04"
LABEL Vendor="Intel Corporation"
WORKDIR /home
# Install
-RUN yum install -y -q epel-release && rm -rf /var/yum/cache/*
-
-RUN yum install -y zlib pcre libxslt
+RUN apt-get update && apt-get upgrade -y systemd
+RUN apt-get update && \
+ DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
+ libzip4 libxml2 libpcre3 zlib1g libxslt1.1 && \
+ rm -rf /var/lib/apt/lists/*
COPY --from=build /opt/dist /
-RUN echo "/usr/local/lib64" >> /etc/ld.so.conf.d/all-libs.conf && ldconfig
+RUN echo "/usr/local/lib" >> /etc/ld.so.conf.d/all-libs.conf && ldconfig
+ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/ssl/lib64
RUN echo "/opt/intel/QAT/build" >> /etc/ld.so.conf.d/qat.conf && ldconfig
-
+HEALTHCHECK CMD echo "This is a healthcheck test." || exit 1
\ No newline at end of file
diff --git a/QAT/ubuntu-22.04/media/nginx/Dockerfile.m4 b/QAT/ubuntu-22.04/media/nginx/Dockerfile.m4
new file mode 100644
index 000000000..0a32fe782
--- /dev/null
+++ b/QAT/ubuntu-22.04/media/nginx/Dockerfile.m4
@@ -0,0 +1,29 @@
+
+include(begin.m4)
+include(ubuntu.m4)
+include(nasm.m4)
+include(qat-core.m4)
+include(qat-zip.m4)
+include(openssl.m4)
+include(qat-engine.m4)
+include(nginx-flv.m4)
+include(nginx-upload.m4)
+include(qat-nginx.m4)
+include(nginx-cert.m4)
+include(end.m4)
+
+PREAMBLE
+FROM OS_NAME:OS_VERSION AS build
+
+BUILD_ALL()dnl
+CLEANUP()dnl
+
+FROM openvisualcloud/xeon-OS_NAME`'patsubst(OS_VERSION,\.)-media-ffmpeg:BUILD_VERSION
+LABEL Description="This is the base image for QAT NGINX OS_NAME OS_VERSION"
+LABEL Vendor="Intel Corporation"
+WORKDIR /home
+
+# Install
+UPGRADE_UBUNTU_COMPONENTS()
+INSTALL_ALL(runtime,build)
+HEALTHCHECK CMD echo "This is a healthcheck test." || exit 1
\ No newline at end of file
diff --git a/QAT/ubuntu-22.04/media/nginx/README.md b/QAT/ubuntu-22.04/media/nginx/README.md
new file mode 100644
index 000000000..d85538440
--- /dev/null
+++ b/QAT/ubuntu-22.04/media/nginx/README.md
@@ -0,0 +1,49 @@
+This docker image is part of Open Visual Cloud software stacks. Optimized for NGINX web server with compute-intensive operations acceleration with Intel® QuickAssist Technology (Intel® QAT).The docker image can be used in the FROM field of a downstream Dockerfile.
+
+## Supported tags and respective Dockerfile links
+ - [qat-ubuntu-2204-media-nginx](https://github.com/OpenVisualCloud/Dockerfiles/blob/v23.06/QAT/ubuntu-22.04/media/nginx/Dockerfile)
+
+## Quick reference
+- #### Supported platform and OS
+ Intel® QAT platform, Ubuntu 22.04
+
+- #### Usage instructions:
+ [NGINX](https://github.com/OpenVisualCloud/Dockerfiles/blob/master/doc/nginx.md)
+
+
+- #### Getting started with Dockerfiles:
+ [OpenVisualCloud Dockerfiles Wiki](https://github.com/OpenVisualCloud/Dockerfiles/wiki)
+
+- #### File issues:
+ [OpenVisualCloud Dockerfiles Issues](https://github.com/OpenVisualCloud/Dockerfiles/issues)
+
+
+## License
+This docker installs third party components licensed under various open source licenses. The terms under which those components may be used and distributed can be found with the license document that is provided with those components. Please familiarize yourself with those terms to ensure your distribution of those components complies with the terms of those licenses.
+
+
+| Components | License |
+| ----- | ----- |
+|Ubuntu| [Various](https://hub.docker.com/_/ubuntu) |
+|QATzip|BSD 3-clause "New" or "Revised" License|
+|OpenSSL|Apache License 2.0|
+|QAT OpenSSL engine|BSD 3-clause "New" or "Revised" License|
+|nginx http flv|BSD 2-clause "Simplified" License|
+|nginx upload module|BSD 3-clause "Simplified" License|
+|asynch mode nginx |BSD 3-clause "New" or "Revised" License|
+|libogg|BSD 3-clause "New" or "Revised" License|
+|libvorbis|BSD 3-clause "New" or "Revised" License|
+|Opus Interactive Audio Codec|BSD 3-clause "New" or "Revised" License|
+|libvpx|BSD 3-clause "New" or "Revised" License|
+|x264|GNU General Public License v2.0 or later|
+|x265|GNU General Public License v2.0 or later|
+|dav1d|BSD 2-clause "Simplified" License|
+|Intel SVT-HEVC|BSD-2-Clause Plus Patent License|
+|Intel SVT-AV1|BSD-2-Clause Plus Patent License|
+|Intel SVT-VP9|BSD-2-Clause Plus Patent License|
+|OpenCV|BSD 3-clause "New" or "Revised" License|
+|FFmpeg|GNU Lesser General Public License v2.1 or later|
+
+
+More license information can be found in [components source package](https://github.com/OpenVisualCloud/Dockerfiles-Resources).
+As for any pre-built image usage, it is the image user's responsibility to ensure that any use of this image complies with any relevant licenses and potential fees for all software contained within. We will have no indemnity or warranty coverage from suppliers.
diff --git a/QAT/ubuntu-22.04/media/nginx/build.sh b/QAT/ubuntu-22.04/media/nginx/build.sh
new file mode 100755
index 000000000..371c7449d
--- /dev/null
+++ b/QAT/ubuntu-22.04/media/nginx/build.sh
@@ -0,0 +1,6 @@
+#!/bin/bash -e
+
+IMAGE="qat-ubuntu2204-media-nginx"
+DIR=$(dirname $(readlink -f "$0"))
+
+. "${DIR}/../../../../script/qatbuild.sh"
diff --git a/QAT/ubuntu-22.04/media/nginx/nginx.conf b/QAT/ubuntu-22.04/media/nginx/nginx.conf
new file mode 100644
index 000000000..251d05e97
--- /dev/null
+++ b/QAT/ubuntu-22.04/media/nginx/nginx.conf
@@ -0,0 +1,176 @@
+
+user root;
+worker_processes 1;
+daemon off;
+
+load_module modules/ngx_http_qatzip_filter_module.so;
+load_module modules/ngx_ssl_engine_qat_module.so;
+
+events {
+ worker_connections 4096;
+}
+
+# Enable QAT engine in heretic mode.
+ssl_engine {
+ use_engine qatengine;
+ default_algorithms RSA,EC,DH,DSA;
+ qat_engine {
+ qat_offload_mode async;
+ qat_notify_mode poll;
+ qat_poll_mode heuristic;
+ #qat_sw_fallback on;
+ }
+}
+
+# Configure RTMP
+rtmp {
+ server {
+ listen 1935;
+ chunk_size 4000;
+
+ application stream {
+ live on;
+ }
+
+ application hls {
+ live on;
+ hls on;
+ hls_path /var/www/hls;
+ hls_nested on;
+ hls_fragment 3;
+ hls_playlist_length 60;
+ }
+
+ application dash {
+ live on;
+ dash on;
+ dash_path /var/www/dash;
+ dash_fragment 3;
+ dash_playlist_length 60;
+ dash_nested on;
+ }
+ }
+}
+
+http {
+ gzip on;
+ gzip_min_length 128;
+ gzip_comp_level 1;
+ gzip_types text/css text/javascript text/xml text/plain text/x-component application/javascript application/json application/xml application/rss+xml font/truetype font/opentype application/vnd.ms-fontobject image/svg+xml;
+ gzip_vary on;
+ gzip_disable "msie6";
+ gzip_http_version 1.0;
+
+ qatzip_sw failover;
+ qatzip_min_length 128;
+ qatzip_comp_level 1;
+ qatzip_buffers 16 8k;
+ qatzip_types text/css text/javascript text/xml text/plain text/x-component application/javascript application/json application/xml application/rss+xml font/truetype font/opentype application/vnd.ms-fontobject image/svg+xml application/octet-stream image/jpeg;
+ qatzip_chunk_size 64k;
+ qatzip_stream_size 256k;
+ qatzip_sw_threshold 256;
+
+ # HTTP server with QATZip enabled.
+ server {
+ listen 80;
+ server_name localhost;
+
+ location / {
+ root html;
+ index index.html index.htm;
+ }
+
+ location /hls {
+ alias /var/www/hls;
+ add_header Cache-Control no-cache;
+ add_header 'Access-Control-Allow-Origin' '*' always;
+ add_header 'Access-Control-Expose-Headers' 'Content-Length';
+ types {
+ application/vnd.apple.mpegurl m3u8;
+ video/mp2t ts;
+ }
+ }
+
+ location /dash {
+ alias /var/www/dash;
+ add_header Cache-Control no-cache;
+ add_header 'Access-Control-Allow-Origin' '*' always;
+ add_header 'Access-Control-Expose-Headers' 'Content-Length';
+ types {
+ application/dash+xml mpd;
+ }
+ }
+
+ location /stat {
+ rtmp_stat all;
+ rtmp_stat_stylesheet stat.xsl;
+ }
+
+ location /upload {
+ client_max_body_size 1024M;
+ upload_pass @upload;
+ upload_pass_args on;
+ upload_store /var/www/upload;
+ upload_set_form_field $upload_field_name.path "$upload_tmp_path";
+ upload_cleanup 400 404 499 500-505;
+ }
+
+ location @upload {
+ return 200;
+ }
+ }
+
+ # HTTPS server with QATZip enabled.
+ server {
+ listen 443 ssl asynch;
+ server_name localhost;
+
+ ssl_protocols TLSv1.2;
+ ssl_certificate cert.crt;
+ ssl_certificate_key cert.key;
+
+ location / {
+ root html;
+ index index.html index.htm;
+ }
+
+ location /hls {
+ alias /var/www/hls;
+ add_header Cache-Control no-cache;
+ add_header 'Access-Control-Allow-Origin' '*' always;
+ add_header 'Access-Control-Expose-Headers' 'Content-Length';
+ types {
+ application/vnd.apple.mpegurl m3u8;
+ video/mp2t ts;
+ }
+ }
+
+ location /dash {
+ alias /var/www/dash;
+ add_header Cache-Control no-cache;
+ add_header 'Access-Control-Allow-Origin' '*' always;
+ add_header 'Access-Control-Expose-Headers' 'Content-Length';
+ types {
+ application/dash+xml mpd;
+ }
+ }
+
+ location /stat {
+ rtmp_stat all;
+ rtmp_stat_stylesheet stat.xsl;
+ }
+
+ location /upload {
+ client_max_body_size 1024M;
+ upload_pass @upload;
+ upload_pass_args on;
+ upload_store /var/www/upload;
+ upload_set_form_field $upload_field_name.path "$upload_tmp_path";
+ upload_cleanup 400 404 499 500-505;
+ }
+
+ location @upload {
+ return 200;
+ }
+ }
+}
diff --git a/QAT/ubuntu-22.04/media/nginx/shell.sh b/QAT/ubuntu-22.04/media/nginx/shell.sh
new file mode 100755
index 000000000..064a8f3bc
--- /dev/null
+++ b/QAT/ubuntu-22.04/media/nginx/shell.sh
@@ -0,0 +1,6 @@
+#!/bin/bash -e
+
+IMAGE="qat-ubuntu2204-media-nginx"
+DIR=$(dirname $(readlink -f "$0"))
+
+. "${DIR}/../../../../script/qatshell.sh"
diff --git a/QAT/ubuntu-22.04/media/nginx_sw/.gitignore b/QAT/ubuntu-22.04/media/nginx_sw/.gitignore
new file mode 100644
index 000000000..335ec9573
--- /dev/null
+++ b/QAT/ubuntu-22.04/media/nginx_sw/.gitignore
@@ -0,0 +1 @@
+*.tar.gz
diff --git a/QAT/ubuntu-22.04/media/nginx_sw/CMakeLists.txt b/QAT/ubuntu-22.04/media/nginx_sw/CMakeLists.txt
new file mode 100644
index 000000000..bddec3e1f
--- /dev/null
+++ b/QAT/ubuntu-22.04/media/nginx_sw/CMakeLists.txt
@@ -0,0 +1,6 @@
+set(image "qat_media_nginxsw_ubuntu2204")
+set(dep_image "xeon_ffmpeg_ubuntu2204")
+set_property(DIRECTORY APPEND PROPERTY ADDITIONAL_MAKE_CLEAN_FILES "${CMAKE_CURRENT_SOURCE_DIR}/qat.tar.gz")
+include(image)
+include(nginx-tests)
+include(qat-tests)
diff --git a/QAT/centos-7/media/nginx_sw/Dockerfile b/QAT/ubuntu-22.04/media/nginx_sw/Dockerfile
similarity index 61%
rename from QAT/centos-7/media/nginx_sw/Dockerfile
rename to QAT/ubuntu-22.04/media/nginx_sw/Dockerfile
index 5073211b9..425a9fad9 100644
--- a/QAT/centos-7/media/nginx_sw/Dockerfile
+++ b/QAT/ubuntu-22.04/media/nginx_sw/Dockerfile
@@ -3,7 +3,7 @@
# BSD 3-Clause License
#
-# Copyright (c) 2021, Intel Corporation
+# Copyright (c) 2023, Intel Corporation
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
@@ -33,37 +33,30 @@
# This file is automatically generated from .m4 template.
# To update, modify the template and regenerate.
-FROM centos:7 AS build
-
-
-
-
-
-
-
-
-
-
-RUN yum install -y -q epel-release centos-release-scl && rm -rf /var/yum/cache/*
-
+FROM ubuntu:22.04 AS build
RUN mkdir -p /opt/build && mkdir -p /opt/dist
-ENV PKG_CONFIG_PATH=/usr/local/lib64/pkgconfig
+ENV PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
-RUN yum install -y ca-certificates wget tar gcc-c++ make bzip2
+RUN apt-get update && \
+ DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
+ ca-certificates wget tar g++ make bzip2 && \
+ rm -rf /var/lib/apt/lists/*
# build nasm
#ARG NASM_REPO=https://www.nasm.us/pub/nasm/releasebuilds/NASM_VER/nasm-NASM_VER.tar.bz2
-# TODO: to revert to official nasm repo
+# TODO: Revert to NASM repo, this is temp fix is nasm repo certificate expired temporarily
+
ARG NASM_REPO=https://github.com/OpenVisualCloud/Dockerfiles-Resources/raw/master/nasm-2.15.05.tar.bz2
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${NASM_REPO} | tar xj && \
cd nasm-2.15.05 && \
./autogen.sh && \
- ./configure --prefix=/usr/local --libdir=/usr/local/lib64 && \
- make -j$(nproc) && \
+ ./configure --prefix=/usr/local --libdir=/usr/local/lib && \
+ make -j"$(nproc)" && \
make install
@@ -73,78 +66,102 @@ ADD qat.tar.gz /opt/dist/
RUN mkdir -p /opt/intel /opt/dist/opt/intel && \
ln -s /opt/dist/opt/intel/QAT /opt/intel/QAT
-RUN yum install -y wget make gcc zlib-devel
+RUN apt-get update && \
+ DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
+ wget ca-certificates make gcc libzip-dev automake libtool liblz4-dev libssl-dev && \
+ rm -rf /var/lib/apt/lists/*
# load qat-zip
-ARG QAT_ZIP_REPO=https://github.com/intel/QATzip/archive/v1.0.6.tar.gz
+ARG QAT_ZIP_REPO=https://github.com/intel/QATzip/archive/v1.1.2.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${QAT_ZIP_REPO} | tar xz && \
cd QATzip* && \
+ ./autogen.sh && \
/bin/bash ./configure LDFLAGS="-Wl,-rpath=/opt/intel/QAT/build" --with-ICP_ROOT=/opt/intel/QAT --prefix=/opt/intel/QATzip && \
make -j8 && \
make install && \
tar cf - /opt/intel/QATzip | (cd /opt/dist && tar xf -)
-RUN yum install -y wget tar gcc-c++ make libtool autoconf
+RUN apt-get update && \
+ DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
+ ca-certificates wget tar g++ make libtool autoconf && \
+ rm -rf /var/lib/apt/lists/*
# build openssl
-ARG OPENSSL_REPO=https://github.com/openssl/openssl/archive/OpenSSL_1_1_1q.tar.gz
+ARG OPENSSL_REPO=https://github.com/openssl/openssl/releases/download/openssl-3.0.7/openssl-3.0.7.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${OPENSSL_REPO} | tar xz && \
- cd openssl-OpenSSL_1_1_1q && \
- ./config no-ssl3 shared --prefix=/usr/local/ssl --openssldir=/usr/local/ssl -fPIC -Wl,-rpath=/usr/local/ssl/lib && \
+ cd openssl-3.0.7 && \
+ ./config shared --prefix=/usr/local/ssl --openssldir=/usr/local/ssl -fPIC -Wl,-rpath=/usr/local/ssl/lib64 && \
make depend && \
- make -s V=0 && \
+ make -j"$(nproc)" -s V=0 && \
make install DESTDIR=/opt/dist && \
- (cd /opt/dist && mkdir -p ./usr/local/lib64/pkgconfig && mv ./usr/local/ssl/lib/pkgconfig/*.pc ./usr/local/lib64/pkgconfig/) && \
- make install && \
- (mkdir -p /usr/local/lib64/pkgconfig && mv /usr/local/ssl/lib/pkgconfig/*.pc /usr/local/lib64/pkgconfig/)
+ make install
-RUN yum install -y wget cmake3 make python devtoolset-9
+RUN apt-get update && \
+ DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
+ wget ca-certificates cmake make python3 && \
+ rm -rf /var/lib/apt/lists/*
-ARG QAT_CRYPTOMB_REPO=https://github.com/intel/ipp-crypto/archive/ippcp_2021.6.tar.gz
+ARG QAT_CRYPTOMB_REPO=https://github.com/intel/ipp-crypto/archive/ippcp_2021.7.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${QAT_CRYPTOMB_REPO} | tar xz && \
- mkdir -p ipp-crypto-ippcp_2021.6/sources/ippcp/crypto_mb/build && \
- cd ipp-crypto-ippcp_2021.6/sources/ippcp/crypto_mb/build && \
- (. /opt/rh/devtoolset-9/enable && CFLAGS="-Wl,-rpath=/usr/local/ssl/lib" cmake3 -DOPENSSL_INCLUDE_DIR=/usr/local/ssl/include -DOPENSSL_LIBRARIES=/usr/local/ssl/lib -DOPENSSL_ROOT_DIR=/usr/local/ssl .. && \
- make -j8 ) && \
+ mkdir -p ipp-crypto-ippcp_2021.7/sources/ippcp/crypto_mb/build && \
+ cd ipp-crypto-ippcp_2021.7/sources/ippcp/crypto_mb/build && \
+ export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/local/ssl/lib64 && \
+ CFLAGS="-Wl,-rpath=/usr/local/ssl/lib64" cmake -DOPENSSL_INCLUDE_DIR=/usr/local/ssl/include -DOPENSSL_LIBRARIES=/usr/local/ssl/lib64 -DOPENSSL_ROOT_DIR=/usr/local/ssl -DOPENSSL_CRYPTO_LIBRARY=/usr/local/ssl/lib64/libcrypto.so .. && \
+ make -j"$(nproc)" && \
make install && \
make install DESTDIR=/opt/dist
-RUN yum install -y git make devtoolset-9
+RUN apt-get update && \
+ DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
+ git make && \
+ rm -rf /var/lib/apt/lists/*
ARG IPSECMB_REPO=https://github.com/intel/intel-ipsec-mb.git
RUN cd /opt/build && \
git clone -b v1.2 ${IPSECMB_REPO} && \
cd intel-ipsec-mb && \
- (. /opt/rh/devtoolset-9/enable && CFLAGS="-Wl,-rpath=/usr/local/ssl/lib" make -j SAFE_DATA=y SAFE_PARAM=y SAFE_LOOKUP=y ) && \
+ CFLAGS="-Wl,-rpath=/usr/local/ssl/lib64" make -j SAFE_DATA=y SAFE_PARAM=y SAFE_LOOKUP=y && \
make install && \
- make install PREFIX=/opt/dist
+ make install PREFIX=/opt/dist\/usr/local
-RUN yum install -y wget make gcc gawk autoconf automake libtool pkg-config
+RUN apt-get update && \
+ DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
+ wget ca-certificates make gcc gawk autoconf automake libtool pkg-config && \
+ rm -rf /var/lib/apt/lists/*
# load qat-engine
-ARG QAT_ENGINE_REPO=https://github.com/intel/QAT_Engine/archive/v0.6.15.tar.gz
+ARG QAT_ENGINE_REPO=https://github.com/intel/QAT_Engine/archive/v0.6.19.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${QAT_ENGINE_REPO} | tar xz && \
cd QAT_Engine* && \
+ export LD_LIBRARY_PATH=${LD_LIBRARY_PATH=$}:/usr/local/ssl/lib64 && \
./autogen.sh && \
- export PERL5LIB="$(ls -1 -d /opt/build/openssl-*)" && \
- ./configure --with-qat_dir=/opt/intel/QAT --with-openssl_dir="$PERL5LIB" --with-openssl_install_dir=/usr/local/ssl --prefix=/opt/intel/QATengine --disable-qat_ecx --with-cc-opt="-DQAT_DISABLE_NONZERO_MEMFREE -I/opt/build/ipp-crypto-ippcp_2021.6/sources/ippcp/crypto_mb/include" --enable-multibuff_offload --enable-multibuff_ecx --enable-qat_sw && \
- make -j8 && \
+ ./configure --with-qat_dir=/opt/intel/QAT --with-openssl_dir="$(ls -1 -d /opt/build/openssl-*)" --with-openssl_install_dir=/usr/local/ssl --prefix=/opt/intel/QATengine --disable-qat_ecx --with-cc-opt="-DQAT_DISABLE_NONZERO_MEMFREE -I/opt/build/ipp-crypto-ippcp_2021.7/sources/ippcp/crypto_mb/include" --enable-multibuff_offload --enable-multibuff_ecx --enable-qat_sw && \
+ make -j"$(nproc)" && \
make install && \
tar cf - /usr/local/ssl | (cd /opt/dist && tar xf -)
-RUN yum install -y wget patch
+RUN apt-get update && \
+ DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
+ ca-certificates wget patch && \
+ rm -rf /var/lib/apt/lists/*
ARG NGINX_FLV_PATCHES_REPO=https://github.com/VCDP/CDN/archive/v0.4.tar.gz
ARG NGINX_FLV_PATCHES_PATH=/opt/build/CDN-0.4
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${NGINX_FLV_PATCHES_REPO} | tar xz
# build nginx flv
ARG NGINX_FLV_REPO=https://github.com/winshining/nginx-http-flv-module/archive/v1.2.10.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${NGINX_FLV_REPO} | tar xz && \
cd nginx-http-flv-module-1.2.10 && \
@@ -156,14 +173,19 @@ RUN cd /opt/build && \
# build nginx upload
ARG NGINX_UPLOAD_REPO=https://github.com/fdintino/nginx-upload-module/archive/2.3.0.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${NGINX_UPLOAD_REPO} | tar xz
-RUN yum install -y wget pcre-devel zlib-devel libxslt-devel
+RUN apt-get update && \
+ DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
+ wget ca-certificates libpcre3-dev zlib1g-dev libxslt1-dev && \
+ rm -rf /var/lib/apt/lists/*
-ARG QAT_NGINX_REPO=https://github.com/intel/asynch_mode_nginx/archive/v0.4.7.tar.gz
+ARG QAT_NGINX_REPO=https://github.com/intel/asynch_mode_nginx/archive/v0.5.0.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN wget -O - ${QAT_NGINX_REPO} | tar xz && cd asynch_mode_nginx* && \
- ./configure --with-ld-opt="-Wl,-rpath=/usr/local/ssl/lib,-rpath=/opt/intel/QATengine/lib,-rpath=/opt/intel/QATzip/lib64,-rpath=/opt/intel/QAT/build -L/usr/local/ssl/lib -L/opt/intel/QATzip/lib64 -lqatzip -lz" \
+ ./configure --with-ld-opt="-Wl,-rpath=/usr/local/ssl/lib64,-rpath=/opt/intel/QATengine/lib,-rpath=/opt/intel/QATzip/lib,-rpath=/opt/intel/QAT/build -L/usr/local/ssl/lib64 -L/opt/intel/QATzip/lib -lqatzip -lz" \
--with-cc-opt="-DNGX_SECURE_MEM -I/usr/local/ssl/include -I/opt/intel/QATzip/include -I/opt/intel/QAT/quickassist/include/dc -I/opt/intel/QAT/quickassist/include -Wno-error=deprecated-declarations" \
--add-dynamic-module=modules/nginx_qatzip_module \
--add-dynamic-module=modules/nginx_qat_module \
@@ -180,8 +202,8 @@ RUN wget -O - ${QAT_NGINX_REPO} | tar xz && cd asynch_mode_nginx* && \
--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 \
+ --user=www-data \
+ --group=www-data \
--with-select_module --with-poll_module \
--with-threads --with-file-aio \
--with-http_ssl_module \
@@ -222,9 +244,13 @@ RUN mkdir -p /opt/dist/var/www/tmp/client_body && \
mkdir -p /opt/dist/var/www/html && \
touch /opt/dist/var/www/html/index.html;
-RUN yum install -y openssl
+RUN apt-get update && \
+ DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
+ openssl && \
+ rm -rf /var/lib/apt/lists/*
# Generate a self-certificate for testing purpose
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN mkdir -p /opt/dist/etc/nginx && \
printf "US\nOR\nPortland\nOregon\nOpen Visual Cloud\nIntel Corporation\n%s\nnobody@intel.com\n" "$(hostname)" | openssl req -x509 -nodes -days 30 -newkey rsa:4096 -keyout /opt/dist/etc/nginx/cert.key -out /opt/dist/etc/nginx/cert.crt && \
chmod 640 /opt/dist/etc/nginx/cert.key && \
@@ -232,7 +258,7 @@ RUN mkdir -p /opt/dist/etc/nginx && \
# cleanup
RUN rm -rf /opt/dist/usr/local/include && \
- rm -rf /opt/dist/usr/local/lib64/pkgconfig && \
+ rm -rf /opt/dist/usr/local/lib/pkgconfig && \
find /opt/dist -name "*.a" -exec rm -f {} \; || echo ""
RUN rm -rf /opt/dist/usr/local/share/doc /opt/dist/usr/local/share/gtk-doc
RUN rm -rf /opt/dist/usr/local/share/man
@@ -240,20 +266,24 @@ RUN rm -rf /opt/intel/QATzip/share/man
RUN rm -rf /opt/dist/usr/local/ssl/include
RUN rm -rf /opt/dist/usr/local/ssl/share/man
RUN rm -rf /opt/dist/usr/local/ssl/share/doc
+HEALTHCHECK CMD echo "This is a healthcheck test." || exit 1
-FROM openvisualcloud/xeon-centos7-media-ffmpeg:-n
-LABEL Description="This is the base image for QAT NGINX centos 7"
+FROM openvisualcloud/xeon-ubuntu2204-media-ffmpeg:23.06
+LABEL Description="This is the base image for QAT NGINX ubuntu 22.04"
LABEL Vendor="Intel Corporation"
WORKDIR /home
# Install
-RUN yum install -y -q epel-release && rm -rf /var/yum/cache/*
-
-RUN yum install -y zlib pcre libxslt
+RUN apt-get update && apt-get upgrade -y systemd
+RUN apt-get update && \
+ DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
+ libzip4 libxml2 libpcre3 zlib1g libxslt1.1 && \
+ rm -rf /var/lib/apt/lists/*
COPY --from=build /opt/dist /
-RUN echo "/usr/local/lib64" >> /etc/ld.so.conf.d/all-libs.conf && ldconfig
+RUN echo "/usr/local/lib" >> /etc/ld.so.conf.d/all-libs.conf && ldconfig
+ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/ssl/lib64
RUN echo "/opt/intel/QAT/build" >> /etc/ld.so.conf.d/qat.conf && ldconfig
-
+HEALTHCHECK CMD echo "This is a healthcheck test." || exit 1
\ No newline at end of file
diff --git a/QAT/ubuntu-22.04/media/nginx_sw/Dockerfile.m4 b/QAT/ubuntu-22.04/media/nginx_sw/Dockerfile.m4
new file mode 100644
index 000000000..cb8e2c396
--- /dev/null
+++ b/QAT/ubuntu-22.04/media/nginx_sw/Dockerfile.m4
@@ -0,0 +1,31 @@
+
+include(begin.m4)
+include(ubuntu.m4)
+include(nasm.m4)
+include(qat-core.m4)
+include(qat-zip.m4)
+include(openssl.m4)
+include(qat-cryptomb.m4)
+include(ipsecmb.m4)
+include(qat-engine.m4)
+include(nginx-flv.m4)
+include(nginx-upload.m4)
+include(qat-nginx.m4)
+include(nginx-cert.m4)
+include(end.m4)
+
+PREAMBLE
+FROM OS_NAME:OS_VERSION AS build
+
+BUILD_ALL()dnl
+CLEANUP()dnl
+
+FROM openvisualcloud/xeon-OS_NAME`'patsubst(OS_VERSION,\.)-media-ffmpeg:BUILD_VERSION
+LABEL Description="This is the base image for QAT NGINX OS_NAME OS_VERSION"
+LABEL Vendor="Intel Corporation"
+WORKDIR /home
+
+# Install
+UPGRADE_UBUNTU_COMPONENTS()
+INSTALL_ALL(runtime,build)
+HEALTHCHECK CMD echo "This is a healthcheck test." || exit 1
\ No newline at end of file
diff --git a/QAT/ubuntu-22.04/media/nginx_sw/README.md b/QAT/ubuntu-22.04/media/nginx_sw/README.md
new file mode 100644
index 000000000..136a8799a
--- /dev/null
+++ b/QAT/ubuntu-22.04/media/nginx_sw/README.md
@@ -0,0 +1,49 @@
+This docker image is part of Open Visual Cloud software stacks. Optimized for NGINX web server with compute-intensive operations acceleration with Intel® QuickAssist Technology (Intel® QAT).The docker image can be used in the FROM field of a downstream Dockerfile.
+
+## Supported tags and respective Dockerfile links
+ - [qat-ubuntu-2204-media-nginx_sw](https://github.com/OpenVisualCloud/Dockerfiles/blob/v23.06/QAT/ubuntu-22.04/media/nginx_sw/Dockerfile)
+
+## Quick reference
+- #### Supported platform and OS
+ Intel® QAT platform, Ubuntu 22.04
+
+
+
+
+- #### Getting started with Dockerfiles:
+ [OpenVisualCloud Dockerfiles Wiki](https://github.com/OpenVisualCloud/Dockerfiles/wiki)
+
+- #### File issues:
+ [OpenVisualCloud Dockerfiles Issues](https://github.com/OpenVisualCloud/Dockerfiles/issues)
+
+
+## License
+This docker installs third party components licensed under various open source licenses. The terms under which those components may be used and distributed can be found with the license document that is provided with those components. Please familiarize yourself with those terms to ensure your distribution of those components complies with the terms of those licenses.
+
+
+| Components | License |
+| ----- | ----- |
+|Ubuntu| [Various](https://hub.docker.com/_/ubuntu) |
+|QATzip|BSD 3-clause "New" or "Revised" License|
+|OpenSSL|Apache License 2.0|
+|ipp crypo|Apache-2.0 License|
+|QAT OpenSSL engine|BSD 3-clause "New" or "Revised" License|
+|nginx http flv|BSD 2-clause "Simplified" License|
+|nginx upload module|BSD 3-clause "Simplified" License|
+|asynch mode nginx |BSD 3-clause "New" or "Revised" License|
+|libogg|BSD 3-clause "New" or "Revised" License|
+|libvorbis|BSD 3-clause "New" or "Revised" License|
+|Opus Interactive Audio Codec|BSD 3-clause "New" or "Revised" License|
+|libvpx|BSD 3-clause "New" or "Revised" License|
+|x264|GNU General Public License v2.0 or later|
+|x265|GNU General Public License v2.0 or later|
+|dav1d|BSD 2-clause "Simplified" License|
+|Intel SVT-HEVC|BSD-2-Clause Plus Patent License|
+|Intel SVT-AV1|BSD-2-Clause Plus Patent License|
+|Intel SVT-VP9|BSD-2-Clause Plus Patent License|
+|OpenCV|BSD 3-clause "New" or "Revised" License|
+|FFmpeg|GNU Lesser General Public License v2.1 or later|
+
+
+More license information can be found in [components source package](https://github.com/OpenVisualCloud/Dockerfiles-Resources).
+As for any pre-built image usage, it is the image user's responsibility to ensure that any use of this image complies with any relevant licenses and potential fees for all software contained within. We will have no indemnity or warranty coverage from suppliers.
diff --git a/QAT/ubuntu-22.04/media/nginx_sw/build.sh b/QAT/ubuntu-22.04/media/nginx_sw/build.sh
new file mode 100755
index 000000000..b519fe45e
--- /dev/null
+++ b/QAT/ubuntu-22.04/media/nginx_sw/build.sh
@@ -0,0 +1,6 @@
+#!/bin/bash -e
+
+IMAGE="qat-ubuntu2204-media-nginx_sw"
+DIR=$(dirname $(readlink -f "$0"))
+
+. "${DIR}/../../../../script/qatbuild.sh"
diff --git a/QAT/ubuntu-22.04/media/nginx_sw/nginx.conf b/QAT/ubuntu-22.04/media/nginx_sw/nginx.conf
new file mode 100644
index 000000000..251d05e97
--- /dev/null
+++ b/QAT/ubuntu-22.04/media/nginx_sw/nginx.conf
@@ -0,0 +1,176 @@
+
+user root;
+worker_processes 1;
+daemon off;
+
+load_module modules/ngx_http_qatzip_filter_module.so;
+load_module modules/ngx_ssl_engine_qat_module.so;
+
+events {
+ worker_connections 4096;
+}
+
+# Enable QAT engine in heretic mode.
+ssl_engine {
+ use_engine qatengine;
+ default_algorithms RSA,EC,DH,DSA;
+ qat_engine {
+ qat_offload_mode async;
+ qat_notify_mode poll;
+ qat_poll_mode heuristic;
+ #qat_sw_fallback on;
+ }
+}
+
+# Configure RTMP
+rtmp {
+ server {
+ listen 1935;
+ chunk_size 4000;
+
+ application stream {
+ live on;
+ }
+
+ application hls {
+ live on;
+ hls on;
+ hls_path /var/www/hls;
+ hls_nested on;
+ hls_fragment 3;
+ hls_playlist_length 60;
+ }
+
+ application dash {
+ live on;
+ dash on;
+ dash_path /var/www/dash;
+ dash_fragment 3;
+ dash_playlist_length 60;
+ dash_nested on;
+ }
+ }
+}
+
+http {
+ gzip on;
+ gzip_min_length 128;
+ gzip_comp_level 1;
+ gzip_types text/css text/javascript text/xml text/plain text/x-component application/javascript application/json application/xml application/rss+xml font/truetype font/opentype application/vnd.ms-fontobject image/svg+xml;
+ gzip_vary on;
+ gzip_disable "msie6";
+ gzip_http_version 1.0;
+
+ qatzip_sw failover;
+ qatzip_min_length 128;
+ qatzip_comp_level 1;
+ qatzip_buffers 16 8k;
+ qatzip_types text/css text/javascript text/xml text/plain text/x-component application/javascript application/json application/xml application/rss+xml font/truetype font/opentype application/vnd.ms-fontobject image/svg+xml application/octet-stream image/jpeg;
+ qatzip_chunk_size 64k;
+ qatzip_stream_size 256k;
+ qatzip_sw_threshold 256;
+
+ # HTTP server with QATZip enabled.
+ server {
+ listen 80;
+ server_name localhost;
+
+ location / {
+ root html;
+ index index.html index.htm;
+ }
+
+ location /hls {
+ alias /var/www/hls;
+ add_header Cache-Control no-cache;
+ add_header 'Access-Control-Allow-Origin' '*' always;
+ add_header 'Access-Control-Expose-Headers' 'Content-Length';
+ types {
+ application/vnd.apple.mpegurl m3u8;
+ video/mp2t ts;
+ }
+ }
+
+ location /dash {
+ alias /var/www/dash;
+ add_header Cache-Control no-cache;
+ add_header 'Access-Control-Allow-Origin' '*' always;
+ add_header 'Access-Control-Expose-Headers' 'Content-Length';
+ types {
+ application/dash+xml mpd;
+ }
+ }
+
+ location /stat {
+ rtmp_stat all;
+ rtmp_stat_stylesheet stat.xsl;
+ }
+
+ location /upload {
+ client_max_body_size 1024M;
+ upload_pass @upload;
+ upload_pass_args on;
+ upload_store /var/www/upload;
+ upload_set_form_field $upload_field_name.path "$upload_tmp_path";
+ upload_cleanup 400 404 499 500-505;
+ }
+
+ location @upload {
+ return 200;
+ }
+ }
+
+ # HTTPS server with QATZip enabled.
+ server {
+ listen 443 ssl asynch;
+ server_name localhost;
+
+ ssl_protocols TLSv1.2;
+ ssl_certificate cert.crt;
+ ssl_certificate_key cert.key;
+
+ location / {
+ root html;
+ index index.html index.htm;
+ }
+
+ location /hls {
+ alias /var/www/hls;
+ add_header Cache-Control no-cache;
+ add_header 'Access-Control-Allow-Origin' '*' always;
+ add_header 'Access-Control-Expose-Headers' 'Content-Length';
+ types {
+ application/vnd.apple.mpegurl m3u8;
+ video/mp2t ts;
+ }
+ }
+
+ location /dash {
+ alias /var/www/dash;
+ add_header Cache-Control no-cache;
+ add_header 'Access-Control-Allow-Origin' '*' always;
+ add_header 'Access-Control-Expose-Headers' 'Content-Length';
+ types {
+ application/dash+xml mpd;
+ }
+ }
+
+ location /stat {
+ rtmp_stat all;
+ rtmp_stat_stylesheet stat.xsl;
+ }
+
+ location /upload {
+ client_max_body_size 1024M;
+ upload_pass @upload;
+ upload_pass_args on;
+ upload_store /var/www/upload;
+ upload_set_form_field $upload_field_name.path "$upload_tmp_path";
+ upload_cleanup 400 404 499 500-505;
+ }
+
+ location @upload {
+ return 200;
+ }
+ }
+}
diff --git a/QAT/ubuntu-22.04/media/nginx_sw/shell.sh b/QAT/ubuntu-22.04/media/nginx_sw/shell.sh
new file mode 100755
index 000000000..f45696119
--- /dev/null
+++ b/QAT/ubuntu-22.04/media/nginx_sw/shell.sh
@@ -0,0 +1,6 @@
+#!/bin/bash -e
+
+IMAGE="qat-ubuntu2204-media-nginx_sw"
+DIR=$(dirname $(readlink -f "$0"))
+
+. "${DIR}/../../../../script/qatshell.sh"
diff --git a/README.md b/README.md
index 2111ba4b7..fed468ce0 100644
--- a/README.md
+++ b/README.md
@@ -22,17 +22,17 @@ The software stack images provide ready to use software stacks for application d
| Image | Description |
| :-----: | ----- |
-| [ffmpeg](doc/ffmpeg.md) | Docker images optimized for media creation and delivery based on the FFmpeg framework. Included the AAC, MP3, OPUS, OGG, Vorbis, X264, X265, VP8/9, AV1 and SVT-HEVC codecs. The GPU images are accelerated with VAAPI and QSV. See [`doc/ffmpeg.md`](doc/ffmpeg.md) for additional details.
docker pull [openvisualcloud/xeon-ubuntu2004-media-ffmpeg](https://hub.docker.com/r/openvisualcloud/xeon-ubuntu2004-media-ffmpeg)
docker pull [openvisualcloud/xeon-centos7-media-ffmpeg](https://hub.docker.com/r/openvisualcloud/xeon-centos7-media-ffmpeg)|
-| [gst](doc/gst.md) | Docker images optimized for media creation and delivery based on the GStreamer framework. Included the base, good, bad, ugly and libav set of plugins. The GPU images are accelerated with VAAPI. See [`doc/gst.md`](doc/gst.md) for additional details.
docker pull [openvisualcloud/xeon-ubuntu2004-media-gst](https://hub.docker.com/r/openvisualcloud/xeon-ubuntu2004-media-gst)
docker pull [openvisualcloud/xeon-centos7-media-gst](https://hub.docker.com/r/openvisualcloud/xeon-centos7-media-gst)|
-| [nginx](doc/nginx.md) | Docker images optimized for web hosting and caching. Included FFmpeg, NGINX the web server, and FLV the RTMP and DASH/HLS streaming module. See [`doc/nginx.md`](doc/nginx.md) for additional details.
docker pull [openvisualcloud/xeon-ubuntu2004-media-nginx](https://hub.docker.com/r/openvisualcloud/xeon-ubuntu2004-media-nginx)
docker pull [openvisualcloud/xeon-centos7-media-nginx](https://hub.docker.com/r/openvisualcloud/xeon-centos7-media-nginx)|
-| [svt](doc/svt.md) | Docker images for the SVT (Scalable Video Technology) encoders and decoders. Easiest way to try SVT AV1, HEVC, and VP9 apps. See [`doc/svt.md`](doc/svt.md) for additional details.
docker pull [openvisualcloud/xeon-centos7-media-svt](https://hub.docker.com/r/openvisualcloud/xeon-centos7-media-svt)|
-
+| [ffmpeg](doc/ffmpeg.md) | Docker images optimized for media creation and delivery based on the FFmpeg framework. Included the AAC, MP3, OPUS, OGG, Vorbis, X264, X265, VP8/9, AV1 and SVT-HEVC codecs. The GPU images are accelerated with VAAPI and QSV. See [`doc/ffmpeg.md`](doc/ffmpeg.md) for additional details.
docker pull [openvisualcloud/xeon-ubuntu2204-media-ffmpeg](https://hub.docker.com/r/openvisualcloud/xeon-ubuntu2204-media-ffmpeg)
docker pull [openvisualcloud/xeon-ubuntu2004-media-ffmpeg](https://hub.docker.com/r/openvisualcloud/xeon-ubuntu2004-media-ffmpeg)|
+| [gst](doc/gst.md) | Docker images optimized for media creation and delivery based on the GStreamer framework. Included the base, good, bad, ugly and libav set of plugins. The GPU images are accelerated with VAAPI. See [`doc/gst.md`](doc/gst.md) for additional details.
docker pull [openvisualcloud/xeon-ubuntu2204-media-gst](https://hub.docker.com/r/openvisualcloud/xeon-ubuntu2204-media-gst)
docker pull [openvisualcloud/xeon-ubuntu2004-media-gst](https://hub.docker.com/r/openvisualcloud/xeon-ubuntu2004-media-gst)|
+| [nginx](doc/nginx.md) | Docker images optimized for web hosting and caching. Included FFmpeg, NGINX the web server, and FLV the RTMP and DASH/HLS streaming module. See [`doc/nginx.md`](doc/nginx.md) for additional details.
docker pull [openvisualcloud/xeon-ubuntu2204-media-nginx](https://hub.docker.com/r/openvisualcloud/xeon-ubuntu2204-media-nginx)
docker pull [openvisualcloud/xeon-ubuntu2004-media-nginx](https://hub.docker.com/r/openvisualcloud/xeon-ubuntu2004-media-nginx)|
+| [svt](doc/svt.md) | Docker images for the SVT (Scalable Video Technology) encoders and decoders. Easiest way to try SVT AV1, HEVC, and VP9 apps. See [`doc/svt.md`](doc/svt.md) for additional details.
docker pull [openvisualcloud/xeon-ubuntu2204-media-svt](https://hub.docker.com/r/openvisualcloud/xeon-ubuntu2204-media-svt)
docker pull [openvisualcloud/xeon-ubuntu2004-media-svt](https://hub.docker.com/r/openvisualcloud/xeon-ubuntu2004-media-svt)|
+| [imtl](https://github.com/OpenVisualCloud/Media-Transport-Library/blob/main/README.md) | Docker images for the IMTL (Intel Media Transport Library), based on DPDK prepared for transmitting and receiving media data with high throughput and low latency. See [`imtl.md`](https://github.com/OpenVisualCloud/Media-Transport-Library/blob/main/README.md) for additional details.
docker pull [openvisualcloud/xeon-ubuntu2204-media-imtl](https://hub.docker.com/r/openvisualcloud/xeon-ubuntu2204-media-imtl)
docker pull [openvisualcloud/xeon-ubuntu2004-media-imtl](https://hub.docker.com/r/openvisualcloud/xeon-ubuntu2004-media-imtl)|
- **Media Analytics**
| Image | Description |
| :-----: | :----- |
-| [ffmpeg](doc/ffmpeg.md) | Docker images optimized for media analytics based on the FFmpeg framework. Included plugins that utilized the Intel® OpenVINO™ inference engine. See [`doc/ffmpeg.md`](doc/ffmpeg.md) for additional details.
docker pull [openvisualcloud/xeon-ubuntu2004-analytics-ffmpeg](https://hub.docker.com/r/openvisualcloud/xeon-ubuntu2004-analytics-ffmpeg)
docker pull [openvisualcloud/xeon-centos7-analytics-ffmpeg](https://hub.docker.com/r/openvisualcloud/xeon-centos7-analytics-ffmpeg)|
-| [gst](doc/gst.md) | Docker images optimized for media analytics based on the GStreamer framework. Included plugins that utilized the Intel OpenVINO inference engine. See [`doc/gst.md`](doc/gst.md) for additional details.
docker pull [openvisualcloud/xeon-ubuntu2004-analytics-gst](https://hub.docker.com/r/openvisualcloud/xeon-ubuntu2004-analytics-gst)
docker pull [openvisualcloud/xeon-centos7-analytics-gst](https://hub.docker.com/r/openvisualcloud/xeon-centos7-analytics-gst)|
+| [ffmpeg](doc/ffmpeg.md) | Docker images optimized for media analytics based on the FFmpeg framework. Included plugins that utilized the Intel® OpenVINO™ inference engine. See [`doc/ffmpeg.md`](doc/ffmpeg.md) for additional details.
docker pull [openvisualcloud/xeon-ubuntu2204-analytics-ffmpeg](https://hub.docker.com/r/openvisualcloud/xeon-ubuntu2204-analytics-ffmpeg)
docker pull [openvisualcloud/xeon-ubuntu2004-analytics-ffmpeg](https://hub.docker.com/r/openvisualcloud/xeon-ubuntu2004-analytics-ffmpeg)|
+| [gst](doc/gst.md) | Docker images optimized for media analytics based on the GStreamer framework. Included plugins that utilized the Intel OpenVINO inference engine. See [`doc/gst.md`](doc/gst.md) for additional details.
docker pull [openvisualcloud/xeon-ubuntu2204-analytics-gst](https://hub.docker.com/r/openvisualcloud/xeon-ubuntu2204-analytics-gst)
docker pull [openvisualcloud/xeon-ubuntu2004-analytics-gst](https://hub.docker.com/r/openvisualcloud/xeon-ubuntu2004-analytics-gst)|
- **Cloud Gaming and Graphics**
@@ -44,9 +44,9 @@ The development images enable C++ application compilation, debugging (with the d
| Image | Description |
| :-----: | :----- |
-| media | Docker images for FFmpeg or GStreamer C++ application development. See [`doc/ffmpeg.md`](doc/ffmpeg.md) and [`doc/gst.md`](doc/gst.md) for additional details.
docker pull [openvisualcloud/xeon-ubuntu2004-media-dev](https://hub.docker.com/r/openvisualcloud/xeon-ubuntu2004-media-dev)
docker pull [openvisualcloud/xeon-centos7-media-dev](https://hub.docker.com/r/openvisualcloud/xeon-centos7-media-dev)|
-| analytics | Docker images for FFmpeg or GStreamer C++ application development, with Intel OpenVINO inference engine and the model optimizer. See [`doc/ffmpeg.md`](doc/ffmpeg.md) and [`doc/gst.md`](doc/gst.md) for additional details.
docker pull [openvisualcloud/xeon-ubuntu2004-analytics-dev](https://hub.docker.com/r/openvisualcloud/xeon-ubuntu2004-analytics-dev)
docker pull [openvisualcloud/xeon-centos7-analytics-dev](https://hub.docker.com/r/openvisualcloud/xeon-centos7-analytics-dev)|
-| service | Docker images for Open WebRTC Toolkit (OWT) C++ application development.. See [`doc/owt.md`](doc/owt.md) for additional details.
docker pull [openvisualcloud/xeon-centos7-service-owt-dev](https://hub.docker.com/r/openvisualcloud/xeon-centos7-service-owt-dev)
|
+| media | Docker images for FFmpeg or GStreamer C++ application development. See [`doc/ffmpeg.md`](doc/ffmpeg.md) and [`doc/gst.md`](doc/gst.md) for additional details.
docker pull [openvisualcloud/xeon-ubuntu2204-media-dev](https://hub.docker.com/r/openvisualcloud/xeon-ubuntu2204-media-dev)
docker pull [openvisualcloud/xeon-ubuntu2004-media-dev](https://hub.docker.com/r/openvisualcloud/xeon-ubuntu2004-media-dev)|
+| analytics | Docker images for FFmpeg or GStreamer C++ application development, with Intel OpenVINO inference engine and the model optimizer. See [`doc/ffmpeg.md`](doc/ffmpeg.md) and [`doc/gst.md`](doc/gst.md) for additional details.
docker pull [openvisualcloud/xeon-ubuntu2204-analytics-dev](https://hub.docker.com/r/openvisualcloud/xeon-ubuntu2204-analytics-dev)
docker pull [openvisualcloud/xeon-ubuntu2004-analytics-dev](https://hub.docker.com/r/openvisualcloud/xeon-ubuntu2004-analytics-dev)|
+| service | Docker images for Open WebRTC Toolkit (OWT) C++ application development.. See [`doc/owt.md`](doc/owt.md) for additional details.
docker pull [openvisualcloud/xeon-ubuntu2004-service-owt-dev](https://hub.docker.com/r/openvisualcloud/xeon-ubuntu2004-service-owt-dev)|
### Service Images:
@@ -54,8 +54,8 @@ The service images provides ready to use services. See their image descriptions
| Image | Description |
| :-----: | :----- |
-| [owt](doc/owt.md)| Docker images optimized for video conferencing services, based on the WebRTC technology and the Open WebRTC Toolkit. Included conferencing modes: 1:N, N:N with video and audio processing nodes. see [`doc/owt.md`](doc/owt.md) for additional details.
docker pull [openvisualcloud/xeon-centos7-service-owt](https://hub.docker.com/r/openvisualcloud/xeon-centos7-service-owt)|
-| [owt360](doc/owt360.md)| Docker images optimized for ultra-high resolution immersive video low latency streaming, based on the WebRTC technology and the Open WebRTC Toolkit. Included SVT-HEVC tile-based 4K and 8K transcoding and field of view (FoV) adaptive streaming. see [`doc/owt360.md`](doc/owt360.md) for additional details.
docker pull [openvisualcloud/xeon-centos7-service-owt360](https://hub.docker.com/r/openvisualcloud/xeon-centos7-service-owt360)|
+| [owt](doc/owt.md)| Docker images optimized for video conferencing services, based on the WebRTC technology and the Open WebRTC Toolkit. Included conferencing modes: 1:N, N:N with video and audio processing nodes. see [`doc/owt.md`](doc/owt.md) for additional details.
docker pull [openvisualcloud/xeon-ubuntu2004-service-owt](https://hub.docker.com/r/openvisualcloud/xeon-ubuntu2004-service-owt)|
+
### Support Matrix:
@@ -64,9 +64,9 @@ The project supports the following platforms and OS'es:
| Supported Platforms | Supported OS'es |
| :---: | :--- |
| [Xeon](Xeon) | Ubuntu 20.04 LTS, Ubuntu 22.04 LTS |
-| [QAT](QAT) | Ubuntu 20.04 LTS |
+| [QAT](QAT) | Ubuntu 20.04 LTS, Ubuntu 22.04 LTS |
| [SG1](SG1) | Ubuntu 20.04 LTS, Ubuntu 22.04 LTS, CentOS 7 |
-| [SG2](SG2) | Ubuntu 20.04 LTS, Ubuntu 22.04 LTS |
+| [Flex](Flex) | Ubuntu 20.04 LTS, Ubuntu 22.04 LTS |
Please see [Development and Test Report](doc/test.md) for the latest development statuses.
diff --git a/SG1/README.md b/SG1/README.md
index e42c0134b..ba647a1fa 100644
--- a/SG1/README.md
+++ b/SG1/README.md
@@ -13,5 +13,5 @@ Refer to below instructions to setup host platform:
|Image|Dockerfile|Docker Image|
|:-:|---|---|
-|media-dev|[centos-7/media/dev](centos-7/media/dev)
[ubuntu-20.04/media/dev](ubuntu-20.04/media/dev)|[openvisualcloud/sg1-centos7-media-dev](https://hub.docker.com/r/openvisualcloud/sg1-centos7-media-dev)
[openvisualcloud/sg1-ubuntu2004-media-dev](https://hub.docker.com/r/openvisualcloud/sg1-ubuntu2004-media-dev)|
-|media-ffmpeg|[centos-7/media/ffmpeg](centos-7/media/ffmpeg)
[ubuntu-20.04/media/ffmpeg](ubuntu-20.04/media/ffmpeg)|[openvisualcloud/sg1-centos7-media-ffmpeg](https://hub.docker.com/r/openvisualcloud/sg1-centos7-media-ffmpeg)
[openvisualcloud/sg1-ubuntu2004-media-ffmpeg](https://hub.docker.com/r/openvisualcloud/sg1-ubuntu2004-media-ffmpeg)|
+|media-dev|[centos-7/media/dev](centos-7/media/dev)
[ubuntu-20.04/media/dev](ubuntu-20.04/media/dev)
[ubuntu-22.04/media/dev](ubuntu-22.04/media/dev)|[openvisualcloud/sg1-centos7-media-dev](https://hub.docker.com/r/openvisualcloud/sg1-centos7-media-dev)
[openvisualcloud/sg1-ubuntu2004-media-dev](https://hub.docker.com/r/openvisualcloud/sg1-ubuntu2004-media-dev)
[openvisualcloud/sg1-ubuntu2204-media-dev](https://hub.docker.com/r/openvisualcloud/sg1-ubuntu2204-media-dev)|
+|media-ffmpeg|[centos-7/media/ffmpeg](centos-7/media/ffmpeg)
[ubuntu-20.04/media/ffmpeg](ubuntu-20.04/media/ffmpeg)
[ubuntu-22.04/media/ffmpeg](ubuntu-22.04/media/ffmpeg)|[openvisualcloud/sg1-centos7-media-ffmpeg](https://hub.docker.com/r/openvisualcloud/sg1-centos7-media-ffmpeg)
[openvisualcloud/sg1-ubuntu2004-media-ffmpeg](https://hub.docker.com/r/openvisualcloud/sg1-ubuntu2004-media-ffmpeg)
[openvisualcloud/sg1-ubuntu2204-media-ffmpeg](https://hub.docker.com/r/openvisualcloud/sg1-ubuntu2204-media-ffmpeg)|
diff --git a/SG1/centos-7/media/dev/Dockerfile b/SG1/centos-7/media/dev/Dockerfile
index 068f67d23..0e1574b00 100644
--- a/SG1/centos-7/media/dev/Dockerfile
+++ b/SG1/centos-7/media/dev/Dockerfile
@@ -42,85 +42,91 @@ RUN mkdir -p /opt/build && mkdir -p /opt/dist
ENV PKG_CONFIG_PATH=/usr/local/lib64/pkgconfig
-RUN yum install -y wget gcc-c++ make libcurl-devel zlib-devel
+RUN yum install -y wget gcc-c++ make libcurl-devel zlib-devel && yum clean all
# build cmake
ARG CMAKE_REPO=https://cmake.org/files
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${CMAKE_REPO}/v3.23/cmake-3.23.3.tar.gz | tar xz && \
cd cmake-3.23.3 && \
./bootstrap --prefix=/usr/local --system-curl && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install
-RUN yum install -y wget make autoconf diffutils automake gcc-c++
+RUN yum install -y wget make autoconf diffutils automake gcc-c++ && yum clean all
# build libogg
ARG OGG_VER=1.3.5
ARG LIBOGG_REPO=https://github.com/xiph/ogg/releases/download/v${OGG_VER}/libogg-1.3.5.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${LIBOGG_REPO} | tar xz && \
cd libogg-1.3.5 && \
./configure --prefix=/usr/local --libdir=/usr/local/lib64 --enable-shared && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
-RUN yum install -y wget make autoconf diffutils automake
+RUN yum install -y wget make autoconf diffutils automake && yum clean all
# build libvorbis
ARG VORBIS_VER=1.3.7
ARG LIBVORBIS_REPO=https://github.com/xiph/vorbis/releases/download/v${VORBIS_VER}/libvorbis-1.3.7.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${LIBVORBIS_REPO} | tar xz && \
cd libvorbis-1.3.7 && \
./configure --prefix=/usr/local --libdir=/usr/local/lib64 --enable-shared && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
-RUN yum install -y wget gcc-c++ autoconf libtool make automake
+RUN yum install -y wget gcc-c++ autoconf libtool make automake && yum clean all
# build libfdkaac
ARG LIBFDKAAC_REPO=https://github.com/mstorsjo/fdk-aac/archive/v2.0.2.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${LIBFDKAAC_REPO} | tar xz && \
cd fdk-aac-2.0.2 && \
./autogen.sh && \
./configure --prefix=/usr/local --libdir=/usr/local/lib64 --enable-shared && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
-RUN yum install -y wget autoconf libtool make
+RUN yum install -y wget autoconf libtool make && yum clean all
# build libopus
ARG LIBOPUS_REPO=https://archive.mozilla.org/pub/opus/opus-1.3.1.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${LIBOPUS_REPO} | tar xz && \
cd opus-1.3.1 && \
./configure --prefix=/usr/local --libdir=/usr/local/lib64 --enable-shared && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
-RUN yum install -y ca-certificates wget tar gcc-c++ make bzip2
+RUN yum install -y ca-certificates wget tar gcc-c++ make bzip2 && yum clean all
# build nasm
#ARG NASM_REPO=https://www.nasm.us/pub/nasm/releasebuilds/NASM_VER/nasm-NASM_VER.tar.bz2
# TODO: Revert to NASM repo, this is temp fix is nasm repo certificate expired temporarily
ARG NASM_REPO=https://github.com/OpenVisualCloud/Dockerfiles-Resources/raw/master/nasm-2.15.05.tar.bz2
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${NASM_REPO} | tar xj && \
cd nasm-2.15.05 && \
./autogen.sh && \
./configure --prefix=/usr/local --libdir=/usr/local/lib64 && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install
-RUN yum install -y git make autoconf diffutils
+RUN yum install -y git make autoconf diffutils && yum clean all
# build libvpx
ARG LIBVPX_REPO=https://chromium.googlesource.com/webm/libvpx.git
@@ -128,11 +134,11 @@ RUN cd /opt/build && \
git clone ${LIBVPX_REPO} -b v1.12.0 --depth 1 && \
cd libvpx && \
./configure --prefix=/usr/local --libdir=/usr/local/lib64 --enable-shared --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=nasm && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
-RUN yum install -y git make
+RUN yum install -y git make && yum clean all
# build libaom
ARG LIBAOM_REPO=https://aomedia.googlesource.com/aom
@@ -140,14 +146,15 @@ RUN cd /opt/build && \
git clone ${LIBAOM_REPO} -b v3.4.0 --depth 1 && \
cd aom/build && \
cmake -DBUILD_SHARED_LIBS=ON -DENABLE_NASM=ON -DENABLE_TESTS=OFF -DENABLE_DOCS=OFF -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_INSTALL_LIBDIR=lib64 .. && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
-RUN yum install -y meson wget tar gcc-c++
+RUN yum install -y meson wget tar gcc-c++ && yum clean all
# build dav1d
ARG DAV1D_REPO=https://code.videolan.org/videolan/dav1d/-/archive/0.9.2/dav1d-0.9.2.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${DAV1D_REPO} | tar xz
RUN cd /opt/build/dav1d-0.9.2 && \
@@ -156,12 +163,13 @@ RUN cd /opt/build/dav1d-0.9.2 && \
ninja install && \
DESTDIR=/opt/dist ninja install
-RUN yum install -y wget tar gcc-c++ make
+RUN yum install -y wget tar gcc-c++ make && yum clean all
# build yasm
# ARG YASM_REPO=https://www.tortall.net/projects/yasm/releases/yasm-YASM_VER.tar.gz
# At the time of 21.6 Release, yasm official site above had certificate problem, hence pulling from Dockerfiles-Resources.
ARG YASM_REPO=https://github.com/OpenVisualCloud/Dockerfiles-Resources/raw/master/yasm-1.3.0.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${YASM_REPO} | tar xz
@@ -169,10 +177,10 @@ RUN cd /opt/build/yasm-1.3.0 && \
# TODO remove the line below whether no other component inside this project requires it.
# `sed -i "s/) ytasm.*/)/" Makefile.in' && \
./configure --prefix=/usr/local --libdir=/usr/local/lib64 && \
- make -j $(nproc) && \
+ make -j "$(nproc)" && \
make install
-RUN yum install -y wget tar gcc-c++ make git
+RUN yum install -y wget tar gcc-c++ make git && yum clean all
# build svt-hevc
ARG SVT_HEVC_REPO=https://github.com/OpenVisualCloud/SVT-HEVC
@@ -180,25 +188,26 @@ RUN cd /opt/build && \
git clone -b v1.5.1 --depth 1 ${SVT_HEVC_REPO}
RUN cd /opt/build/SVT-HEVC/Build/linux && \
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_INSTALL_LIBDIR=/usr/local/lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \
- make -j $(nproc) && \
+ make -j "$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
-RUN yum install -y wget tar gcc-c++ make git
+RUN yum install -y wget tar gcc-c++ make git && yum clean all
# build svt av1
ARG SVT_AV1_REPO=https://gitlab.com/AOMediaCodec/SVT-AV1/-/archive/v1.3.0/SVT-AV1-v1.3.0.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${SVT_AV1_REPO} | tar zx && \
mv SVT-AV1-v1.3.0 SVT-AV1 && \
cd SVT-AV1/Build/linux && \
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_INSTALL_LIBDIR=/usr/local/lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \
- make -j $(nproc) && \
+ make -j "$(nproc)" && \
sed -i "s/SvtAv1dec/SvtAv1Dec/" SvtAv1Dec.pc && \
make install DESTDIR=/opt/dist && \
make install
-RUN yum install -y wget tar gcc-c++ make git devtoolset-9
+RUN yum install -y wget tar gcc-c++ make git devtoolset-9 && yum clean all
# build svt vp9
ARG SVT_VP9_REPO=https://github.com/OpenVisualCloud/SVT-VP9
@@ -206,50 +215,54 @@ RUN cd /opt/build && \
git clone ${SVT_VP9_REPO} -b v0.3.0 --depth 1 && \
cd SVT-VP9/Build/linux && \
(. /opt/rh/devtoolset-9/enable && cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_INSTALL_LIBDIR=/usr/local/lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \
- make -j $(nproc) ) && \
+ make -j "$(nproc)" ) && \
make install DESTDIR=/opt/dist && \
make install
-RUN yum install -y gcc-c++ make wget
+RUN yum install -y gcc-c++ make wget && yum clean all
# build gmmlib
ARG GMMLIB_REPO=https://github.com/intel/gmmlib/archive/refs/tags/intel-gmmlib-22.3.0.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${GMMLIB_REPO} | tar xz
RUN cd /opt/build/gmmlib-intel-gmmlib-22.3.0 && mkdir build && cd build && \
cmake -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_INSTALL_LIBDIR=/usr/local/lib64 .. && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
-RUN yum install -y automake gcc libdrm-devel libtool make pkg-config wget which libX11-devel libXfixes-devel libXext-devel wayland-devel
+RUN yum install -y automake gcc libdrm-devel libtool make pkg-config wget which libX11-devel libXfixes-devel libXext-devel wayland-devel && yum clean all
# build libva2
ARG LIBVA2_REPO=https://github.com/intel/libva/archive/refs/tags/2.16.0.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${LIBVA2_REPO} | tar xz
RUN cd /opt/build/libva-2.16.0 && \
./autogen.sh --prefix=/usr/local --libdir=/usr/local/lib64 && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
-RUN yum install -y gcc-c++ libpciaccess-devel make pkg-config wget devtoolset-9
+RUN yum install -y gcc-c++ libpciaccess-devel make pkg-config wget devtoolset-9 && yum clean all
# build media driver
ARG MEDIA_DRIVER_REPO=https://github.com/intel/media-driver/archive/refs/tags/intel-media-22.5.4.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${MEDIA_DRIVER_REPO} | tar xz
RUN cd /opt/build/media-driver-intel-media-22.5.4 && mkdir build && cd build && \
(. /opt/rh/devtoolset-9/enable && cmake -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_INSTALL_LIBDIR=/usr/local/lib64 -DENABLE_PRODUCTION_KMD=ON .. && \
- make -j$(nproc) ) && \
+ make -j"$(nproc)" ) && \
make install DESTDIR=/opt/dist && \
make install
-RUN yum install -y gcc gcc-c++ make pkg-config wget devtoolset-9
+RUN yum install -y gcc gcc-c++ make pkg-config wget devtoolset-9 && yum clean all
# build media sdk
ARG MSDK_REPO=https://github.com/Intel-Media-SDK/MediaSDK/archive/intel-mediasdk-22.5.4.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${MSDK_REPO} | tar xz
RUN cd /opt/build/MediaSDK-intel-mediasdk-22.5.4 && \
@@ -260,11 +273,11 @@ RUN cd /opt/build/MediaSDK-intel-mediasdk-22.5.4 && \
-DBUILD_SAMPLES=no \
-DBUILD_TUTORIALS=OFF \
.. && \
- make -j$(nproc)) && \
+ make -j"$(nproc)") && \
make install DESTDIR=/opt/dist && \
make install
-RUN yum install -y wget patch git libv4l-devel libass-devel freetype-devel
+RUN yum install -y wget patch git libv4l-devel libass-devel freetype-devel && yum clean all
# build ffmpeg
#ARG FFMPEG_REPO=https://github.com/FFmpeg/FFmpeg/archive/FFMPEG_VER.tar.gz
@@ -279,6 +292,7 @@ RUN cd /opt/build/FFmpeg && \
patch -p1 < /opt/build/SVT-HEVC/ffmpeg_plugin/n4.4-0001-lavc-svt_hevc-add-libsvt-hevc-encoder-wrapper.patch || true
#ifdef(`BUILD_LIBVA2',`FFMPEG_PATCH_VAAPI(BUILD_HOME/FFmpeg-FFMPEG_VER)')dnl
ARG FFMPEG_PATCH_VAAPI_REPO=https://github.com/OpenVisualCloud/Dockerfiles-Resources/raw/master/ffmpeg-patch-0041-lavc-vaapi_encode_h265-fix-max_transform_hierarchy_d.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${FFMPEG_PATCH_VAAPI_REPO} | tar xz && \
cd /opt/build/FFmpeg && \
@@ -291,7 +305,7 @@ RUN cd /opt/build && \
RUN cd /opt/build/FFmpeg && \
./configure --prefix=/usr/local --libdir=/usr/local/lib64 --enable-shared --disable-static --disable-doc --disable-htmlpages \
--disable-manpages --disable-podpages --disable-txtpages \
- --extra-cflags=-w --enable-nonfree --enable-libass --enable-libfreetype --disable-xlib --disable-sdl2 --enable-libmfx --enable-vaapi --enable-libv4l2 --enable-indev=v4l2 --enable-libfdk-aac --enable-libopus --enable-libvpx --enable-libvorbis --enable-libsvtav1 --enable-libsvthevc --enable-libaom --enable-libdav1d && make -j$(nproc) && \
+ --extra-cflags=-w --enable-nonfree --enable-libass --enable-libfreetype --disable-xlib --disable-sdl2 --enable-libmfx --enable-vaapi --enable-libv4l2 --enable-indev=v4l2 --enable-libfdk-aac --enable-libopus --enable-libvpx --enable-libvorbis --enable-libsvtav1 --enable-libsvthevc --enable-libaom --enable-libdav1d && make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -301,6 +315,7 @@ RUN rm -rf /opt/dist/usr/local/include && \
find /opt/dist -name "*.a" -exec rm -f {} \; || echo ""
RUN rm -rf /opt/dist/usr/local/share/doc /opt/dist/usr/local/share/gtk-doc
RUN rm -rf /opt/dist/usr/local/share/man
+HEALTHCHECK CMD echo "This is a healthcheck test." || exit 1
FROM centos:7
LABEL Description="This is the image for FFMPEG and Gstreamer application for media development on centos 7"
@@ -311,7 +326,7 @@ RUN yum install -y -q epel-release && rm -rf /var/yum/cache/*
# Install
-RUN yum install -y bash libdrm libX11 libXfixes libXext libwayland-client libv4l libass
+RUN yum install -y bash libdrm libX11 libXfixes libXext libwayland-client libv4l libass && yum clean all
COPY --from=build /opt/dist /
RUN echo "/usr/local/lib64" >> /etc/ld.so.conf.d/all-libs.conf && ldconfig
@@ -319,3 +334,22 @@ RUN echo "/usr/local/lib64" >> /etc/ld.so.conf.d/all-libs.conf && ldconfig
ENV LIBVA_DRIVERS_PATH=/usr/local/lib64/dri
ENV LIBVA_DRIVER_NAME=iHD
ENV DISPLAY=:0.0
+
+RUN yum update -y && \
+ yum install -y wget python3-pip gcc-c++ git && \
+ pip3 install --no-cache-dir meson ninja && \
+ wget https://github.com/GNOME/glib/archive/refs/tags/2.68.0.tar.gz && \
+ tar -zxf 2.68.0.tar.gz && \
+ cd glib-2.68.0 && \
+ rm -rf build && \
+ meson build --prefix=/usr --libdir=/usr/lib64 && \
+ ninja -C build && \
+ ninja -C build install && \
+ cd /home && \
+ rm -rf 2.68.0.tar.gz glib-2.68.0 && \
+ pip3 uninstall -y meson ninja && \
+ yum remove -y wget python3-pip gcc-c++ git && \
+ yum autoremove -y && \
+ rm -rf /var/yum/cache/* && \
+ rpm -e --nodeps python-libs python openssl-libs nss-tools nss-sysinit nss glib2
+HEALTHCHECK CMD echo "This is a healthcheck test." || exit 1
\ No newline at end of file
diff --git a/SG1/centos-7/media/dev/Dockerfile.m4 b/SG1/centos-7/media/dev/Dockerfile.m4
index 0dfa5f6f3..bc19f42ef 100644
--- a/SG1/centos-7/media/dev/Dockerfile.m4
+++ b/SG1/centos-7/media/dev/Dockerfile.m4
@@ -36,3 +36,6 @@ INSTALL_CENTOS_REPO(epel-release)
# Install
INSTALL_ALL(devel,build)dnl
+
+UPDATE_CENTOS_REPO()
+HEALTHCHECK CMD echo "This is a healthcheck test." || exit 1
\ No newline at end of file
diff --git a/SG1/centos-7/media/dev/README.md b/SG1/centos-7/media/dev/README.md
index 7cd230b50..65d02bc22 100644
--- a/SG1/centos-7/media/dev/README.md
+++ b/SG1/centos-7/media/dev/README.md
@@ -1,7 +1,7 @@
This docker image is part of Open Visual Cloud software stacks. This is development image aim towards enabling C++ application compilation, debugging (with the debugging, profiling tools) and optimization (with the optimization tools.) You can compile C++ applications with this image and then copy the applications to the corresponding deployment image. Included what are in FFmpeg or GStreamer media creation and delivery images . Also included Intel hardware accelaration software stack such as media SDK, media driver, gmmlib and libva. The docker image can be used in the FROM field of a downstream Dockerfile.
## Supported tags and respective Dockerfile links
- - [sg1-centos-7-media-dev](https://github.com/OpenVisualCloud/Dockerfiles/blob/v22.3/SG1/centos-7/media/dev/Dockerfile)
+ - [sg1-centos-7-media-dev](https://github.com/OpenVisualCloud/Dockerfiles/blob/v23.06/SG1/centos-7/media/dev/Dockerfile)
## Quick reference
- #### Supported platform and OS
@@ -27,7 +27,6 @@ This docker installs third party components licensed under various open source l
|CentOS| [Various](https://hub.docker.com/_/centos) |
|libogg|BSD 3-clause "New" or "Revised" License|
|libvorbis|BSD 3-clause "New" or "Revised" License|
-|OpenSSL|Apache License 2.0|
|Opus Interactive Audio Codec|BSD 3-clause "New" or "Revised" License|
|libvpx|BSD 3-clause "New" or "Revised" License|
|Aomedia AV1 Codec Library|BSD 2-clause "Simplified" License|
diff --git a/SG1/centos-7/media/ffmpeg/Dockerfile b/SG1/centos-7/media/ffmpeg/Dockerfile
index f6641c96a..bbaafdab4 100644
--- a/SG1/centos-7/media/ffmpeg/Dockerfile
+++ b/SG1/centos-7/media/ffmpeg/Dockerfile
@@ -42,85 +42,91 @@ RUN mkdir -p /opt/build && mkdir -p /opt/dist
ENV PKG_CONFIG_PATH=/usr/local/lib64/pkgconfig
-RUN yum install -y wget gcc-c++ make libcurl-devel zlib-devel
+RUN yum install -y wget gcc-c++ make libcurl-devel zlib-devel && yum clean all
# build cmake
ARG CMAKE_REPO=https://cmake.org/files
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${CMAKE_REPO}/v3.23/cmake-3.23.3.tar.gz | tar xz && \
cd cmake-3.23.3 && \
./bootstrap --prefix=/usr/local --system-curl && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install
-RUN yum install -y wget make autoconf diffutils automake gcc-c++
+RUN yum install -y wget make autoconf diffutils automake gcc-c++ && yum clean all
# build libogg
ARG OGG_VER=1.3.5
ARG LIBOGG_REPO=https://github.com/xiph/ogg/releases/download/v${OGG_VER}/libogg-1.3.5.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${LIBOGG_REPO} | tar xz && \
cd libogg-1.3.5 && \
./configure --prefix=/usr/local --libdir=/usr/local/lib64 --enable-shared && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
-RUN yum install -y wget make autoconf diffutils automake
+RUN yum install -y wget make autoconf diffutils automake && yum clean all
# build libvorbis
ARG VORBIS_VER=1.3.7
ARG LIBVORBIS_REPO=https://github.com/xiph/vorbis/releases/download/v${VORBIS_VER}/libvorbis-1.3.7.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${LIBVORBIS_REPO} | tar xz && \
cd libvorbis-1.3.7 && \
./configure --prefix=/usr/local --libdir=/usr/local/lib64 --enable-shared && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
-RUN yum install -y wget gcc-c++ autoconf libtool make automake
+RUN yum install -y wget gcc-c++ autoconf libtool make automake && yum clean all
# build libfdkaac
ARG LIBFDKAAC_REPO=https://github.com/mstorsjo/fdk-aac/archive/v2.0.2.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${LIBFDKAAC_REPO} | tar xz && \
cd fdk-aac-2.0.2 && \
./autogen.sh && \
./configure --prefix=/usr/local --libdir=/usr/local/lib64 --enable-shared && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
-RUN yum install -y wget autoconf libtool make
+RUN yum install -y wget autoconf libtool make && yum clean all
# build libopus
ARG LIBOPUS_REPO=https://archive.mozilla.org/pub/opus/opus-1.3.1.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${LIBOPUS_REPO} | tar xz && \
cd opus-1.3.1 && \
./configure --prefix=/usr/local --libdir=/usr/local/lib64 --enable-shared && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
-RUN yum install -y ca-certificates wget tar gcc-c++ make bzip2
+RUN yum install -y ca-certificates wget tar gcc-c++ make bzip2 && yum clean all
# build nasm
#ARG NASM_REPO=https://www.nasm.us/pub/nasm/releasebuilds/NASM_VER/nasm-NASM_VER.tar.bz2
# TODO: Revert to NASM repo, this is temp fix is nasm repo certificate expired temporarily
ARG NASM_REPO=https://github.com/OpenVisualCloud/Dockerfiles-Resources/raw/master/nasm-2.15.05.tar.bz2
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${NASM_REPO} | tar xj && \
cd nasm-2.15.05 && \
./autogen.sh && \
./configure --prefix=/usr/local --libdir=/usr/local/lib64 && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install
-RUN yum install -y git make autoconf diffutils
+RUN yum install -y git make autoconf diffutils && yum clean all
# build libvpx
ARG LIBVPX_REPO=https://chromium.googlesource.com/webm/libvpx.git
@@ -128,11 +134,11 @@ RUN cd /opt/build && \
git clone ${LIBVPX_REPO} -b v1.12.0 --depth 1 && \
cd libvpx && \
./configure --prefix=/usr/local --libdir=/usr/local/lib64 --enable-shared --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=nasm && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
-RUN yum install -y git make autoconf diffutils
+RUN yum install -y git make autoconf diffutils && yum clean all
# build libx264
ARG LIBX264_REPO=https://github.com/mirror/x264
@@ -141,16 +147,17 @@ RUN cd /opt/build && \
cd x264 && \
./configure --prefix=/usr/local --libdir=/usr/local/lib64 \
--enable-shared && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
-RUN yum install -y wget tar gcc-c++ make
+RUN yum install -y wget tar gcc-c++ make && yum clean all
# build yasm
# ARG YASM_REPO=https://www.tortall.net/projects/yasm/releases/yasm-YASM_VER.tar.gz
# At the time of 21.6 Release, yasm official site above had certificate problem, hence pulling from Dockerfiles-Resources.
ARG YASM_REPO=https://github.com/OpenVisualCloud/Dockerfiles-Resources/raw/master/yasm-1.3.0.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${YASM_REPO} | tar xz
@@ -158,25 +165,27 @@ RUN cd /opt/build/yasm-1.3.0 && \
# TODO remove the line below whether no other component inside this project requires it.
# `sed -i "s/) ytasm.*/)/" Makefile.in' && \
./configure --prefix=/usr/local --libdir=/usr/local/lib64 && \
- make -j $(nproc) && \
+ make -j "$(nproc)" && \
make install
-RUN yum install -y make numactl-devel libpciaccess-devel
+RUN yum install -y make numactl-devel libpciaccess-devel && yum clean all
# build libx265
ARG LIBX265_REPO=https://github.com/videolan/x265/archive/3.4.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${LIBX265_REPO} | tar xz && \
cd x265-3.4/build/linux && \
cmake -DBUILD_SHARED_LIBS=ON -DCMAKE_INSTALL_PREFIX=/usr/local -DLIB_INSTALL_DIR=/usr/local/lib64 ../../source && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
-RUN yum install -y meson wget tar gcc-c++
+RUN yum install -y meson wget tar gcc-c++ && yum clean all
# build dav1d
ARG DAV1D_REPO=https://code.videolan.org/videolan/dav1d/-/archive/0.9.2/dav1d-0.9.2.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${DAV1D_REPO} | tar xz
RUN cd /opt/build/dav1d-0.9.2 && \
@@ -185,7 +194,7 @@ RUN cd /opt/build/dav1d-0.9.2 && \
ninja install && \
DESTDIR=/opt/dist ninja install
-RUN yum install -y wget tar gcc-c++ make git
+RUN yum install -y wget tar gcc-c++ make git && yum clean all
# build svt-hevc
ARG SVT_HEVC_REPO=https://github.com/OpenVisualCloud/SVT-HEVC
@@ -193,25 +202,26 @@ RUN cd /opt/build && \
git clone -b v1.5.1 --depth 1 ${SVT_HEVC_REPO}
RUN cd /opt/build/SVT-HEVC/Build/linux && \
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_INSTALL_LIBDIR=/usr/local/lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \
- make -j $(nproc) && \
+ make -j "$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
-RUN yum install -y wget tar gcc-c++ make git
+RUN yum install -y wget tar gcc-c++ make git && yum clean all
# build svt av1
ARG SVT_AV1_REPO=https://gitlab.com/AOMediaCodec/SVT-AV1/-/archive/v1.3.0/SVT-AV1-v1.3.0.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${SVT_AV1_REPO} | tar zx && \
mv SVT-AV1-v1.3.0 SVT-AV1 && \
cd SVT-AV1/Build/linux && \
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_INSTALL_LIBDIR=/usr/local/lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \
- make -j $(nproc) && \
+ make -j "$(nproc)" && \
sed -i "s/SvtAv1dec/SvtAv1Dec/" SvtAv1Dec.pc && \
make install DESTDIR=/opt/dist && \
make install
-RUN yum install -y wget tar gcc-c++ make git devtoolset-9
+RUN yum install -y wget tar gcc-c++ make git devtoolset-9 && yum clean all
# build svt vp9
ARG SVT_VP9_REPO=https://github.com/OpenVisualCloud/SVT-VP9
@@ -219,50 +229,54 @@ RUN cd /opt/build && \
git clone ${SVT_VP9_REPO} -b v0.3.0 --depth 1 && \
cd SVT-VP9/Build/linux && \
(. /opt/rh/devtoolset-9/enable && cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_INSTALL_LIBDIR=/usr/local/lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \
- make -j $(nproc) ) && \
+ make -j "$(nproc)" ) && \
make install DESTDIR=/opt/dist && \
make install
-RUN yum install -y gcc-c++ make wget
+RUN yum install -y gcc-c++ make wget && yum clean all
# build gmmlib
ARG GMMLIB_REPO=https://github.com/intel/gmmlib/archive/refs/tags/intel-gmmlib-22.3.0.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${GMMLIB_REPO} | tar xz
RUN cd /opt/build/gmmlib-intel-gmmlib-22.3.0 && mkdir build && cd build && \
cmake -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_INSTALL_LIBDIR=/usr/local/lib64 .. && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
-RUN yum install -y automake gcc libdrm-devel libtool make pkg-config wget which libX11-devel libXfixes-devel libXext-devel wayland-devel
+RUN yum install -y automake gcc libdrm-devel libtool make pkg-config wget which libX11-devel libXfixes-devel libXext-devel wayland-devel && yum clean all
# build libva2
ARG LIBVA2_REPO=https://github.com/intel/libva/archive/refs/tags/2.16.0.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${LIBVA2_REPO} | tar xz
RUN cd /opt/build/libva-2.16.0 && \
./autogen.sh --prefix=/usr/local --libdir=/usr/local/lib64 && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
-RUN yum install -y gcc-c++ libpciaccess-devel make pkg-config wget devtoolset-9
+RUN yum install -y gcc-c++ libpciaccess-devel make pkg-config wget devtoolset-9 && yum clean all
# build media driver
ARG MEDIA_DRIVER_REPO=https://github.com/intel/media-driver/archive/refs/tags/intel-media-22.5.4.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${MEDIA_DRIVER_REPO} | tar xz
RUN cd /opt/build/media-driver-intel-media-22.5.4 && mkdir build && cd build && \
(. /opt/rh/devtoolset-9/enable && cmake -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_INSTALL_LIBDIR=/usr/local/lib64 -DENABLE_PRODUCTION_KMD=ON .. && \
- make -j$(nproc) ) && \
+ make -j"$(nproc)" ) && \
make install DESTDIR=/opt/dist && \
make install
-RUN yum install -y gcc gcc-c++ make pkg-config wget devtoolset-9
+RUN yum install -y gcc gcc-c++ make pkg-config wget devtoolset-9 && yum clean all
# build media sdk
ARG MSDK_REPO=https://github.com/Intel-Media-SDK/MediaSDK/archive/intel-mediasdk-22.5.4.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${MSDK_REPO} | tar xz
RUN cd /opt/build/MediaSDK-intel-mediasdk-22.5.4 && \
@@ -273,14 +287,15 @@ RUN cd /opt/build/MediaSDK-intel-mediasdk-22.5.4 && \
-DBUILD_SAMPLES=no \
-DBUILD_TUTORIALS=OFF \
.. && \
- make -j$(nproc)) && \
+ make -j"$(nproc)") && \
make install DESTDIR=/opt/dist && \
make install
-RUN yum install -y gcc gcc-c++ make wget python36-numpy ccache eigen3-devel devtoolset-9
+RUN yum install -y gcc gcc-c++ make wget python36-numpy ccache eigen3-devel devtoolset-9 && yum clean all
# build opencv
ARG OPENCV_REPO=https://github.com/opencv/opencv/archive/4.5.3-openvino-2021.4.2.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${OPENCV_REPO} | tar xz
# TODO: file a bug against opencv since they do not accept full libdir
@@ -298,11 +313,11 @@ RUN cd /opt/build/opencv-4.5.3-openvino-2021.4.2 && mkdir build && cd build && \
-DWITH_OPENJPEG=OFF \
-DWITH_JASPER=OFF \
.. && \
- make -j $(nproc) && \
+ make -j "$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install )
-RUN yum install -y wget patch git libv4l-devel libass-devel freetype-devel
+RUN yum install -y wget patch git libv4l-devel libass-devel freetype-devel && yum clean all
# build ffmpeg
#ARG FFMPEG_REPO=https://github.com/FFmpeg/FFmpeg/archive/FFMPEG_VER.tar.gz
@@ -317,6 +332,7 @@ RUN cd /opt/build/FFmpeg && \
patch -p1 < /opt/build/SVT-HEVC/ffmpeg_plugin/n4.4-0001-lavc-svt_hevc-add-libsvt-hevc-encoder-wrapper.patch || true
#ifdef(`BUILD_LIBVA2',`FFMPEG_PATCH_VAAPI(BUILD_HOME/FFmpeg-FFMPEG_VER)')dnl
ARG FFMPEG_PATCH_VAAPI_REPO=https://github.com/OpenVisualCloud/Dockerfiles-Resources/raw/master/ffmpeg-patch-0041-lavc-vaapi_encode_h265-fix-max_transform_hierarchy_d.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${FFMPEG_PATCH_VAAPI_REPO} | tar xz && \
cd /opt/build/FFmpeg && \
@@ -329,7 +345,7 @@ RUN cd /opt/build && \
RUN cd /opt/build/FFmpeg && \
./configure --prefix=/usr/local --libdir=/usr/local/lib64 --enable-shared --disable-static --disable-doc --disable-htmlpages \
--disable-manpages --disable-podpages --disable-txtpages \
- --extra-cflags=-w --enable-nonfree --enable-libass --enable-libfreetype --disable-xlib --disable-sdl2 --enable-libmfx --enable-vaapi --enable-libv4l2 --enable-indev=v4l2 --enable-libfdk-aac --enable-libopus --enable-libvpx --enable-libvorbis --enable-gpl --enable-libx264 --enable-gpl --enable-libx265 --enable-libsvtav1 --enable-libsvthevc --enable-libdav1d && make -j$(nproc) && \
+ --extra-cflags=-w --enable-nonfree --enable-libass --enable-libfreetype --disable-xlib --disable-sdl2 --enable-libmfx --enable-vaapi --enable-libv4l2 --enable-indev=v4l2 --enable-libfdk-aac --enable-libopus --enable-libvpx --enable-libvorbis --enable-gpl --enable-libx264 --enable-gpl --enable-libx265 --enable-libsvtav1 --enable-libsvthevc --enable-libdav1d && make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -341,6 +357,7 @@ RUN rm -rf /opt/dist/usr/local/include && \
find /opt/dist -name "*.a" -exec rm -f {} \; || echo ""
RUN rm -rf /opt/dist/usr/local/share/doc /opt/dist/usr/local/share/gtk-doc
RUN rm -rf /opt/dist/usr/local/share/man
+HEALTHCHECK CMD echo "This is a healthcheck test." || exit 1
FROM centos:7
LABEL Description="This is the base image for FFMPEG centos 7"
@@ -351,7 +368,7 @@ RUN yum install -y -q epel-release && rm -rf /var/yum/cache/*
# Install
-RUN yum install -y numactl-libs libpciaccess libdrm libX11 libXfixes libXext libwayland-client libv4l libass
+RUN yum install -y numactl-libs libpciaccess libdrm libX11 libXfixes libXext libwayland-client libv4l libass && yum clean all
COPY --from=build /opt/dist /
RUN echo "/usr/local/lib64" >> /etc/ld.so.conf.d/all-libs.conf && ldconfig
@@ -361,3 +378,21 @@ ENV LIBVA_DRIVER_NAME=iHD
ENV DISPLAY=:0.0
+RUN yum update -y && \
+ yum install -y wget python3-pip gcc-c++ git && \
+ pip3 install --no-cache-dir meson ninja && \
+ wget https://github.com/GNOME/glib/archive/refs/tags/2.68.0.tar.gz && \
+ tar -zxf 2.68.0.tar.gz && \
+ cd glib-2.68.0 && \
+ rm -rf build && \
+ meson build --prefix=/usr --libdir=/usr/lib64 && \
+ ninja -C build && \
+ ninja -C build install && \
+ cd /home && \
+ rm -rf 2.68.0.tar.gz glib-2.68.0 && \
+ pip3 uninstall -y meson ninja && \
+ yum remove -y wget python3-pip gcc-c++ git && \
+ yum autoremove -y && \
+ rm -rf /var/yum/cache/* && \
+ rpm -e --nodeps python-libs python openssl-libs nss-tools nss-sysinit nss glib2
+HEALTHCHECK CMD echo "This is a healthcheck test." || exit 1
\ No newline at end of file
diff --git a/SG1/centos-7/media/ffmpeg/Dockerfile.m4 b/SG1/centos-7/media/ffmpeg/Dockerfile.m4
index 677726fc8..4500d1943 100644
--- a/SG1/centos-7/media/ffmpeg/Dockerfile.m4
+++ b/SG1/centos-7/media/ffmpeg/Dockerfile.m4
@@ -39,3 +39,5 @@ INSTALL_CENTOS_REPO(epel-release)
# Install
INSTALL_ALL(runtime,build)
+UPDATE_CENTOS_REPO()
+HEALTHCHECK CMD echo "This is a healthcheck test." || exit 1
\ No newline at end of file
diff --git a/SG1/centos-7/media/ffmpeg/README.md b/SG1/centos-7/media/ffmpeg/README.md
index ad76c7216..3faae04b0 100644
--- a/SG1/centos-7/media/ffmpeg/README.md
+++ b/SG1/centos-7/media/ffmpeg/README.md
@@ -1,7 +1,7 @@
This docker image is part of Open Visual Cloud software stacks. Optimized for the media creation and delivery use case. Included FFmpeg and codecs such as opus, ogg, vorbis, x264, x265, vp8/9, av1 and SVT-HEVC. Also included Intel hardware accelaration software stack such as media SDK, media driver, gmmlib and libva. The docker image can be used in the FROM field of a downstream Dockerfile.
## Supported tags and respective Dockerfile links
- - [sg1-centos-7-media-ffmpeg](https://github.com/OpenVisualCloud/Dockerfiles/blob/v22.3/SG1/centos-7/media/ffmpeg/Dockerfile)
+ - [sg1-centos-7-media-ffmpeg](https://github.com/OpenVisualCloud/Dockerfiles/blob/v23.06/SG1/centos-7/media/ffmpeg/Dockerfile)
## Quick reference
- #### Supported platform and OS
@@ -40,7 +40,7 @@ This docker installs third party components licensed under various open source l
|Intel media driver | MIT License|
|Intel media SDK|MIT License|
|OpenCV|BSD 3-clause "New" or "Revised" License|
-|FFmpeg|GNU General Public License v2.0 or later|
+|FFmpeg|GNU Lesser General Public License v2.1 or later|
More license information can be found in [components source package](https://github.com/OpenVisualCloud/Dockerfiles-Resources).
diff --git a/SG1/ubuntu-20.04/media/dev/Dockerfile b/SG1/ubuntu-20.04/media/dev/Dockerfile
index 029fdf5cf..ff8e9474a 100644
--- a/SG1/ubuntu-20.04/media/dev/Dockerfile
+++ b/SG1/ubuntu-20.04/media/dev/Dockerfile
@@ -47,12 +47,13 @@ RUN apt-get update && \
# build libogg
ARG OGG_VER=1.3.5
ARG LIBOGG_REPO=https://github.com/xiph/ogg/releases/download/v${OGG_VER}/libogg-1.3.5.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${LIBOGG_REPO} | tar xz && \
cd libogg-1.3.5 && \
./configure --prefix=/usr/local --libdir=/usr/local/lib --enable-shared && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -64,11 +65,12 @@ RUN apt-get update && \
# build libvorbis
ARG VORBIS_VER=1.3.7
ARG LIBVORBIS_REPO=https://github.com/xiph/vorbis/releases/download/v${VORBIS_VER}/libvorbis-1.3.7.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${LIBVORBIS_REPO} | tar xz && \
cd libvorbis-1.3.7 && \
./configure --prefix=/usr/local --libdir=/usr/local/lib --enable-shared && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -79,12 +81,13 @@ RUN apt-get update && \
# build libfdkaac
ARG LIBFDKAAC_REPO=https://github.com/mstorsjo/fdk-aac/archive/v2.0.2.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${LIBFDKAAC_REPO} | tar xz && \
cd fdk-aac-2.0.2 && \
./autogen.sh && \
./configure --prefix=/usr/local --libdir=/usr/local/lib --enable-shared && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -95,11 +98,12 @@ RUN apt-get update && \
# build libopus
ARG LIBOPUS_REPO=https://archive.mozilla.org/pub/opus/opus-1.3.1.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${LIBOPUS_REPO} | tar xz && \
cd opus-1.3.1 && \
./configure --prefix=/usr/local --libdir=/usr/local/lib --enable-shared && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -113,12 +117,13 @@ RUN apt-get update && \
# TODO: Revert to NASM repo, this is temp fix is nasm repo certificate expired temporarily
ARG NASM_REPO=https://github.com/OpenVisualCloud/Dockerfiles-Resources/raw/master/nasm-2.15.05.tar.bz2
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${NASM_REPO} | tar xj && \
cd nasm-2.15.05 && \
./autogen.sh && \
./configure --prefix=/usr/local --libdir=/usr/local/lib && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install
RUN apt-get update && \
@@ -132,7 +137,7 @@ RUN cd /opt/build && \
git clone ${LIBVPX_REPO} -b v1.12.0 --depth 1 && \
cd libvpx && \
./configure --prefix=/usr/local --libdir=/usr/local/lib --enable-shared --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=nasm && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -147,7 +152,7 @@ RUN cd /opt/build && \
git clone ${LIBAOM_REPO} -b v3.4.0 --depth 1 && \
cd aom/build && \
cmake -DBUILD_SHARED_LIBS=ON -DENABLE_NASM=ON -DENABLE_TESTS=OFF -DENABLE_DOCS=OFF -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_INSTALL_LIBDIR=lib .. && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -158,6 +163,7 @@ RUN apt-get update && \
# build dav1d
ARG DAV1D_REPO=https://code.videolan.org/videolan/dav1d/-/archive/0.9.2/dav1d-0.9.2.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${DAV1D_REPO} | tar xz
RUN cd /opt/build/dav1d-0.9.2 && \
@@ -175,6 +181,7 @@ RUN apt-get update && \
# ARG YASM_REPO=https://www.tortall.net/projects/yasm/releases/yasm-YASM_VER.tar.gz
# At the time of 21.6 Release, yasm official site above had certificate problem, hence pulling from Dockerfiles-Resources.
ARG YASM_REPO=https://github.com/OpenVisualCloud/Dockerfiles-Resources/raw/master/yasm-1.3.0.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${YASM_REPO} | tar xz
@@ -182,7 +189,7 @@ RUN cd /opt/build/yasm-1.3.0 && \
# TODO remove the line below whether no other component inside this project requires it.
# `sed -i "s/) ytasm.*/)/" Makefile.in' && \
./configure --prefix=/usr/local --libdir=/usr/local/lib && \
- make -j $(nproc) && \
+ make -j "$(nproc)" && \
make install
RUN apt-get update && \
@@ -196,7 +203,7 @@ RUN cd /opt/build && \
git clone -b v1.5.1 --depth 1 ${SVT_HEVC_REPO}
RUN cd /opt/build/SVT-HEVC/Build/linux && \
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_INSTALL_LIBDIR=/usr/local/lib -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \
- make -j $(nproc) && \
+ make -j "$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -207,12 +214,13 @@ RUN apt-get update && \
# build svt av1
ARG SVT_AV1_REPO=https://gitlab.com/AOMediaCodec/SVT-AV1/-/archive/v1.3.0/SVT-AV1-v1.3.0.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${SVT_AV1_REPO} | tar zx && \
mv SVT-AV1-v1.3.0 SVT-AV1 && \
cd SVT-AV1/Build/linux && \
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_INSTALL_LIBDIR=/usr/local/lib -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \
- make -j $(nproc) && \
+ make -j "$(nproc)" && \
sed -i "s/SvtAv1dec/SvtAv1Dec/" SvtAv1Dec.pc && \
make install DESTDIR=/opt/dist && \
make install
@@ -228,7 +236,7 @@ RUN cd /opt/build && \
git clone ${SVT_VP9_REPO} -b v0.3.0 --depth 1 && \
cd SVT-VP9/Build/linux && \
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_INSTALL_LIBDIR=/usr/local/lib -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \
- make -j $(nproc) && \
+ make -j "$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -239,11 +247,12 @@ RUN apt-get update && \
# build gmmlib
ARG GMMLIB_REPO=https://github.com/intel/gmmlib/archive/refs/tags/intel-gmmlib-22.3.0.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${GMMLIB_REPO} | tar xz
RUN cd /opt/build/gmmlib-intel-gmmlib-22.3.0 && mkdir build && cd build && \
cmake -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_INSTALL_LIBDIR=/usr/local/lib .. && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -254,11 +263,12 @@ RUN apt-get update && \
# build libva2
ARG LIBVA2_REPO=https://github.com/intel/libva/archive/refs/tags/2.16.0.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${LIBVA2_REPO} | tar xz
RUN cd /opt/build/libva-2.16.0 && \
./autogen.sh --prefix=/usr/local --libdir=/usr/local/lib && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -269,11 +279,12 @@ RUN apt-get update && \
# build media driver
ARG MEDIA_DRIVER_REPO=https://github.com/intel/media-driver/archive/refs/tags/intel-media-22.5.4.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${MEDIA_DRIVER_REPO} | tar xz
RUN cd /opt/build/media-driver-intel-media-22.5.4 && mkdir build && cd build && \
cmake -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_INSTALL_LIBDIR=/usr/local/lib -DENABLE_PRODUCTION_KMD=ON .. && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -284,6 +295,7 @@ RUN apt-get update && \
# build media sdk
ARG MSDK_REPO=https://github.com/Intel-Media-SDK/MediaSDK/archive/intel-mediasdk-22.5.4.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${MSDK_REPO} | tar xz
RUN cd /opt/build/MediaSDK-intel-mediasdk-22.5.4 && \
@@ -294,7 +306,7 @@ RUN cd /opt/build/MediaSDK-intel-mediasdk-22.5.4 && \
-DBUILD_SAMPLES=no \
-DBUILD_TUTORIALS=OFF \
.. && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -316,6 +328,7 @@ RUN cd /opt/build/FFmpeg && \
patch -p1 < /opt/build/SVT-HEVC/ffmpeg_plugin/n4.4-0001-lavc-svt_hevc-add-libsvt-hevc-encoder-wrapper.patch || true
#ifdef(`BUILD_LIBVA2',`FFMPEG_PATCH_VAAPI(BUILD_HOME/FFmpeg-FFMPEG_VER)')dnl
ARG FFMPEG_PATCH_VAAPI_REPO=https://github.com/OpenVisualCloud/Dockerfiles-Resources/raw/master/ffmpeg-patch-0041-lavc-vaapi_encode_h265-fix-max_transform_hierarchy_d.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${FFMPEG_PATCH_VAAPI_REPO} | tar xz && \
cd /opt/build/FFmpeg && \
@@ -328,7 +341,7 @@ RUN cd /opt/build && \
RUN cd /opt/build/FFmpeg && \
./configure --prefix=/usr/local --libdir=/usr/local/lib --enable-shared --disable-static --disable-doc --disable-htmlpages \
--disable-manpages --disable-podpages --disable-txtpages \
- --extra-cflags=-w --enable-nonfree --enable-libass --enable-libfreetype --disable-xlib --disable-sdl2 --enable-libmfx --enable-vaapi --enable-libv4l2 --enable-indev=v4l2 --enable-libfdk-aac --enable-libopus --enable-libvpx --enable-libvorbis --enable-libsvtav1 --enable-libsvthevc --enable-libaom --enable-libdav1d && make -j$(nproc) && \
+ --extra-cflags=-w --enable-nonfree --enable-libass --enable-libfreetype --disable-xlib --disable-sdl2 --enable-libmfx --enable-vaapi --enable-libv4l2 --enable-indev=v4l2 --enable-libfdk-aac --enable-libopus --enable-libvpx --enable-libvorbis --enable-libsvtav1 --enable-libsvthevc --enable-libaom --enable-libdav1d && make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -338,6 +351,7 @@ RUN rm -rf /opt/dist/usr/local/include && \
find /opt/dist -name "*.a" -exec rm -f {} \; || echo ""
RUN rm -rf /opt/dist/usr/local/share/doc /opt/dist/usr/local/share/gtk-doc
RUN rm -rf /opt/dist/usr/local/share/man
+HEALTHCHECK CMD echo "This is a healthcheck test." || exit 1
FROM ubuntu:20.04
LABEL Description="This is the base image for Gstreamer ubuntu 20.04"
@@ -357,4 +371,4 @@ RUN echo "/usr/local/lib" >> /etc/ld.so.conf.d/all-libs.conf && ldconfig
ENV LIBVA_DRIVERS_PATH=/usr/local/lib/dri
ENV LIBVA_DRIVER_NAME=iHD
ENV DISPLAY=:0.0
-
+HEALTHCHECK CMD echo "This is a healthcheck test." || exit 1
\ No newline at end of file
diff --git a/SG1/ubuntu-20.04/media/dev/Dockerfile.m4 b/SG1/ubuntu-20.04/media/dev/Dockerfile.m4
index 3b6d8d060..3988f6593 100644
--- a/SG1/ubuntu-20.04/media/dev/Dockerfile.m4
+++ b/SG1/ubuntu-20.04/media/dev/Dockerfile.m4
@@ -32,4 +32,4 @@ WORKDIR /home
# Install
UPGRADE_UBUNTU_COMPONENTS()
INSTALL_ALL(devel,build)dnl
-
+HEALTHCHECK CMD echo "This is a healthcheck test." || exit 1
\ No newline at end of file
diff --git a/SG1/ubuntu-20.04/media/dev/README.md b/SG1/ubuntu-20.04/media/dev/README.md
index 0e0c410af..a7a2a0474 100644
--- a/SG1/ubuntu-20.04/media/dev/README.md
+++ b/SG1/ubuntu-20.04/media/dev/README.md
@@ -1,7 +1,7 @@
This docker image is part of Open Visual Cloud software stacks. This is development image aim towards enabling C++ application compilation, debugging (with the debugging, profiling tools) and optimization (with the optimization tools.) You can compile C++ applications with this image and then copy the applications to the corresponding deployment image. Included what are in FFmpeg or GStreamer media creation and delivery images . Also included Intel hardware accelaration software stack such as media SDK, media driver, gmmlib and libva. The docker image can be used in the FROM field of a downstream Dockerfile.
## Supported tags and respective Dockerfile links
- - [sg1-ubuntu-2004-media-dev](https://github.com/OpenVisualCloud/Dockerfiles/blob/v22.3/SG1/ubuntu-20.04/media/dev/Dockerfile)
+ - [sg1-ubuntu-2004-media-dev](https://github.com/OpenVisualCloud/Dockerfiles/blob/v23.06/SG1/ubuntu-20.04/media/dev/Dockerfile)
## Quick reference
- #### Supported platform and OS
@@ -27,7 +27,6 @@ This docker installs third party components licensed under various open source l
|Ubuntu| [Various](https://hub.docker.com/_/ubuntu) |
|libogg|BSD 3-clause "New" or "Revised" License|
|libvorbis|BSD 3-clause "New" or "Revised" License|
-|OpenSSL|Apache License 2.0|
|Opus Interactive Audio Codec|BSD 3-clause "New" or "Revised" License|
|libvpx|BSD 3-clause "New" or "Revised" License|
|Aomedia AV1 Codec Library|BSD 2-clause "Simplified" License|
diff --git a/SG1/ubuntu-20.04/media/ffmpeg/Dockerfile b/SG1/ubuntu-20.04/media/ffmpeg/Dockerfile
index 0a8582b71..0e9248421 100644
--- a/SG1/ubuntu-20.04/media/ffmpeg/Dockerfile
+++ b/SG1/ubuntu-20.04/media/ffmpeg/Dockerfile
@@ -47,12 +47,13 @@ RUN apt-get update && \
# build libogg
ARG OGG_VER=1.3.5
ARG LIBOGG_REPO=https://github.com/xiph/ogg/releases/download/v${OGG_VER}/libogg-1.3.5.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${LIBOGG_REPO} | tar xz && \
cd libogg-1.3.5 && \
./configure --prefix=/usr/local --libdir=/usr/local/lib --enable-shared && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -64,11 +65,12 @@ RUN apt-get update && \
# build libvorbis
ARG VORBIS_VER=1.3.7
ARG LIBVORBIS_REPO=https://github.com/xiph/vorbis/releases/download/v${VORBIS_VER}/libvorbis-1.3.7.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${LIBVORBIS_REPO} | tar xz && \
cd libvorbis-1.3.7 && \
./configure --prefix=/usr/local --libdir=/usr/local/lib --enable-shared && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -79,12 +81,13 @@ RUN apt-get update && \
# build libfdkaac
ARG LIBFDKAAC_REPO=https://github.com/mstorsjo/fdk-aac/archive/v2.0.2.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${LIBFDKAAC_REPO} | tar xz && \
cd fdk-aac-2.0.2 && \
./autogen.sh && \
./configure --prefix=/usr/local --libdir=/usr/local/lib --enable-shared && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -95,11 +98,12 @@ RUN apt-get update && \
# build libopus
ARG LIBOPUS_REPO=https://archive.mozilla.org/pub/opus/opus-1.3.1.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${LIBOPUS_REPO} | tar xz && \
cd opus-1.3.1 && \
./configure --prefix=/usr/local --libdir=/usr/local/lib --enable-shared && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -113,12 +117,13 @@ RUN apt-get update && \
# TODO: Revert to NASM repo, this is temp fix is nasm repo certificate expired temporarily
ARG NASM_REPO=https://github.com/OpenVisualCloud/Dockerfiles-Resources/raw/master/nasm-2.15.05.tar.bz2
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${NASM_REPO} | tar xj && \
cd nasm-2.15.05 && \
./autogen.sh && \
./configure --prefix=/usr/local --libdir=/usr/local/lib && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install
RUN apt-get update && \
@@ -132,7 +137,7 @@ RUN cd /opt/build && \
git clone ${LIBVPX_REPO} -b v1.12.0 --depth 1 && \
cd libvpx && \
./configure --prefix=/usr/local --libdir=/usr/local/lib --enable-shared --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=nasm && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -148,7 +153,7 @@ RUN cd /opt/build && \
cd x264 && \
./configure --prefix=/usr/local --libdir=/usr/local/lib \
--enable-shared && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -161,6 +166,7 @@ RUN apt-get update && \
# ARG YASM_REPO=https://www.tortall.net/projects/yasm/releases/yasm-YASM_VER.tar.gz
# At the time of 21.6 Release, yasm official site above had certificate problem, hence pulling from Dockerfiles-Resources.
ARG YASM_REPO=https://github.com/OpenVisualCloud/Dockerfiles-Resources/raw/master/yasm-1.3.0.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${YASM_REPO} | tar xz
@@ -168,7 +174,7 @@ RUN cd /opt/build/yasm-1.3.0 && \
# TODO remove the line below whether no other component inside this project requires it.
# `sed -i "s/) ytasm.*/)/" Makefile.in' && \
./configure --prefix=/usr/local --libdir=/usr/local/lib && \
- make -j $(nproc) && \
+ make -j "$(nproc)" && \
make install
RUN apt-get update && \
@@ -178,11 +184,12 @@ RUN apt-get update && \
# build libx265
ARG LIBX265_REPO=https://github.com/videolan/x265/archive/3.4.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${LIBX265_REPO} | tar xz && \
cd x265-3.4/build/linux && \
cmake -DBUILD_SHARED_LIBS=ON -DCMAKE_INSTALL_PREFIX=/usr/local -DLIB_INSTALL_DIR=/usr/local/lib ../../source && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -193,6 +200,7 @@ RUN apt-get update && \
# build dav1d
ARG DAV1D_REPO=https://code.videolan.org/videolan/dav1d/-/archive/0.9.2/dav1d-0.9.2.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${DAV1D_REPO} | tar xz
RUN cd /opt/build/dav1d-0.9.2 && \
@@ -212,7 +220,7 @@ RUN cd /opt/build && \
git clone -b v1.5.1 --depth 1 ${SVT_HEVC_REPO}
RUN cd /opt/build/SVT-HEVC/Build/linux && \
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_INSTALL_LIBDIR=/usr/local/lib -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \
- make -j $(nproc) && \
+ make -j "$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -223,12 +231,13 @@ RUN apt-get update && \
# build svt av1
ARG SVT_AV1_REPO=https://gitlab.com/AOMediaCodec/SVT-AV1/-/archive/v1.3.0/SVT-AV1-v1.3.0.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${SVT_AV1_REPO} | tar zx && \
mv SVT-AV1-v1.3.0 SVT-AV1 && \
cd SVT-AV1/Build/linux && \
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_INSTALL_LIBDIR=/usr/local/lib -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \
- make -j $(nproc) && \
+ make -j "$(nproc)" && \
sed -i "s/SvtAv1dec/SvtAv1Dec/" SvtAv1Dec.pc && \
make install DESTDIR=/opt/dist && \
make install
@@ -244,7 +253,7 @@ RUN cd /opt/build && \
git clone ${SVT_VP9_REPO} -b v0.3.0 --depth 1 && \
cd SVT-VP9/Build/linux && \
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_INSTALL_LIBDIR=/usr/local/lib -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \
- make -j $(nproc) && \
+ make -j "$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -255,11 +264,12 @@ RUN apt-get update && \
# build gmmlib
ARG GMMLIB_REPO=https://github.com/intel/gmmlib/archive/refs/tags/intel-gmmlib-22.3.0.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${GMMLIB_REPO} | tar xz
RUN cd /opt/build/gmmlib-intel-gmmlib-22.3.0 && mkdir build && cd build && \
cmake -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_INSTALL_LIBDIR=/usr/local/lib .. && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -270,11 +280,12 @@ RUN apt-get update && \
# build libva2
ARG LIBVA2_REPO=https://github.com/intel/libva/archive/refs/tags/2.16.0.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${LIBVA2_REPO} | tar xz
RUN cd /opt/build/libva-2.16.0 && \
./autogen.sh --prefix=/usr/local --libdir=/usr/local/lib && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -285,11 +296,12 @@ RUN apt-get update && \
# build media driver
ARG MEDIA_DRIVER_REPO=https://github.com/intel/media-driver/archive/refs/tags/intel-media-22.5.4.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${MEDIA_DRIVER_REPO} | tar xz
RUN cd /opt/build/media-driver-intel-media-22.5.4 && mkdir build && cd build && \
cmake -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_INSTALL_LIBDIR=/usr/local/lib -DENABLE_PRODUCTION_KMD=ON .. && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -300,6 +312,7 @@ RUN apt-get update && \
# build media sdk
ARG MSDK_REPO=https://github.com/Intel-Media-SDK/MediaSDK/archive/intel-mediasdk-22.5.4.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${MSDK_REPO} | tar xz
RUN cd /opt/build/MediaSDK-intel-mediasdk-22.5.4 && \
@@ -310,7 +323,7 @@ RUN cd /opt/build/MediaSDK-intel-mediasdk-22.5.4 && \
-DBUILD_SAMPLES=no \
-DBUILD_TUTORIALS=OFF \
.. && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -321,6 +334,7 @@ RUN apt-get update && \
# build opencv
ARG OPENCV_REPO=https://github.com/opencv/opencv/archive/4.5.3-openvino-2021.4.2.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${OPENCV_REPO} | tar xz
# TODO: file a bug against opencv since they do not accept full libdir
@@ -338,7 +352,7 @@ RUN cd /opt/build/opencv-4.5.3-openvino-2021.4.2 && mkdir build && cd build && \
-DWITH_OPENJPEG=OFF \
-DWITH_JASPER=OFF \
.. && \
- make -j $(nproc) && \
+ make -j "$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -360,6 +374,7 @@ RUN cd /opt/build/FFmpeg && \
patch -p1 < /opt/build/SVT-HEVC/ffmpeg_plugin/n4.4-0001-lavc-svt_hevc-add-libsvt-hevc-encoder-wrapper.patch || true
#ifdef(`BUILD_LIBVA2',`FFMPEG_PATCH_VAAPI(BUILD_HOME/FFmpeg-FFMPEG_VER)')dnl
ARG FFMPEG_PATCH_VAAPI_REPO=https://github.com/OpenVisualCloud/Dockerfiles-Resources/raw/master/ffmpeg-patch-0041-lavc-vaapi_encode_h265-fix-max_transform_hierarchy_d.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${FFMPEG_PATCH_VAAPI_REPO} | tar xz && \
cd /opt/build/FFmpeg && \
@@ -372,7 +387,7 @@ RUN cd /opt/build && \
RUN cd /opt/build/FFmpeg && \
./configure --prefix=/usr/local --libdir=/usr/local/lib --enable-shared --disable-static --disable-doc --disable-htmlpages \
--disable-manpages --disable-podpages --disable-txtpages \
- --extra-cflags=-w --enable-nonfree --enable-libass --enable-libfreetype --disable-xlib --disable-sdl2 --enable-libmfx --enable-vaapi --enable-libv4l2 --enable-indev=v4l2 --enable-libfdk-aac --enable-libopus --enable-libvpx --enable-libvorbis --enable-gpl --enable-libx264 --enable-gpl --enable-libx265 --enable-libsvtav1 --enable-libsvthevc --enable-libdav1d && make -j$(nproc) && \
+ --extra-cflags=-w --enable-nonfree --enable-libass --enable-libfreetype --disable-xlib --disable-sdl2 --enable-libmfx --enable-vaapi --enable-libv4l2 --enable-indev=v4l2 --enable-libfdk-aac --enable-libopus --enable-libvpx --enable-libvorbis --enable-gpl --enable-libx264 --enable-gpl --enable-libx265 --enable-libsvtav1 --enable-libsvthevc --enable-libdav1d && make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -384,6 +399,7 @@ RUN rm -rf /opt/dist/usr/local/include && \
find /opt/dist -name "*.a" -exec rm -f {} \; || echo ""
RUN rm -rf /opt/dist/usr/local/share/doc /opt/dist/usr/local/share/gtk-doc
RUN rm -rf /opt/dist/usr/local/share/man
+HEALTHCHECK CMD echo "This is a healthcheck test." || exit 1
FROM ubuntu:20.04
LABEL Description="This is the base image for FFMPEG ubuntu 20.04"
@@ -403,4 +419,4 @@ RUN echo "/usr/local/lib" >> /etc/ld.so.conf.d/all-libs.conf && ldconfig
ENV LIBVA_DRIVERS_PATH=/usr/local/lib/dri
ENV LIBVA_DRIVER_NAME=iHD
ENV DISPLAY=:0.0
-
+HEALTHCHECK CMD echo "This is a healthcheck test." || exit 1
\ No newline at end of file
diff --git a/SG1/ubuntu-20.04/media/ffmpeg/Dockerfile.m4 b/SG1/ubuntu-20.04/media/ffmpeg/Dockerfile.m4
index 3e326e04f..db7050c81 100644
--- a/SG1/ubuntu-20.04/media/ffmpeg/Dockerfile.m4
+++ b/SG1/ubuntu-20.04/media/ffmpeg/Dockerfile.m4
@@ -34,4 +34,4 @@ WORKDIR /home
# Install
UPGRADE_UBUNTU_COMPONENTS()
INSTALL_ALL(runtime,build)dnl
-
+HEALTHCHECK CMD echo "This is a healthcheck test." || exit 1
\ No newline at end of file
diff --git a/SG1/ubuntu-20.04/media/ffmpeg/README.md b/SG1/ubuntu-20.04/media/ffmpeg/README.md
index 17e095eb7..7dc0816e8 100644
--- a/SG1/ubuntu-20.04/media/ffmpeg/README.md
+++ b/SG1/ubuntu-20.04/media/ffmpeg/README.md
@@ -1,7 +1,7 @@
This docker image is part of Open Visual Cloud software stacks. Optimized for the media creation and delivery use case. Included FFmpeg and codecs such as opus, ogg, vorbis, x264, x265, vp8/9, av1 and SVT-HEVC. Also included Intel hardware accelaration software stack such as media SDK, media driver, gmmlib and libva. The docker image can be used in the FROM field of a downstream Dockerfile.
## Supported tags and respective Dockerfile links
- - [sg1-ubuntu-2004-media-ffmpeg](https://github.com/OpenVisualCloud/Dockerfiles/blob/v22.3/SG1/ubuntu-20.04/media/ffmpeg/Dockerfile)
+ - [sg1-ubuntu-2004-media-ffmpeg](https://github.com/OpenVisualCloud/Dockerfiles/blob/v23.06/SG1/ubuntu-20.04/media/ffmpeg/Dockerfile)
## Quick reference
- #### Supported platform and OS
@@ -40,7 +40,7 @@ This docker installs third party components licensed under various open source l
|Intel media driver | MIT License|
|Intel media SDK|MIT License|
|OpenCV|BSD 3-clause "New" or "Revised" License|
-|FFmpeg|GNU General Public License v2.0 or later|
+|FFmpeg|GNU Lesser General Public License v2.1 or later|
More license information can be found in [components source package](https://github.com/OpenVisualCloud/Dockerfiles-Resources).
diff --git a/SG1/ubuntu-22.04/media/dev/Dockerfile b/SG1/ubuntu-22.04/media/dev/Dockerfile
index 99098c002..b0d08b257 100644
--- a/SG1/ubuntu-22.04/media/dev/Dockerfile
+++ b/SG1/ubuntu-22.04/media/dev/Dockerfile
@@ -47,12 +47,13 @@ RUN apt-get update && \
# build libogg
ARG OGG_VER=1.3.5
ARG LIBOGG_REPO=https://github.com/xiph/ogg/releases/download/v${OGG_VER}/libogg-1.3.5.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${LIBOGG_REPO} | tar xz && \
cd libogg-1.3.5 && \
./configure --prefix=/usr/local --libdir=/usr/local/lib --enable-shared && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -64,11 +65,12 @@ RUN apt-get update && \
# build libvorbis
ARG VORBIS_VER=1.3.7
ARG LIBVORBIS_REPO=https://github.com/xiph/vorbis/releases/download/v${VORBIS_VER}/libvorbis-1.3.7.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${LIBVORBIS_REPO} | tar xz && \
cd libvorbis-1.3.7 && \
./configure --prefix=/usr/local --libdir=/usr/local/lib --enable-shared && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -79,12 +81,13 @@ RUN apt-get update && \
# build libfdkaac
ARG LIBFDKAAC_REPO=https://github.com/mstorsjo/fdk-aac/archive/v2.0.2.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${LIBFDKAAC_REPO} | tar xz && \
cd fdk-aac-2.0.2 && \
./autogen.sh && \
./configure --prefix=/usr/local --libdir=/usr/local/lib --enable-shared && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -95,11 +98,12 @@ RUN apt-get update && \
# build libopus
ARG LIBOPUS_REPO=https://archive.mozilla.org/pub/opus/opus-1.3.1.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${LIBOPUS_REPO} | tar xz && \
cd opus-1.3.1 && \
./configure --prefix=/usr/local --libdir=/usr/local/lib --enable-shared && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -113,12 +117,13 @@ RUN apt-get update && \
# TODO: Revert to NASM repo, this is temp fix is nasm repo certificate expired temporarily
ARG NASM_REPO=https://github.com/OpenVisualCloud/Dockerfiles-Resources/raw/master/nasm-2.15.05.tar.bz2
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${NASM_REPO} | tar xj && \
cd nasm-2.15.05 && \
./autogen.sh && \
./configure --prefix=/usr/local --libdir=/usr/local/lib && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install
RUN apt-get update && \
@@ -132,7 +137,7 @@ RUN cd /opt/build && \
git clone ${LIBVPX_REPO} -b v1.12.0 --depth 1 && \
cd libvpx && \
./configure --prefix=/usr/local --libdir=/usr/local/lib --enable-shared --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=nasm && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -147,7 +152,7 @@ RUN cd /opt/build && \
git clone ${LIBAOM_REPO} -b v3.4.0 --depth 1 && \
cd aom/build && \
cmake -DBUILD_SHARED_LIBS=ON -DENABLE_NASM=ON -DENABLE_TESTS=OFF -DENABLE_DOCS=OFF -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_INSTALL_LIBDIR=lib .. && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -158,6 +163,7 @@ RUN apt-get update && \
# build dav1d
ARG DAV1D_REPO=https://code.videolan.org/videolan/dav1d/-/archive/0.9.2/dav1d-0.9.2.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${DAV1D_REPO} | tar xz
RUN cd /opt/build/dav1d-0.9.2 && \
@@ -175,6 +181,7 @@ RUN apt-get update && \
# ARG YASM_REPO=https://www.tortall.net/projects/yasm/releases/yasm-YASM_VER.tar.gz
# At the time of 21.6 Release, yasm official site above had certificate problem, hence pulling from Dockerfiles-Resources.
ARG YASM_REPO=https://github.com/OpenVisualCloud/Dockerfiles-Resources/raw/master/yasm-1.3.0.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${YASM_REPO} | tar xz
@@ -182,7 +189,7 @@ RUN cd /opt/build/yasm-1.3.0 && \
# TODO remove the line below whether no other component inside this project requires it.
# `sed -i "s/) ytasm.*/)/" Makefile.in' && \
./configure --prefix=/usr/local --libdir=/usr/local/lib && \
- make -j $(nproc) && \
+ make -j "$(nproc)" && \
make install
RUN apt-get update && \
@@ -196,7 +203,7 @@ RUN cd /opt/build && \
git clone -b v1.5.1 --depth 1 ${SVT_HEVC_REPO}
RUN cd /opt/build/SVT-HEVC/Build/linux && \
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_INSTALL_LIBDIR=/usr/local/lib -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \
- make -j $(nproc) && \
+ make -j "$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -207,12 +214,13 @@ RUN apt-get update && \
# build svt av1
ARG SVT_AV1_REPO=https://gitlab.com/AOMediaCodec/SVT-AV1/-/archive/v1.3.0/SVT-AV1-v1.3.0.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${SVT_AV1_REPO} | tar zx && \
mv SVT-AV1-v1.3.0 SVT-AV1 && \
cd SVT-AV1/Build/linux && \
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_INSTALL_LIBDIR=/usr/local/lib -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \
- make -j $(nproc) && \
+ make -j "$(nproc)" && \
sed -i "s/SvtAv1dec/SvtAv1Dec/" SvtAv1Dec.pc && \
make install DESTDIR=/opt/dist && \
make install
@@ -228,7 +236,7 @@ RUN cd /opt/build && \
git clone ${SVT_VP9_REPO} -b v0.3.0 --depth 1 && \
cd SVT-VP9/Build/linux && \
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_INSTALL_LIBDIR=/usr/local/lib -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \
- make -j $(nproc) && \
+ make -j "$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -239,11 +247,12 @@ RUN apt-get update && \
# build gmmlib
ARG GMMLIB_REPO=https://github.com/intel/gmmlib/archive/refs/tags/intel-gmmlib-22.3.0.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${GMMLIB_REPO} | tar xz
RUN cd /opt/build/gmmlib-intel-gmmlib-22.3.0 && mkdir build && cd build && \
cmake -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_INSTALL_LIBDIR=/usr/local/lib .. && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -254,11 +263,12 @@ RUN apt-get update && \
# build libva2
ARG LIBVA2_REPO=https://github.com/intel/libva/archive/refs/tags/2.16.0.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${LIBVA2_REPO} | tar xz
RUN cd /opt/build/libva-2.16.0 && \
./autogen.sh --prefix=/usr/local --libdir=/usr/local/lib && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -269,11 +279,12 @@ RUN apt-get update && \
# build media driver
ARG MEDIA_DRIVER_REPO=https://github.com/intel/media-driver/archive/refs/tags/intel-media-22.5.4.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${MEDIA_DRIVER_REPO} | tar xz
RUN cd /opt/build/media-driver-intel-media-22.5.4 && mkdir build && cd build && \
cmake -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_INSTALL_LIBDIR=/usr/local/lib -DENABLE_PRODUCTION_KMD=ON .. && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -284,6 +295,7 @@ RUN apt-get update && \
# build media sdk
ARG MSDK_REPO=https://github.com/Intel-Media-SDK/MediaSDK/archive/intel-mediasdk-22.5.4.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${MSDK_REPO} | tar xz
RUN cd /opt/build/MediaSDK-intel-mediasdk-22.5.4 && \
@@ -294,7 +306,7 @@ RUN cd /opt/build/MediaSDK-intel-mediasdk-22.5.4 && \
-DBUILD_SAMPLES=no \
-DBUILD_TUTORIALS=OFF \
.. && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -316,6 +328,7 @@ RUN cd /opt/build/FFmpeg && \
patch -p1 < /opt/build/SVT-HEVC/ffmpeg_plugin/n4.4-0001-lavc-svt_hevc-add-libsvt-hevc-encoder-wrapper.patch || true
#ifdef(`BUILD_LIBVA2',`FFMPEG_PATCH_VAAPI(BUILD_HOME/FFmpeg-FFMPEG_VER)')dnl
ARG FFMPEG_PATCH_VAAPI_REPO=https://github.com/OpenVisualCloud/Dockerfiles-Resources/raw/master/ffmpeg-patch-0041-lavc-vaapi_encode_h265-fix-max_transform_hierarchy_d.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${FFMPEG_PATCH_VAAPI_REPO} | tar xz && \
cd /opt/build/FFmpeg && \
@@ -328,7 +341,7 @@ RUN cd /opt/build && \
RUN cd /opt/build/FFmpeg && \
./configure --prefix=/usr/local --libdir=/usr/local/lib --enable-shared --disable-static --disable-doc --disable-htmlpages \
--disable-manpages --disable-podpages --disable-txtpages \
- --extra-cflags=-w --enable-nonfree --enable-libass --enable-libfreetype --disable-xlib --disable-sdl2 --enable-libmfx --enable-vaapi --enable-libv4l2 --enable-indev=v4l2 --enable-libfdk-aac --enable-libopus --enable-libvpx --enable-libvorbis --enable-libsvtav1 --enable-libsvthevc --enable-libaom --enable-libdav1d && make -j$(nproc) && \
+ --extra-cflags=-w --enable-nonfree --enable-libass --enable-libfreetype --disable-xlib --disable-sdl2 --enable-libmfx --enable-vaapi --enable-libv4l2 --enable-indev=v4l2 --enable-libfdk-aac --enable-libopus --enable-libvpx --enable-libvorbis --enable-libsvtav1 --enable-libsvthevc --enable-libaom --enable-libdav1d && make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -338,6 +351,7 @@ RUN rm -rf /opt/dist/usr/local/include && \
find /opt/dist -name "*.a" -exec rm -f {} \; || echo ""
RUN rm -rf /opt/dist/usr/local/share/doc /opt/dist/usr/local/share/gtk-doc
RUN rm -rf /opt/dist/usr/local/share/man
+HEALTHCHECK CMD echo "This is a healthcheck test." || exit 1
FROM ubuntu:22.04
LABEL Description="This is the base image for Gstreamer ubuntu 22.04"
@@ -357,4 +371,4 @@ RUN echo "/usr/local/lib" >> /etc/ld.so.conf.d/all-libs.conf && ldconfig
ENV LIBVA_DRIVERS_PATH=/usr/local/lib/dri
ENV LIBVA_DRIVER_NAME=iHD
ENV DISPLAY=:0.0
-
+HEALTHCHECK CMD echo "This is a healthcheck test." || exit 1
\ No newline at end of file
diff --git a/SG1/ubuntu-22.04/media/dev/Dockerfile.m4 b/SG1/ubuntu-22.04/media/dev/Dockerfile.m4
index 3b6d8d060..3988f6593 100644
--- a/SG1/ubuntu-22.04/media/dev/Dockerfile.m4
+++ b/SG1/ubuntu-22.04/media/dev/Dockerfile.m4
@@ -32,4 +32,4 @@ WORKDIR /home
# Install
UPGRADE_UBUNTU_COMPONENTS()
INSTALL_ALL(devel,build)dnl
-
+HEALTHCHECK CMD echo "This is a healthcheck test." || exit 1
\ No newline at end of file
diff --git a/SG1/ubuntu-22.04/media/dev/README.md b/SG1/ubuntu-22.04/media/dev/README.md
index 0e0c410af..401342afc 100644
--- a/SG1/ubuntu-22.04/media/dev/README.md
+++ b/SG1/ubuntu-22.04/media/dev/README.md
@@ -1,11 +1,11 @@
This docker image is part of Open Visual Cloud software stacks. This is development image aim towards enabling C++ application compilation, debugging (with the debugging, profiling tools) and optimization (with the optimization tools.) You can compile C++ applications with this image and then copy the applications to the corresponding deployment image. Included what are in FFmpeg or GStreamer media creation and delivery images . Also included Intel hardware accelaration software stack such as media SDK, media driver, gmmlib and libva. The docker image can be used in the FROM field of a downstream Dockerfile.
## Supported tags and respective Dockerfile links
- - [sg1-ubuntu-2004-media-dev](https://github.com/OpenVisualCloud/Dockerfiles/blob/v22.3/SG1/ubuntu-20.04/media/dev/Dockerfile)
+ - [sg1-ubuntu-2204-media-dev](https://github.com/OpenVisualCloud/Dockerfiles/blob/v23.06/SG1/ubuntu-22.04/media/dev/Dockerfile)
## Quick reference
- #### Supported platform and OS
- Intel® SG1 platform, Ubuntu 20.04
+ Intel® SG1 platform, Ubuntu 22.04
- #### Usage instructions:
[FFmpeg](https://github.com/OpenVisualCloud/Dockerfiles/blob/master/doc/ffmpeg.md) [GStreamer](https://github.com/OpenVisualCloud/Dockerfiles/blob/master/doc/gst.md)
@@ -27,7 +27,6 @@ This docker installs third party components licensed under various open source l
|Ubuntu| [Various](https://hub.docker.com/_/ubuntu) |
|libogg|BSD 3-clause "New" or "Revised" License|
|libvorbis|BSD 3-clause "New" or "Revised" License|
-|OpenSSL|Apache License 2.0|
|Opus Interactive Audio Codec|BSD 3-clause "New" or "Revised" License|
|libvpx|BSD 3-clause "New" or "Revised" License|
|Aomedia AV1 Codec Library|BSD 2-clause "Simplified" License|
diff --git a/SG1/ubuntu-22.04/media/ffmpeg/Dockerfile b/SG1/ubuntu-22.04/media/ffmpeg/Dockerfile
index 52e577081..6f2b9a2aa 100644
--- a/SG1/ubuntu-22.04/media/ffmpeg/Dockerfile
+++ b/SG1/ubuntu-22.04/media/ffmpeg/Dockerfile
@@ -47,12 +47,13 @@ RUN apt-get update && \
# build libogg
ARG OGG_VER=1.3.5
ARG LIBOGG_REPO=https://github.com/xiph/ogg/releases/download/v${OGG_VER}/libogg-1.3.5.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${LIBOGG_REPO} | tar xz && \
cd libogg-1.3.5 && \
./configure --prefix=/usr/local --libdir=/usr/local/lib --enable-shared && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -64,11 +65,12 @@ RUN apt-get update && \
# build libvorbis
ARG VORBIS_VER=1.3.7
ARG LIBVORBIS_REPO=https://github.com/xiph/vorbis/releases/download/v${VORBIS_VER}/libvorbis-1.3.7.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${LIBVORBIS_REPO} | tar xz && \
cd libvorbis-1.3.7 && \
./configure --prefix=/usr/local --libdir=/usr/local/lib --enable-shared && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -79,12 +81,13 @@ RUN apt-get update && \
# build libfdkaac
ARG LIBFDKAAC_REPO=https://github.com/mstorsjo/fdk-aac/archive/v2.0.2.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${LIBFDKAAC_REPO} | tar xz && \
cd fdk-aac-2.0.2 && \
./autogen.sh && \
./configure --prefix=/usr/local --libdir=/usr/local/lib --enable-shared && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -95,11 +98,12 @@ RUN apt-get update && \
# build libopus
ARG LIBOPUS_REPO=https://archive.mozilla.org/pub/opus/opus-1.3.1.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${LIBOPUS_REPO} | tar xz && \
cd opus-1.3.1 && \
./configure --prefix=/usr/local --libdir=/usr/local/lib --enable-shared && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -113,12 +117,13 @@ RUN apt-get update && \
# TODO: Revert to NASM repo, this is temp fix is nasm repo certificate expired temporarily
ARG NASM_REPO=https://github.com/OpenVisualCloud/Dockerfiles-Resources/raw/master/nasm-2.15.05.tar.bz2
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${NASM_REPO} | tar xj && \
cd nasm-2.15.05 && \
./autogen.sh && \
./configure --prefix=/usr/local --libdir=/usr/local/lib && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install
RUN apt-get update && \
@@ -132,7 +137,7 @@ RUN cd /opt/build && \
git clone ${LIBVPX_REPO} -b v1.12.0 --depth 1 && \
cd libvpx && \
./configure --prefix=/usr/local --libdir=/usr/local/lib --enable-shared --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=nasm && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -148,7 +153,7 @@ RUN cd /opt/build && \
cd x264 && \
./configure --prefix=/usr/local --libdir=/usr/local/lib \
--enable-shared && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -161,6 +166,7 @@ RUN apt-get update && \
# ARG YASM_REPO=https://www.tortall.net/projects/yasm/releases/yasm-YASM_VER.tar.gz
# At the time of 21.6 Release, yasm official site above had certificate problem, hence pulling from Dockerfiles-Resources.
ARG YASM_REPO=https://github.com/OpenVisualCloud/Dockerfiles-Resources/raw/master/yasm-1.3.0.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${YASM_REPO} | tar xz
@@ -168,7 +174,7 @@ RUN cd /opt/build/yasm-1.3.0 && \
# TODO remove the line below whether no other component inside this project requires it.
# `sed -i "s/) ytasm.*/)/" Makefile.in' && \
./configure --prefix=/usr/local --libdir=/usr/local/lib && \
- make -j $(nproc) && \
+ make -j "$(nproc)" && \
make install
RUN apt-get update && \
@@ -178,11 +184,12 @@ RUN apt-get update && \
# build libx265
ARG LIBX265_REPO=https://github.com/videolan/x265/archive/3.4.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${LIBX265_REPO} | tar xz && \
cd x265-3.4/build/linux && \
cmake -DBUILD_SHARED_LIBS=ON -DCMAKE_INSTALL_PREFIX=/usr/local -DLIB_INSTALL_DIR=/usr/local/lib ../../source && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -193,6 +200,7 @@ RUN apt-get update && \
# build dav1d
ARG DAV1D_REPO=https://code.videolan.org/videolan/dav1d/-/archive/0.9.2/dav1d-0.9.2.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${DAV1D_REPO} | tar xz
RUN cd /opt/build/dav1d-0.9.2 && \
@@ -212,7 +220,7 @@ RUN cd /opt/build && \
git clone -b v1.5.1 --depth 1 ${SVT_HEVC_REPO}
RUN cd /opt/build/SVT-HEVC/Build/linux && \
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_INSTALL_LIBDIR=/usr/local/lib -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \
- make -j $(nproc) && \
+ make -j "$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -223,12 +231,13 @@ RUN apt-get update && \
# build svt av1
ARG SVT_AV1_REPO=https://gitlab.com/AOMediaCodec/SVT-AV1/-/archive/v1.3.0/SVT-AV1-v1.3.0.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${SVT_AV1_REPO} | tar zx && \
mv SVT-AV1-v1.3.0 SVT-AV1 && \
cd SVT-AV1/Build/linux && \
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_INSTALL_LIBDIR=/usr/local/lib -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \
- make -j $(nproc) && \
+ make -j "$(nproc)" && \
sed -i "s/SvtAv1dec/SvtAv1Dec/" SvtAv1Dec.pc && \
make install DESTDIR=/opt/dist && \
make install
@@ -244,7 +253,7 @@ RUN cd /opt/build && \
git clone ${SVT_VP9_REPO} -b v0.3.0 --depth 1 && \
cd SVT-VP9/Build/linux && \
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_INSTALL_LIBDIR=/usr/local/lib -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \
- make -j $(nproc) && \
+ make -j "$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -255,11 +264,12 @@ RUN apt-get update && \
# build gmmlib
ARG GMMLIB_REPO=https://github.com/intel/gmmlib/archive/refs/tags/intel-gmmlib-22.3.0.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${GMMLIB_REPO} | tar xz
RUN cd /opt/build/gmmlib-intel-gmmlib-22.3.0 && mkdir build && cd build && \
cmake -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_INSTALL_LIBDIR=/usr/local/lib .. && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -270,11 +280,12 @@ RUN apt-get update && \
# build libva2
ARG LIBVA2_REPO=https://github.com/intel/libva/archive/refs/tags/2.16.0.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${LIBVA2_REPO} | tar xz
RUN cd /opt/build/libva-2.16.0 && \
./autogen.sh --prefix=/usr/local --libdir=/usr/local/lib && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -285,11 +296,12 @@ RUN apt-get update && \
# build media driver
ARG MEDIA_DRIVER_REPO=https://github.com/intel/media-driver/archive/refs/tags/intel-media-22.5.4.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${MEDIA_DRIVER_REPO} | tar xz
RUN cd /opt/build/media-driver-intel-media-22.5.4 && mkdir build && cd build && \
cmake -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_INSTALL_LIBDIR=/usr/local/lib -DENABLE_PRODUCTION_KMD=ON .. && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -300,6 +312,7 @@ RUN apt-get update && \
# build media sdk
ARG MSDK_REPO=https://github.com/Intel-Media-SDK/MediaSDK/archive/intel-mediasdk-22.5.4.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${MSDK_REPO} | tar xz
RUN cd /opt/build/MediaSDK-intel-mediasdk-22.5.4 && \
@@ -310,7 +323,7 @@ RUN cd /opt/build/MediaSDK-intel-mediasdk-22.5.4 && \
-DBUILD_SAMPLES=no \
-DBUILD_TUTORIALS=OFF \
.. && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -321,6 +334,7 @@ RUN apt-get update && \
# build opencv
ARG OPENCV_REPO=https://github.com/opencv/opencv/archive/4.5.3-openvino-2021.4.2.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${OPENCV_REPO} | tar xz
# TODO: file a bug against opencv since they do not accept full libdir
@@ -338,7 +352,7 @@ RUN cd /opt/build/opencv-4.5.3-openvino-2021.4.2 && mkdir build && cd build && \
-DWITH_OPENJPEG=OFF \
-DWITH_JASPER=OFF \
.. && \
- make -j $(nproc) && \
+ make -j "$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -360,6 +374,7 @@ RUN cd /opt/build/FFmpeg && \
patch -p1 < /opt/build/SVT-HEVC/ffmpeg_plugin/n4.4-0001-lavc-svt_hevc-add-libsvt-hevc-encoder-wrapper.patch || true
#ifdef(`BUILD_LIBVA2',`FFMPEG_PATCH_VAAPI(BUILD_HOME/FFmpeg-FFMPEG_VER)')dnl
ARG FFMPEG_PATCH_VAAPI_REPO=https://github.com/OpenVisualCloud/Dockerfiles-Resources/raw/master/ffmpeg-patch-0041-lavc-vaapi_encode_h265-fix-max_transform_hierarchy_d.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${FFMPEG_PATCH_VAAPI_REPO} | tar xz && \
cd /opt/build/FFmpeg && \
@@ -372,7 +387,7 @@ RUN cd /opt/build && \
RUN cd /opt/build/FFmpeg && \
./configure --prefix=/usr/local --libdir=/usr/local/lib --enable-shared --disable-static --disable-doc --disable-htmlpages \
--disable-manpages --disable-podpages --disable-txtpages \
- --extra-cflags=-w --enable-nonfree --enable-libass --enable-libfreetype --disable-xlib --disable-sdl2 --enable-libmfx --enable-vaapi --enable-libv4l2 --enable-indev=v4l2 --enable-libfdk-aac --enable-libopus --enable-libvpx --enable-libvorbis --enable-gpl --enable-libx264 --enable-gpl --enable-libx265 --enable-libsvtav1 --enable-libsvthevc --enable-libdav1d && make -j$(nproc) && \
+ --extra-cflags=-w --enable-nonfree --enable-libass --enable-libfreetype --disable-xlib --disable-sdl2 --enable-libmfx --enable-vaapi --enable-libv4l2 --enable-indev=v4l2 --enable-libfdk-aac --enable-libopus --enable-libvpx --enable-libvorbis --enable-gpl --enable-libx264 --enable-gpl --enable-libx265 --enable-libsvtav1 --enable-libsvthevc --enable-libdav1d && make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -384,6 +399,7 @@ RUN rm -rf /opt/dist/usr/local/include && \
find /opt/dist -name "*.a" -exec rm -f {} \; || echo ""
RUN rm -rf /opt/dist/usr/local/share/doc /opt/dist/usr/local/share/gtk-doc
RUN rm -rf /opt/dist/usr/local/share/man
+HEALTHCHECK CMD echo "This is a healthcheck test." || exit 1
FROM ubuntu:22.04
LABEL Description="This is the base image for FFMPEG ubuntu 22.04"
@@ -403,4 +419,4 @@ RUN echo "/usr/local/lib" >> /etc/ld.so.conf.d/all-libs.conf && ldconfig
ENV LIBVA_DRIVERS_PATH=/usr/local/lib/dri
ENV LIBVA_DRIVER_NAME=iHD
ENV DISPLAY=:0.0
-
+HEALTHCHECK CMD echo "This is a healthcheck test." || exit 1
\ No newline at end of file
diff --git a/SG1/ubuntu-22.04/media/ffmpeg/Dockerfile.m4 b/SG1/ubuntu-22.04/media/ffmpeg/Dockerfile.m4
index 3e326e04f..db7050c81 100644
--- a/SG1/ubuntu-22.04/media/ffmpeg/Dockerfile.m4
+++ b/SG1/ubuntu-22.04/media/ffmpeg/Dockerfile.m4
@@ -34,4 +34,4 @@ WORKDIR /home
# Install
UPGRADE_UBUNTU_COMPONENTS()
INSTALL_ALL(runtime,build)dnl
-
+HEALTHCHECK CMD echo "This is a healthcheck test." || exit 1
\ No newline at end of file
diff --git a/SG1/ubuntu-22.04/media/ffmpeg/README.md b/SG1/ubuntu-22.04/media/ffmpeg/README.md
index 17e095eb7..2914500f8 100644
--- a/SG1/ubuntu-22.04/media/ffmpeg/README.md
+++ b/SG1/ubuntu-22.04/media/ffmpeg/README.md
@@ -1,11 +1,11 @@
This docker image is part of Open Visual Cloud software stacks. Optimized for the media creation and delivery use case. Included FFmpeg and codecs such as opus, ogg, vorbis, x264, x265, vp8/9, av1 and SVT-HEVC. Also included Intel hardware accelaration software stack such as media SDK, media driver, gmmlib and libva. The docker image can be used in the FROM field of a downstream Dockerfile.
## Supported tags and respective Dockerfile links
- - [sg1-ubuntu-2004-media-ffmpeg](https://github.com/OpenVisualCloud/Dockerfiles/blob/v22.3/SG1/ubuntu-20.04/media/ffmpeg/Dockerfile)
+ - [sg1-ubuntu-2204-media-ffmpeg](https://github.com/OpenVisualCloud/Dockerfiles/blob/v23.06/SG1/ubuntu-22.04/media/ffmpeg/Dockerfile)
## Quick reference
- #### Supported platform and OS
- Intel® SG1 platform, Ubuntu 20.04
+ Intel® SG1 platform, Ubuntu 22.04
- #### Usage instructions:
[FFmpeg](https://github.com/OpenVisualCloud/Dockerfiles/blob/master/doc/ffmpeg.md)
@@ -40,7 +40,7 @@ This docker installs third party components licensed under various open source l
|Intel media driver | MIT License|
|Intel media SDK|MIT License|
|OpenCV|BSD 3-clause "New" or "Revised" License|
-|FFmpeg|GNU General Public License v2.0 or later|
+|FFmpeg|GNU Lesser General Public License v2.1 or later|
More license information can be found in [components source package](https://github.com/OpenVisualCloud/Dockerfiles-Resources).
diff --git a/SG2/CMakeLists.txt b/SG2/CMakeLists.txt
deleted file mode 100644
index c882766a5..000000000
--- a/SG2/CMakeLists.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-set(platform "sg2")
-include(platform)
diff --git a/SG2/README.md b/SG2/README.md
deleted file mode 100644
index dbd00f46e..000000000
--- a/SG2/README.md
+++ /dev/null
@@ -1,18 +0,0 @@
-
-
-This folder contains dockerfiles to build Server GPU SG2 software stack for Intel(R) Xeon(R) -SP or -D scalable processors with processor graphics. These are meant to be run on [Intel(R) Data Center GPU Flex series](https://www.intel.in/content/www/in/en/products/docs/discrete-gpus/data-center-gpu/flex-series/overview.html).
-
-### Setup host platform:
-
-Refer to below instructions to setup host platform:
-- Install GPU and setup instructions (see [here](https://www.intel.com/content/www/us/en/developer/platform/data-center-gpu-flex.html#gs.mof7wp))
-
-- Installing the docker.ce service (see [../README.md](../README.md).)
-
-### Docker Images:
-
-|Image|Dockerfile|Docker Image|
-|:-:|---|---|
-|media-dev|[ubuntu-20.04/media/dev](ubuntu-20.04/media/dev)
[ubuntu-22.04/media/dev](ubuntu-22.04/media/dev)|[openvisualcloud/sg2-ubuntu2004-media-dev](https://hub.docker.com/r/openvisualcloud/sg2-ubuntu2004-media-dev)
[openvisualcloud/sg2-ubuntu2204-media-dev](https://hub.docker.com/r/openvisualcloud/sg2-ubuntu2204-media-dev)|
-|media-ffmpeg|[ubuntu-20.04/media/ffmpeg](ubuntu-20.04/media/ffmpeg)
[ubuntu-22.04/media/ffmpeg](ubuntu-22.04/media/ffmpeg)|[openvisualcloud/sg2-ubuntu2004-media-ffmpeg](https://hub.docker.com/r/openvisualcloud/sg2-ubuntu2004-media-ffmpeg)
[openvisualcloud/sg2-ubuntu2204-media-ffmpeg](https://hub.docker.com/r/openvisualcloud/sg2-ubuntu2204-media-ffmpeg)|
-|media-ffmpeg|[ubuntu-20.04/media/ffmpeg](ubuntu-20.04/media/ffmpeg)
[ubuntu-22.04/media/ffmpeg](ubuntu-22.04/media/ffmpeg)|[openvisualcloud/sg2-ubuntu2004-media-ffmpeg](https://hub.docker.com/r/openvisualcloud/sg2-ubuntu2004-media-ffmpeg)
[openvisualcloud/sg2-ubuntu2204-media-ffmpeg](https://hub.docker.com/r/openvisualcloud/sg2-ubuntu2204-media-ffmpeg)|
diff --git a/SG2/ubuntu-20.04/media/dev/CMakeLists.txt b/SG2/ubuntu-20.04/media/dev/CMakeLists.txt
deleted file mode 100644
index 73ee0bdcf..000000000
--- a/SG2/ubuntu-20.04/media/dev/CMakeLists.txt
+++ /dev/null
@@ -1,3 +0,0 @@
-set(image "sg2_media_devel_ubuntu2004")
-include(image)
-include(ffmpeg-tests)
diff --git a/SG2/ubuntu-22.04/analytics/dev/build.sh b/SG2/ubuntu-22.04/analytics/dev/build.sh
deleted file mode 100755
index 38763fdeb..000000000
--- a/SG2/ubuntu-22.04/analytics/dev/build.sh
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/bash -e
-
-IMAGE="sg2-ubuntu2204-analytics-dev"
-DIR=$(dirname $(readlink -f "$0"))
-
-. "${DIR}/../../../../script/build.sh"
diff --git a/SG2/ubuntu-22.04/analytics/dev/shell.sh b/SG2/ubuntu-22.04/analytics/dev/shell.sh
deleted file mode 100755
index 1b6865bcc..000000000
--- a/SG2/ubuntu-22.04/analytics/dev/shell.sh
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/bash -e
-
-IMAGE="sg2-ubuntu2204-analytics-dev"
-DIR=$(dirname $(readlink -f "$0"))
-
-. "${DIR}/../../../../script/shell.sh"
diff --git a/SG2/ubuntu-22.04/analytics/gst/build.sh b/SG2/ubuntu-22.04/analytics/gst/build.sh
deleted file mode 100755
index 616857d32..000000000
--- a/SG2/ubuntu-22.04/analytics/gst/build.sh
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/bash -e
-
-IMAGE="sg2-ubuntu2204-analytics-gst"
-DIR=$(dirname $(readlink -f "$0"))
-
-. "${DIR}/../../../../script/build.sh"
diff --git a/SG2/ubuntu-22.04/analytics/gst/shell.sh b/SG2/ubuntu-22.04/analytics/gst/shell.sh
deleted file mode 100755
index 31462d29d..000000000
--- a/SG2/ubuntu-22.04/analytics/gst/shell.sh
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/bash -e
-
-IMAGE="sg2-ubuntu2204-analytics-gst"
-DIR=$(dirname $(readlink -f "$0"))
-
-. "${DIR}/../../../../script/shell.sh"
diff --git a/SG2/ubuntu-22.04/media/dev/CMakeLists.txt b/SG2/ubuntu-22.04/media/dev/CMakeLists.txt
deleted file mode 100644
index d60a099fb..000000000
--- a/SG2/ubuntu-22.04/media/dev/CMakeLists.txt
+++ /dev/null
@@ -1,3 +0,0 @@
-set(image "sg2_media_devel_ubuntu2204")
-include(image)
-include(ffmpeg-tests)
diff --git a/Xeon/README.md b/Xeon/README.md
index e8a57d7b8..5693aa125 100644
--- a/Xeon/README.md
+++ b/Xeon/README.md
@@ -9,15 +9,14 @@ No special setup is needed except to install the docker.ce service and setup pro
|Image|Dockerfile|Docker Image|
|:-:|---|---|
-|analytics-dev|[centos-7/analytics/dev](centos-7/analytics/dev)
[ubuntu-20.04/analytics/dev](ubuntu-20.04/analytics/dev)|[openvisualcloud/xeon-centos7-analytics-dev](https://hub.docker.com/r/openvisualcloud/xeon-centos7-analytics-dev)
[openvisualcloud/xeon-ubuntu2004-analytics-dev](https://hub.docker.com/r/openvisualcloud/xeon-ubuntu2004-analytics-dev)|
-|analytics-ffmpeg|[centos-7/analytics/ffmpeg](centos-7/analytics/ffmpeg)
[ubuntu-20.04/analytics/ffmpeg](ubuntu-20.04/analytics/ffmpeg)|[openvisualcloud/xeon-centos7-analytics-ffmpeg](https://hub.docker.com/r/openvisualcloud/xeon-centos7-analytics-ffmpeg)
[openvisualcloud/xeon-ubuntu2004-analytics-ffmpeg](https://hub.docker.com/r/openvisualcloud/xeon-ubuntu2004-analytics-ffmpeg)|
-|analytics-gst|[centos-7/analytics/gst](centos-7/analytics/gst)
[ubuntu-20.04/analytics/gst](ubuntu-20.04/analytics/gst)|[openvisualcloud/xeon-centos7-analytics-gst](https://hub.docker.com/r/openvisualcloud/xeon-centos7-analytics-gst)
[openvisualcloud/xeon-ubuntu2004-analytics-gst](https://hub.docker.com/r/openvisualcloud/xeon-ubuntu2004-analytics-gst)|
-|media-dev|[centos-7/media/dev](centos-7/media/dev)
[ubuntu-20.04/media/dev](ubuntu-20.04/media/dev)|[openvisualcloud/xeon-centos7-media-dev](https://hub.docker.com/r/openvisualcloud/xeon-centos7-media-dev)
[openvisualcloud/xeon-ubuntu2004-media-dev](https://hub.docker.com/r/openvisualcloud/xeon-ubuntu2004-media-dev)|
-|media-ffmpeg|[centos-7/media/ffmpeg](centos-7/media/ffmpeg)
[ubuntu-20.04/media/ffmpeg](ubuntu-20.04/media/ffmpeg)|[openvisualcloud/xeon-centos7-media-ffmpeg](https://hub.docker.com/r/openvisualcloud/xeon-centos7-media-ffmpeg)
[openvisualcloud/xeon-ubuntu2004-media-ffmpeg](https://hub.docker.com/r/openvisualcloud/xeon-ubuntu2004-media-ffmpeg)|
-|media-gst|[centos-7/media/gst](centos-7/media/gst)
[ubuntu-20.04/media/gst](ubuntu-20.04/media/gst)|[openvisualcloud/xeon-centos7-media-gst](https://hub.docker.com/r/openvisualcloud/xeon-centos7-media-gst)
[openvisualcloud/xeon-ubuntu2004-media-gst](https://hub.docker.com/r/openvisualcloud/xeon-ubuntu2004-media-gst)|
-|media-nginx|[centos-7/media/nginx](centos-7/media/nginx)
[ubuntu-20.04/media/nginx](ubuntu-20.04/media/nginx)|[openvisualcloud/xeon-centos7-media-nginx](https://hub.docker.com/r/openvisualcloud/xeon-centos7-media-nginx)
[openvisualcloud/xeon-ubuntu2004-media-nginx](https://hub.docker.com/r/openvisualcloud/xeon-ubuntu2004-media-nginx)|
-|media-srs|[centos-7/media/srs](centos-7/media/srs)
[ubuntu-20.04/media/srs](ubuntu-20.04/media/srs)|[openvisualcloud/xeon-centos7-media-srs](https://hub.docker.com/r/openvisualcloud/xeon-centos7-media-srs)
[openvisualcloud/xeon-ubuntu2004-media-srs](https://hub.docker.com/r/openvisualcloud/xeon-ubuntu2004-media-srs)|
-|media-svt|[centos-7/media/svt](centos-7/media/svt)
[ubuntu-20.04/media/svt](ubuntu-20.04/media/svt)|[openvisualcloud/xeon-centos7-media-svt](https://hub.docker.com/r/openvisualcloud/xeon-centos7-media-svt)
[openvisualcloud/xeon-ubuntu2004-media-svt](https://hub.docker.com/r/openvisualcloud/xeon-ubuntu2004-media-svt)|
-|service-owt-dev|[centos-7/service/owt-dev](centos-7/service/owt-dev)|[openvisualcloud/xeon-centos7-service-owt-dev](https://hub.docker.com/r/openvisualcloud/xeon-centos7-service-owt-dev)|
-|service-owt|[centos-7/service/owt](centos-7/service/owt)|[openvisualcloud/xeon-centos7-service-owt](https://hub.docker.com/r/openvisualcloud/xeon-centos7-service-owt)|
-|service-owt360|[centos-7.6/service/owt360](centos-7.6/service/owt360)|[openvisualcloud/xeon-centos7-service-owt360](https://hub.docker.com/r/openvisualcloud/xeon-centos7-service-owt360)|
+|analytics-dev|[ubuntu-22.04/analytics/dev](ubuntu-22.04/analytics/dev)
[ubuntu-20.04/analytics/dev](ubuntu-20.04/analytics/dev)|[openvisualcloud/xeon-ubuntu2204-analytics-dev](https://hub.docker.com/r/openvisualcloud/xeon-ubuntu2204-analytics-dev)
[openvisualcloud/xeon-ubuntu2004-analytics-dev](https://hub.docker.com/r/openvisualcloud/xeon-ubuntu2004-analytics-dev)|
+|analytics-ffmpeg|[ubuntu-22.04/analytics/ffmpeg](ubuntu-22.04/analytics/ffmpeg)
[ubuntu-20.04/analytics/ffmpeg](ubuntu-20.04/analytics/ffmpeg)|[openvisualcloud/xeon-ubuntu2204-analytics-ffmpeg](https://hub.docker.com/r/openvisualcloud/xeon-ubuntu2204-analytics-ffmpeg)
[openvisualcloud/xeon-ubuntu2004-analytics-ffmpeg](https://hub.docker.com/r/openvisualcloud/xeon-ubuntu2004-analytics-ffmpeg)|
+|analytics-gst|[ubuntu-22.04/analytics/gst](ubuntu-22.04/analytics/gst)
[ubuntu-20.04/analytics/gst](ubuntu-20.04/analytics/gst)|[openvisualcloud/xeon-ubuntu2204-analytics-gst](https://hub.docker.com/r/openvisualcloud/xeon-ubuntu2204-analytics-gst)
[openvisualcloud/xeon-ubuntu2004-analytics-gst](https://hub.docker.com/r/openvisualcloud/xeon-ubuntu2004-analytics-gst)|
+|media-dev|[ubuntu-22.04/media/dev](ubuntu-22.04/media/dev)
[ubuntu-20.04/media/dev](ubuntu-20.04/media/dev)|[openvisualcloud/xeon-ubuntu2204-media-dev](https://hub.docker.com/r/openvisualcloud/xeon-ubuntu2204-media-dev)
[openvisualcloud/xeon-ubuntu2004-media-dev](https://hub.docker.com/r/openvisualcloud/xeon-ubuntu2004-media-dev)|
+|media-ffmpeg|[ubuntu-22.04/media/ffmpeg](ubuntu-22.04/media/ffmpeg)
[ubuntu-20.04/media/ffmpeg](ubuntu-20.04/media/ffmpeg)|[openvisualcloud/xeon-ubuntu2204-media-ffmpeg](https://hub.docker.com/r/openvisualcloud/xeon-ubuntu2204-media-ffmpeg)
[openvisualcloud/xeon-ubuntu2004-media-ffmpeg](https://hub.docker.com/r/openvisualcloud/xeon-ubuntu2004-media-ffmpeg)|
+|media-gst|[ubuntu-22.04/media/gst](ubuntu-22.04/media/gst)
[ubuntu-20.04/media/gst](ubuntu-20.04/media/gst)|[openvisualcloud/xeon-ubuntu2204-media-gst](https://hub.docker.com/r/openvisualcloud/xeon-ubuntu2204-media-gst)
[openvisualcloud/xeon-ubuntu2004-media-gst](https://hub.docker.com/r/openvisualcloud/xeon-ubuntu2004-media-gst)|
+|media-nginx|[ubuntu-22.04/media/nginx](ubuntu-22.04/media/nginx)
[ubuntu-20.04/media/nginx](ubuntu-20.04/media/nginx)|[openvisualcloud/xeon-ubuntu2204-media-nginx](https://hub.docker.com/r/openvisualcloud/xeon-ubuntu2204-media-nginx)
[openvisualcloud/xeon-ubuntu2004-media-nginx](https://hub.docker.com/r/openvisualcloud/xeon-ubuntu2004-media-nginx)|
+|media-srs|[ubuntu-22.04/media/srs](ubuntu-22.04/media/srs)
[ubuntu-20.04/media/srs](ubuntu-20.04/media/srs)|[openvisualcloud/xeon-ubuntu2204-media-srs](https://hub.docker.com/r/openvisualcloud/xeon-ubuntu2204-media-srs)
[openvisualcloud/xeon-ubuntu2004-media-srs](https://hub.docker.com/r/openvisualcloud/xeon-ubuntu2004-media-srs)|
+|media-svt|[ubuntu-22.04/media/svt](ubuntu-22.04/media/svt)
[ubuntu-20.04/media/svt](ubuntu-20.04/media/svt)|[openvisualcloud/xeon-ubuntu2204-media-svt](https://hub.docker.com/r/openvisualcloud/xeon-ubuntu2204-media-svt)
[openvisualcloud/xeon-ubuntu2004-media-svt](https://hub.docker.com/r/openvisualcloud/xeon-ubuntu2004-media-svt)|
+|service-owt-dev|[ubuntu-20.04/service/owt-dev](ubuntu-20.04/service/owt-dev)|[openvisualcloud/xeon-ubuntu2004-service-owt-dev](https://hub.docker.com/r/openvisualcloud/xeon-ubuntu2004-service-owt-dev)|
+|service-owt|[ubuntu-20.04/service/owt](ubuntu-20.04/service/owt)|[openvisualcloud/xeon-ubuntu2004-service-owt](https://hub.docker.com/r/openvisualcloud/xeon-ubuntu2004-service-owt)|
diff --git a/Xeon/centos-7/analytics/dev/Dockerfile b/Xeon/centos-7/analytics/dev/Dockerfile
deleted file mode 100644
index fe6677e3d..000000000
--- a/Xeon/centos-7/analytics/dev/Dockerfile
+++ /dev/null
@@ -1,519 +0,0 @@
-
-# BSD 3-Clause License
-#
-# Copyright (c) 2021, Intel Corporation
-# All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions are met:
-#
-# * Redistributions of source code must retain the above copyright notice, this
-# list of conditions and the following disclaimer.
-#
-# * Redistributions in binary form must reproduce the above copyright notice,
-# this list of conditions and the following disclaimer in the documentation
-# and/or other materials provided with the distribution.
-#
-# * Neither the name of the copyright holder nor the names of its
-# contributors may be used to endorse or promote products derived from
-# this software without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-# This file is automatically generated from .m4 template.
-# To update, modify the template and regenerate.
-FROM centos:7 AS build
-
-RUN yum install -y -q epel-release centos-release-scl && rm -rf /var/yum/cache/*
-
-RUN yum install -y -q dnf
-RUN dnf install -y https://download1.rpmfusion.org/free/el/rpmfusion-free-release-7.noarch.rpm && \
- dnf install -y https://download1.rpmfusion.org/nonfree/el/rpmfusion-nonfree-release-7.noarch.rpm
-
-
-RUN mkdir -p /opt/build && mkdir -p /opt/dist
-
-ENV PKG_CONFIG_PATH=/usr/local/lib64/pkgconfig
-
-RUN yum install -y wget gcc-c++ make libcurl-devel zlib-devel
-
-# build cmake
-ARG CMAKE_REPO=https://cmake.org/files
-RUN cd /opt/build && \
- wget -O - ${CMAKE_REPO}/v3.23/cmake-3.23.3.tar.gz | tar xz && \
- cd cmake-3.23.3 && \
- ./bootstrap --prefix=/usr/local --system-curl && \
- make -j$(nproc) && \
- make install
-
-RUN yum install -y wget make autoconf diffutils automake gcc-c++
-
-# build libogg
-ARG OGG_VER=1.3.5
-ARG LIBOGG_REPO=https://github.com/xiph/ogg/releases/download/v${OGG_VER}/libogg-1.3.5.tar.gz
-
-RUN cd /opt/build && \
- wget -O - ${LIBOGG_REPO} | tar xz && \
- cd libogg-1.3.5 && \
- ./configure --prefix=/usr/local --libdir=/usr/local/lib64 --enable-shared && \
- make -j$(nproc) && \
- make install DESTDIR=/opt/dist && \
- make install
-
-RUN yum install -y wget make autoconf diffutils automake
-
-# build libvorbis
-ARG VORBIS_VER=1.3.7
-ARG LIBVORBIS_REPO=https://github.com/xiph/vorbis/releases/download/v${VORBIS_VER}/libvorbis-1.3.7.tar.gz
-RUN cd /opt/build && \
- wget -O - ${LIBVORBIS_REPO} | tar xz && \
- cd libvorbis-1.3.7 && \
- ./configure --prefix=/usr/local --libdir=/usr/local/lib64 --enable-shared && \
- make -j$(nproc) && \
- make install DESTDIR=/opt/dist && \
- make install
-
-RUN yum install -y wget tar gcc-c++ make libtool autoconf
-
-# build openssl
-ARG OPENSSL_REPO=https://github.com/openssl/openssl/archive/OpenSSL_1_1_1q.tar.gz
-RUN cd /opt/build && \
- wget -O - ${OPENSSL_REPO} | tar xz && \
- cd openssl-OpenSSL_1_1_1q && \
- ./config no-ssl3 shared --prefix=/usr/local/ssl --openssldir=/usr/local/ssl -fPIC -Wl,-rpath=/usr/local/ssl/lib && \
- make depend && \
- make -s V=0 && \
- make install DESTDIR=/opt/dist && \
- (cd /opt/dist && mkdir -p ./usr/local/lib64/pkgconfig && mv ./usr/local/ssl/lib/pkgconfig/*.pc ./usr/local/lib64/pkgconfig/) && \
- make install && \
- (mkdir -p /usr/local/lib64/pkgconfig && mv /usr/local/ssl/lib/pkgconfig/*.pc /usr/local/lib64/pkgconfig/)
-
-RUN yum install -y wget gcc-c++ autoconf libtool make automake
-
-# build libfdkaac
-ARG LIBFDKAAC_REPO=https://github.com/mstorsjo/fdk-aac/archive/v2.0.2.tar.gz
-RUN cd /opt/build && \
- wget -O - ${LIBFDKAAC_REPO} | tar xz && \
- cd fdk-aac-2.0.2 && \
- ./autogen.sh && \
- ./configure --prefix=/usr/local --libdir=/usr/local/lib64 --enable-shared && \
- make -j$(nproc) && \
- make install DESTDIR=/opt/dist && \
- make install
-
-RUN yum install -y wget autoconf libtool make
-
-# build libopus
-ARG LIBOPUS_REPO=https://archive.mozilla.org/pub/opus/opus-1.3.1.tar.gz
-RUN cd /opt/build && \
- wget -O - ${LIBOPUS_REPO} | tar xz && \
- cd opus-1.3.1 && \
- ./configure --prefix=/usr/local --libdir=/usr/local/lib64 --enable-shared && \
- make -j$(nproc) && \
- make install DESTDIR=/opt/dist && \
- make install
-
-RUN yum install -y ca-certificates wget tar gcc-c++ make bzip2
-
-# build nasm
-#ARG NASM_REPO=https://www.nasm.us/pub/nasm/releasebuilds/NASM_VER/nasm-NASM_VER.tar.bz2
-# TODO: to revert to official nasm repo
-ARG NASM_REPO=https://github.com/OpenVisualCloud/Dockerfiles-Resources/raw/master/nasm-2.15.05.tar.bz2
-RUN cd /opt/build && \
- wget -O - ${NASM_REPO} | tar xj && \
- cd nasm-2.15.05 && \
- ./autogen.sh && \
- ./configure --prefix=/usr/local --libdir=/usr/local/lib64 && \
- make -j$(nproc) && \
- make install
-
-RUN yum install -y git make autoconf diffutils
-
-# build libvpx
-ARG LIBVPX_REPO=https://chromium.googlesource.com/webm/libvpx.git
-RUN cd /opt/build && \
- git clone ${LIBVPX_REPO} -b v1.12.0 --depth 1 && \
- cd libvpx && \
- ./configure --prefix=/usr/local --libdir=/usr/local/lib64 --enable-shared --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=nasm && \
- make -j$(nproc) && \
- make install DESTDIR=/opt/dist && \
- make install
-
-RUN yum install -y git make
-
-# build libaom
-ARG LIBAOM_REPO=https://aomedia.googlesource.com/aom
-RUN cd /opt/build && \
- git clone ${LIBAOM_REPO} -b v3.4.0 --depth 1 && \
- cd aom/build && \
- cmake -DBUILD_SHARED_LIBS=ON -DENABLE_NASM=ON -DENABLE_TESTS=OFF -DENABLE_DOCS=OFF -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_INSTALL_LIBDIR=lib64 .. && \
- make -j$(nproc) && \
- make install DESTDIR=/opt/dist && \
- make install
-
-RUN yum install -y meson wget tar gcc-c++
-
-# build dav1d
-ARG DAV1D_REPO=https://code.videolan.org/videolan/dav1d/-/archive/0.9.2/dav1d-0.9.2.tar.gz
-RUN cd /opt/build && \
- wget -O - ${DAV1D_REPO} | tar xz
-RUN cd /opt/build/dav1d-0.9.2 && \
- meson build --prefix=/usr/local --libdir /usr/local/lib64 --buildtype=plain && \
- cd build && \
- ninja install && \
- DESTDIR=/opt/dist ninja install
-
-RUN yum install -y wget tar gcc-c++ make
-
-# build yasm
-# ARG YASM_REPO=https://www.tortall.net/projects/yasm/releases/yasm-YASM_VER.tar.gz
-# At the time of 21.6 Release, yasm official site above had certificate problem, hence pulling from Dockerfiles-Resources.
-ARG YASM_REPO=https://github.com/OpenVisualCloud/Dockerfiles-Resources/raw/master/yasm-1.3.0.tar.gz
-
-RUN cd /opt/build && \
- wget -O - ${YASM_REPO} | tar xz
-RUN cd /opt/build/yasm-1.3.0 && \
- # TODO remove the line below whether no other component inside this project requires it.
- # `sed -i "s/) ytasm.*/)/" Makefile.in' && \
- ./configure --prefix=/usr/local --libdir=/usr/local/lib64 && \
- make -j $(nproc) && \
- make install
-
-RUN yum install -y wget tar gcc-c++ make git
-
-# build svt-hevc
-ARG SVT_HEVC_REPO=https://github.com/OpenVisualCloud/SVT-HEVC
-RUN cd /opt/build && \
- git clone -b v1.5.1 --depth 1 ${SVT_HEVC_REPO}
-RUN cd /opt/build/SVT-HEVC/Build/linux && \
- cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_INSTALL_LIBDIR=/usr/local/lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \
- make -j $(nproc) && \
- make install DESTDIR=/opt/dist && \
- make install
-
-RUN yum install -y wget tar gcc-c++ make git
-
-# build svt av1
-ARG SVT_AV1_REPO=https://gitlab.com/AOMediaCodec/SVT-AV1/-/archive/v1.2.0/SVT-AV1-v1.2.0.tar.gz
-RUN cd /opt/build && \
- wget -O - ${SVT_AV1_REPO} | tar zx && \
- mv SVT-AV1-v1.2.0 SVT-AV1 && \
- cd SVT-AV1/Build/linux && \
- cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_INSTALL_LIBDIR=/usr/local/lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \
- make -j $(nproc) && \
- sed -i "s/SvtAv1dec/SvtAv1Dec/" SvtAv1Dec.pc && \
- make install DESTDIR=/opt/dist && \
- make install
-
-RUN yum install -y wget tar gcc-c++ make git devtoolset-9
-
-# build svt vp9
-ARG SVT_VP9_REPO=https://github.com/OpenVisualCloud/SVT-VP9
-RUN cd /opt/build && \
- git clone ${SVT_VP9_REPO} -b v0.3.0 --depth 1 && \
- cd SVT-VP9/Build/linux && \
- (. /opt/rh/devtoolset-9/enable && cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_INSTALL_LIBDIR=/usr/local/lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \
- make -j $(nproc) ) && \
- make install DESTDIR=/opt/dist && \
- make install
-
-RUN yum install -y gcc gcc-c++ make wget python36-numpy ccache eigen3-devel devtoolset-9
-
-# build opencv
-ARG OPENCV_REPO=https://github.com/opencv/opencv
-RUN cd /opt/build && \
- git clone ${OPENCV_REPO} && \
- cd opencv && \
- git checkout 4.6.0
-# git cherry-pick OPENCV_455_FFMPEG5_SUPPORT
-# TODO: file a bug against opencv since they do not accept full libdir
-RUN cd /opt/build/opencv && mkdir build && cd build && \
- (. /opt/rh/devtoolset-9/enable && cmake \
- -DCMAKE_BUILD_TYPE=Release \
- -DCMAKE_INSTALL_PREFIX=/usr/local \
- -DCMAKE_INSTALL_LIBDIR=lib64 \
- -DOPENCV_GENERATE_PKGCONFIG=ON \
- -DBUILD_DOCS=OFF \
- -DBUILD_EXAMPLES=OFF \
- -DBUILD_PERF_TESTS=OFF \
- -DBUILD_TESTS=OFF \
- .. && \
- make -j $(nproc) && \
- make install DESTDIR=/opt/dist && \
- make install )
-
-RUN yum install -y gcc gcc-g++ git boost-devel gtk2-devel gtk3-devel libtool libusb-devel make python python2-yamlordereddictloader xz numactl-devel ocl-icd-devel opencl-headers
-
-# build dldt
-ARG DLDT_REPO=https://github.com/openvinotoolkit/openvino.git
-RUN git clone -b 2022.2.0 --depth 1 ${DLDT_REPO} /opt/build/openvino && \
- cd /opt/build/openvino && \
- git submodule update --init --recursive
-
-RUN cd /opt/build/openvino && \
- mkdir build && cd build && \
- (. /opt/rh/devtoolset-9/enable && cmake \
- -DCMAKE_INSTALL_PREFIX=/usr/local/openvino \
- -DENABLE_CPPLINT=OFF \
- -DDENABLE_INTEL_GNA=OFF \
- -DENABLE_VPU=OFF \
- -DENABLE_OPENCV=OFF \
- -DENABLE_MKL_DNN=ON \
- -DENABLE_CLDNN=ON \
- -DENABLE_SAMPLES=OFF \
- -DENABLE_TESTS=OFF \
- -DBUILD_TESTS=OFF \
- -DTREAT_WARNING_AS_ERROR=OFF \
- -DNGRAPH_WARNINGS_AS_ERRORS=OFF \
- -DNGRAPH_UNIT_TEST_ENABLE=OFF \
- -DNGRAPH_TEST_UTIL_ENABLE=OFF \
- .. && \
- make -j $(nproc) && \
- make install && \
- make install DESTDIR=/opt/dist )
-
-
-ARG OPENVINO_INSTALL_DIR=/usr/local/openvino
-ARG IE_INSTALL_DIR=${OPENVINO_INSTALL_DIR}/runtime/
-
-ENV InferenceEngine_DIR=${IE_INSTALL_DIR}/cmake
-ENV TBB_DIR=${IE_INSTALL_DIR}/3rdparty/tbb/cmake
-ENV ngraph_DIR=${IE_INSTALL_DIR}/cmake
-
-
-
-ARG LIBJSONC_REPO=https://github.com/json-c/json-c/archive/json-c-0.16-20220414.tar.gz
-RUN cd /opt/build && \
- wget -O - ${LIBJSONC_REPO} | tar xz && \
- cd json-c-json-c-0.16-20220414 && mkdir build && cd build && \
- cmake -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_INSTALL_LIBDIR=/usr/local/lib64 .. && \
- make -j$(nproc) && \
- make install DESTDIR=/opt/dist && \
- make install
-
-
-
-ARG KAFKA_VER=1.9.2
-ARG LIBRDKAFKA_REPO=https://github.com/edenhill/librdkafka/archive/v${KAFKA_VER}.tar.gz
-RUN cd /opt/build && \
- wget -O - ${LIBRDKAFKA_REPO} | tar xz && \
- cd librdkafka-1.9.2 && \
- ./configure --prefix=/usr/local --libdir=/usr/local/lib64 && \
- make -j$(nproc) && \
- make install DESTDIR=/opt/dist && \
- make install
-
-RUN yum install -y meson wget tar gcc-c++ glib2-devel bison flex gobject-introspection-devel
-
-# build gst-core
-ARG GSTCORE_REPO=https://github.com/GStreamer/gstreamer/archive/1.20.3.tar.gz
-RUN cd /opt/build && \
- wget -O - ${GSTCORE_REPO} | tar xz
-RUN cd /opt/build/gstreamer-1.20.3 && \
- meson build --libdir=/usr/local/lib64 --libexecdir=/usr/local/lib64 \
- --prefix=/usr/local --buildtype=plain \
- -Dexamples=disabled \
- -Dtests=disabled \
- -Ddoc=disabled \
- -Dintrospection=enabled \
- -Dgtk_doc=disabled \
- -Dpython=enabled \
- -Dgst-python:libpython-dir=/usr/local/lib64 \
- -Dcustom_subprojects="gst-libav,gst-plugins-base,gst-plugins-good,gst-plugins-bad,gst-plugins-ugly,gst-python" \
- -Dlibsoup:sysprof=disabled \
- -Dgpl=enabled && \
- cd build && \
- ninja install && \
- DESTDIR=/opt/dist ninja install
-
-RUN yum install -y wget tar gcc-c++ meson
-
-RUN cd /opt/build/SVT-HEVC/gstreamer-plugin && \
- meson build --libdir=/usr/local/lib64 --libexecdir=/usr/local/lib64 \
- -Dprefix=/usr/local --buildtype=plain && \
- cd build && ninja install && \
- DESTDIR=/opt/dist ninja install
-RUN cd /opt/build/SVT-AV1/gstreamer-plugin && \
- meson build --libdir=/usr/local/lib64 --libexecdir=/usr/local/lib64 \
- -Dprefix=/usr/local --buildtype=plain && \
- cd build && ninja install && \
- DESTDIR=/opt/dist ninja install
-RUN cd /opt/build/SVT-VP9/gstreamer-plugin && \
- meson build --libdir=/usr/local/lib64 --libexecdir=/usr/local/lib64 \
- -Dprefix=/usr/local --buildtype=plain && \
- cd build && ninja install && \
- DESTDIR=/opt/dist ninja install
-
-RUN yum install -y wget make openssl-devel
-
-# build libpahomqtt
-ARG PAHO_VER=1.3.10
-ARG LIBPAHO_REPO=https://github.com/eclipse/paho.mqtt.c/archive/v${PAHO_VER}.tar.gz
-RUN cd /opt/build && \
- wget -O - ${LIBPAHO_REPO} | tar -xz
-RUN cd /opt/build/paho.mqtt.c-1.3.10 && \
- make && \
- make install
-
-#Copy and link in runtime layer
-RUN cd /opt/build/paho.mqtt.c-1.3.10 && \
- cp build/output/libpaho-mqtt3c.so.1.3 /opt/dist//usr/local/lib64 && \
- cp build/output/libpaho-mqtt3cs.so.1.3 /opt/dist//usr/local/lib64 && \
- cp build/output/libpaho-mqtt3a.so.1.3 /opt/dist//usr/local/lib64 && \
- cp build/output/libpaho-mqtt3as.so.1.3 /opt/dist//usr/local/lib64 && \
- cp build/output/paho_c_version /opt/dist/usr/local/bin/ && \
- cp build/output/samples/paho_c_pub /opt/dist/usr/local/bin/ && \
- cp build/output/samples/paho_c_sub /opt/dist/usr/local/bin/ && \
- cp build/output/samples/paho_cs_pub /opt/dist/usr/local/bin/ && \
- cp build/output/samples/paho_cs_sub /opt/dist/usr/local/bin/ && \
- chmod 644 /opt/dist//usr/local/lib64/libpaho-mqtt3c.so.1.3 && \
- chmod 644 /opt/dist//usr/local/lib64/libpaho-mqtt3cs.so.1.3 && \
- chmod 644 /opt/dist//usr/local/lib64/libpaho-mqtt3a.so.1.3 && \
- chmod 644 /opt/dist//usr/local/lib64/libpaho-mqtt3as.so.1.3 && \
- ln /opt/dist//usr/local/lib64/libpaho-mqtt3c.so.1.3 /opt/dist//usr/local/lib64/libpaho-mqtt3c.so.1 && \
- ln /opt/dist//usr/local/lib64/libpaho-mqtt3cs.so.1.3 /opt/dist//usr/local/lib64/libpaho-mqtt3cs.so.1 && \
- ln /opt/dist//usr/local/lib64/libpaho-mqtt3a.so.1.3 /opt/dist//usr/local/lib64/libpaho-mqtt3a.so.1 && \
- ln /opt/dist//usr/local/lib64/libpaho-mqtt3as.so.1.3 /opt/dist//usr/local/lib64/libpaho-mqtt3as.so.1 && \
- ln /opt/dist//usr/local/lib64/libpaho-mqtt3c.so.1 /opt/dist//usr/local/lib64/libpaho-mqtt3c.so && \
- ln /opt/dist//usr/local/lib64/libpaho-mqtt3cs.so.1 /opt/dist//usr/local/lib64/libpaho-mqtt3cs.so && \
- ln /opt/dist//usr/local/lib64/libpaho-mqtt3a.so.1 /opt/dist//usr/local/lib64/libpaho-mqtt3a.so && \
- ln /opt/dist//usr/local/lib64/libpaho-mqtt3as.so.1 /opt/dist//usr/local/lib64/libpaho-mqtt3as.so && \
- cp src/MQTTAsync.h /opt/dist/usr/local/include/ && \
- cp src/MQTTClient.h /opt/dist/usr/local/include/ && \
- cp src/MQTTClientPersistence.h /opt/dist/usr/local/include/ && \
- cp src/MQTTProperties.h /opt/dist/usr/local/include/ && \
- cp src/MQTTReasonCodes.h /opt/dist/usr/local/include/ && \
- cp src/MQTTSubscribeOpts.h /opt/dist/usr/local/include/;
-
-RUN yum install -y git ocl-icd-devel opencl-headers pkg-config ca-certificates python36-gobject-devel python3-devel
-
-# build gst-plugin-gva
-# formerly https://github.com/opencv/gst-video-analytics
-ARG GVA_REPO=https://github.com/openvinotoolkit/dlstreamer_gst.git
-# TODO: This is a workaround for a bug in dlstreamer_gst
-ENV LIBRARY_PATH=/usr/local/lib64
-RUN git clone -b v1.6 --depth 1 $GVA_REPO /opt/build/gst-video-analytics && \
- cd /opt/build/gst-video-analytics && \
- git submodule update --init && \
- mkdir -p build && cd build && \
- (. /opt/rh/devtoolset-9/enable && cmake \
- -DVERSION_PATCH="$(git rev-list --count --first-parent HEAD)" \
- -DGIT_INFO=git_"$(git rev-parse --short HEAD)" \
- -DCMAKE_INSTALL_PREFIX=/usr/local \
- -DCMAKE_BUILD_TYPE=Release \
- -DDISABLE_SAMPLES=ON \
- -DENABLE_PAHO_INSTALLATION=ON \
- -DENABLE_RDKAFKA_INSTALLATION=ON \
- -DENABLE_VAAPI=OFF \
- -DENABLE_VAS_TRACKER=ON \
- -DENABLE_AUDIO_INFERENCE_ELEMENTS=OFF \
- -Dwith_drm=no \
- -Dwith_x11=no \
- -Dwith_glx=no \
- -Dwith_wayland=no \
- -Dwith_egl=no \
- .. \
- && make -j $(nproc) \
- && make install \
- && make install DESTDIR=/opt/dist )
-ENV LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/local/lib64/gstreamer-1.0/:/usr/local/lib/
-
-RUN cp -r /opt/build/gst-video-analytics/build/intel64/Release/lib/* /usr/local/lib64/gstreamer-1.0/.
-RUN cp -r /opt/build/gst-video-analytics/build/intel64/Release/lib/* /opt/dist//usr/local/lib64/gstreamer-1.0/.
-ENV GST_PLUGIN_PATH=${GST_PLUGIN_PATH}:/usr/local/lib64/gstreamer-1.0/
-
-RUN mkdir -p /opt/intel/dl_streamer/python && \
- cp -r /opt/build/gst-video-analytics/python/* /opt/intel/dl_streamer/python
-
-ENV PYTHONPATH=${PYTHONPATH}:/opt/intel/dl_streamer/python
-RUN mkdir -p /opt/dist/opt/intel/dl_streamer/python && \
- cp -r /opt/build/gst-video-analytics/python/* /opt/dist/opt/intel/dl_streamer/python
-
-RUN yum install -y wget patch git libv4l-devel libass-devel freetype-devel
-
-# build ffmpeg
-ARG FFMPEG_REPO=https://github.com/FFmpeg/FFmpeg/archive/n4.4.tar.gz
-RUN cd /opt/build && \
- wget -O - ${FFMPEG_REPO} | tar xz
-
-#ifdef(`BUILD_SVT_HEVC',`FFMPEG_PATCH_SVT_HEVC(BUILD_HOME/FFmpeg-FFMPEG_VER)')dnl
-#ifdef(`BUILD_SVT_VP9',`FFMPEG_PATCH_SVT_VP9(BUILD_HOME/FFmpeg-FFMPEG_VER)')dnl
-#ifdef(`BUILD_DLDT',`FFMPEG_PATCH_ANALYTICS(BUILD_HOME/FFmpeg-FFMPEG_VER)')dnl
-#ifdef(`BUILD_OPENVINO',`FFMPEG_PATCH_ANALYTICS(BUILD_HOME/FFmpeg-FFMPEG_VER)')dnl
-
-
-
-
-RUN cd /opt/build/FFmpeg-n4.4 && \
- ./configure --prefix=/usr/local --libdir=/usr/local/lib64 --enable-shared --disable-static --disable-doc --disable-htmlpages \
- --disable-manpages --disable-podpages --disable-txtpages \
- --extra-cflags=-w --enable-nonfree --enable-libass --enable-libfreetype --disable-xlib --disable-sdl2 --disable-hwaccels --disable-vaapi --enable-libv4l2 --enable-indev=v4l2 --enable-openssl --extra-ldflags=-Wl,-rpath=/usr/local/ssl/lib --enable-libfdk-aac --enable-libopus --enable-libvpx --enable-libvorbis --enable-libsvtav1 --enable-libaom --enable-libdav1d && make -j$(nproc) && \
- make install DESTDIR=/opt/dist && \
- make install
-
-RUN cd /opt/build/opencv/build && \
- rm -rf ./* && \
- (. /opt/rh/devtoolset-9/enable && cmake \
- -DCMAKE_BUILD_TYPE=Release \
- -DCMAKE_INSTALL_PREFIX=/usr/local \
- -DCMAKE_INSTALL_LIBDIR=lib64 \
- -DOPENCV_GENERATE_PKGCONFIG=ON \
- -DBUILD_DOCS=OFF \
- -DBUILD_EXAMPLES=OFF \
- -DBUILD_PERF_TESTS=OFF \
- -DBUILD_TESTS=OFF \
- .. && \
- cd modules/videoio && \
- make -j $(nproc) && \
- cp -f ../../lib/libopencv_videoio.so.4.6.0 /opt/dist/usr/local/lib64 )
-
-# cleanup
-RUN rm -rf /opt/dist/usr/local/share/doc /opt/dist/usr/local/share/gtk-doc
-RUN rm -rf /opt/dist/usr/local/share/man
-RUN rm -rf /opt/dist/usr/local/ssl/share/man
-RUN rm -rf /opt/dist/usr/local/ssl/share/doc
-RUN rm -rf /opt/dist/usr/local/openvino/inference-engine/external/tbb/doc
-
-FROM centos:7
-LABEL Description="This is the base image for Development purposes on centos 7"
-LABEL Vendor="Intel Corporation"
-WORKDIR /home
-
-RUN yum install -y -q epel-release && rm -rf /var/yum/cache/*
-
-RUN yum install -y -q dnf
-RUN dnf install -y https://download1.rpmfusion.org/free/el/rpmfusion-free-release-7.noarch.rpm && \
- dnf install -y https://download1.rpmfusion.org/nonfree/el/rpmfusion-nonfree-release-7.noarch.rpm
-
-# Install
-RUN yum install -y bash gtk3 numactl ocl-icd glib2 gobject-introspection libass python3-devel boost-regex python36-gobject python36-gobject-devel python36-gobject-base libv4l
-ENV PKG_CONFIG_PATH=/usr/local/lib64/pkgconfig
-
-COPY --from=build /opt/dist /
-RUN echo "/usr/local/lib64" >> /etc/ld.so.conf.d/all-libs.conf && ldconfig
-
-
-ENV InferenceEngine_DIR=/usr/local/openvino/runtime/cmake/
-ENV TBB_DIR=/usr/local/openvino/runtime/3rdparty/tbb/cmake
-ENV ngraph_DIR=/usr/local/openvino/runtime/cmake/
-ENV LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/local/openvino/runtime/lib/:/usr/local/openvino/runtime/3rdparty/tbb/lib/
-ENV GST_PLUGIN_PATH=/usr/local/lib64/gstreamer-1.0
-ENV GST_PLUGIN_SCANNER=/usr/local/lib64/gstreamer-1.0/gst-plugin-scanner
-
-# install DLDT
-ARG CUSTOM_IE_DIR=/usr/local/openvino/
-ARG CUSTOM_IE_LIBDIR=${CUSTOM_IE_DIR}/runtime/lib/intel64
-RUN printf "${CUSTOM_IE_LIBDIR}\n${CUSTOM_IE_DIR}/3rdparty/tbb/lib\n" >/etc/ld.so.conf.d/openvino.conf && ldconfig
-ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib64/gstreamer-1.0/
-ENV GI_TYPELIB_PATH=${GI_TYPELIB_PATH}:/usr/local/lib64/girepository-1.0/
-ENV PYTHONPATH=${PYTHONPATH}:/opt/intel/dl_streamer/python
-ENV GST_PLUGIN_PATH=${GST_PLUGIN_PATH}:/usr/local/lib64/gstreamer-1.0/
diff --git a/Xeon/centos-7/analytics/gst/Dockerfile b/Xeon/centos-7/analytics/gst/Dockerfile
deleted file mode 100644
index 9d6890380..000000000
--- a/Xeon/centos-7/analytics/gst/Dockerfile
+++ /dev/null
@@ -1,494 +0,0 @@
-
-# BSD 3-Clause License
-#
-# Copyright (c) 2021, Intel Corporation
-# All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions are met:
-#
-# * Redistributions of source code must retain the above copyright notice, this
-# list of conditions and the following disclaimer.
-#
-# * Redistributions in binary form must reproduce the above copyright notice,
-# this list of conditions and the following disclaimer in the documentation
-# and/or other materials provided with the distribution.
-#
-# * Neither the name of the copyright holder nor the names of its
-# contributors may be used to endorse or promote products derived from
-# this software without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-# This file is automatically generated from .m4 template.
-# To update, modify the template and regenerate.
-FROM centos:7 AS build
-
-RUN yum install -y -q epel-release centos-release-scl && rm -rf /var/yum/cache/*
-
-RUN yum install -y -q dnf
-RUN dnf install -y https://download1.rpmfusion.org/free/el/rpmfusion-free-release-7.noarch.rpm && \
- dnf install -y https://download1.rpmfusion.org/nonfree/el/rpmfusion-nonfree-release-7.noarch.rpm
-
-
-RUN mkdir -p /opt/build && mkdir -p /opt/dist
-
-ENV PKG_CONFIG_PATH=/usr/local/lib64/pkgconfig
-
-RUN yum install -y wget gcc-c++ make libcurl-devel zlib-devel
-
-# build cmake
-ARG CMAKE_REPO=https://cmake.org/files
-RUN cd /opt/build && \
- wget -O - ${CMAKE_REPO}/v3.23/cmake-3.23.3.tar.gz | tar xz && \
- cd cmake-3.23.3 && \
- ./bootstrap --prefix=/usr/local --system-curl && \
- make -j$(nproc) && \
- make install
-
-RUN yum install -y wget make autoconf diffutils automake gcc-c++
-
-# build libogg
-ARG OGG_VER=1.3.5
-ARG LIBOGG_REPO=https://github.com/xiph/ogg/releases/download/v${OGG_VER}/libogg-1.3.5.tar.gz
-
-RUN cd /opt/build && \
- wget -O - ${LIBOGG_REPO} | tar xz && \
- cd libogg-1.3.5 && \
- ./configure --prefix=/usr/local --libdir=/usr/local/lib64 --enable-shared && \
- make -j$(nproc) && \
- make install DESTDIR=/opt/dist && \
- make install
-
-RUN yum install -y wget make autoconf diffutils automake
-
-# build libvorbis
-ARG VORBIS_VER=1.3.7
-ARG LIBVORBIS_REPO=https://github.com/xiph/vorbis/releases/download/v${VORBIS_VER}/libvorbis-1.3.7.tar.gz
-RUN cd /opt/build && \
- wget -O - ${LIBVORBIS_REPO} | tar xz && \
- cd libvorbis-1.3.7 && \
- ./configure --prefix=/usr/local --libdir=/usr/local/lib64 --enable-shared && \
- make -j$(nproc) && \
- make install DESTDIR=/opt/dist && \
- make install
-
-RUN yum install -y wget gcc-c++ autoconf libtool make automake
-
-# build libfdkaac
-ARG LIBFDKAAC_REPO=https://github.com/mstorsjo/fdk-aac/archive/v2.0.2.tar.gz
-RUN cd /opt/build && \
- wget -O - ${LIBFDKAAC_REPO} | tar xz && \
- cd fdk-aac-2.0.2 && \
- ./autogen.sh && \
- ./configure --prefix=/usr/local --libdir=/usr/local/lib64 --enable-shared && \
- make -j$(nproc) && \
- make install DESTDIR=/opt/dist && \
- make install
-
-RUN yum install -y wget autoconf libtool make
-
-# build libopus
-ARG LIBOPUS_REPO=https://archive.mozilla.org/pub/opus/opus-1.3.1.tar.gz
-RUN cd /opt/build && \
- wget -O - ${LIBOPUS_REPO} | tar xz && \
- cd opus-1.3.1 && \
- ./configure --prefix=/usr/local --libdir=/usr/local/lib64 --enable-shared && \
- make -j$(nproc) && \
- make install DESTDIR=/opt/dist && \
- make install
-
-RUN yum install -y ca-certificates wget tar gcc-c++ make bzip2
-
-# build nasm
-#ARG NASM_REPO=https://www.nasm.us/pub/nasm/releasebuilds/NASM_VER/nasm-NASM_VER.tar.bz2
-# TODO: to revert to official nasm repo
-ARG NASM_REPO=https://github.com/OpenVisualCloud/Dockerfiles-Resources/raw/master/nasm-2.15.05.tar.bz2
-RUN cd /opt/build && \
- wget -O - ${NASM_REPO} | tar xj && \
- cd nasm-2.15.05 && \
- ./autogen.sh && \
- ./configure --prefix=/usr/local --libdir=/usr/local/lib64 && \
- make -j$(nproc) && \
- make install
-
-RUN yum install -y git make autoconf diffutils
-
-# build libvpx
-ARG LIBVPX_REPO=https://chromium.googlesource.com/webm/libvpx.git
-RUN cd /opt/build && \
- git clone ${LIBVPX_REPO} -b v1.12.0 --depth 1 && \
- cd libvpx && \
- ./configure --prefix=/usr/local --libdir=/usr/local/lib64 --enable-shared --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=nasm && \
- make -j$(nproc) && \
- make install DESTDIR=/opt/dist && \
- make install
-
-RUN yum install -y git make
-
-# build libaom
-ARG LIBAOM_REPO=https://aomedia.googlesource.com/aom
-RUN cd /opt/build && \
- git clone ${LIBAOM_REPO} -b v3.4.0 --depth 1 && \
- cd aom/build && \
- cmake -DBUILD_SHARED_LIBS=ON -DENABLE_NASM=ON -DENABLE_TESTS=OFF -DENABLE_DOCS=OFF -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_INSTALL_LIBDIR=lib64 .. && \
- make -j$(nproc) && \
- make install DESTDIR=/opt/dist && \
- make install
-
-RUN yum install -y git make autoconf diffutils
-
-# build libx264
-ARG LIBX264_REPO=https://github.com/mirror/x264
-RUN cd /opt/build && \
- git clone ${LIBX264_REPO} -b stable --depth 1 && \
- cd x264 && \
- ./configure --prefix=/usr/local --libdir=/usr/local/lib64 \
- --enable-shared && \
- make -j$(nproc) && \
- make install DESTDIR=/opt/dist && \
- make install
-
-RUN yum install -y wget tar gcc-c++ make
-
-# build yasm
-# ARG YASM_REPO=https://www.tortall.net/projects/yasm/releases/yasm-YASM_VER.tar.gz
-# At the time of 21.6 Release, yasm official site above had certificate problem, hence pulling from Dockerfiles-Resources.
-ARG YASM_REPO=https://github.com/OpenVisualCloud/Dockerfiles-Resources/raw/master/yasm-1.3.0.tar.gz
-
-RUN cd /opt/build && \
- wget -O - ${YASM_REPO} | tar xz
-RUN cd /opt/build/yasm-1.3.0 && \
- # TODO remove the line below whether no other component inside this project requires it.
- # `sed -i "s/) ytasm.*/)/" Makefile.in' && \
- ./configure --prefix=/usr/local --libdir=/usr/local/lib64 && \
- make -j $(nproc) && \
- make install
-
-RUN yum install -y make numactl-devel libpciaccess-devel
-
-# build libx265
-ARG LIBX265_REPO=https://github.com/videolan/x265/archive/3.4.tar.gz
-RUN cd /opt/build && \
- wget -O - ${LIBX265_REPO} | tar xz && \
- cd x265-3.4/build/linux && \
- cmake -DBUILD_SHARED_LIBS=ON -DCMAKE_INSTALL_PREFIX=/usr/local -DLIB_INSTALL_DIR=/usr/local/lib64 ../../source && \
- make -j$(nproc) && \
- make install DESTDIR=/opt/dist && \
- make install
-
-RUN yum install -y meson wget tar gcc-c++
-
-# build dav1d
-ARG DAV1D_REPO=https://code.videolan.org/videolan/dav1d/-/archive/0.9.2/dav1d-0.9.2.tar.gz
-RUN cd /opt/build && \
- wget -O - ${DAV1D_REPO} | tar xz
-RUN cd /opt/build/dav1d-0.9.2 && \
- meson build --prefix=/usr/local --libdir /usr/local/lib64 --buildtype=plain && \
- cd build && \
- ninja install && \
- DESTDIR=/opt/dist ninja install
-
-RUN yum install -y wget tar gcc-c++ make git
-
-# build svt-hevc
-ARG SVT_HEVC_REPO=https://github.com/OpenVisualCloud/SVT-HEVC
-RUN cd /opt/build && \
- git clone -b v1.5.1 --depth 1 ${SVT_HEVC_REPO}
-RUN cd /opt/build/SVT-HEVC/Build/linux && \
- cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_INSTALL_LIBDIR=/usr/local/lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \
- make -j $(nproc) && \
- make install DESTDIR=/opt/dist && \
- make install
-
-RUN yum install -y wget tar gcc-c++ make git
-
-# build svt av1
-ARG SVT_AV1_REPO=https://gitlab.com/AOMediaCodec/SVT-AV1/-/archive/v1.2.0/SVT-AV1-v1.2.0.tar.gz
-RUN cd /opt/build && \
- wget -O - ${SVT_AV1_REPO} | tar zx && \
- mv SVT-AV1-v1.2.0 SVT-AV1 && \
- cd SVT-AV1/Build/linux && \
- cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_INSTALL_LIBDIR=/usr/local/lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \
- make -j $(nproc) && \
- sed -i "s/SvtAv1dec/SvtAv1Dec/" SvtAv1Dec.pc && \
- make install DESTDIR=/opt/dist && \
- make install
-
-RUN yum install -y wget tar gcc-c++ make git devtoolset-9
-
-# build svt vp9
-ARG SVT_VP9_REPO=https://github.com/OpenVisualCloud/SVT-VP9
-RUN cd /opt/build && \
- git clone ${SVT_VP9_REPO} -b v0.3.0 --depth 1 && \
- cd SVT-VP9/Build/linux && \
- (. /opt/rh/devtoolset-9/enable && cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_INSTALL_LIBDIR=/usr/local/lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \
- make -j $(nproc) ) && \
- make install DESTDIR=/opt/dist && \
- make install
-
-RUN yum install -y gcc gcc-c++ make wget python36-numpy ccache eigen3-devel devtoolset-9
-
-# build opencv
-ARG OPENCV_REPO=https://github.com/opencv/opencv
-RUN cd /opt/build && \
- git clone ${OPENCV_REPO} && \
- cd opencv && \
- git checkout 4.6.0
-# git cherry-pick OPENCV_455_FFMPEG5_SUPPORT
-# TODO: file a bug against opencv since they do not accept full libdir
-RUN cd /opt/build/opencv && mkdir build && cd build && \
- (. /opt/rh/devtoolset-9/enable && cmake \
- -DCMAKE_BUILD_TYPE=Release \
- -DCMAKE_INSTALL_PREFIX=/usr/local \
- -DCMAKE_INSTALL_LIBDIR=lib64 \
- -DOPENCV_GENERATE_PKGCONFIG=ON \
- -DBUILD_DOCS=OFF \
- -DBUILD_EXAMPLES=OFF \
- -DBUILD_PERF_TESTS=OFF \
- -DBUILD_TESTS=OFF \
- .. && \
- make -j $(nproc) && \
- make install DESTDIR=/opt/dist && \
- make install )
-
-RUN yum install -y gcc gcc-g++ git boost-devel gtk2-devel gtk3-devel libtool libusb-devel make python python2-yamlordereddictloader xz numactl-devel ocl-icd-devel opencl-headers
-
-# build dldt
-ARG DLDT_REPO=https://github.com/openvinotoolkit/openvino.git
-RUN git clone -b 2022.2.0 --depth 1 ${DLDT_REPO} /opt/build/openvino && \
- cd /opt/build/openvino && \
- git submodule update --init --recursive
-
-RUN cd /opt/build/openvino && \
- mkdir build && cd build && \
- (. /opt/rh/devtoolset-9/enable && cmake \
- -DCMAKE_INSTALL_PREFIX=/usr/local/openvino \
- -DENABLE_CPPLINT=OFF \
- -DDENABLE_INTEL_GNA=OFF \
- -DENABLE_VPU=OFF \
- -DENABLE_OPENCV=OFF \
- -DENABLE_MKL_DNN=ON \
- -DENABLE_CLDNN=ON \
- -DENABLE_SAMPLES=OFF \
- -DENABLE_TESTS=OFF \
- -DBUILD_TESTS=OFF \
- -DTREAT_WARNING_AS_ERROR=OFF \
- -DNGRAPH_WARNINGS_AS_ERRORS=OFF \
- -DNGRAPH_UNIT_TEST_ENABLE=OFF \
- -DNGRAPH_TEST_UTIL_ENABLE=OFF \
- .. && \
- make -j $(nproc) && \
- make install && \
- make install DESTDIR=/opt/dist )
-
-
-ARG OPENVINO_INSTALL_DIR=/usr/local/openvino
-ARG IE_INSTALL_DIR=${OPENVINO_INSTALL_DIR}/runtime/
-
-ENV InferenceEngine_DIR=${IE_INSTALL_DIR}/cmake
-ENV TBB_DIR=${IE_INSTALL_DIR}/3rdparty/tbb/cmake
-ENV ngraph_DIR=${IE_INSTALL_DIR}/cmake
-
-
-
-ARG LIBJSONC_REPO=https://github.com/json-c/json-c/archive/json-c-0.16-20220414.tar.gz
-RUN cd /opt/build && \
- wget -O - ${LIBJSONC_REPO} | tar xz && \
- cd json-c-json-c-0.16-20220414 && mkdir build && cd build && \
- cmake -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_INSTALL_LIBDIR=/usr/local/lib64 .. && \
- make -j$(nproc) && \
- make install DESTDIR=/opt/dist && \
- make install
-
-
-
-ARG KAFKA_VER=1.9.2
-ARG LIBRDKAFKA_REPO=https://github.com/edenhill/librdkafka/archive/v${KAFKA_VER}.tar.gz
-RUN cd /opt/build && \
- wget -O - ${LIBRDKAFKA_REPO} | tar xz && \
- cd librdkafka-1.9.2 && \
- ./configure --prefix=/usr/local --libdir=/usr/local/lib64 && \
- make -j$(nproc) && \
- make install DESTDIR=/opt/dist && \
- make install
-
-RUN yum install -y meson wget tar gcc-c++ glib2-devel bison flex gobject-introspection-devel
-
-# build gst-core
-ARG GSTCORE_REPO=https://github.com/GStreamer/gstreamer/archive/1.20.3.tar.gz
-RUN cd /opt/build && \
- wget -O - ${GSTCORE_REPO} | tar xz
-RUN cd /opt/build/gstreamer-1.20.3 && \
- meson build --libdir=/usr/local/lib64 --libexecdir=/usr/local/lib64 \
- --prefix=/usr/local --buildtype=plain \
- -Dexamples=disabled \
- -Dtests=disabled \
- -Ddoc=disabled \
- -Dintrospection=enabled \
- -Dgtk_doc=disabled \
- -Dpython=enabled \
- -Dgst-python:libpython-dir=/usr/local/lib64 \
- -Dcustom_subprojects="gst-libav,gst-plugins-base,gst-plugins-good,gst-plugins-bad,gst-plugins-ugly,gst-python" \
- -Dlibsoup:sysprof=disabled \
- -Dgpl=enabled && \
- cd build && \
- ninja install && \
- DESTDIR=/opt/dist ninja install
-
-RUN yum install -y wget tar gcc-c++ meson
-
-RUN cd /opt/build/SVT-HEVC/gstreamer-plugin && \
- meson build --libdir=/usr/local/lib64 --libexecdir=/usr/local/lib64 \
- -Dprefix=/usr/local --buildtype=plain && \
- cd build && ninja install && \
- DESTDIR=/opt/dist ninja install
-RUN cd /opt/build/SVT-AV1/gstreamer-plugin && \
- meson build --libdir=/usr/local/lib64 --libexecdir=/usr/local/lib64 \
- -Dprefix=/usr/local --buildtype=plain && \
- cd build && ninja install && \
- DESTDIR=/opt/dist ninja install
-RUN cd /opt/build/SVT-VP9/gstreamer-plugin && \
- meson build --libdir=/usr/local/lib64 --libexecdir=/usr/local/lib64 \
- -Dprefix=/usr/local --buildtype=plain && \
- cd build && ninja install && \
- DESTDIR=/opt/dist ninja install
-
-RUN yum install -y wget make openssl-devel
-
-# build libpahomqtt
-ARG PAHO_VER=1.3.10
-ARG LIBPAHO_REPO=https://github.com/eclipse/paho.mqtt.c/archive/v${PAHO_VER}.tar.gz
-RUN cd /opt/build && \
- wget -O - ${LIBPAHO_REPO} | tar -xz
-RUN cd /opt/build/paho.mqtt.c-1.3.10 && \
- make && \
- make install
-
-#Copy and link in runtime layer
-RUN cd /opt/build/paho.mqtt.c-1.3.10 && \
- cp build/output/libpaho-mqtt3c.so.1.3 /opt/dist//usr/local/lib64 && \
- cp build/output/libpaho-mqtt3cs.so.1.3 /opt/dist//usr/local/lib64 && \
- cp build/output/libpaho-mqtt3a.so.1.3 /opt/dist//usr/local/lib64 && \
- cp build/output/libpaho-mqtt3as.so.1.3 /opt/dist//usr/local/lib64 && \
- cp build/output/paho_c_version /opt/dist/usr/local/bin/ && \
- cp build/output/samples/paho_c_pub /opt/dist/usr/local/bin/ && \
- cp build/output/samples/paho_c_sub /opt/dist/usr/local/bin/ && \
- cp build/output/samples/paho_cs_pub /opt/dist/usr/local/bin/ && \
- cp build/output/samples/paho_cs_sub /opt/dist/usr/local/bin/ && \
- chmod 644 /opt/dist//usr/local/lib64/libpaho-mqtt3c.so.1.3 && \
- chmod 644 /opt/dist//usr/local/lib64/libpaho-mqtt3cs.so.1.3 && \
- chmod 644 /opt/dist//usr/local/lib64/libpaho-mqtt3a.so.1.3 && \
- chmod 644 /opt/dist//usr/local/lib64/libpaho-mqtt3as.so.1.3 && \
- ln /opt/dist//usr/local/lib64/libpaho-mqtt3c.so.1.3 /opt/dist//usr/local/lib64/libpaho-mqtt3c.so.1 && \
- ln /opt/dist//usr/local/lib64/libpaho-mqtt3cs.so.1.3 /opt/dist//usr/local/lib64/libpaho-mqtt3cs.so.1 && \
- ln /opt/dist//usr/local/lib64/libpaho-mqtt3a.so.1.3 /opt/dist//usr/local/lib64/libpaho-mqtt3a.so.1 && \
- ln /opt/dist//usr/local/lib64/libpaho-mqtt3as.so.1.3 /opt/dist//usr/local/lib64/libpaho-mqtt3as.so.1 && \
- ln /opt/dist//usr/local/lib64/libpaho-mqtt3c.so.1 /opt/dist//usr/local/lib64/libpaho-mqtt3c.so && \
- ln /opt/dist//usr/local/lib64/libpaho-mqtt3cs.so.1 /opt/dist//usr/local/lib64/libpaho-mqtt3cs.so && \
- ln /opt/dist//usr/local/lib64/libpaho-mqtt3a.so.1 /opt/dist//usr/local/lib64/libpaho-mqtt3a.so && \
- ln /opt/dist//usr/local/lib64/libpaho-mqtt3as.so.1 /opt/dist//usr/local/lib64/libpaho-mqtt3as.so && \
- cp src/MQTTAsync.h /opt/dist/usr/local/include/ && \
- cp src/MQTTClient.h /opt/dist/usr/local/include/ && \
- cp src/MQTTClientPersistence.h /opt/dist/usr/local/include/ && \
- cp src/MQTTProperties.h /opt/dist/usr/local/include/ && \
- cp src/MQTTReasonCodes.h /opt/dist/usr/local/include/ && \
- cp src/MQTTSubscribeOpts.h /opt/dist/usr/local/include/;
-
-RUN yum install -y git ocl-icd-devel opencl-headers pkg-config ca-certificates python36-gobject-devel python3-devel
-
-# build gst-plugin-gva
-# formerly https://github.com/opencv/gst-video-analytics
-ARG GVA_REPO=https://github.com/openvinotoolkit/dlstreamer_gst.git
-# TODO: This is a workaround for a bug in dlstreamer_gst
-ENV LIBRARY_PATH=/usr/local/lib64
-RUN git clone -b v1.6 --depth 1 $GVA_REPO /opt/build/gst-video-analytics && \
- cd /opt/build/gst-video-analytics && \
- git submodule update --init && \
- mkdir -p build && cd build && \
- (. /opt/rh/devtoolset-9/enable && cmake \
- -DVERSION_PATCH="$(git rev-list --count --first-parent HEAD)" \
- -DGIT_INFO=git_"$(git rev-parse --short HEAD)" \
- -DCMAKE_INSTALL_PREFIX=/usr/local \
- -DCMAKE_BUILD_TYPE=Release \
- -DDISABLE_SAMPLES=ON \
- -DENABLE_PAHO_INSTALLATION=ON \
- -DENABLE_RDKAFKA_INSTALLATION=ON \
- -DENABLE_VAAPI=OFF \
- -DENABLE_VAS_TRACKER=ON \
- -DENABLE_AUDIO_INFERENCE_ELEMENTS=OFF \
- -Dwith_drm=no \
- -Dwith_x11=no \
- -Dwith_glx=no \
- -Dwith_wayland=no \
- -Dwith_egl=no \
- .. \
- && make -j $(nproc) \
- && make install \
- && make install DESTDIR=/opt/dist )
-ENV LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/local/lib64/gstreamer-1.0/:/usr/local/lib/
-
-RUN cp -r /opt/build/gst-video-analytics/build/intel64/Release/lib/* /usr/local/lib64/gstreamer-1.0/.
-RUN cp -r /opt/build/gst-video-analytics/build/intel64/Release/lib/* /opt/dist//usr/local/lib64/gstreamer-1.0/.
-ENV GST_PLUGIN_PATH=${GST_PLUGIN_PATH}:/usr/local/lib64/gstreamer-1.0/
-
-RUN mkdir -p /opt/intel/dl_streamer/python && \
- cp -r /opt/build/gst-video-analytics/python/* /opt/intel/dl_streamer/python
-
-ENV PYTHONPATH=${PYTHONPATH}:/opt/intel/dl_streamer/python
-RUN mkdir -p /opt/dist/opt/intel/dl_streamer/python && \
- cp -r /opt/build/gst-video-analytics/python/* /opt/dist/opt/intel/dl_streamer/python
-
-# cleanup
-RUN rm -rf /opt/dist/usr/local/include && \
- rm -rf /opt/dist/usr/local/lib64/pkgconfig && \
- find /opt/dist -name "*.a" -exec rm -f {} \; || echo ""
-RUN rm -rf /opt/dist/usr/local/share/doc /opt/dist/usr/local/share/gtk-doc
-RUN rm -rf /opt/dist/usr/local/share/man
-RUN cd /opt/dist/usr/local/openvino/runtime && \
- rm -rf /opt/dist/usr/local/lib64/pkgconfig/openvino.pc \
- include src share/*.cmake cmake lib/intel64/*.a external/tbb/include external/tbb/cmake
-RUN rm -rf /opt/dist/usr/local/openvino/inference-engine/external/tbb/doc
-
-FROM centos:7
-LABEL Description="This is the base image for Gstreamer centos 7"
-LABEL Vendor="Intel Corporation"
-WORKDIR /home
-
-RUN yum install -y -q epel-release && rm -rf /var/yum/cache/*
-
-RUN yum install -y -q dnf
-RUN dnf install -y https://download1.rpmfusion.org/free/el/rpmfusion-free-release-7.noarch.rpm && \
- dnf install -y https://download1.rpmfusion.org/nonfree/el/rpmfusion-nonfree-release-7.noarch.rpm
-
-# Install
-RUN yum install -y bash numactl-libs libpciaccess gtk3 numactl ocl-icd glib2 gobject-introspection libass python3-devel boost-regex python36-gobject python36-gobject-devel python36-gobject-base
-
-COPY --from=build /opt/dist /
-RUN echo "/usr/local/lib64" >> /etc/ld.so.conf.d/all-libs.conf && ldconfig
-
-
-ENV InferenceEngine_DIR=/usr/local/openvino/runtime/cmake/
-ENV TBB_DIR=/usr/local/openvino/runtime/3rdparty/tbb/cmake
-ENV ngraph_DIR=/usr/local/openvino/runtime/cmake/
-ENV LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/local/openvino/runtime/lib/:/usr/local/openvino/runtime/3rdparty/tbb/lib/
-ENV GST_PLUGIN_PATH=/usr/local/lib64/gstreamer-1.0
-ENV GST_PLUGIN_SCANNER=/usr/local/lib64/gstreamer-1.0/gst-plugin-scanner
-
-# install DLDT
-ARG CUSTOM_IE_DIR=/usr/local/openvino/
-ARG CUSTOM_IE_LIBDIR=${CUSTOM_IE_DIR}/runtime/lib/intel64
-RUN printf "${CUSTOM_IE_LIBDIR}\n${CUSTOM_IE_DIR}/3rdparty/tbb/lib\n" >/etc/ld.so.conf.d/openvino.conf && ldconfig
-ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib64/gstreamer-1.0/
-ENV GI_TYPELIB_PATH=${GI_TYPELIB_PATH}:/usr/local/lib64/girepository-1.0/
-ENV PYTHONPATH=${PYTHONPATH}:/opt/intel/dl_streamer/python
-ENV GST_PLUGIN_PATH=${GST_PLUGIN_PATH}:/usr/local/lib64/gstreamer-1.0/
diff --git a/Xeon/centos-7/media/dev/Dockerfile b/Xeon/centos-7/media/dev/Dockerfile
deleted file mode 100644
index d8368780c..000000000
--- a/Xeon/centos-7/media/dev/Dockerfile
+++ /dev/null
@@ -1,318 +0,0 @@
-
-
-# BSD 3-Clause License
-#
-# Copyright (c) 2021, Intel Corporation
-# All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions are met:
-#
-# * Redistributions of source code must retain the above copyright notice, this
-# list of conditions and the following disclaimer.
-#
-# * Redistributions in binary form must reproduce the above copyright notice,
-# this list of conditions and the following disclaimer in the documentation
-# and/or other materials provided with the distribution.
-#
-# * Neither the name of the copyright holder nor the names of its
-# contributors may be used to endorse or promote products derived from
-# this software without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-# This file is automatically generated from .m4 template.
-# To update, modify the template and regenerate.
-FROM centos:7 AS build
-
-RUN yum install -y -q epel-release centos-release-scl && rm -rf /var/yum/cache/*
-
-RUN yum install -y -q dnf
-RUN dnf install -y https://download1.rpmfusion.org/free/el/rpmfusion-free-release-7.noarch.rpm && \
- dnf install -y https://download1.rpmfusion.org/nonfree/el/rpmfusion-nonfree-release-7.noarch.rpm
-
-
-RUN mkdir -p /opt/build && mkdir -p /opt/dist
-
-ENV PKG_CONFIG_PATH=/usr/local/lib64/pkgconfig
-
-RUN yum install -y wget gcc-c++ make libcurl-devel zlib-devel
-
-# build cmake
-ARG CMAKE_REPO=https://cmake.org/files
-RUN cd /opt/build && \
- wget -O - ${CMAKE_REPO}/v3.23/cmake-3.23.3.tar.gz | tar xz && \
- cd cmake-3.23.3 && \
- ./bootstrap --prefix=/usr/local --system-curl && \
- make -j$(nproc) && \
- make install
-
-RUN yum install -y wget make autoconf diffutils automake gcc-c++
-
-# build libogg
-ARG OGG_VER=1.3.5
-ARG LIBOGG_REPO=https://github.com/xiph/ogg/releases/download/v${OGG_VER}/libogg-1.3.5.tar.gz
-
-RUN cd /opt/build && \
- wget -O - ${LIBOGG_REPO} | tar xz && \
- cd libogg-1.3.5 && \
- ./configure --prefix=/usr/local --libdir=/usr/local/lib64 --enable-shared && \
- make -j$(nproc) && \
- make install DESTDIR=/opt/dist && \
- make install
-
-RUN yum install -y wget make autoconf diffutils automake
-
-# build libvorbis
-ARG VORBIS_VER=1.3.7
-ARG LIBVORBIS_REPO=https://github.com/xiph/vorbis/releases/download/v${VORBIS_VER}/libvorbis-1.3.7.tar.gz
-RUN cd /opt/build && \
- wget -O - ${LIBVORBIS_REPO} | tar xz && \
- cd libvorbis-1.3.7 && \
- ./configure --prefix=/usr/local --libdir=/usr/local/lib64 --enable-shared && \
- make -j$(nproc) && \
- make install DESTDIR=/opt/dist && \
- make install
-
-RUN yum install -y wget tar gcc-c++ make libtool autoconf
-
-# build openssl
-ARG OPENSSL_REPO=https://github.com/openssl/openssl/archive/OpenSSL_1_1_1q.tar.gz
-RUN cd /opt/build && \
- wget -O - ${OPENSSL_REPO} | tar xz && \
- cd openssl-OpenSSL_1_1_1q && \
- ./config no-ssl3 shared --prefix=/usr/local/ssl --openssldir=/usr/local/ssl -fPIC -Wl,-rpath=/usr/local/ssl/lib && \
- make depend && \
- make -s V=0 && \
- make install DESTDIR=/opt/dist && \
- (cd /opt/dist && mkdir -p ./usr/local/lib64/pkgconfig && mv ./usr/local/ssl/lib/pkgconfig/*.pc ./usr/local/lib64/pkgconfig/) && \
- make install && \
- (mkdir -p /usr/local/lib64/pkgconfig && mv /usr/local/ssl/lib/pkgconfig/*.pc /usr/local/lib64/pkgconfig/)
-
-RUN yum install -y wget gcc-c++ autoconf libtool make automake
-
-# build libfdkaac
-ARG LIBFDKAAC_REPO=https://github.com/mstorsjo/fdk-aac/archive/v2.0.2.tar.gz
-RUN cd /opt/build && \
- wget -O - ${LIBFDKAAC_REPO} | tar xz && \
- cd fdk-aac-2.0.2 && \
- ./autogen.sh && \
- ./configure --prefix=/usr/local --libdir=/usr/local/lib64 --enable-shared && \
- make -j$(nproc) && \
- make install DESTDIR=/opt/dist && \
- make install
-
-RUN yum install -y wget autoconf libtool make
-
-# build libopus
-ARG LIBOPUS_REPO=https://archive.mozilla.org/pub/opus/opus-1.3.1.tar.gz
-RUN cd /opt/build && \
- wget -O - ${LIBOPUS_REPO} | tar xz && \
- cd opus-1.3.1 && \
- ./configure --prefix=/usr/local --libdir=/usr/local/lib64 --enable-shared && \
- make -j$(nproc) && \
- make install DESTDIR=/opt/dist && \
- make install
-
-RUN yum install -y ca-certificates wget tar gcc-c++ make bzip2
-
-# build nasm
-#ARG NASM_REPO=https://www.nasm.us/pub/nasm/releasebuilds/NASM_VER/nasm-NASM_VER.tar.bz2
-# TODO: to revert to official nasm repo
-ARG NASM_REPO=https://github.com/OpenVisualCloud/Dockerfiles-Resources/raw/master/nasm-2.15.05.tar.bz2
-RUN cd /opt/build && \
- wget -O - ${NASM_REPO} | tar xj && \
- cd nasm-2.15.05 && \
- ./autogen.sh && \
- ./configure --prefix=/usr/local --libdir=/usr/local/lib64 && \
- make -j$(nproc) && \
- make install
-
-RUN yum install -y git make autoconf diffutils
-
-# build libvpx
-ARG LIBVPX_REPO=https://chromium.googlesource.com/webm/libvpx.git
-RUN cd /opt/build && \
- git clone ${LIBVPX_REPO} -b v1.12.0 --depth 1 && \
- cd libvpx && \
- ./configure --prefix=/usr/local --libdir=/usr/local/lib64 --enable-shared --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=nasm && \
- make -j$(nproc) && \
- make install DESTDIR=/opt/dist && \
- make install
-
-RUN yum install -y git make
-
-# build libaom
-ARG LIBAOM_REPO=https://aomedia.googlesource.com/aom
-RUN cd /opt/build && \
- git clone ${LIBAOM_REPO} -b v3.4.0 --depth 1 && \
- cd aom/build && \
- cmake -DBUILD_SHARED_LIBS=ON -DENABLE_NASM=ON -DENABLE_TESTS=OFF -DENABLE_DOCS=OFF -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_INSTALL_LIBDIR=lib64 .. && \
- make -j$(nproc) && \
- make install DESTDIR=/opt/dist && \
- make install
-
-RUN yum install -y meson wget tar gcc-c++
-
-# build dav1d
-ARG DAV1D_REPO=https://code.videolan.org/videolan/dav1d/-/archive/0.9.2/dav1d-0.9.2.tar.gz
-RUN cd /opt/build && \
- wget -O - ${DAV1D_REPO} | tar xz
-RUN cd /opt/build/dav1d-0.9.2 && \
- meson build --prefix=/usr/local --libdir /usr/local/lib64 --buildtype=plain && \
- cd build && \
- ninja install && \
- DESTDIR=/opt/dist ninja install
-
-RUN yum install -y wget tar gcc-c++ make
-
-# build yasm
-# ARG YASM_REPO=https://www.tortall.net/projects/yasm/releases/yasm-YASM_VER.tar.gz
-# At the time of 21.6 Release, yasm official site above had certificate problem, hence pulling from Dockerfiles-Resources.
-ARG YASM_REPO=https://github.com/OpenVisualCloud/Dockerfiles-Resources/raw/master/yasm-1.3.0.tar.gz
-
-RUN cd /opt/build && \
- wget -O - ${YASM_REPO} | tar xz
-RUN cd /opt/build/yasm-1.3.0 && \
- # TODO remove the line below whether no other component inside this project requires it.
- # `sed -i "s/) ytasm.*/)/" Makefile.in' && \
- ./configure --prefix=/usr/local --libdir=/usr/local/lib64 && \
- make -j $(nproc) && \
- make install
-
-RUN yum install -y wget tar gcc-c++ make git
-
-# build svt-hevc
-ARG SVT_HEVC_REPO=https://github.com/OpenVisualCloud/SVT-HEVC
-RUN cd /opt/build && \
- git clone -b v1.5.1 --depth 1 ${SVT_HEVC_REPO}
-RUN cd /opt/build/SVT-HEVC/Build/linux && \
- cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_INSTALL_LIBDIR=/usr/local/lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \
- make -j $(nproc) && \
- make install DESTDIR=/opt/dist && \
- make install
-
-RUN yum install -y wget tar gcc-c++ make git
-
-# build svt av1
-ARG SVT_AV1_REPO=https://gitlab.com/AOMediaCodec/SVT-AV1/-/archive/v1.2.0/SVT-AV1-v1.2.0.tar.gz
-RUN cd /opt/build && \
- wget -O - ${SVT_AV1_REPO} | tar zx && \
- mv SVT-AV1-v1.2.0 SVT-AV1 && \
- cd SVT-AV1/Build/linux && \
- cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_INSTALL_LIBDIR=/usr/local/lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \
- make -j $(nproc) && \
- sed -i "s/SvtAv1dec/SvtAv1Dec/" SvtAv1Dec.pc && \
- make install DESTDIR=/opt/dist && \
- make install
-
-RUN yum install -y wget tar gcc-c++ make git devtoolset-9
-
-# build svt vp9
-ARG SVT_VP9_REPO=https://github.com/OpenVisualCloud/SVT-VP9
-RUN cd /opt/build && \
- git clone ${SVT_VP9_REPO} -b v0.3.0 --depth 1 && \
- cd SVT-VP9/Build/linux && \
- (. /opt/rh/devtoolset-9/enable && cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_INSTALL_LIBDIR=/usr/local/lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \
- make -j $(nproc) ) && \
- make install DESTDIR=/opt/dist && \
- make install
-
-RUN yum install -y meson wget tar gcc-c++ glib2-devel bison flex gobject-introspection-devel
-
-# build gst-core
-ARG GSTCORE_REPO=https://github.com/GStreamer/gstreamer/archive/1.20.3.tar.gz
-RUN cd /opt/build && \
- wget -O - ${GSTCORE_REPO} | tar xz
-RUN cd /opt/build/gstreamer-1.20.3 && \
- meson build --libdir=/usr/local/lib64 --libexecdir=/usr/local/lib64 \
- --prefix=/usr/local --buildtype=plain \
- -Dexamples=disabled \
- -Dtests=disabled \
- -Ddoc=disabled \
- -Dintrospection=enabled \
- -Dgtk_doc=disabled \
- -Dpython=enabled \
- -Dgst-python:libpython-dir=/usr/local/lib64 \
- -Dcustom_subprojects="gst-libav,gst-plugins-base,gst-plugins-good,gst-plugins-bad,gst-plugins-ugly,gst-python" \
- -Dlibsoup:sysprof=disabled \
- -Dgpl=enabled && \
- cd build && \
- ninja install && \
- DESTDIR=/opt/dist ninja install
-
-RUN yum install -y wget tar gcc-c++ meson
-
-RUN cd /opt/build/SVT-HEVC/gstreamer-plugin && \
- meson build --libdir=/usr/local/lib64 --libexecdir=/usr/local/lib64 \
- -Dprefix=/usr/local --buildtype=plain && \
- cd build && ninja install && \
- DESTDIR=/opt/dist ninja install
-RUN cd /opt/build/SVT-AV1/gstreamer-plugin && \
- meson build --libdir=/usr/local/lib64 --libexecdir=/usr/local/lib64 \
- -Dprefix=/usr/local --buildtype=plain && \
- cd build && ninja install && \
- DESTDIR=/opt/dist ninja install
-RUN cd /opt/build/SVT-VP9/gstreamer-plugin && \
- meson build --libdir=/usr/local/lib64 --libexecdir=/usr/local/lib64 \
- -Dprefix=/usr/local --buildtype=plain && \
- cd build && ninja install && \
- DESTDIR=/opt/dist ninja install
-
-RUN yum install -y wget patch git libv4l-devel libass-devel freetype-devel
-
-# build ffmpeg
-ARG FFMPEG_REPO=https://github.com/FFmpeg/FFmpeg/archive/n4.4.tar.gz
-RUN cd /opt/build && \
- wget -O - ${FFMPEG_REPO} | tar xz
-
-#ifdef(`BUILD_SVT_HEVC',`FFMPEG_PATCH_SVT_HEVC(BUILD_HOME/FFmpeg-FFMPEG_VER)')dnl
-#ifdef(`BUILD_SVT_VP9',`FFMPEG_PATCH_SVT_VP9(BUILD_HOME/FFmpeg-FFMPEG_VER)')dnl
-#ifdef(`BUILD_DLDT',`FFMPEG_PATCH_ANALYTICS(BUILD_HOME/FFmpeg-FFMPEG_VER)')dnl
-#ifdef(`BUILD_OPENVINO',`FFMPEG_PATCH_ANALYTICS(BUILD_HOME/FFmpeg-FFMPEG_VER)')dnl
-
-
-
-
-RUN cd /opt/build/FFmpeg-n4.4 && \
- ./configure --prefix=/usr/local --libdir=/usr/local/lib64 --enable-shared --disable-static --disable-doc --disable-htmlpages \
- --disable-manpages --disable-podpages --disable-txtpages \
- --extra-cflags=-w --enable-nonfree --enable-libass --enable-libfreetype --disable-xlib --disable-sdl2 --disable-hwaccels --disable-vaapi --enable-libv4l2 --enable-indev=v4l2 --enable-openssl --extra-ldflags=-Wl,-rpath=/usr/local/ssl/lib --enable-libfdk-aac --enable-libopus --enable-libvpx --enable-libvorbis --enable-libsvtav1 --enable-libaom --enable-libdav1d && make -j$(nproc) && \
- make install DESTDIR=/opt/dist && \
- make install
-
-# cleanup
-RUN rm -rf /opt/dist/usr/local/share/doc /opt/dist/usr/local/share/gtk-doc
-RUN rm -rf /opt/dist/usr/local/share/man
-RUN rm -rf /opt/dist/usr/local/ssl/share/man
-RUN rm -rf /opt/dist/usr/local/ssl/share/doc
-
-FROM centos:7
-LABEL Description="This is the image for FFMPEG and Gstreamer application for media development on centos 7"
-LABEL Vendor="Intel Corporation"
-WORKDIR /home
-
-RUN yum install -y -q epel-release && rm -rf /var/yum/cache/*
-
-RUN yum install -y -q dnf
-RUN dnf install -y https://download1.rpmfusion.org/free/el/rpmfusion-free-release-7.noarch.rpm && \
- dnf install -y https://download1.rpmfusion.org/nonfree/el/rpmfusion-nonfree-release-7.noarch.rpm
-
-# Install
-RUN yum install -y bash glib2 gobject-introspection libv4l libass
-ENV PKG_CONFIG_PATH=/usr/local/lib64/pkgconfig
-
-COPY --from=build /opt/dist /
-RUN echo "/usr/local/lib64" >> /etc/ld.so.conf.d/all-libs.conf && ldconfig
-
-ENV GST_PLUGIN_PATH=/usr/local/lib64/gstreamer-1.0
-ENV GST_PLUGIN_SCANNER=/usr/local/lib64/gstreamer-1.0/gst-plugin-scanner
diff --git a/Xeon/centos-7/media/gst/Dockerfile b/Xeon/centos-7/media/gst/Dockerfile
deleted file mode 100644
index c7a7c95e2..000000000
--- a/Xeon/centos-7/media/gst/Dockerfile
+++ /dev/null
@@ -1,306 +0,0 @@
-
-
-# BSD 3-Clause License
-#
-# Copyright (c) 2021, Intel Corporation
-# All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions are met:
-#
-# * Redistributions of source code must retain the above copyright notice, this
-# list of conditions and the following disclaimer.
-#
-# * Redistributions in binary form must reproduce the above copyright notice,
-# this list of conditions and the following disclaimer in the documentation
-# and/or other materials provided with the distribution.
-#
-# * Neither the name of the copyright holder nor the names of its
-# contributors may be used to endorse or promote products derived from
-# this software without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-# This file is automatically generated from .m4 template.
-# To update, modify the template and regenerate.
-FROM centos:7 AS build
-
-RUN yum install -y -q epel-release centos-release-scl && rm -rf /var/yum/cache/*
-
-RUN yum install -y -q dnf
-RUN dnf install -y https://download1.rpmfusion.org/free/el/rpmfusion-free-release-7.noarch.rpm && \
- dnf install -y https://download1.rpmfusion.org/nonfree/el/rpmfusion-nonfree-release-7.noarch.rpm
-
-
-RUN mkdir -p /opt/build && mkdir -p /opt/dist
-
-ENV PKG_CONFIG_PATH=/usr/local/lib64/pkgconfig
-
-RUN yum install -y wget gcc-c++ make libcurl-devel zlib-devel
-
-# build cmake
-ARG CMAKE_REPO=https://cmake.org/files
-RUN cd /opt/build && \
- wget -O - ${CMAKE_REPO}/v3.23/cmake-3.23.3.tar.gz | tar xz && \
- cd cmake-3.23.3 && \
- ./bootstrap --prefix=/usr/local --system-curl && \
- make -j$(nproc) && \
- make install
-
-RUN yum install -y wget make autoconf diffutils automake gcc-c++
-
-# build libogg
-ARG OGG_VER=1.3.5
-ARG LIBOGG_REPO=https://github.com/xiph/ogg/releases/download/v${OGG_VER}/libogg-1.3.5.tar.gz
-
-RUN cd /opt/build && \
- wget -O - ${LIBOGG_REPO} | tar xz && \
- cd libogg-1.3.5 && \
- ./configure --prefix=/usr/local --libdir=/usr/local/lib64 --enable-shared && \
- make -j$(nproc) && \
- make install DESTDIR=/opt/dist && \
- make install
-
-RUN yum install -y wget make autoconf diffutils automake
-
-# build libvorbis
-ARG VORBIS_VER=1.3.7
-ARG LIBVORBIS_REPO=https://github.com/xiph/vorbis/releases/download/v${VORBIS_VER}/libvorbis-1.3.7.tar.gz
-RUN cd /opt/build && \
- wget -O - ${LIBVORBIS_REPO} | tar xz && \
- cd libvorbis-1.3.7 && \
- ./configure --prefix=/usr/local --libdir=/usr/local/lib64 --enable-shared && \
- make -j$(nproc) && \
- make install DESTDIR=/opt/dist && \
- make install
-
-RUN yum install -y wget gcc-c++ autoconf libtool make automake
-
-# build libfdkaac
-ARG LIBFDKAAC_REPO=https://github.com/mstorsjo/fdk-aac/archive/v2.0.2.tar.gz
-RUN cd /opt/build && \
- wget -O - ${LIBFDKAAC_REPO} | tar xz && \
- cd fdk-aac-2.0.2 && \
- ./autogen.sh && \
- ./configure --prefix=/usr/local --libdir=/usr/local/lib64 --enable-shared && \
- make -j$(nproc) && \
- make install DESTDIR=/opt/dist && \
- make install
-
-RUN yum install -y wget autoconf libtool make
-
-# build libopus
-ARG LIBOPUS_REPO=https://archive.mozilla.org/pub/opus/opus-1.3.1.tar.gz
-RUN cd /opt/build && \
- wget -O - ${LIBOPUS_REPO} | tar xz && \
- cd opus-1.3.1 && \
- ./configure --prefix=/usr/local --libdir=/usr/local/lib64 --enable-shared && \
- make -j$(nproc) && \
- make install DESTDIR=/opt/dist && \
- make install
-
-RUN yum install -y ca-certificates wget tar gcc-c++ make bzip2
-
-# build nasm
-#ARG NASM_REPO=https://www.nasm.us/pub/nasm/releasebuilds/NASM_VER/nasm-NASM_VER.tar.bz2
-# TODO: to revert to official nasm repo
-ARG NASM_REPO=https://github.com/OpenVisualCloud/Dockerfiles-Resources/raw/master/nasm-2.15.05.tar.bz2
-RUN cd /opt/build && \
- wget -O - ${NASM_REPO} | tar xj && \
- cd nasm-2.15.05 && \
- ./autogen.sh && \
- ./configure --prefix=/usr/local --libdir=/usr/local/lib64 && \
- make -j$(nproc) && \
- make install
-
-RUN yum install -y git make autoconf diffutils
-
-# build libvpx
-ARG LIBVPX_REPO=https://chromium.googlesource.com/webm/libvpx.git
-RUN cd /opt/build && \
- git clone ${LIBVPX_REPO} -b v1.12.0 --depth 1 && \
- cd libvpx && \
- ./configure --prefix=/usr/local --libdir=/usr/local/lib64 --enable-shared --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=nasm && \
- make -j$(nproc) && \
- make install DESTDIR=/opt/dist && \
- make install
-
-RUN yum install -y git make
-
-# build libaom
-ARG LIBAOM_REPO=https://aomedia.googlesource.com/aom
-RUN cd /opt/build && \
- git clone ${LIBAOM_REPO} -b v3.4.0 --depth 1 && \
- cd aom/build && \
- cmake -DBUILD_SHARED_LIBS=ON -DENABLE_NASM=ON -DENABLE_TESTS=OFF -DENABLE_DOCS=OFF -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_INSTALL_LIBDIR=lib64 .. && \
- make -j$(nproc) && \
- make install DESTDIR=/opt/dist && \
- make install
-
-RUN yum install -y git make autoconf diffutils
-
-# build libx264
-ARG LIBX264_REPO=https://github.com/mirror/x264
-RUN cd /opt/build && \
- git clone ${LIBX264_REPO} -b stable --depth 1 && \
- cd x264 && \
- ./configure --prefix=/usr/local --libdir=/usr/local/lib64 \
- --enable-shared && \
- make -j$(nproc) && \
- make install DESTDIR=/opt/dist && \
- make install
-
-RUN yum install -y wget tar gcc-c++ make
-
-# build yasm
-# ARG YASM_REPO=https://www.tortall.net/projects/yasm/releases/yasm-YASM_VER.tar.gz
-# At the time of 21.6 Release, yasm official site above had certificate problem, hence pulling from Dockerfiles-Resources.
-ARG YASM_REPO=https://github.com/OpenVisualCloud/Dockerfiles-Resources/raw/master/yasm-1.3.0.tar.gz
-
-RUN cd /opt/build && \
- wget -O - ${YASM_REPO} | tar xz
-RUN cd /opt/build/yasm-1.3.0 && \
- # TODO remove the line below whether no other component inside this project requires it.
- # `sed -i "s/) ytasm.*/)/" Makefile.in' && \
- ./configure --prefix=/usr/local --libdir=/usr/local/lib64 && \
- make -j $(nproc) && \
- make install
-
-RUN yum install -y make numactl-devel libpciaccess-devel
-
-# build libx265
-ARG LIBX265_REPO=https://github.com/videolan/x265/archive/3.4.tar.gz
-RUN cd /opt/build && \
- wget -O - ${LIBX265_REPO} | tar xz && \
- cd x265-3.4/build/linux && \
- cmake -DBUILD_SHARED_LIBS=ON -DCMAKE_INSTALL_PREFIX=/usr/local -DLIB_INSTALL_DIR=/usr/local/lib64 ../../source && \
- make -j$(nproc) && \
- make install DESTDIR=/opt/dist && \
- make install
-
-RUN yum install -y meson wget tar gcc-c++
-
-# build dav1d
-ARG DAV1D_REPO=https://code.videolan.org/videolan/dav1d/-/archive/0.9.2/dav1d-0.9.2.tar.gz
-RUN cd /opt/build && \
- wget -O - ${DAV1D_REPO} | tar xz
-RUN cd /opt/build/dav1d-0.9.2 && \
- meson build --prefix=/usr/local --libdir /usr/local/lib64 --buildtype=plain && \
- cd build && \
- ninja install && \
- DESTDIR=/opt/dist ninja install
-
-RUN yum install -y wget tar gcc-c++ make git
-
-# build svt-hevc
-ARG SVT_HEVC_REPO=https://github.com/OpenVisualCloud/SVT-HEVC
-RUN cd /opt/build && \
- git clone -b v1.5.1 --depth 1 ${SVT_HEVC_REPO}
-RUN cd /opt/build/SVT-HEVC/Build/linux && \
- cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_INSTALL_LIBDIR=/usr/local/lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \
- make -j $(nproc) && \
- make install DESTDIR=/opt/dist && \
- make install
-
-RUN yum install -y wget tar gcc-c++ make git
-
-# build svt av1
-ARG SVT_AV1_REPO=https://gitlab.com/AOMediaCodec/SVT-AV1/-/archive/v1.2.0/SVT-AV1-v1.2.0.tar.gz
-RUN cd /opt/build && \
- wget -O - ${SVT_AV1_REPO} | tar zx && \
- mv SVT-AV1-v1.2.0 SVT-AV1 && \
- cd SVT-AV1/Build/linux && \
- cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_INSTALL_LIBDIR=/usr/local/lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \
- make -j $(nproc) && \
- sed -i "s/SvtAv1dec/SvtAv1Dec/" SvtAv1Dec.pc && \
- make install DESTDIR=/opt/dist && \
- make install
-
-RUN yum install -y wget tar gcc-c++ make git devtoolset-9
-
-# build svt vp9
-ARG SVT_VP9_REPO=https://github.com/OpenVisualCloud/SVT-VP9
-RUN cd /opt/build && \
- git clone ${SVT_VP9_REPO} -b v0.3.0 --depth 1 && \
- cd SVT-VP9/Build/linux && \
- (. /opt/rh/devtoolset-9/enable && cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_INSTALL_LIBDIR=/usr/local/lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \
- make -j $(nproc) ) && \
- make install DESTDIR=/opt/dist && \
- make install
-
-RUN yum install -y meson wget tar gcc-c++ glib2-devel bison flex gobject-introspection-devel
-
-# build gst-core
-ARG GSTCORE_REPO=https://github.com/GStreamer/gstreamer/archive/1.20.3.tar.gz
-RUN cd /opt/build && \
- wget -O - ${GSTCORE_REPO} | tar xz
-RUN cd /opt/build/gstreamer-1.20.3 && \
- meson build --libdir=/usr/local/lib64 --libexecdir=/usr/local/lib64 \
- --prefix=/usr/local --buildtype=plain \
- -Dexamples=disabled \
- -Dtests=disabled \
- -Ddoc=disabled \
- -Dintrospection=enabled \
- -Dgtk_doc=disabled \
- -Dpython=enabled \
- -Dgst-python:libpython-dir=/usr/local/lib64 \
- -Dcustom_subprojects="gst-libav,gst-plugins-base,gst-plugins-good,gst-plugins-bad,gst-plugins-ugly,gst-python" \
- -Dlibsoup:sysprof=disabled \
- -Dgpl=enabled && \
- cd build && \
- ninja install && \
- DESTDIR=/opt/dist ninja install
-
-RUN yum install -y wget tar gcc-c++ meson
-
-RUN cd /opt/build/SVT-HEVC/gstreamer-plugin && \
- meson build --libdir=/usr/local/lib64 --libexecdir=/usr/local/lib64 \
- -Dprefix=/usr/local --buildtype=plain && \
- cd build && ninja install && \
- DESTDIR=/opt/dist ninja install
-RUN cd /opt/build/SVT-AV1/gstreamer-plugin && \
- meson build --libdir=/usr/local/lib64 --libexecdir=/usr/local/lib64 \
- -Dprefix=/usr/local --buildtype=plain && \
- cd build && ninja install && \
- DESTDIR=/opt/dist ninja install
-RUN cd /opt/build/SVT-VP9/gstreamer-plugin && \
- meson build --libdir=/usr/local/lib64 --libexecdir=/usr/local/lib64 \
- -Dprefix=/usr/local --buildtype=plain && \
- cd build && ninja install && \
- DESTDIR=/opt/dist ninja install
-
-# cleanup
-RUN rm -rf /opt/dist/usr/local/include && \
- rm -rf /opt/dist/usr/local/lib64/pkgconfig && \
- find /opt/dist -name "*.a" -exec rm -f {} \; || echo ""
-RUN rm -rf /opt/dist/usr/local/share/doc /opt/dist/usr/local/share/gtk-doc
-RUN rm -rf /opt/dist/usr/local/share/man
-
-FROM centos:7
-LABEL Description="This is the base image for Gstreamer centos 7"
-LABEL Vendor="Intel Corporation"
-WORKDIR /home
-
-RUN yum install -y -q epel-release && rm -rf /var/yum/cache/*
-
-RUN yum install -y -q dnf
-RUN dnf install -y https://download1.rpmfusion.org/free/el/rpmfusion-free-release-7.noarch.rpm && \
- dnf install -y https://download1.rpmfusion.org/nonfree/el/rpmfusion-nonfree-release-7.noarch.rpm
-
-# Install
-RUN yum install -y bash numactl-libs libpciaccess glib2 gobject-introspection
-
-COPY --from=build /opt/dist /
-RUN echo "/usr/local/lib64" >> /etc/ld.so.conf.d/all-libs.conf && ldconfig
-
-ENV GST_PLUGIN_PATH=/usr/local/lib64/gstreamer-1.0
-ENV GST_PLUGIN_SCANNER=/usr/local/lib64/gstreamer-1.0/gst-plugin-scanner
diff --git a/Xeon/centos-7/service/owt-dev/Dockerfile b/Xeon/centos-7/service/owt-dev/Dockerfile
deleted file mode 100644
index 35fa1775f..000000000
--- a/Xeon/centos-7/service/owt-dev/Dockerfile
+++ /dev/null
@@ -1,732 +0,0 @@
-
-
-# BSD 3-Clause License
-#
-# Copyright (c) 2021, Intel Corporation
-# All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions are met:
-#
-# * Redistributions of source code must retain the above copyright notice, this
-# list of conditions and the following disclaimer.
-#
-# * Redistributions in binary form must reproduce the above copyright notice,
-# this list of conditions and the following disclaimer in the documentation
-# and/or other materials provided with the distribution.
-#
-# * Neither the name of the copyright holder nor the names of its
-# contributors may be used to endorse or promote products derived from
-# this software without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-# This file is automatically generated from .m4 template.
-# To update, modify the template and regenerate.
-FROM centos:7 AS build
-
-
-
-
-
-
-
-
-
-
-RUN yum install -y -q epel-release centos-release-scl && rm -rf /var/yum/cache/*
-
-RUN yum install -y -q dnf
-RUN dnf install -y https://download1.rpmfusion.org/free/el/rpmfusion-free-release-7.noarch.rpm && \
- dnf install -y https://download1.rpmfusion.org/nonfree/el/rpmfusion-nonfree-release-7.noarch.rpm
-
-
-RUN mkdir -p /opt/build && mkdir -p /opt/dist
-
-ENV PKG_CONFIG_PATH=/usr/local/lib64/pkgconfig
-
-RUN yum install -y wget tar gcc-c++ make libtool autoconf
-
-# build openssl
-ARG OPENSSL_REPO=https://github.com/openssl/openssl/archive/OpenSSL_1_1_1q.tar.gz
-RUN cd /opt/build && \
- wget -O - ${OPENSSL_REPO} | tar xz && \
- cd openssl-OpenSSL_1_1_1q && \
- ./config no-ssl3 shared --prefix=/usr/local/ssl --openssldir=/usr/local/ssl -fPIC -Wl,-rpath=/usr/local/ssl/lib && \
- make depend && \
- make -s V=0 && \
- make install DESTDIR=/opt/dist && \
- (cd /opt/dist && mkdir -p ./usr/local/lib64/pkgconfig && mv ./usr/local/ssl/lib/pkgconfig/*.pc ./usr/local/lib64/pkgconfig/) && \
- make install && \
- (mkdir -p /usr/local/lib64/pkgconfig && mv /usr/local/ssl/lib/pkgconfig/*.pc /usr/local/lib64/pkgconfig/)
-
-RUN yum install -y wget tar gcc-c++ make
-
-# build yasm
-# ARG YASM_REPO=https://www.tortall.net/projects/yasm/releases/yasm-YASM_VER.tar.gz
-# At the time of 21.6 Release, yasm official site above had certificate problem, hence pulling from Dockerfiles-Resources.
-ARG YASM_REPO=https://github.com/OpenVisualCloud/Dockerfiles-Resources/raw/master/yasm-1.3.0.tar.gz
-
-RUN cd /opt/build && \
- wget -O - ${YASM_REPO} | tar xz
-RUN cd /opt/build/yasm-1.3.0 && \
- # TODO remove the line below whether no other component inside this project requires it.
- # `sed -i "s/) ytasm.*/)/" Makefile.in' && \
- ./configure --prefix=/usr/local --libdir=/usr/local/lib64 && \
- make -j $(nproc) && \
- make install
-
-RUN yum install -y wget tar gcc-c++ make git cmake3
-
-# build svt-hevc
-ARG SVT_HEVC_REPO=https://github.com/OpenVisualCloud/SVT-HEVC
-RUN cd /opt/build && \
- git clone -b v1.5.1 --depth 1 ${SVT_HEVC_REPO}
-RUN cd /opt/build/SVT-HEVC/Build/linux && \
- cmake3 -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_INSTALL_LIBDIR=/usr/local/lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \
- make -j $(nproc) && \
- make install DESTDIR=/opt/dist && \
- make install
-
-RUN yum install -y wget gcc-c++ autoconf libtool make automake
-
-# build libfdkaac
-ARG LIBFDKAAC_REPO=https://github.com/mstorsjo/fdk-aac/archive/v2.0.2.tar.gz
-RUN cd /opt/build && \
- wget -O - ${LIBFDKAAC_REPO} | tar xz && \
- cd fdk-aac-2.0.2 && \
- ./autogen.sh && \
- ./configure --prefix=/usr/local --libdir=/usr/local/lib64 --enable-shared && \
- make -j$(nproc) && \
- make install DESTDIR=/opt/dist && \
- make install
-
-RUN yum install -y ca-certificates wget tar gcc-c++ make bzip2
-
-# build nasm
-#ARG NASM_REPO=https://www.nasm.us/pub/nasm/releasebuilds/NASM_VER/nasm-NASM_VER.tar.bz2
-# TODO: to revert to official nasm repo
-ARG NASM_REPO=https://github.com/OpenVisualCloud/Dockerfiles-Resources/raw/master/nasm-2.15.05.tar.bz2
-RUN cd /opt/build && \
- wget -O - ${NASM_REPO} | tar xj && \
- cd nasm-2.15.05 && \
- ./autogen.sh && \
- ./configure --prefix=/usr/local --libdir=/usr/local/lib64 && \
- make -j$(nproc) && \
- make install
-
-RUN yum install -y git cmake make autoconf diffutils
-
-# build libvpx
-ARG LIBVPX_REPO=https://chromium.googlesource.com/webm/libvpx.git
-RUN cd /opt/build && \
- git clone ${LIBVPX_REPO} -b v1.12.0 --depth 1 && \
- cd libvpx && \
- ./configure --prefix=/usr/local --libdir=/usr/local/lib64 --enable-shared --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=nasm && \
- make -j$(nproc) && \
- make install DESTDIR=/opt/dist && \
- make install
-
-RUN yum install -y git cmake make autoconf diffutils
-
-# build libx264
-ARG LIBX264_REPO=https://github.com/mirror/x264
-RUN cd /opt/build && \
- git clone ${LIBX264_REPO} -b stable --depth 1 && \
- cd x264 && \
- ./configure --prefix=/usr/local --libdir=/usr/local/lib64 \
- --enable-shared && \
- make -j$(nproc) && \
- make install DESTDIR=/opt/dist && \
- make install
-
-RUN yum install -y cmake3 gcc gcc-c++ make wget python36-numpy ccache eigen3-devel devtoolset-9
-
-# build opencv
-ARG OPENCV_REPO=https://github.com/opencv/opencv
-RUN cd /opt/build && \
- git clone ${OPENCV_REPO} && \
- cd opencv && \
- git checkout 4.6.0
-# git cherry-pick OPENCV_455_FFMPEG5_SUPPORT
-# TODO: file a bug against opencv since they do not accept full libdir
-RUN cd /opt/build/opencv && mkdir build && cd build && \
- (. /opt/rh/devtoolset-9/enable && cmake3 \
- -DCMAKE_BUILD_TYPE=Release \
- -DCMAKE_INSTALL_PREFIX=/usr/local \
- -DCMAKE_INSTALL_LIBDIR=lib64 \
- -DOPENCV_GENERATE_PKGCONFIG=ON \
- -DBUILD_DOCS=OFF \
- -DBUILD_EXAMPLES=OFF \
- -DBUILD_PERF_TESTS=OFF \
- -DBUILD_TESTS=OFF \
- .. && \
- make -j $(nproc) && \
- make install DESTDIR=/opt/dist && \
- make install )
-
-RUN yum install -y automake gcc libdrm-devel libtool make pkg-config wget which libX11-devel libXfixes-devel libXext-devel wayland-devel
-
-# build libva2
-ARG LIBVA2_REPO=https://github.com/intel/libva/archive/2.11.0.tar.gz
-RUN cd /opt/build && \
- wget -O - ${LIBVA2_REPO} | tar xz
-RUN cd /opt/build/libva-2.11.0 && \
- ./autogen.sh --prefix=/usr/local --libdir=/usr/local/lib64 && \
- make -j$(nproc) && \
- make install DESTDIR=/opt/dist && \
- make install
-
-RUN yum install -y cmake3 gcc gcc-g++ git boost-devel gtk2-devel gtk3-devel libtool libusb-devel make python python2-yamlordereddictloader xz numactl-devel ocl-icd-devel opencl-headers
-
-# build dldt
-ARG DLDT_REPO=https://github.com/openvinotoolkit/openvino.git
-RUN git clone -b 2022.2.0 --depth 1 ${DLDT_REPO} /opt/build/openvino && \
- cd /opt/build/openvino && \
- git submodule update --init --recursive
-
-RUN cd /opt/build/openvino && \
- mkdir build && cd build && \
- (. /opt/rh/devtoolset-9/enable && cmake3 \
- -DCMAKE_INSTALL_PREFIX=/usr/local/openvino \
- -DENABLE_CPPLINT=OFF \
- -DDENABLE_INTEL_GNA=OFF \
- -DENABLE_VPU=OFF \
- -DENABLE_OPENCV=OFF \
- -DENABLE_MKL_DNN=ON \
- -DENABLE_CLDNN=ON \
- -DENABLE_SAMPLES=OFF \
- -DENABLE_TESTS=OFF \
- -DBUILD_TESTS=OFF \
- -DTREAT_WARNING_AS_ERROR=OFF \
- -DNGRAPH_WARNINGS_AS_ERRORS=OFF \
- -DNGRAPH_UNIT_TEST_ENABLE=OFF \
- -DNGRAPH_TEST_UTIL_ENABLE=OFF \
- .. && \
- make -j $(nproc) && \
- make install && \
- make install DESTDIR=/opt/dist )
-
-
-ARG OPENVINO_INSTALL_DIR=/usr/local/openvino
-ARG IE_INSTALL_DIR=${OPENVINO_INSTALL_DIR}/runtime/
-
-ENV InferenceEngine_DIR=${IE_INSTALL_DIR}/cmake
-ENV TBB_DIR=${IE_INSTALL_DIR}/3rdparty/tbb/cmake
-ENV ngraph_DIR=${IE_INSTALL_DIR}/cmake
-
-RUN yum install -y wget patch git libass-devel
-
-# build ffmpeg
-ARG FFMPEG_REPO=https://github.com/FFmpeg/FFmpeg/archive/n4.4.tar.gz
-RUN cd /opt/build && \
- wget -O - ${FFMPEG_REPO} | tar xz
-
-#ifdef(`BUILD_SVT_HEVC',`FFMPEG_PATCH_SVT_HEVC(BUILD_HOME/FFmpeg-FFMPEG_VER)')dnl
-#ifdef(`BUILD_SVT_VP9',`FFMPEG_PATCH_SVT_VP9(BUILD_HOME/FFmpeg-FFMPEG_VER)')dnl
-#ifdef(`BUILD_DLDT',`FFMPEG_PATCH_ANALYTICS(BUILD_HOME/FFmpeg-FFMPEG_VER)')dnl
-#ifdef(`BUILD_OPENVINO',`FFMPEG_PATCH_ANALYTICS(BUILD_HOME/FFmpeg-FFMPEG_VER)')dnl
-ARG FFMPEG_PATCH_VAAPI_REPO=https://github.com/OpenVisualCloud/Dockerfiles-Resources/raw/master/ffmpeg-patch-0041-lavc-vaapi_encode_h265-fix-max_transform_hierarchy_d.tar.gz
-RUN cd /opt/build && \
- wget -O - ${FFMPEG_PATCH_VAAPI_REPO} | tar xz && \
- cd /opt/build/FFmpeg-n4.4 && \
- patch -p1 < ../0041-lavc-vaapi_encode_h265-fix-max_transform_hierarchy_d.patch || true
-
-
-
-
-RUN cd /opt/build/FFmpeg-n4.4 && \
- ./configure --prefix=/usr/local --libdir=/usr/local/lib64 --enable-shared --disable-static --disable-doc --disable-htmlpages \
- --disable-manpages --disable-podpages --disable-txtpages \
- --extra-cflags=-w --enable-nonfree --enable-libass --disable-xlib --disable-sdl2 --enable-vaapi --enable-libfdk-aac --enable-libvpx --enable-gpl --enable-libx264 && make -j$(nproc) && \
- make install DESTDIR=/opt/dist && \
- make install
-
-RUN cd /opt/build/opencv/build && \
- rm -rf ./* && \
- (. /opt/rh/devtoolset-9/enable && cmake3 \
- -DCMAKE_BUILD_TYPE=Release \
- -DCMAKE_INSTALL_PREFIX=/usr/local \
- -DCMAKE_INSTALL_LIBDIR=lib64 \
- -DOPENCV_GENERATE_PKGCONFIG=ON \
- -DBUILD_DOCS=OFF \
- -DBUILD_EXAMPLES=OFF \
- -DBUILD_PERF_TESTS=OFF \
- -DBUILD_TESTS=OFF \
- .. && \
- cd modules/videoio && \
- make -j $(nproc) && \
- cp -f ../../lib/libopencv_videoio.so.4.6.0 /opt/dist/usr/local/lib64 )
-
-RUN yum install -y meson wget tar gcc-c++ glib2-devel bison flex gobject-introspection-devel
-
-# build gst-core
-ARG GSTCORE_REPO=https://github.com/GStreamer/gstreamer/archive/1.20.3.tar.gz
-RUN cd /opt/build && \
- wget -O - ${GSTCORE_REPO} | tar xz
-RUN cd /opt/build/gstreamer-1.20.3 && \
- meson build --libdir=/usr/local/lib64 --libexecdir=/usr/local/lib64 \
- --prefix=/usr/local --buildtype=plain \
- -Dexamples=disabled \
- -Dtests=disabled \
- -Ddoc=disabled \
- -Dintrospection=enabled \
- -Dgtk_doc=disabled \
- -Dpython=enabled \
- -Dgst-python:libpython-dir=/usr/local/lib64 \
- -Dcustom_subprojects="gst-libav,gst-plugins-base,gst-plugins-good,gst-plugins-bad,gst-plugins-ugly,gst-python" \
- -Dlibsoup:sysprof=disabled \
- -Dgpl=enabled && \
- cd build && \
- ninja install && \
- DESTDIR=/opt/dist ninja install
-
-RUN yum install -y meson wget tar gcc gcc-objc gcc-c++ glib2-devel bison flex gobject-introspection-devel alsa-lib-devel
-
-# build gst-plugin-base
-ARG GSTBASE_REPO=https://github.com/GStreamer/gst-plugins-base/archive/1.20.3.tar.gz
-RUN cd /opt/build && \
- wget -O - ${GSTBASE_REPO} | tar xz
-RUN cd /opt/build/gst-plugins-base-1.20.3 && \
- meson build \
- --prefix=/usr/local \
- --libdir=/usr/local/lib64 \
- --libexecdir=/usr/local/lib64 \
- --buildtype=plain \
- -Dexamples=disabled \
- -Dtests=disabled \
- -Ddoc=disabled \
- -Dintrospection=enabled \
- -Dalsa=enabled \
- -Dpango=disabled \
- -Dtheora=disabled \
- -Dlibvisual=disabled \
- -Dgl=disabled \
- && cd build && \
- ninja install && \
- DESTDIR=/opt/dist ninja install
-
-RUN yum install -y git meson wget tar gcc-c++ glib2-devel bison flex gdk-pixbuf2-devel
-
-# build gst-plugin-good
-ARG GSTGOOD_REPO=https://github.com/GStreamer/gst-plugins-good/archive/1.20.3.tar.gz
-RUN cd /opt/build && \
- wget -O - ${GSTGOOD_REPO} | tar xz
-RUN cd /opt/build/gst-plugins-good-1.20.3 && \
- meson build --libdir=/usr/local/lib64 --libexecdir=/usr/local/lib64 \
- --prefix=/usr/local --buildtype=plain \
- -Dexamples=disabled \
- -Dtests=disabled \
- -Ddoc=disabled \
- -Dgdk-pixbuf=enabled \
- -Djpeg=disabled \
- -Dpng=disabled \
- -Disomp4=disabled \
- -Dsoup=disabled \
- -Dvpx=enabled \
- && cd build && \
- ninja install && \
- DESTDIR=/opt/dist ninja install
-
-RUN yum install -y meson wget tar glib2-devel bison flex gobject-introspection-devel libcurl-devel librtmp-devel devtoolset-9
-
-# build gst-plugin-bad
-ARG GSTBAD_REPO=https://github.com/GStreamer/gst-plugins-bad/archive/1.20.3.tar.gz
-RUN cd /opt/build && \
- wget -O - ${GSTBAD_REPO} | tar xz && \
- cd gst-plugins-bad-1.20.3 && \
- (. /opt/rh/devtoolset-9/enable && meson build \
- --prefix=/usr/local \
- --libdir=/usr/local/lib64 \
- --libexecdir=/usr/local/lib64 \
- --buildtype=plain \
- -Ddoc=disabled \
- -Dexamples=disabled \
- -Dtests=disabled \
- -Dintrospection=enabled \
- -Drtmp=enabled \
- -Dx265=disabled \
- -Drsvg=disabled \
- -Dfdkaac=disabled \
- && cd build && \
- ninja install && \
- DESTDIR=/opt/dist ninja install )
-
-RUN yum install -y meson wget tar gcc-c++ glib2-devel bison flex
-
-# build gst-plugin-ugly
-ARG GSTUGLY_REPO=https://github.com/GStreamer/gst-plugins-ugly/archive/1.20.3.tar.gz
-RUN cd /opt/build && \
- wget -O - ${GSTUGLY_REPO} | tar xz
-RUN cd /opt/build/gst-plugins-ugly-1.20.3 && \
- meson build --libdir=/usr/local/lib64 --libexecdir=/usr/local/lib64 \
- --prefix=/usr/local --buildtype=plain \
- -Ddoc=disabled \
- -Dx264=enabled \
- && cd build && \
- ninja install && \
- DESTDIR=/opt/dist ninja install
-
-RUN yum install -y wget tar gcc-c++ meson
-
-# build gst-plugin-libav
-ARG GSTLIBAV_REPO=https://github.com/GStreamer/gst-libav/archive/1.20.3.tar.gz
-RUN cd /opt/build && \
- wget -O - ${GSTLIBAV_REPO} | tar xz
-RUN cd /opt/build/gst-libav-1.20.3 && \
- meson build --libdir=/usr/local/lib64 --libexecdir=/usr/local/lib64 \
- --prefix=/usr/local --buildtype=plain && \
- cd build && \
- ninja install && \
- DESTDIR=/opt/dist ninja install
-
-RUN yum install -y cmake3 git ocl-icd-devel opencl-headers pkg-config ca-certificates python36-gobject-devel python3-devel
-
-# build gst-plugin-gva
-# formerly https://github.com/opencv/gst-video-analytics
-ARG GVA_REPO=https://github.com/openvinotoolkit/dlstreamer_gst.git
-# TODO: This is a workaround for a bug in dlstreamer_gst
-ENV LIBRARY_PATH=/usr/local/lib64
-RUN git clone -b v1.6 --depth 1 $GVA_REPO /opt/build/gst-video-analytics && \
- cd /opt/build/gst-video-analytics && \
- git submodule update --init && \
- mkdir -p build && cd build && \
- (. /opt/rh/devtoolset-9/enable && cmake3 \
- -DVERSION_PATCH="$(git rev-list --count --first-parent HEAD)" \
- -DGIT_INFO=git_"$(git rev-parse --short HEAD)" \
- -DCMAKE_INSTALL_PREFIX=/usr/local \
- -DCMAKE_BUILD_TYPE=Release \
- -DDISABLE_SAMPLES=ON \
- -DENABLE_PAHO_INSTALLATION=OFF \
- -DENABLE_RDKAFKA_INSTALLATION=OFF \
- -DENABLE_VAAPI=OFF \
- -DENABLE_VAS_TRACKER=ON \
- -DENABLE_AUDIO_INFERENCE_ELEMENTS=OFF \
- -Dwith_drm=no \
- -Dwith_x11=no \
- -Dwith_glx=no \
- -Dwith_wayland=no \
- -Dwith_egl=no \
- .. \
- && make -j $(nproc) \
- && make install \
- && make install DESTDIR=/opt/dist )
-ENV LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/local/lib64/gstreamer-1.0/:/usr/local/lib/
-
-RUN cp -r /opt/build/gst-video-analytics/build/intel64/Release/lib/* /usr/local/lib64/gstreamer-1.0/.
-RUN cp -r /opt/build/gst-video-analytics/build/intel64/Release/lib/* /opt/dist//usr/local/lib64/gstreamer-1.0/.
-ENV GST_PLUGIN_PATH=${GST_PLUGIN_PATH}:/usr/local/lib64/gstreamer-1.0/
-
-RUN mkdir -p /opt/intel/dl_streamer/python && \
- cp -r /opt/build/gst-video-analytics/python/* /opt/intel/dl_streamer/python
-
-ENV PYTHONPATH=${PYTHONPATH}:/opt/intel/dl_streamer/python
-RUN mkdir -p /opt/dist/opt/intel/dl_streamer/python && \
- cp -r /opt/build/gst-video-analytics/python/* /opt/dist/opt/intel/dl_streamer/python
-
-RUN yum install -y wget tar gcc-c++ glib2-devel gtk-dock openblas python3 python36-gobject-devel python3-devel meson
-ARG GSTPYTHON_REPO=https://gstreamer.freedesktop.org/src/gst-python/gst-python-1.20.3.tar.xz
-RUN cd /opt/build && \
- wget -O - ${GSTPYTHON_REPO} | tar xJ
-RUN cd /opt/build/gst-python-1.20.3 && \
-#WORKAROUND: https://gitlab.freedesktop.org/gstreamer/gst-python/-/merge_requests/30/diffs
-
- meson build --libdir=/usr/local/lib64 --libexecdir=/usr/local/lib64 \
- --prefix=/usr/local --buildtype=plain \
- -Dpython=/usr/bin/python3 -Dlibpython-dir=/usr/lib64/ \
- -Dpygi-overrides-dir=/usr/lib/python3/dist-packages/gi/overrides && \
- cd build && \
- ninja install && \
- DESTDIR=/opt/dist ninja install
-
-
-RUN yum install -y python-devel
-
-# build boost
-ARG BOOST_REPO=https://boostorg.jfrog.io/artifactory/main/release/1.65.0/source/boost_1_65_0.tar.bz2
-RUN cd /opt/build && \
- wget -O - ${BOOST_REPO} | tar jx
-RUN cd /opt/build/boost_1_65_0 && \
- chmod +x bootstrap.sh && \
- ./bootstrap.sh && \
- ./b2 && ./b2 install --prefix=/usr/local
-
-RUN yum install -y wget bzip2
-
-# Build OpenH264
-ARG OPENH264_SRC_REPO=https://github.com/cisco/openh264/archive/v1.7.0.tar.gz
-ARG OPENH264_BIN_REPO=https://github.com/cisco/openh264/releases/download/v1.7.0/libopenh264-1.7.0-linux64.4.so.bz2
-RUN cd /opt/build && \
- wget -O - ${OPENH264_SRC_REPO} | tar xz openh264-1.7.0/codec/api && \
- cd openh264-1.7.0 && \
- (mkdir -p /usr/local/include/openh264 && cp -r codec /usr/local/include/openh264) && \
- (mkdir -p /opt/dist/usr/local/include/openh264 && cp -r codec /opt/dist/usr/local/include/openh264)
-
-RUN cd /usr/local/lib64 && \
- wget -O - ${OPENH264_BIN_REPO} | bunzip2 > libopenh264.so.4 && \
- ln -s -v libopenh264.so.4 libopenh264.so && \
- cd /opt/dist/usr/local/lib64 && \
- cp -r /usr/local/lib64/libopenh264.so.4 . && \
- ln -s -v libopenh264.so.4 libopenh264.so
-
-RUN yum install -y git cmake make autoconf gcc
-
-# build libre
-ARG LIBRE_REPO=https://github.com/creytiv/re.git
-RUN cd /opt/build && \
- git clone ${LIBRE_REPO} -b v0.5.0 --depth 1 && \
- cd re && \
- make SYSROOT_ALT=/usr RELEASE=1 && \
- make install SYSROOT_ALT=/usr RELEASE=1 PREFIX=/usr && \
- make SYSROOT_ALT=/opt/dist/usr RELEASE=1 && \
- make install SYSROOT_ALT=/opt/dist/usr RELEASE=1 PREFIX=/opt/dist/usr
-
-RUN yum install -y wget cmake make gcc libglib2.0-devel patch
-
-# build libnice
-ARG LIBNICE_REPO=http://nice.freedesktop.org/releases/libnice-0.1.4.tar.gz
-RUN cd /opt/build && \
- wget -O - ${LIBNICE_REPO} | tar xz
-
-
-ARG LIBNICE_PATCH_REPO=https://github.com/open-webrtc-toolkit/owt-server/archive/v5.0.tar.gz
-
-RUN cd /opt/build/libnice-0.1.4 && \
- wget -O - ${LIBNICE_PATCH_REPO} | tar xz && \
- patch -p1 < owt-server-5.0/scripts/patches/libnice014-agentlock.patch && \
- patch -p1 < owt-server-5.0/scripts/patches/libnice014-agentlock-plus.patch && \
- patch -p1 < owt-server-5.0/scripts/patches/libnice014-removecandidate.patch && \
- patch -p1 < owt-server-5.0/scripts/patches/libnice014-keepalive.patch && \
- patch -p1 < owt-server-5.0/scripts/patches/libnice014-startcheck.patch && \
- patch -p1 < owt-server-5.0/scripts/patches/libnice014-closelock.patch
-
-
-RUN cd /opt/build/libnice-0.1.4 && \
- ./configure --prefix=/usr/local --libdir=/usr/local/lib64 && \
- make -j$(nproc) -s V=0 && \
- make install DESTDIR=/opt/dist && \
- make install
-
-RUN yum install -y wget cmake automake make gcc which
-
-# build usrsctp
-ARG USRSCTP_REPO=https://github.com/sctplab/usrsctp/archive/0.9.5.0.tar.gz
-RUN cd /opt/build && \
- wget -O - ${USRSCTP_REPO} | tar xz && \
- cd usrsctp-* && \
- ./bootstrap && \
- ./configure --prefix=/usr/local --libdir=/usr/local/lib64 && \
- make -j$(nproc) && \
- make install DESTDIR=/opt/dist && \
- make install
-
-RUN yum install -y wget
-
-# build jsonhpp
-ARG JSONHPP_REPO=https://github.com/nlohmann/json/releases/download/v3.6.1/json.hpp
-RUN wget -O /usr/include/json.hpp ${JSONHPP_REPO}
-
-RUN yum install -y wget xz-utils
-
-# build node
-ARG NODE_REPO=https://nodejs.org/dist/v10.24.1/node-v10.24.1-linux-x64.tar.xz
-RUN cd /opt/build && \
- wget -O - ${NODE_REPO} | tar xJ && \
- cp node-v10.24.1-linux-x64/* /usr/local -rf && \
- rm -rf node-v10.24.1-linux-x64
-
-RUN yum install -y wget gcc make pkg-config
-
-# build libsrtp2
-ARG LIBSRTP2_REPO=https://github.com/cisco/libsrtp/archive/v2.1.0.tar.gz
-RUN cd /opt/build && \
- wget -O - ${LIBSRTP2_REPO} | tar xz && \
- cd libsrtp-2.1.0 && \
- CFLAGS="-fPIC -Wl,-rpath=/usr/local/ssl/lib" ./configure --enable-openssl --prefix=/usr/local --libdir=/usr/local/lib64 --with-openssl-dir=/usr/local/ssl && \
- make -s V=0 -j $(nproc) && \
- make install DESTDIR=/opt/dist && \
- make install
-
-RUN yum install -y git gcc npm python glib2-devel boost-devel log4cxx-devel pkg-config devtoolset-9
-
-# Install npm modules
-RUN npm install -g --loglevel error node-gyp@6.1.0 grunt-cli underscore jsdoc
-
-# Get owt-server Source
-ARG OWT_REPO=https://github.com/open-webrtc-toolkit/owt-server
-RUN cd /opt/build && \
- git clone -b master ${OWT_REPO} && \
- cd owt-server && \
- git reset --hard v5.0.1
-
-#Patch OWT for Analytics
-
-ARG OWT_ANALYTICS_PATCH=https://raw.githubusercontent.com/OpenVisualCloud/Dockerfiles-Resources/master/0002-fix-the-analytics-restart.patch
-ARG OWT_AVREAD_PATCH=https://raw.githubusercontent.com/OpenVisualCloud/Dockerfiles-Resources/master/0001-Remove-av_read_play-which-already-called-inside-rtsp.patch
-
-RUN cd /opt/build/owt-server && \
- wget ${OWT_ANALYTICS_PATCH} && \
- wget ${OWT_AVREAD_PATCH} && \
- patch -p1 < 0002-fix-the-analytics-restart.patch && \
- patch -p1 < 0001-Remove-av_read_play-which-already-called-inside-rtsp.patch
-
-
-
-# Prep OpenH264
-RUN mkdir -p /opt/build/owt-server/third_party/openh264 && \
- cd /opt/build/owt-server/third_party/openh264 && \
- ln -s -v /usr/local/include/openh264/codec . && \
- ln -s -v /usr/local/lib64/libopenh264.so . && \
- echo "const char* stub() {return \"this is a stub lib\";}" > pseudo-openh264.cpp && \
- gcc pseudo-openh264.cpp -fPIC -shared -o pseudo-openh264.so
-
-# Get licode
-ARG OWT_LICODE_REPO=https://github.com/lynckia/licode.git
-RUN cd /opt/build/owt-server/third_party && \
- git clone ${OWT_LICODE_REPO} && \
- cd licode && \
- git config user.name x && git config user.email x@y && \
- git reset --hard 8b4692c88f1fc24dedad66b4f40b1f3d804b50ca && \
- git am /opt/build/owt-server/scripts/patches/licode/*.patch
-
-# Get webrtc
-ARG OWT_WEBRTC_REPO=https://github.com/open-webrtc-toolkit/owt-deps-webrtc.git
-RUN mkdir -p /opt/build/owt-server/third_party/webrtc && \
- cd /opt/build/owt-server/third_party/webrtc && \
- git clone -b 59-server ${OWT_WEBRTC_REPO} src && \
- cd src && \
- ./tools-woogeen/install.sh && \
- ./tools-woogeen/build.sh
-
-
-# Get webrtc79
-RUN mkdir -p /opt/build/owt-server/third_party/webrtc-m79 && \
- cd /opt/build/owt-server/third_party/webrtc-m79 && \
- sed -i "s/git clone/git clone --depth 1/" ../../scripts/installWebrtc.sh && \
- (. /opt/rh/devtoolset-9/enable && bash ../../scripts/installWebrtc.sh)
-
-
-# Get SDK
-ARG OWT_SDK_REPO=https://github.com/open-webrtc-toolkit/owt-client-javascript.git
-RUN cd /opt/build && \
- git clone -b master ${OWT_SDK_REPO} && \
- cd owt-client-javascript/scripts && \
- git reset --hard v5.0 && \
- npm install && grunt
-
-# Get quic
-ARG OWT_QUIC_REPO=https://github.com/open-webrtc-toolkit/owt-deps-quic/releases/download/v0.1/dist.tgz
-RUN mkdir -p /opt/build/owt-server/third_party/quic-lib && \
- cd /opt/build/owt-server/third_party/quic-lib && \
- wget -O - ${OWT_QUIC_REPO} | tar xz
-
-# Build and pack owt
-RUN cd /opt/build/owt-server && \
- sed -i "/cflags_cc/s/\[/[\"-Wl,rpath=\/usr\/local\/ssl\/lib\",/" source/agent/webrtc/rtcConn/binding.gyp source/agent/webrtc/rtcFrame/binding.gyp && \
- sed -i "s/-lssl/" source/agent/sip/sipIn/sip_gateway/sipua/src/account.c
-
-# Install nan module
-RUN cd /opt/build/owt-server && \
- echo {} > package.json && \
- npm install nan
-
-# Build and package
-ENV LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/local/lib64:/usr/local/ssl/lib
-RUN cd /opt/build/owt-server && \
- (. /opt/rh/devtoolset-9/enable &&./scripts/build.js -t mcu-all -r -c) &&\
- ./scripts/pack.js -t all --install-module --no-pseudo --app-path /opt/build/owt-client-javascript/dist/samples/conference && \
- mkdir -p /opt/dist/home && \
- mv dist /opt/dist/home/owt
-
- RUN cd /opt/dist/home && \
- echo "#!/bin/bash -e" >>launch.sh && \
- echo "mongod --config /etc/mongod.conf &" >>launch.sh && \
- echo "rabbitmq-server &" >>launch.sh && \
- echo "while ! mongo --quiet --eval \"db.adminCommand(\\\"listDatabases\\\")\"" >>launch.sh && \
- echo "do" >>launch.sh && \
- echo " echo mongod not launch" >>launch.sh && \
- echo " sleep 1" >>launch.sh && \
- echo "done" >>launch.sh && \
- echo "echo mongodb connected successfully" >>launch.sh && \
- echo "cd /home/owt" >>launch.sh && \
- echo "./management_api/init.sh" >>launch.sh && \
- echo "./bin/start-all.sh" >>launch.sh && \
- chmod +x launch.sh
-
-# cleanup
-RUN rm -rf /opt/dist/usr/local/share/doc /opt/dist/usr/local/share/gtk-doc
-RUN rm -rf /opt/dist/usr/local/share/man
-RUN rm -rf /opt/dist/usr/local/ssl/share/man
-RUN rm -rf /opt/dist/usr/local/ssl/share/doc
-RUN rm -rf /opt/dist/usr/local/openvino/inference-engine/external/tbb/doc
-
-FROM centos:7
-LABEL Description="This is the development image for the OWT service centos 7"
-LABEL Vendor="Intel Corporation"
-WORKDIR /home
-
-# Install
-RUN yum install -y -q epel-release && rm -rf /var/yum/cache/*
-
-RUN yum install -y -q dnf
-RUN dnf install -y https://download1.rpmfusion.org/free/el/rpmfusion-free-release-7.noarch.rpm && \
- dnf install -y https://download1.rpmfusion.org/nonfree/el/rpmfusion-nonfree-release-7.noarch.rpm
-
-RUN yum install -y libdrm libX11 libXfixes libXext libwayland-client gtk3 numactl ocl-icd libass glib2 gobject-introspection mesa-libEGL alsa-lib gdk-pixbuf2 librtmp python3-devel boost-regex python36-gobject python36-gobject-devel python36-gobject-base wget xz-utils rabbitmq-server boost-system boost-thread log4cxx glib2-devel freetype
-ENV PKG_CONFIG_PATH=/usr/local/lib64/pkgconfig
-
-COPY --from=build /opt/dist /
-RUN echo "/usr/local/lib64" >> /etc/ld.so.conf.d/all-libs.conf && ldconfig
-
-ENV LIBVA_DRIVERS_PATH=/usr/local/lib64/dri
-ENV LIBVA_DRIVER_NAME=iHD
-ENV DISPLAY=:0.0
-
-ENV InferenceEngine_DIR=/usr/local/openvino/runtime/cmake/
-ENV TBB_DIR=/usr/local/openvino/runtime/3rdparty/tbb/cmake
-ENV ngraph_DIR=/usr/local/openvino/runtime/cmake/
-ENV LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/local/openvino/runtime/lib/:/usr/local/openvino/runtime/3rdparty/tbb/lib/
-ENV GST_PLUGIN_PATH=/usr/local/lib64/gstreamer-1.0
-ENV GST_PLUGIN_SCANNER=/usr/local/lib64/gstreamer-1.0/gst-plugin-scanner
-
-# install DLDT
-ARG CUSTOM_IE_DIR=/usr/local/openvino/
-ARG CUSTOM_IE_LIBDIR=${CUSTOM_IE_DIR}/runtime/lib/intel64
-RUN printf "${CUSTOM_IE_LIBDIR}\n${CUSTOM_IE_DIR}/3rdparty/tbb/lib\n" >/etc/ld.so.conf.d/openvino.conf && ldconfig
-ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib64/gstreamer-1.0/
-ENV GI_TYPELIB_PATH=${GI_TYPELIB_PATH}:/usr/local/lib64/girepository-1.0/
-ENV PYTHONPATH=${PYTHONPATH}:/opt/intel/dl_streamer/python
-ENV GST_PLUGIN_PATH=${GST_PLUGIN_PATH}:/usr/local/lib64/gstreamer-1.0/
-RUN python3 -m pip install numpy
-
-# install node
-ARG NODE_REPO=https://nodejs.org/dist/v10.24.1/node-v10.24.1-linux-x64.tar.xz
-RUN cd /usr/local && \
- wget -O - ${NODE_REPO} | tar xJ && \
- cp -r node-v10.24.1-linux-x64/* . && \
- rm -rf node-v10.24.1-linux-x64
-
-# install OWT
-RUN echo "[mongodb-org-3.6]" >> /etc/yum.repos.d/mongodb-org-3.6.repo && \
- echo "name=MongoDB Repository" >> /etc/yum.repos.d/mongodb-org-3.6.repo && \
- echo "baseurl=https://repo.mongodb.org/yum/redhat/7/mongodb-org/3.6/x86_64/" >> /etc/yum.repos.d/mongodb-org-3.6.repo && \
- echo "gpgcheck=1" >> /etc/yum.repos.d/mongodb-org-3.6.repo && \
- echo "enabled=1" >> /etc/yum.repos.d/mongodb-org-3.6.repo && \
- echo "gpgkey=https://www.mongodb.org/static/pgp/server-3.6.asc" >> /etc/yum.repos.d/mongodb-org-3.6.repo && \
- yum install -y -q mongodb-org && rm -rf /var/cache/yum/*
-
-
diff --git a/Xeon/centos-7/service/owt/Dockerfile b/Xeon/centos-7/service/owt/Dockerfile
deleted file mode 100644
index 27d42b253..000000000
--- a/Xeon/centos-7/service/owt/Dockerfile
+++ /dev/null
@@ -1,739 +0,0 @@
-
-
-
-# BSD 3-Clause License
-#
-# Copyright (c) 2021, Intel Corporation
-# All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions are met:
-#
-# * Redistributions of source code must retain the above copyright notice, this
-# list of conditions and the following disclaimer.
-#
-# * Redistributions in binary form must reproduce the above copyright notice,
-# this list of conditions and the following disclaimer in the documentation
-# and/or other materials provided with the distribution.
-#
-# * Neither the name of the copyright holder nor the names of its
-# contributors may be used to endorse or promote products derived from
-# this software without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-# This file is automatically generated from .m4 template.
-# To update, modify the template and regenerate.
-FROM centos:7 AS build
-
-
-
-
-
-
-
-
-
-
-RUN yum install -y -q epel-release centos-release-scl && rm -rf /var/yum/cache/*
-
-RUN yum install -y -q dnf
-RUN dnf install -y https://download1.rpmfusion.org/free/el/rpmfusion-free-release-7.noarch.rpm && \
- dnf install -y https://download1.rpmfusion.org/nonfree/el/rpmfusion-nonfree-release-7.noarch.rpm
-
-
-RUN mkdir -p /opt/build && mkdir -p /opt/dist
-
-ENV PKG_CONFIG_PATH=/usr/local/lib64/pkgconfig
-
-RUN yum install -y wget tar gcc-c++ make libtool autoconf
-
-# build openssl
-ARG OPENSSL_REPO=https://github.com/openssl/openssl/archive/OpenSSL_1_1_1q.tar.gz
-RUN cd /opt/build && \
- wget -O - ${OPENSSL_REPO} | tar xz && \
- cd openssl-OpenSSL_1_1_1q && \
- ./config no-ssl3 shared --prefix=/usr/local/ssl --openssldir=/usr/local/ssl -fPIC -Wl,-rpath=/usr/local/ssl/lib && \
- make depend && \
- make -s V=0 && \
- make install DESTDIR=/opt/dist && \
- (cd /opt/dist && mkdir -p ./usr/local/lib64/pkgconfig && mv ./usr/local/ssl/lib/pkgconfig/*.pc ./usr/local/lib64/pkgconfig/) && \
- make install && \
- (mkdir -p /usr/local/lib64/pkgconfig && mv /usr/local/ssl/lib/pkgconfig/*.pc /usr/local/lib64/pkgconfig/)
-
-RUN yum install -y wget tar gcc-c++ make
-
-# build yasm
-# ARG YASM_REPO=https://www.tortall.net/projects/yasm/releases/yasm-YASM_VER.tar.gz
-# At the time of 21.6 Release, yasm official site above had certificate problem, hence pulling from Dockerfiles-Resources.
-ARG YASM_REPO=https://github.com/OpenVisualCloud/Dockerfiles-Resources/raw/master/yasm-1.3.0.tar.gz
-
-RUN cd /opt/build && \
- wget -O - ${YASM_REPO} | tar xz
-RUN cd /opt/build/yasm-1.3.0 && \
- # TODO remove the line below whether no other component inside this project requires it.
- # `sed -i "s/) ytasm.*/)/" Makefile.in' && \
- ./configure --prefix=/usr/local --libdir=/usr/local/lib64 && \
- make -j $(nproc) && \
- make install
-
-RUN yum install -y wget tar gcc-c++ make git cmake3
-
-# build svt-hevc
-ARG SVT_HEVC_REPO=https://github.com/OpenVisualCloud/SVT-HEVC
-RUN cd /opt/build && \
- git clone -b v1.5.1 --depth 1 ${SVT_HEVC_REPO}
-RUN cd /opt/build/SVT-HEVC/Build/linux && \
- cmake3 -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_INSTALL_LIBDIR=/usr/local/lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \
- make -j $(nproc) && \
- make install DESTDIR=/opt/dist && \
- make install
-
-RUN yum install -y wget gcc-c++ autoconf libtool make automake
-
-# build libfdkaac
-ARG LIBFDKAAC_REPO=https://github.com/mstorsjo/fdk-aac/archive/v2.0.2.tar.gz
-RUN cd /opt/build && \
- wget -O - ${LIBFDKAAC_REPO} | tar xz && \
- cd fdk-aac-2.0.2 && \
- ./autogen.sh && \
- ./configure --prefix=/usr/local --libdir=/usr/local/lib64 --enable-shared && \
- make -j$(nproc) && \
- make install DESTDIR=/opt/dist && \
- make install
-
-RUN yum install -y ca-certificates wget tar gcc-c++ make bzip2
-
-# build nasm
-#ARG NASM_REPO=https://www.nasm.us/pub/nasm/releasebuilds/NASM_VER/nasm-NASM_VER.tar.bz2
-# TODO: to revert to official nasm repo
-ARG NASM_REPO=https://github.com/OpenVisualCloud/Dockerfiles-Resources/raw/master/nasm-2.15.05.tar.bz2
-RUN cd /opt/build && \
- wget -O - ${NASM_REPO} | tar xj && \
- cd nasm-2.15.05 && \
- ./autogen.sh && \
- ./configure --prefix=/usr/local --libdir=/usr/local/lib64 && \
- make -j$(nproc) && \
- make install
-
-RUN yum install -y git cmake make autoconf diffutils
-
-# build libvpx
-ARG LIBVPX_REPO=https://chromium.googlesource.com/webm/libvpx.git
-RUN cd /opt/build && \
- git clone ${LIBVPX_REPO} -b v1.12.0 --depth 1 && \
- cd libvpx && \
- ./configure --prefix=/usr/local --libdir=/usr/local/lib64 --enable-shared --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=nasm && \
- make -j$(nproc) && \
- make install DESTDIR=/opt/dist && \
- make install
-
-RUN yum install -y git cmake make autoconf diffutils
-
-# build libx264
-ARG LIBX264_REPO=https://github.com/mirror/x264
-RUN cd /opt/build && \
- git clone ${LIBX264_REPO} -b stable --depth 1 && \
- cd x264 && \
- ./configure --prefix=/usr/local --libdir=/usr/local/lib64 \
- --enable-shared && \
- make -j$(nproc) && \
- make install DESTDIR=/opt/dist && \
- make install
-
-RUN yum install -y cmake3 gcc gcc-c++ make wget python36-numpy ccache eigen3-devel devtoolset-9
-
-# build opencv
-ARG OPENCV_REPO=https://github.com/opencv/opencv
-RUN cd /opt/build && \
- git clone ${OPENCV_REPO} && \
- cd opencv && \
- git checkout 4.6.0
-# git cherry-pick OPENCV_455_FFMPEG5_SUPPORT
-# TODO: file a bug against opencv since they do not accept full libdir
-RUN cd /opt/build/opencv && mkdir build && cd build && \
- (. /opt/rh/devtoolset-9/enable && cmake3 \
- -DCMAKE_BUILD_TYPE=Release \
- -DCMAKE_INSTALL_PREFIX=/usr/local \
- -DCMAKE_INSTALL_LIBDIR=lib64 \
- -DOPENCV_GENERATE_PKGCONFIG=ON \
- -DBUILD_DOCS=OFF \
- -DBUILD_EXAMPLES=OFF \
- -DBUILD_PERF_TESTS=OFF \
- -DBUILD_TESTS=OFF \
- .. && \
- make -j $(nproc) && \
- make install DESTDIR=/opt/dist && \
- make install )
-
-RUN yum install -y automake gcc libdrm-devel libtool make pkg-config wget which libX11-devel libXfixes-devel libXext-devel wayland-devel
-
-# build libva2
-ARG LIBVA2_REPO=https://github.com/intel/libva/archive/2.11.0.tar.gz
-RUN cd /opt/build && \
- wget -O - ${LIBVA2_REPO} | tar xz
-RUN cd /opt/build/libva-2.11.0 && \
- ./autogen.sh --prefix=/usr/local --libdir=/usr/local/lib64 && \
- make -j$(nproc) && \
- make install DESTDIR=/opt/dist && \
- make install
-
-RUN yum install -y cmake3 gcc gcc-g++ git boost-devel gtk2-devel gtk3-devel libtool libusb-devel make python python2-yamlordereddictloader xz numactl-devel ocl-icd-devel opencl-headers
-
-# build dldt
-ARG DLDT_REPO=https://github.com/openvinotoolkit/openvino.git
-RUN git clone -b 2022.2.0 --depth 1 ${DLDT_REPO} /opt/build/openvino && \
- cd /opt/build/openvino && \
- git submodule update --init --recursive
-
-RUN cd /opt/build/openvino && \
- mkdir build && cd build && \
- (. /opt/rh/devtoolset-9/enable && cmake3 \
- -DCMAKE_INSTALL_PREFIX=/usr/local/openvino \
- -DENABLE_CPPLINT=OFF \
- -DDENABLE_INTEL_GNA=OFF \
- -DENABLE_VPU=OFF \
- -DENABLE_OPENCV=OFF \
- -DENABLE_MKL_DNN=ON \
- -DENABLE_CLDNN=ON \
- -DENABLE_SAMPLES=OFF \
- -DENABLE_TESTS=OFF \
- -DBUILD_TESTS=OFF \
- -DTREAT_WARNING_AS_ERROR=OFF \
- -DNGRAPH_WARNINGS_AS_ERRORS=OFF \
- -DNGRAPH_UNIT_TEST_ENABLE=OFF \
- -DNGRAPH_TEST_UTIL_ENABLE=OFF \
- .. && \
- make -j $(nproc) && \
- make install && \
- make install DESTDIR=/opt/dist )
-
-
-ARG OPENVINO_INSTALL_DIR=/usr/local/openvino
-ARG IE_INSTALL_DIR=${OPENVINO_INSTALL_DIR}/runtime/
-
-ENV InferenceEngine_DIR=${IE_INSTALL_DIR}/cmake
-ENV TBB_DIR=${IE_INSTALL_DIR}/3rdparty/tbb/cmake
-ENV ngraph_DIR=${IE_INSTALL_DIR}/cmake
-
-RUN yum install -y wget patch git libass-devel
-
-# build ffmpeg
-ARG FFMPEG_REPO=https://github.com/FFmpeg/FFmpeg/archive/n4.4.tar.gz
-RUN cd /opt/build && \
- wget -O - ${FFMPEG_REPO} | tar xz
-
-#ifdef(`BUILD_SVT_HEVC',`FFMPEG_PATCH_SVT_HEVC(BUILD_HOME/FFmpeg-FFMPEG_VER)')dnl
-#ifdef(`BUILD_SVT_VP9',`FFMPEG_PATCH_SVT_VP9(BUILD_HOME/FFmpeg-FFMPEG_VER)')dnl
-#ifdef(`BUILD_DLDT',`FFMPEG_PATCH_ANALYTICS(BUILD_HOME/FFmpeg-FFMPEG_VER)')dnl
-#ifdef(`BUILD_OPENVINO',`FFMPEG_PATCH_ANALYTICS(BUILD_HOME/FFmpeg-FFMPEG_VER)')dnl
-ARG FFMPEG_PATCH_VAAPI_REPO=https://github.com/OpenVisualCloud/Dockerfiles-Resources/raw/master/ffmpeg-patch-0041-lavc-vaapi_encode_h265-fix-max_transform_hierarchy_d.tar.gz
-RUN cd /opt/build && \
- wget -O - ${FFMPEG_PATCH_VAAPI_REPO} | tar xz && \
- cd /opt/build/FFmpeg-n4.4 && \
- patch -p1 < ../0041-lavc-vaapi_encode_h265-fix-max_transform_hierarchy_d.patch || true
-
-
-
-
-RUN cd /opt/build/FFmpeg-n4.4 && \
- ./configure --prefix=/usr/local --libdir=/usr/local/lib64 --enable-shared --disable-static --disable-doc --disable-htmlpages \
- --disable-manpages --disable-podpages --disable-txtpages \
- --extra-cflags=-w --enable-nonfree --enable-libass --disable-xlib --disable-sdl2 --enable-vaapi --enable-libfdk-aac --enable-libvpx --enable-gpl --enable-libx264 && make -j$(nproc) && \
- make install DESTDIR=/opt/dist && \
- make install
-
-RUN cd /opt/build/opencv/build && \
- rm -rf ./* && \
- (. /opt/rh/devtoolset-9/enable && cmake3 \
- -DCMAKE_BUILD_TYPE=Release \
- -DCMAKE_INSTALL_PREFIX=/usr/local \
- -DCMAKE_INSTALL_LIBDIR=lib64 \
- -DOPENCV_GENERATE_PKGCONFIG=ON \
- -DBUILD_DOCS=OFF \
- -DBUILD_EXAMPLES=OFF \
- -DBUILD_PERF_TESTS=OFF \
- -DBUILD_TESTS=OFF \
- .. && \
- cd modules/videoio && \
- make -j $(nproc) && \
- cp -f ../../lib/libopencv_videoio.so.4.6.0 /opt/dist/usr/local/lib64 )
-
-RUN yum install -y meson wget tar gcc-c++ glib2-devel bison flex gobject-introspection-devel
-
-# build gst-core
-ARG GSTCORE_REPO=https://github.com/GStreamer/gstreamer/archive/1.20.3.tar.gz
-RUN cd /opt/build && \
- wget -O - ${GSTCORE_REPO} | tar xz
-RUN cd /opt/build/gstreamer-1.20.3 && \
- meson build --libdir=/usr/local/lib64 --libexecdir=/usr/local/lib64 \
- --prefix=/usr/local --buildtype=plain \
- -Dexamples=disabled \
- -Dtests=disabled \
- -Ddoc=disabled \
- -Dintrospection=enabled \
- -Dgtk_doc=disabled \
- -Dpython=enabled \
- -Dgst-python:libpython-dir=/usr/local/lib64 \
- -Dcustom_subprojects="gst-libav,gst-plugins-base,gst-plugins-good,gst-plugins-bad,gst-plugins-ugly,gst-python" \
- -Dlibsoup:sysprof=disabled \
- -Dgpl=enabled && \
- cd build && \
- ninja install && \
- DESTDIR=/opt/dist ninja install
-
-RUN yum install -y meson wget tar gcc gcc-objc gcc-c++ glib2-devel bison flex gobject-introspection-devel alsa-lib-devel
-
-# build gst-plugin-base
-ARG GSTBASE_REPO=https://github.com/GStreamer/gst-plugins-base/archive/1.20.3.tar.gz
-RUN cd /opt/build && \
- wget -O - ${GSTBASE_REPO} | tar xz
-RUN cd /opt/build/gst-plugins-base-1.20.3 && \
- meson build \
- --prefix=/usr/local \
- --libdir=/usr/local/lib64 \
- --libexecdir=/usr/local/lib64 \
- --buildtype=plain \
- -Dexamples=disabled \
- -Dtests=disabled \
- -Ddoc=disabled \
- -Dintrospection=enabled \
- -Dalsa=enabled \
- -Dpango=disabled \
- -Dtheora=disabled \
- -Dlibvisual=disabled \
- -Dgl=disabled \
- && cd build && \
- ninja install && \
- DESTDIR=/opt/dist ninja install
-
-RUN yum install -y git meson wget tar gcc-c++ glib2-devel bison flex gdk-pixbuf2-devel
-
-# build gst-plugin-good
-ARG GSTGOOD_REPO=https://github.com/GStreamer/gst-plugins-good/archive/1.20.3.tar.gz
-RUN cd /opt/build && \
- wget -O - ${GSTGOOD_REPO} | tar xz
-RUN cd /opt/build/gst-plugins-good-1.20.3 && \
- meson build --libdir=/usr/local/lib64 --libexecdir=/usr/local/lib64 \
- --prefix=/usr/local --buildtype=plain \
- -Dexamples=disabled \
- -Dtests=disabled \
- -Ddoc=disabled \
- -Dgdk-pixbuf=enabled \
- -Djpeg=disabled \
- -Dpng=disabled \
- -Disomp4=disabled \
- -Dsoup=disabled \
- -Dvpx=enabled \
- && cd build && \
- ninja install && \
- DESTDIR=/opt/dist ninja install
-
-RUN yum install -y meson wget tar glib2-devel bison flex gobject-introspection-devel libcurl-devel librtmp-devel devtoolset-9
-
-# build gst-plugin-bad
-ARG GSTBAD_REPO=https://github.com/GStreamer/gst-plugins-bad/archive/1.20.3.tar.gz
-RUN cd /opt/build && \
- wget -O - ${GSTBAD_REPO} | tar xz && \
- cd gst-plugins-bad-1.20.3 && \
- (. /opt/rh/devtoolset-9/enable && meson build \
- --prefix=/usr/local \
- --libdir=/usr/local/lib64 \
- --libexecdir=/usr/local/lib64 \
- --buildtype=plain \
- -Ddoc=disabled \
- -Dexamples=disabled \
- -Dtests=disabled \
- -Dintrospection=enabled \
- -Drtmp=enabled \
- -Dx265=disabled \
- -Drsvg=disabled \
- -Dfdkaac=disabled \
- && cd build && \
- ninja install && \
- DESTDIR=/opt/dist ninja install )
-
-RUN yum install -y meson wget tar gcc-c++ glib2-devel bison flex
-
-# build gst-plugin-ugly
-ARG GSTUGLY_REPO=https://github.com/GStreamer/gst-plugins-ugly/archive/1.20.3.tar.gz
-RUN cd /opt/build && \
- wget -O - ${GSTUGLY_REPO} | tar xz
-RUN cd /opt/build/gst-plugins-ugly-1.20.3 && \
- meson build --libdir=/usr/local/lib64 --libexecdir=/usr/local/lib64 \
- --prefix=/usr/local --buildtype=plain \
- -Ddoc=disabled \
- -Dx264=enabled \
- && cd build && \
- ninja install && \
- DESTDIR=/opt/dist ninja install
-
-RUN yum install -y wget tar gcc-c++ meson
-
-# build gst-plugin-libav
-ARG GSTLIBAV_REPO=https://github.com/GStreamer/gst-libav/archive/1.20.3.tar.gz
-RUN cd /opt/build && \
- wget -O - ${GSTLIBAV_REPO} | tar xz
-RUN cd /opt/build/gst-libav-1.20.3 && \
- meson build --libdir=/usr/local/lib64 --libexecdir=/usr/local/lib64 \
- --prefix=/usr/local --buildtype=plain && \
- cd build && \
- ninja install && \
- DESTDIR=/opt/dist ninja install
-
-RUN yum install -y cmake3 git ocl-icd-devel opencl-headers pkg-config ca-certificates python36-gobject-devel python3-devel
-
-# build gst-plugin-gva
-# formerly https://github.com/opencv/gst-video-analytics
-ARG GVA_REPO=https://github.com/openvinotoolkit/dlstreamer_gst.git
-# TODO: This is a workaround for a bug in dlstreamer_gst
-ENV LIBRARY_PATH=/usr/local/lib64
-RUN git clone -b v1.6 --depth 1 $GVA_REPO /opt/build/gst-video-analytics && \
- cd /opt/build/gst-video-analytics && \
- git submodule update --init && \
- mkdir -p build && cd build && \
- (. /opt/rh/devtoolset-9/enable && cmake3 \
- -DVERSION_PATCH="$(git rev-list --count --first-parent HEAD)" \
- -DGIT_INFO=git_"$(git rev-parse --short HEAD)" \
- -DCMAKE_INSTALL_PREFIX=/usr/local \
- -DCMAKE_BUILD_TYPE=Release \
- -DDISABLE_SAMPLES=ON \
- -DENABLE_PAHO_INSTALLATION=OFF \
- -DENABLE_RDKAFKA_INSTALLATION=OFF \
- -DENABLE_VAAPI=OFF \
- -DENABLE_VAS_TRACKER=ON \
- -DENABLE_AUDIO_INFERENCE_ELEMENTS=OFF \
- -Dwith_drm=no \
- -Dwith_x11=no \
- -Dwith_glx=no \
- -Dwith_wayland=no \
- -Dwith_egl=no \
- .. \
- && make -j $(nproc) \
- && make install \
- && make install DESTDIR=/opt/dist )
-ENV LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/local/lib64/gstreamer-1.0/:/usr/local/lib/
-
-RUN cp -r /opt/build/gst-video-analytics/build/intel64/Release/lib/* /usr/local/lib64/gstreamer-1.0/.
-RUN cp -r /opt/build/gst-video-analytics/build/intel64/Release/lib/* /opt/dist//usr/local/lib64/gstreamer-1.0/.
-ENV GST_PLUGIN_PATH=${GST_PLUGIN_PATH}:/usr/local/lib64/gstreamer-1.0/
-
-RUN mkdir -p /opt/intel/dl_streamer/python && \
- cp -r /opt/build/gst-video-analytics/python/* /opt/intel/dl_streamer/python
-
-ENV PYTHONPATH=${PYTHONPATH}:/opt/intel/dl_streamer/python
-RUN mkdir -p /opt/dist/opt/intel/dl_streamer/python && \
- cp -r /opt/build/gst-video-analytics/python/* /opt/dist/opt/intel/dl_streamer/python
-
-RUN yum install -y wget tar gcc-c++ glib2-devel gtk-dock openblas python3 python36-gobject-devel python3-devel meson
-ARG GSTPYTHON_REPO=https://gstreamer.freedesktop.org/src/gst-python/gst-python-1.20.3.tar.xz
-RUN cd /opt/build && \
- wget -O - ${GSTPYTHON_REPO} | tar xJ
-RUN cd /opt/build/gst-python-1.20.3 && \
-#WORKAROUND: https://gitlab.freedesktop.org/gstreamer/gst-python/-/merge_requests/30/diffs
-
- meson build --libdir=/usr/local/lib64 --libexecdir=/usr/local/lib64 \
- --prefix=/usr/local --buildtype=plain \
- -Dpython=/usr/bin/python3 -Dlibpython-dir=/usr/lib64/ \
- -Dpygi-overrides-dir=/usr/lib/python3/dist-packages/gi/overrides && \
- cd build && \
- ninja install && \
- DESTDIR=/opt/dist ninja install
-
-
-RUN yum install -y python-devel
-
-# build boost
-ARG BOOST_REPO=https://boostorg.jfrog.io/artifactory/main/release/1.65.0/source/boost_1_65_0.tar.bz2
-RUN cd /opt/build && \
- wget -O - ${BOOST_REPO} | tar jx
-RUN cd /opt/build/boost_1_65_0 && \
- chmod +x bootstrap.sh && \
- ./bootstrap.sh && \
- ./b2 && ./b2 install --prefix=/usr/local
-
-RUN yum install -y wget bzip2
-
-# Build OpenH264
-ARG OPENH264_SRC_REPO=https://github.com/cisco/openh264/archive/v1.7.0.tar.gz
-ARG OPENH264_BIN_REPO=https://github.com/cisco/openh264/releases/download/v1.7.0/libopenh264-1.7.0-linux64.4.so.bz2
-RUN cd /opt/build && \
- wget -O - ${OPENH264_SRC_REPO} | tar xz openh264-1.7.0/codec/api && \
- cd openh264-1.7.0 && \
- (mkdir -p /usr/local/include/openh264 && cp -r codec /usr/local/include/openh264) && \
- (mkdir -p /opt/dist/usr/local/include/openh264 && cp -r codec /opt/dist/usr/local/include/openh264)
-
-RUN cd /usr/local/lib64 && \
- wget -O - ${OPENH264_BIN_REPO} | bunzip2 > libopenh264.so.4 && \
- ln -s -v libopenh264.so.4 libopenh264.so && \
- cd /opt/dist/usr/local/lib64 && \
- cp -r /usr/local/lib64/libopenh264.so.4 . && \
- ln -s -v libopenh264.so.4 libopenh264.so
-
-RUN yum install -y git cmake make autoconf gcc
-
-# build libre
-ARG LIBRE_REPO=https://github.com/creytiv/re.git
-RUN cd /opt/build && \
- git clone ${LIBRE_REPO} -b v0.5.0 --depth 1 && \
- cd re && \
- make SYSROOT_ALT=/usr RELEASE=1 && \
- make install SYSROOT_ALT=/usr RELEASE=1 PREFIX=/usr && \
- make SYSROOT_ALT=/opt/dist/usr RELEASE=1 && \
- make install SYSROOT_ALT=/opt/dist/usr RELEASE=1 PREFIX=/opt/dist/usr
-
-RUN yum install -y wget cmake make gcc libglib2.0-devel patch
-
-# build libnice
-ARG LIBNICE_REPO=http://nice.freedesktop.org/releases/libnice-0.1.4.tar.gz
-RUN cd /opt/build && \
- wget -O - ${LIBNICE_REPO} | tar xz
-
-
-ARG LIBNICE_PATCH_REPO=https://github.com/open-webrtc-toolkit/owt-server/archive/v5.0.tar.gz
-
-RUN cd /opt/build/libnice-0.1.4 && \
- wget -O - ${LIBNICE_PATCH_REPO} | tar xz && \
- patch -p1 < owt-server-5.0/scripts/patches/libnice014-agentlock.patch && \
- patch -p1 < owt-server-5.0/scripts/patches/libnice014-agentlock-plus.patch && \
- patch -p1 < owt-server-5.0/scripts/patches/libnice014-removecandidate.patch && \
- patch -p1 < owt-server-5.0/scripts/patches/libnice014-keepalive.patch && \
- patch -p1 < owt-server-5.0/scripts/patches/libnice014-startcheck.patch && \
- patch -p1 < owt-server-5.0/scripts/patches/libnice014-closelock.patch
-
-
-RUN cd /opt/build/libnice-0.1.4 && \
- ./configure --prefix=/usr/local --libdir=/usr/local/lib64 && \
- make -j$(nproc) -s V=0 && \
- make install DESTDIR=/opt/dist && \
- make install
-
-RUN yum install -y wget cmake automake make gcc which
-
-# build usrsctp
-ARG USRSCTP_REPO=https://github.com/sctplab/usrsctp/archive/0.9.5.0.tar.gz
-RUN cd /opt/build && \
- wget -O - ${USRSCTP_REPO} | tar xz && \
- cd usrsctp-* && \
- ./bootstrap && \
- ./configure --prefix=/usr/local --libdir=/usr/local/lib64 && \
- make -j$(nproc) && \
- make install DESTDIR=/opt/dist && \
- make install
-
-RUN yum install -y wget
-
-# build jsonhpp
-ARG JSONHPP_REPO=https://github.com/nlohmann/json/releases/download/v3.6.1/json.hpp
-RUN wget -O /usr/include/json.hpp ${JSONHPP_REPO}
-
-RUN yum install -y wget xz-utils
-
-# build node
-ARG NODE_REPO=https://nodejs.org/dist/v10.24.1/node-v10.24.1-linux-x64.tar.xz
-RUN cd /opt/build && \
- wget -O - ${NODE_REPO} | tar xJ && \
- cp node-v10.24.1-linux-x64/* /usr/local -rf && \
- rm -rf node-v10.24.1-linux-x64
-
-RUN yum install -y wget gcc make pkg-config
-
-# build libsrtp2
-ARG LIBSRTP2_REPO=https://github.com/cisco/libsrtp/archive/v2.1.0.tar.gz
-RUN cd /opt/build && \
- wget -O - ${LIBSRTP2_REPO} | tar xz && \
- cd libsrtp-2.1.0 && \
- CFLAGS="-fPIC -Wl,-rpath=/usr/local/ssl/lib" ./configure --enable-openssl --prefix=/usr/local --libdir=/usr/local/lib64 --with-openssl-dir=/usr/local/ssl && \
- make -s V=0 -j $(nproc) && \
- make install DESTDIR=/opt/dist && \
- make install
-
-RUN yum install -y git gcc npm python glib2-devel boost-devel log4cxx-devel pkg-config devtoolset-9
-
-# Install npm modules
-RUN npm install -g --loglevel error node-gyp@6.1.0 grunt-cli underscore jsdoc
-
-# Get owt-server Source
-ARG OWT_REPO=https://github.com/open-webrtc-toolkit/owt-server
-RUN cd /opt/build && \
- git clone -b master ${OWT_REPO} && \
- cd owt-server && \
- git reset --hard v5.0.1
-
-#Patch OWT for Analytics
-
-ARG OWT_ANALYTICS_PATCH=https://raw.githubusercontent.com/OpenVisualCloud/Dockerfiles-Resources/master/0002-fix-the-analytics-restart.patch
-ARG OWT_AVREAD_PATCH=https://raw.githubusercontent.com/OpenVisualCloud/Dockerfiles-Resources/master/0001-Remove-av_read_play-which-already-called-inside-rtsp.patch
-
-RUN cd /opt/build/owt-server && \
- wget ${OWT_ANALYTICS_PATCH} && \
- wget ${OWT_AVREAD_PATCH} && \
- patch -p1 < 0002-fix-the-analytics-restart.patch && \
- patch -p1 < 0001-Remove-av_read_play-which-already-called-inside-rtsp.patch
-
-
-
-# Prep OpenH264
-RUN mkdir -p /opt/build/owt-server/third_party/openh264 && \
- cd /opt/build/owt-server/third_party/openh264 && \
- ln -s -v /usr/local/include/openh264/codec . && \
- ln -s -v /usr/local/lib64/libopenh264.so . && \
- echo "const char* stub() {return \"this is a stub lib\";}" > pseudo-openh264.cpp && \
- gcc pseudo-openh264.cpp -fPIC -shared -o pseudo-openh264.so
-
-# Get licode
-ARG OWT_LICODE_REPO=https://github.com/lynckia/licode.git
-RUN cd /opt/build/owt-server/third_party && \
- git clone ${OWT_LICODE_REPO} && \
- cd licode && \
- git config user.name x && git config user.email x@y && \
- git reset --hard 8b4692c88f1fc24dedad66b4f40b1f3d804b50ca && \
- git am /opt/build/owt-server/scripts/patches/licode/*.patch
-
-# Get webrtc
-ARG OWT_WEBRTC_REPO=https://github.com/open-webrtc-toolkit/owt-deps-webrtc.git
-RUN mkdir -p /opt/build/owt-server/third_party/webrtc && \
- cd /opt/build/owt-server/third_party/webrtc && \
- git clone -b 59-server ${OWT_WEBRTC_REPO} src && \
- cd src && \
- ./tools-woogeen/install.sh && \
- ./tools-woogeen/build.sh
-
-
-# Get webrtc79
-RUN mkdir -p /opt/build/owt-server/third_party/webrtc-m79 && \
- cd /opt/build/owt-server/third_party/webrtc-m79 && \
- sed -i "s/git clone/git clone --depth 1/" ../../scripts/installWebrtc.sh && \
- (. /opt/rh/devtoolset-9/enable && bash ../../scripts/installWebrtc.sh)
-
-
-# Get SDK
-ARG OWT_SDK_REPO=https://github.com/open-webrtc-toolkit/owt-client-javascript.git
-RUN cd /opt/build && \
- git clone -b master ${OWT_SDK_REPO} && \
- cd owt-client-javascript/scripts && \
- git reset --hard v5.0 && \
- npm install && grunt
-
-# Get quic
-ARG OWT_QUIC_REPO=https://github.com/open-webrtc-toolkit/owt-deps-quic/releases/download/v0.1/dist.tgz
-RUN mkdir -p /opt/build/owt-server/third_party/quic-lib && \
- cd /opt/build/owt-server/third_party/quic-lib && \
- wget -O - ${OWT_QUIC_REPO} | tar xz
-
-# Build and pack owt
-RUN cd /opt/build/owt-server && \
- sed -i "/cflags_cc/s/\[/[\"-Wl,rpath=\/usr\/local\/ssl\/lib\",/" source/agent/webrtc/rtcConn/binding.gyp source/agent/webrtc/rtcFrame/binding.gyp && \
- sed -i "s/-lssl/" source/agent/sip/sipIn/sip_gateway/sipua/src/account.c
-
-# Install nan module
-RUN cd /opt/build/owt-server && \
- echo {} > package.json && \
- npm install nan
-
-# Build and package
-ENV LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/local/lib64:/usr/local/ssl/lib
-RUN cd /opt/build/owt-server && \
- (. /opt/rh/devtoolset-9/enable &&./scripts/build.js -t mcu-all -r -c) &&\
- ./scripts/pack.js -t all --install-module --no-pseudo --app-path /opt/build/owt-client-javascript/dist/samples/conference && \
- mkdir -p /opt/dist/home && \
- mv dist /opt/dist/home/owt
-
- RUN cd /opt/dist/home && \
- echo "#!/bin/bash -e" >>launch.sh && \
- echo "mongod --config /etc/mongod.conf &" >>launch.sh && \
- echo "rabbitmq-server &" >>launch.sh && \
- echo "while ! mongo --quiet --eval \"db.adminCommand(\\\"listDatabases\\\")\"" >>launch.sh && \
- echo "do" >>launch.sh && \
- echo " echo mongod not launch" >>launch.sh && \
- echo " sleep 1" >>launch.sh && \
- echo "done" >>launch.sh && \
- echo "echo mongodb connected successfully" >>launch.sh && \
- echo "cd /home/owt" >>launch.sh && \
- echo "./management_api/init.sh" >>launch.sh && \
- echo "./bin/start-all.sh" >>launch.sh && \
- chmod +x launch.sh
-
-# cleanup
-RUN rm -rf /opt/dist/usr/local/include && \
- rm -rf /opt/dist/usr/local/lib64/pkgconfig && \
- find /opt/dist -name "*.a" -exec rm -f {} \; || echo ""
-RUN rm -rf /opt/dist/usr/local/share/doc /opt/dist/usr/local/share/gtk-doc
-RUN rm -rf /opt/dist/usr/local/share/man
-RUN rm -rf /opt/dist/usr/local/ssl/include
-RUN rm -rf /opt/dist/usr/local/ssl/share/man
-RUN rm -rf /opt/dist/usr/local/ssl/share/doc
-RUN cd /opt/dist/usr/local/openvino/runtime && \
- rm -rf /opt/dist/usr/local/lib64/pkgconfig/openvino.pc \
- include src share/*.cmake cmake lib/intel64/*.a external/tbb/include external/tbb/cmake
-RUN rm -rf /opt/dist/usr/local/openvino/inference-engine/external/tbb/doc
-RUN rm -rf /opt/dist/home/owt/analytics_agent/plugins
-
-FROM centos:7
-LABEL Description="This is the base image for the OWT service centos 7"
-LABEL Vendor="Intel Corporation"
-WORKDIR /home
-
-# Install
-RUN yum install -y -q epel-release && rm -rf /var/yum/cache/*
-
-RUN yum install -y -q dnf
-RUN dnf install -y https://download1.rpmfusion.org/free/el/rpmfusion-free-release-7.noarch.rpm && \
- dnf install -y https://download1.rpmfusion.org/nonfree/el/rpmfusion-nonfree-release-7.noarch.rpm
-RUN yum install -y libdrm libX11 libXfixes libXext libwayland-client gtk3 numactl ocl-icd libass glib2 gobject-introspection mesa-libEGL alsa-lib gdk-pixbuf2 librtmp python3-devel boost-regex python36-gobject python36-gobject-devel python36-gobject-base wget xz-utils rabbitmq-server boost-system boost-thread log4cxx freetype
-
-COPY --from=build /opt/dist /
-RUN echo "/usr/local/lib64" >> /etc/ld.so.conf.d/all-libs.conf && ldconfig
-
-ENV LIBVA_DRIVERS_PATH=/usr/local/lib64/dri
-ENV LIBVA_DRIVER_NAME=iHD
-ENV DISPLAY=:0.0
-
-ENV InferenceEngine_DIR=/usr/local/openvino/runtime/cmake/
-ENV TBB_DIR=/usr/local/openvino/runtime/3rdparty/tbb/cmake
-ENV ngraph_DIR=/usr/local/openvino/runtime/cmake/
-ENV LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/local/openvino/runtime/lib/:/usr/local/openvino/runtime/3rdparty/tbb/lib/
-ENV GST_PLUGIN_PATH=/usr/local/lib64/gstreamer-1.0
-ENV GST_PLUGIN_SCANNER=/usr/local/lib64/gstreamer-1.0/gst-plugin-scanner
-
-# install DLDT
-ARG CUSTOM_IE_DIR=/usr/local/openvino/
-ARG CUSTOM_IE_LIBDIR=${CUSTOM_IE_DIR}/runtime/lib/intel64
-RUN printf "${CUSTOM_IE_LIBDIR}\n${CUSTOM_IE_DIR}/3rdparty/tbb/lib\n" >/etc/ld.so.conf.d/openvino.conf && ldconfig
-ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib64/gstreamer-1.0/
-ENV GI_TYPELIB_PATH=${GI_TYPELIB_PATH}:/usr/local/lib64/girepository-1.0/
-ENV PYTHONPATH=${PYTHONPATH}:/opt/intel/dl_streamer/python
-ENV GST_PLUGIN_PATH=${GST_PLUGIN_PATH}:/usr/local/lib64/gstreamer-1.0/
-RUN python3 -m pip install numpy
-
-# install node
-ARG NODE_REPO=https://nodejs.org/dist/v10.24.1/node-v10.24.1-linux-x64.tar.xz
-RUN cd /usr/local && \
- wget -O - ${NODE_REPO} | tar xJ && \
- cp -r node-v10.24.1-linux-x64/* . && \
- rm -rf node-v10.24.1-linux-x64
-
-# install OWT
-RUN echo "[mongodb-org-3.6]" >> /etc/yum.repos.d/mongodb-org-3.6.repo && \
- echo "name=MongoDB Repository" >> /etc/yum.repos.d/mongodb-org-3.6.repo && \
- echo "baseurl=https://repo.mongodb.org/yum/redhat/7/mongodb-org/3.6/x86_64/" >> /etc/yum.repos.d/mongodb-org-3.6.repo && \
- echo "gpgcheck=1" >> /etc/yum.repos.d/mongodb-org-3.6.repo && \
- echo "enabled=1" >> /etc/yum.repos.d/mongodb-org-3.6.repo && \
- echo "gpgkey=https://www.mongodb.org/static/pgp/server-3.6.asc" >> /etc/yum.repos.d/mongodb-org-3.6.repo && \
- yum install -y -q mongodb-org && rm -rf /var/cache/yum/*
-
-
diff --git a/Xeon/ubuntu-20.04/analytics/dev/Dockerfile b/Xeon/ubuntu-20.04/analytics/dev/Dockerfile
index 5974b93e4..74fb2e351 100644
--- a/Xeon/ubuntu-20.04/analytics/dev/Dockerfile
+++ b/Xeon/ubuntu-20.04/analytics/dev/Dockerfile
@@ -46,12 +46,13 @@ RUN apt-get update && \
# build libogg
ARG OGG_VER=1.3.5
ARG LIBOGG_REPO=https://github.com/xiph/ogg/releases/download/v${OGG_VER}/libogg-1.3.5.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${LIBOGG_REPO} | tar xz && \
cd libogg-1.3.5 && \
./configure --prefix=/usr/local --libdir=/usr/local/lib --enable-shared && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -63,11 +64,12 @@ RUN apt-get update && \
# build libvorbis
ARG VORBIS_VER=1.3.7
ARG LIBVORBIS_REPO=https://github.com/xiph/vorbis/releases/download/v${VORBIS_VER}/libvorbis-1.3.7.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${LIBVORBIS_REPO} | tar xz && \
cd libvorbis-1.3.7 && \
./configure --prefix=/usr/local --libdir=/usr/local/lib --enable-shared && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -78,12 +80,13 @@ RUN apt-get update && \
# build libfdkaac
ARG LIBFDKAAC_REPO=https://github.com/mstorsjo/fdk-aac/archive/v2.0.2.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${LIBFDKAAC_REPO} | tar xz && \
cd fdk-aac-2.0.2 && \
./autogen.sh && \
./configure --prefix=/usr/local --libdir=/usr/local/lib --enable-shared && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -94,11 +97,12 @@ RUN apt-get update && \
# build libopus
ARG LIBOPUS_REPO=https://archive.mozilla.org/pub/opus/opus-1.3.1.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${LIBOPUS_REPO} | tar xz && \
cd opus-1.3.1 && \
./configure --prefix=/usr/local --libdir=/usr/local/lib --enable-shared && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -112,12 +116,13 @@ RUN apt-get update && \
# TODO: Revert to NASM repo, this is temp fix is nasm repo certificate expired temporarily
ARG NASM_REPO=https://github.com/OpenVisualCloud/Dockerfiles-Resources/raw/master/nasm-2.15.05.tar.bz2
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${NASM_REPO} | tar xj && \
cd nasm-2.15.05 && \
./autogen.sh && \
./configure --prefix=/usr/local --libdir=/usr/local/lib && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install
RUN apt-get update && \
@@ -131,7 +136,7 @@ RUN cd /opt/build && \
git clone ${LIBVPX_REPO} -b v1.12.0 --depth 1 && \
cd libvpx && \
./configure --prefix=/usr/local --libdir=/usr/local/lib --enable-shared --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=nasm && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -146,7 +151,7 @@ RUN cd /opt/build && \
git clone ${LIBAOM_REPO} -b v3.4.0 --depth 1 && \
cd aom/build && \
cmake -DBUILD_SHARED_LIBS=ON -DENABLE_NASM=ON -DENABLE_TESTS=OFF -DENABLE_DOCS=OFF -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_INSTALL_LIBDIR=lib .. && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -157,9 +162,9 @@ RUN apt-get update && \
# build meson
ARG MESON_REPO=https://github.com/mesonbuild/meson
-RUN git clone ${MESON_REPO}; \
- cd meson; \
- git checkout 0.63.0; \
+RUN git clone ${MESON_REPO} && \
+ cd meson && \
+ git checkout 0.63.0 && \
python3 setup.py install;
RUN apt-get update && \
@@ -169,6 +174,7 @@ RUN apt-get update && \
# build dav1d
ARG DAV1D_REPO=https://code.videolan.org/videolan/dav1d/-/archive/0.9.2/dav1d-0.9.2.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${DAV1D_REPO} | tar xz
RUN cd /opt/build/dav1d-0.9.2 && \
@@ -180,11 +186,12 @@ RUN cd /opt/build/dav1d-0.9.2 && \
ARG LIBJSONC_REPO=https://github.com/json-c/json-c/archive/json-c-0.16-20220414.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${LIBJSONC_REPO} | tar xz && \
cd json-c-json-c-0.16-20220414 && mkdir build && cd build && \
cmake -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_INSTALL_LIBDIR=/usr/local/lib .. && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -192,11 +199,12 @@ RUN cd /opt/build && \
ARG KAFKA_VER=1.9.2
ARG LIBRDKAFKA_REPO=https://github.com/edenhill/librdkafka/archive/v${KAFKA_VER}.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${LIBRDKAFKA_REPO} | tar xz && \
cd librdkafka-1.9.2 && \
./configure --prefix=/usr/local --libdir=/usr/local/lib && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -209,6 +217,7 @@ RUN apt-get update && \
# ARG YASM_REPO=https://www.tortall.net/projects/yasm/releases/yasm-YASM_VER.tar.gz
# At the time of 21.6 Release, yasm official site above had certificate problem, hence pulling from Dockerfiles-Resources.
ARG YASM_REPO=https://github.com/OpenVisualCloud/Dockerfiles-Resources/raw/master/yasm-1.3.0.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${YASM_REPO} | tar xz
@@ -216,7 +225,7 @@ RUN cd /opt/build/yasm-1.3.0 && \
# TODO remove the line below whether no other component inside this project requires it.
# `sed -i "s/) ytasm.*/)/" Makefile.in' && \
./configure --prefix=/usr/local --libdir=/usr/local/lib && \
- make -j $(nproc) && \
+ make -j "$(nproc)" && \
make install
RUN apt-get update && \
@@ -230,7 +239,7 @@ RUN cd /opt/build && \
git clone -b v1.5.1 --depth 1 ${SVT_HEVC_REPO}
RUN cd /opt/build/SVT-HEVC/Build/linux && \
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_INSTALL_LIBDIR=/usr/local/lib -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \
- make -j $(nproc) && \
+ make -j "$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -241,12 +250,13 @@ RUN apt-get update && \
# build svt av1
ARG SVT_AV1_REPO=https://gitlab.com/AOMediaCodec/SVT-AV1/-/archive/v1.3.0/SVT-AV1-v1.3.0.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${SVT_AV1_REPO} | tar zx && \
mv SVT-AV1-v1.3.0 SVT-AV1 && \
cd SVT-AV1/Build/linux && \
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_INSTALL_LIBDIR=/usr/local/lib -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \
- make -j $(nproc) && \
+ make -j "$(nproc)" && \
sed -i "s/SvtAv1dec/SvtAv1Dec/" SvtAv1Dec.pc && \
make install DESTDIR=/opt/dist && \
make install
@@ -262,7 +272,7 @@ RUN cd /opt/build && \
git clone ${SVT_VP9_REPO} -b v0.3.0 --depth 1 && \
cd SVT-VP9/Build/linux && \
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_INSTALL_LIBDIR=/usr/local/lib -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \
- make -j $(nproc) && \
+ make -j "$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -273,6 +283,7 @@ RUN apt-get update && \
# build opencv
ARG OPENCV_REPO=https://github.com/opencv/opencv/archive/4.5.3-openvino-2021.4.2.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${OPENCV_REPO} | tar xz
# TODO: file a bug against opencv since they do not accept full libdir
@@ -290,7 +301,7 @@ RUN cd /opt/build/opencv-4.5.3-openvino-2021.4.2 && mkdir build && cd build && \
-DWITH_OPENJPEG=OFF \
-DWITH_JASPER=OFF \
.. && \
- make -j $(nproc) && \
+ make -j "$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -329,7 +340,7 @@ RUN cd /opt/build/openvino && \
-DBUILD_TESTS=OFF \
-DTREAT_WARNING_AS_ERROR=OFF \
.. && \
- make -j $(nproc) && \
+ make -j "$(nproc)" && \
make install && \
make install DESTDIR=/opt/dist
@@ -349,6 +360,7 @@ RUN apt-get update && \
# build gst-core
ARG GSTCORE_REPO=https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-1.20.3.tar.xz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${GSTCORE_REPO} | tar xJ
RUN cd /opt/build/gstreamer-1.20.3 && \
@@ -369,6 +381,7 @@ RUN apt-get update && \
# build gst-plugin-base
ARG GSTBASE_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-1.20.3.tar.xz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${GSTBASE_REPO} | tar xJ
RUN cd /opt/build/gst-plugins-base-1.20.3 && \
@@ -397,6 +410,7 @@ RUN apt-get update && \
# build gst-plugin-good
ARG GSTGOOD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-1.20.3.tar.xz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${GSTGOOD_REPO} | tar xJ
RUN cd /opt/build/gst-plugins-good-1.20.3 && \
@@ -422,6 +436,7 @@ RUN apt-get update && \
# build gst-plugin-bad
ARG GSTBAD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-1.20.3.tar.xz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${GSTBAD_REPO} | tar xJ && \
cd gst-plugins-bad-1.20.3 && \
@@ -450,6 +465,7 @@ RUN apt-get update && \
# build gst-plugin-ugly
ARG GSTUGLY_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-1.20.3.tar.xz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${GSTUGLY_REPO} | tar xJ
RUN cd /opt/build/gst-plugins-ugly-1.20.3 && \
@@ -491,6 +507,7 @@ RUN apt-get update && \
# build libpahomqtt
ARG PAHO_VER=1.3.10
ARG LIBPAHO_REPO=https://github.com/eclipse/paho.mqtt.c/archive/v${PAHO_VER}.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${LIBPAHO_REPO} | tar -xz
RUN cd /opt/build/paho.mqtt.c-1.3.10 && \
@@ -553,7 +570,7 @@ RUN git clone -b master $GVA_REPO /opt/build/gst-video-analytics && \
-DENABLE_AUDIO_INFERENCE_ELEMENTS=ON \
-DTREAT_WARNING_AS_ERROR=OFF \
.. \
- && make -j $(nproc) \
+ && make -j "$(nproc)" \
&& make install \
&& make install DESTDIR=/opt/dist
@@ -575,6 +592,7 @@ RUN apt-get update && \
ca-certificates tar g++ wget gtk-doc-tools uuid-dev python-gi-dev python3-dev libtool-bin libpython3-dev libpython3-stdlib libpython3-all-dev && \
rm -rf /var/lib/apt/lists/*
ARG GSTPYTHON_REPO=https://gstreamer.freedesktop.org/src/gst-python/gst-python-1.20.3.tar.xz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${GSTPYTHON_REPO} | tar xJ
RUN cd /opt/build/gst-python-1.20.3 && \
@@ -614,7 +632,7 @@ RUN cd /opt/build/FFmpeg && \
RUN cd /opt/build/FFmpeg && \
./configure --prefix=/usr/local --libdir=/usr/local/lib --enable-shared --disable-static --disable-doc --disable-htmlpages \
--disable-manpages --disable-podpages --disable-txtpages \
- --extra-cflags=-w --enable-nonfree --enable-libass --enable-libfreetype --disable-xlib --disable-sdl2 --disable-hwaccels --disable-vaapi --enable-libv4l2 --enable-indev=v4l2 --enable-libfdk-aac --enable-libopus --enable-libvpx --enable-libvorbis --enable-libsvtav1 --enable-libsvthevc --enable-libaom --enable-libdav1d && make -j$(nproc) && \
+ --extra-cflags=-w --enable-nonfree --enable-libass --enable-libfreetype --disable-xlib --disable-sdl2 --disable-hwaccels --disable-vaapi --enable-libv4l2 --enable-indev=v4l2 --enable-libfdk-aac --enable-libopus --enable-libvpx --enable-libvorbis --enable-libsvtav1 --enable-libsvthevc --enable-libaom --enable-libdav1d && make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -624,6 +642,7 @@ RUN cd /opt/build/FFmpeg && \
RUN rm -rf /opt/dist/usr/local/share/doc /opt/dist/usr/local/share/gtk-doc
RUN rm -rf /opt/dist/usr/local/share/man
RUN rm -rf /opt/dist/usr/local/openvino/inference-engine/external/tbb/doc
+HEALTHCHECK CMD echo "This is a healthcheck test." || exit 1
FROM ubuntu:20.04
LABEL Description="This is the base image for Development purposes on ubuntu 20.04"
@@ -658,3 +677,4 @@ ENV GI_TYPELIB_PATH=${GI_TYPELIB_PATH}:/usr/local/lib/girepository-1.0/
ENV PYTHONPATH=${PYTHONPATH}:/opt/intel/dl_streamer/python
ENV GST_PLUGIN_PATH=${GST_PLUGIN_PATH}:/usr/local/lib/gstreamer-1.0/
+HEALTHCHECK CMD echo "This is a healthcheck test." || exit 1
\ No newline at end of file
diff --git a/Xeon/ubuntu-20.04/analytics/dev/Dockerfile.m4 b/Xeon/ubuntu-20.04/analytics/dev/Dockerfile.m4
index d720bce7d..1cccc4fb5 100644
--- a/Xeon/ubuntu-20.04/analytics/dev/Dockerfile.m4
+++ b/Xeon/ubuntu-20.04/analytics/dev/Dockerfile.m4
@@ -43,3 +43,4 @@ WORKDIR /home
# Install
UPGRADE_UBUNTU_COMPONENTS()
INSTALL_ALL(runtime,build)dnl
+HEALTHCHECK CMD echo "This is a healthcheck test." || exit 1
\ No newline at end of file
diff --git a/Xeon/ubuntu-20.04/analytics/dev/README.md b/Xeon/ubuntu-20.04/analytics/dev/README.md
index 7674bfc22..ca508f08f 100644
--- a/Xeon/ubuntu-20.04/analytics/dev/README.md
+++ b/Xeon/ubuntu-20.04/analytics/dev/README.md
@@ -1,7 +1,7 @@
This docker image is part of Open Visual Cloud software stacks. This is development image aim towards enabling C++ application compilation, debugging (with the debugging, profiling tools) and optimization (with the optimization tools.) You can compile C++ applications with this image and then copy the applications to the corresponding deployment image. Included what are in FFmpeg & GStreamer media analytics images. The docker image can be used in the FROM field of a downstream Dockerfile.
## Supported tags and respective Dockerfile links
- - [xeon-ubuntu-2004-analytics-dev](https://github.com/OpenVisualCloud/Dockerfiles/blob/v22.3/Xeon/ubuntu-20.04/analytics/dev/Dockerfile)
+ - [xeon-ubuntu-2004-analytics-dev](https://github.com/OpenVisualCloud/Dockerfiles/blob/v23.06/Xeon/ubuntu-20.04/analytics/dev/Dockerfile)
## Quick reference
- #### Supported platform and OS
@@ -27,7 +27,6 @@ This docker installs third party components licensed under various open source l
|Ubuntu| [Various](https://hub.docker.com/_/ubuntu) |
|libogg|BSD 3-clause "New" or "Revised" License|
|libvorbis|BSD 3-clause "New" or "Revised" License|
-|OpenSSL|Apache License 2.0|
|Opus Interactive Audio Codec|BSD 3-clause "New" or "Revised" License|
|libvpx|BSD 3-clause "New" or "Revised" License|
|Aomedia AV1 Codec Library|BSD 2-clause "Simplified" License|
diff --git a/Xeon/ubuntu-20.04/analytics/ffmpeg/Dockerfile b/Xeon/ubuntu-20.04/analytics/ffmpeg/Dockerfile
index 73c56872c..08f88c3fb 100644
--- a/Xeon/ubuntu-20.04/analytics/ffmpeg/Dockerfile
+++ b/Xeon/ubuntu-20.04/analytics/ffmpeg/Dockerfile
@@ -46,12 +46,13 @@ RUN apt-get update && \
# build libogg
ARG OGG_VER=1.3.5
ARG LIBOGG_REPO=https://github.com/xiph/ogg/releases/download/v${OGG_VER}/libogg-1.3.5.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${LIBOGG_REPO} | tar xz && \
cd libogg-1.3.5 && \
./configure --prefix=/usr/local --libdir=/usr/local/lib --enable-shared && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -63,11 +64,12 @@ RUN apt-get update && \
# build libvorbis
ARG VORBIS_VER=1.3.7
ARG LIBVORBIS_REPO=https://github.com/xiph/vorbis/releases/download/v${VORBIS_VER}/libvorbis-1.3.7.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${LIBVORBIS_REPO} | tar xz && \
cd libvorbis-1.3.7 && \
./configure --prefix=/usr/local --libdir=/usr/local/lib --enable-shared && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -78,12 +80,13 @@ RUN apt-get update && \
# build libfdkaac
ARG LIBFDKAAC_REPO=https://github.com/mstorsjo/fdk-aac/archive/v2.0.2.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${LIBFDKAAC_REPO} | tar xz && \
cd fdk-aac-2.0.2 && \
./autogen.sh && \
./configure --prefix=/usr/local --libdir=/usr/local/lib --enable-shared && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -94,11 +97,12 @@ RUN apt-get update && \
# build libopus
ARG LIBOPUS_REPO=https://archive.mozilla.org/pub/opus/opus-1.3.1.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${LIBOPUS_REPO} | tar xz && \
cd opus-1.3.1 && \
./configure --prefix=/usr/local --libdir=/usr/local/lib --enable-shared && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -112,12 +116,13 @@ RUN apt-get update && \
# TODO: Revert to NASM repo, this is temp fix is nasm repo certificate expired temporarily
ARG NASM_REPO=https://github.com/OpenVisualCloud/Dockerfiles-Resources/raw/master/nasm-2.15.05.tar.bz2
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${NASM_REPO} | tar xj && \
cd nasm-2.15.05 && \
./autogen.sh && \
./configure --prefix=/usr/local --libdir=/usr/local/lib && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install
RUN apt-get update && \
@@ -131,7 +136,7 @@ RUN cd /opt/build && \
git clone ${LIBVPX_REPO} -b v1.12.0 --depth 1 && \
cd libvpx && \
./configure --prefix=/usr/local --libdir=/usr/local/lib --enable-shared --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=nasm && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -147,7 +152,7 @@ RUN cd /opt/build && \
cd x264 && \
./configure --prefix=/usr/local --libdir=/usr/local/lib \
--enable-shared && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -160,6 +165,7 @@ RUN apt-get update && \
# ARG YASM_REPO=https://www.tortall.net/projects/yasm/releases/yasm-YASM_VER.tar.gz
# At the time of 21.6 Release, yasm official site above had certificate problem, hence pulling from Dockerfiles-Resources.
ARG YASM_REPO=https://github.com/OpenVisualCloud/Dockerfiles-Resources/raw/master/yasm-1.3.0.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${YASM_REPO} | tar xz
@@ -167,7 +173,7 @@ RUN cd /opt/build/yasm-1.3.0 && \
# TODO remove the line below whether no other component inside this project requires it.
# `sed -i "s/) ytasm.*/)/" Makefile.in' && \
./configure --prefix=/usr/local --libdir=/usr/local/lib && \
- make -j $(nproc) && \
+ make -j "$(nproc)" && \
make install
RUN apt-get update && \
@@ -177,11 +183,12 @@ RUN apt-get update && \
# build libx265
ARG LIBX265_REPO=https://github.com/videolan/x265/archive/3.4.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${LIBX265_REPO} | tar xz && \
cd x265-3.4/build/linux && \
cmake -DBUILD_SHARED_LIBS=ON -DCMAKE_INSTALL_PREFIX=/usr/local -DLIB_INSTALL_DIR=/usr/local/lib ../../source && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -192,6 +199,7 @@ RUN apt-get update && \
# build dav1d
ARG DAV1D_REPO=https://code.videolan.org/videolan/dav1d/-/archive/0.9.2/dav1d-0.9.2.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${DAV1D_REPO} | tar xz
RUN cd /opt/build/dav1d-0.9.2 && \
@@ -211,7 +219,7 @@ RUN cd /opt/build && \
git clone -b v1.5.1 --depth 1 ${SVT_HEVC_REPO}
RUN cd /opt/build/SVT-HEVC/Build/linux && \
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_INSTALL_LIBDIR=/usr/local/lib -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \
- make -j $(nproc) && \
+ make -j "$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -222,12 +230,13 @@ RUN apt-get update && \
# build svt av1
ARG SVT_AV1_REPO=https://gitlab.com/AOMediaCodec/SVT-AV1/-/archive/v1.3.0/SVT-AV1-v1.3.0.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${SVT_AV1_REPO} | tar zx && \
mv SVT-AV1-v1.3.0 SVT-AV1 && \
cd SVT-AV1/Build/linux && \
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_INSTALL_LIBDIR=/usr/local/lib -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \
- make -j $(nproc) && \
+ make -j "$(nproc)" && \
sed -i "s/SvtAv1dec/SvtAv1Dec/" SvtAv1Dec.pc && \
make install DESTDIR=/opt/dist && \
make install
@@ -243,7 +252,7 @@ RUN cd /opt/build && \
git clone ${SVT_VP9_REPO} -b v0.3.0 --depth 1 && \
cd SVT-VP9/Build/linux && \
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_INSTALL_LIBDIR=/usr/local/lib -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \
- make -j $(nproc) && \
+ make -j "$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -254,6 +263,7 @@ RUN apt-get update && \
# build opencv
ARG OPENCV_REPO=https://github.com/opencv/opencv/archive/4.5.3-openvino-2021.4.2.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${OPENCV_REPO} | tar xz
# TODO: file a bug against opencv since they do not accept full libdir
@@ -271,7 +281,7 @@ RUN cd /opt/build/opencv-4.5.3-openvino-2021.4.2 && mkdir build && cd build && \
-DWITH_OPENJPEG=OFF \
-DWITH_JASPER=OFF \
.. && \
- make -j $(nproc) && \
+ make -j "$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -310,7 +320,7 @@ RUN cd /opt/build/openvino && \
-DBUILD_TESTS=OFF \
-DTREAT_WARNING_AS_ERROR=OFF \
.. && \
- make -j $(nproc) && \
+ make -j "$(nproc)" && \
make install && \
make install DESTDIR=/opt/dist
@@ -326,11 +336,12 @@ ENV ngraph_DIR=${IE_INSTALL_DIR}/cmake
ARG LIBJSONC_REPO=https://github.com/json-c/json-c/archive/json-c-0.16-20220414.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${LIBJSONC_REPO} | tar xz && \
cd json-c-json-c-0.16-20220414 && mkdir build && cd build && \
cmake -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_INSTALL_LIBDIR=/usr/local/lib .. && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -338,11 +349,12 @@ RUN cd /opt/build && \
ARG KAFKA_VER=1.9.2
ARG LIBRDKAFKA_REPO=https://github.com/edenhill/librdkafka/archive/v${KAFKA_VER}.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${LIBRDKAFKA_REPO} | tar xz && \
cd librdkafka-1.9.2 && \
./configure --prefix=/usr/local --libdir=/usr/local/lib && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -371,7 +383,7 @@ RUN cd /opt/build/FFmpeg && \
RUN cd /opt/build/FFmpeg && \
./configure --prefix=/usr/local --libdir=/usr/local/lib --enable-shared --disable-static --disable-doc --disable-htmlpages \
--disable-manpages --disable-podpages --disable-txtpages \
- --extra-cflags=-w --enable-nonfree --enable-libass --enable-libfreetype --disable-xlib --disable-sdl2 --disable-hwaccels --disable-vaapi --enable-libv4l2 --enable-indev=v4l2 --enable-libfdk-aac --enable-libopus --enable-libvpx --enable-libvorbis --enable-gpl --enable-libx264 --enable-gpl --enable-libx265 --enable-libsvtav1 --enable-libsvthevc --enable-libdav1d && make -j$(nproc) && \
+ --extra-cflags=-w --enable-nonfree --enable-libass --enable-libfreetype --disable-xlib --disable-sdl2 --disable-hwaccels --disable-vaapi --enable-libv4l2 --enable-indev=v4l2 --enable-libfdk-aac --enable-libopus --enable-libvpx --enable-libvorbis --enable-gpl --enable-libx264 --enable-gpl --enable-libx265 --enable-libsvtav1 --enable-libsvthevc --enable-libdav1d && make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -387,6 +399,7 @@ RUN cd /opt/dist/usr/local/openvino/runtime && \
rm -rf /opt/dist/usr/local/lib/pkgconfig/openvino.pc \
include src share/*.cmake cmake lib/intel64/*.a external/tbb/include external/tbb/cmake
RUN rm -rf /opt/dist/usr/local/openvino/inference-engine/external/tbb/doc
+HEALTHCHECK CMD echo "This is a healthcheck test." || exit 1
FROM ubuntu:20.04
LABEL Description="This is the base image for FFMPEG ubuntu 20.04"
@@ -413,3 +426,4 @@ ENV LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/local/openvino/runtime/lib/:/usr/loc
ARG CUSTOM_IE_DIR=/usr/local/openvino/
ARG CUSTOM_IE_LIBDIR=${CUSTOM_IE_DIR}/runtime/lib/intel64
RUN printf "${CUSTOM_IE_LIBDIR}\n${CUSTOM_IE_DIR}/3rdparty/tbb/lib\n" >/etc/ld.so.conf.d/openvino.conf && ldconfig
+HEALTHCHECK CMD echo "This is a healthcheck test." || exit 1
\ No newline at end of file
diff --git a/Xeon/ubuntu-20.04/analytics/ffmpeg/Dockerfile.m4 b/Xeon/ubuntu-20.04/analytics/ffmpeg/Dockerfile.m4
index 6abf0b03a..6956b2186 100644
--- a/Xeon/ubuntu-20.04/analytics/ffmpeg/Dockerfile.m4
+++ b/Xeon/ubuntu-20.04/analytics/ffmpeg/Dockerfile.m4
@@ -32,3 +32,4 @@ WORKDIR /home
# Install
UPGRADE_UBUNTU_COMPONENTS()
INSTALL_ALL(runtime,build)dnl
+HEALTHCHECK CMD echo "This is a healthcheck test." || exit 1
\ No newline at end of file
diff --git a/Xeon/ubuntu-20.04/analytics/ffmpeg/README.md b/Xeon/ubuntu-20.04/analytics/ffmpeg/README.md
index 857bc488e..13609bf05 100644
--- a/Xeon/ubuntu-20.04/analytics/ffmpeg/README.md
+++ b/Xeon/ubuntu-20.04/analytics/ffmpeg/README.md
@@ -1,7 +1,7 @@
This docker image is part of Open Visual Cloud software stacks. Optimized for Media Analytics. Included what are in media delivery FFmpeg image, inferencing engine and video analytics plugins. The docker image can be used in the FROM field of a downstream Dockerfile.
## Supported tags and respective Dockerfile links
- - [xeon-ubuntu-2004-analytics-ffmpeg](https://github.com/OpenVisualCloud/Dockerfiles/blob/v22.3/Xeon/ubuntu-20.04/analytics/ffmpeg/Dockerfile)
+ - [xeon-ubuntu-2004-analytics-ffmpeg](https://github.com/OpenVisualCloud/Dockerfiles/blob/v23.06/Xeon/ubuntu-20.04/analytics/ffmpeg/Dockerfile)
## Quick reference
- #### Supported platform and OS
@@ -39,7 +39,7 @@ This docker installs third party components licensed under various open source l
|OpenVINO|Apache License v2.0|
|json-c|MIT License|
|librdkafka|BSD 2-clause "Simplified" License|
-|FFmpeg|GNU General Public License v2.0 or later|
+|FFmpeg|GNU Lesser General Public License v2.1 or later|
More license information can be found in [components source package](https://github.com/OpenVisualCloud/Dockerfiles-Resources).
diff --git a/Xeon/ubuntu-20.04/analytics/gst/Dockerfile b/Xeon/ubuntu-20.04/analytics/gst/Dockerfile
index bc05d1812..ba56f9e62 100644
--- a/Xeon/ubuntu-20.04/analytics/gst/Dockerfile
+++ b/Xeon/ubuntu-20.04/analytics/gst/Dockerfile
@@ -46,12 +46,13 @@ RUN apt-get update && \
# build libogg
ARG OGG_VER=1.3.5
ARG LIBOGG_REPO=https://github.com/xiph/ogg/releases/download/v${OGG_VER}/libogg-1.3.5.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${LIBOGG_REPO} | tar xz && \
cd libogg-1.3.5 && \
./configure --prefix=/usr/local --libdir=/usr/local/lib --enable-shared && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -63,11 +64,12 @@ RUN apt-get update && \
# build libvorbis
ARG VORBIS_VER=1.3.7
ARG LIBVORBIS_REPO=https://github.com/xiph/vorbis/releases/download/v${VORBIS_VER}/libvorbis-1.3.7.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${LIBVORBIS_REPO} | tar xz && \
cd libvorbis-1.3.7 && \
./configure --prefix=/usr/local --libdir=/usr/local/lib --enable-shared && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -78,12 +80,13 @@ RUN apt-get update && \
# build libfdkaac
ARG LIBFDKAAC_REPO=https://github.com/mstorsjo/fdk-aac/archive/v2.0.2.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${LIBFDKAAC_REPO} | tar xz && \
cd fdk-aac-2.0.2 && \
./autogen.sh && \
./configure --prefix=/usr/local --libdir=/usr/local/lib --enable-shared && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -94,11 +97,12 @@ RUN apt-get update && \
# build libopus
ARG LIBOPUS_REPO=https://archive.mozilla.org/pub/opus/opus-1.3.1.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${LIBOPUS_REPO} | tar xz && \
cd opus-1.3.1 && \
./configure --prefix=/usr/local --libdir=/usr/local/lib --enable-shared && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -112,12 +116,13 @@ RUN apt-get update && \
# TODO: Revert to NASM repo, this is temp fix is nasm repo certificate expired temporarily
ARG NASM_REPO=https://github.com/OpenVisualCloud/Dockerfiles-Resources/raw/master/nasm-2.15.05.tar.bz2
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${NASM_REPO} | tar xj && \
cd nasm-2.15.05 && \
./autogen.sh && \
./configure --prefix=/usr/local --libdir=/usr/local/lib && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install
RUN apt-get update && \
@@ -131,7 +136,7 @@ RUN cd /opt/build && \
git clone ${LIBVPX_REPO} -b v1.12.0 --depth 1 && \
cd libvpx && \
./configure --prefix=/usr/local --libdir=/usr/local/lib --enable-shared --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=nasm && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -146,7 +151,7 @@ RUN cd /opt/build && \
git clone ${LIBAOM_REPO} -b v3.4.0 --depth 1 && \
cd aom/build && \
cmake -DBUILD_SHARED_LIBS=ON -DENABLE_NASM=ON -DENABLE_TESTS=OFF -DENABLE_DOCS=OFF -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_INSTALL_LIBDIR=lib .. && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -162,7 +167,7 @@ RUN cd /opt/build && \
cd x264 && \
./configure --prefix=/usr/local --libdir=/usr/local/lib \
--enable-shared && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -175,6 +180,7 @@ RUN apt-get update && \
# ARG YASM_REPO=https://www.tortall.net/projects/yasm/releases/yasm-YASM_VER.tar.gz
# At the time of 21.6 Release, yasm official site above had certificate problem, hence pulling from Dockerfiles-Resources.
ARG YASM_REPO=https://github.com/OpenVisualCloud/Dockerfiles-Resources/raw/master/yasm-1.3.0.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${YASM_REPO} | tar xz
@@ -182,7 +188,7 @@ RUN cd /opt/build/yasm-1.3.0 && \
# TODO remove the line below whether no other component inside this project requires it.
# `sed -i "s/) ytasm.*/)/" Makefile.in' && \
./configure --prefix=/usr/local --libdir=/usr/local/lib && \
- make -j $(nproc) && \
+ make -j "$(nproc)" && \
make install
RUN apt-get update && \
@@ -192,11 +198,12 @@ RUN apt-get update && \
# build libx265
ARG LIBX265_REPO=https://github.com/videolan/x265/archive/3.4.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${LIBX265_REPO} | tar xz && \
cd x265-3.4/build/linux && \
cmake -DBUILD_SHARED_LIBS=ON -DCMAKE_INSTALL_PREFIX=/usr/local -DLIB_INSTALL_DIR=/usr/local/lib ../../source && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -207,9 +214,9 @@ RUN apt-get update && \
# build meson
ARG MESON_REPO=https://github.com/mesonbuild/meson
-RUN git clone ${MESON_REPO}; \
- cd meson; \
- git checkout 0.63.0; \
+RUN git clone ${MESON_REPO} && \
+ cd meson && \
+ git checkout 0.63.0 && \
python3 setup.py install;
RUN apt-get update && \
@@ -219,6 +226,7 @@ RUN apt-get update && \
# build dav1d
ARG DAV1D_REPO=https://code.videolan.org/videolan/dav1d/-/archive/0.9.2/dav1d-0.9.2.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${DAV1D_REPO} | tar xz
RUN cd /opt/build/dav1d-0.9.2 && \
@@ -238,7 +246,7 @@ RUN cd /opt/build && \
git clone -b v1.5.1 --depth 1 ${SVT_HEVC_REPO}
RUN cd /opt/build/SVT-HEVC/Build/linux && \
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_INSTALL_LIBDIR=/usr/local/lib -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \
- make -j $(nproc) && \
+ make -j "$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -249,12 +257,13 @@ RUN apt-get update && \
# build svt av1
ARG SVT_AV1_REPO=https://gitlab.com/AOMediaCodec/SVT-AV1/-/archive/v1.3.0/SVT-AV1-v1.3.0.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${SVT_AV1_REPO} | tar zx && \
mv SVT-AV1-v1.3.0 SVT-AV1 && \
cd SVT-AV1/Build/linux && \
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_INSTALL_LIBDIR=/usr/local/lib -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \
- make -j $(nproc) && \
+ make -j "$(nproc)" && \
sed -i "s/SvtAv1dec/SvtAv1Dec/" SvtAv1Dec.pc && \
make install DESTDIR=/opt/dist && \
make install
@@ -270,7 +279,7 @@ RUN cd /opt/build && \
git clone ${SVT_VP9_REPO} -b v0.3.0 --depth 1 && \
cd SVT-VP9/Build/linux && \
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_INSTALL_LIBDIR=/usr/local/lib -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \
- make -j $(nproc) && \
+ make -j "$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -281,6 +290,7 @@ RUN apt-get update && \
# build opencv
ARG OPENCV_REPO=https://github.com/opencv/opencv/archive/4.5.3-openvino-2021.4.2.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${OPENCV_REPO} | tar xz
# TODO: file a bug against opencv since they do not accept full libdir
@@ -298,7 +308,7 @@ RUN cd /opt/build/opencv-4.5.3-openvino-2021.4.2 && mkdir build && cd build && \
-DWITH_OPENJPEG=OFF \
-DWITH_JASPER=OFF \
.. && \
- make -j $(nproc) && \
+ make -j "$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -337,7 +347,7 @@ RUN cd /opt/build/openvino && \
-DBUILD_TESTS=OFF \
-DTREAT_WARNING_AS_ERROR=OFF \
.. && \
- make -j $(nproc) && \
+ make -j "$(nproc)" && \
make install && \
make install DESTDIR=/opt/dist
@@ -353,11 +363,12 @@ ENV ngraph_DIR=${IE_INSTALL_DIR}/cmake
ARG LIBJSONC_REPO=https://github.com/json-c/json-c/archive/json-c-0.16-20220414.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${LIBJSONC_REPO} | tar xz && \
cd json-c-json-c-0.16-20220414 && mkdir build && cd build && \
cmake -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_INSTALL_LIBDIR=/usr/local/lib .. && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -365,11 +376,12 @@ RUN cd /opt/build && \
ARG KAFKA_VER=1.9.2
ARG LIBRDKAFKA_REPO=https://github.com/edenhill/librdkafka/archive/v${KAFKA_VER}.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${LIBRDKAFKA_REPO} | tar xz && \
cd librdkafka-1.9.2 && \
./configure --prefix=/usr/local --libdir=/usr/local/lib && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -380,6 +392,7 @@ RUN apt-get update && \
# build gst-core
ARG GSTCORE_REPO=https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-1.20.3.tar.xz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${GSTCORE_REPO} | tar xJ
RUN cd /opt/build/gstreamer-1.20.3 && \
@@ -400,6 +413,7 @@ RUN apt-get update && \
# build gst-plugin-base
ARG GSTBASE_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-1.20.3.tar.xz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${GSTBASE_REPO} | tar xJ
RUN cd /opt/build/gst-plugins-base-1.20.3 && \
@@ -428,6 +442,7 @@ RUN apt-get update && \
# build gst-plugin-good
ARG GSTGOOD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-1.20.3.tar.xz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${GSTGOOD_REPO} | tar xJ
RUN cd /opt/build/gst-plugins-good-1.20.3 && \
@@ -453,6 +468,7 @@ RUN apt-get update && \
# build gst-plugin-bad
ARG GSTBAD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-1.20.3.tar.xz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${GSTBAD_REPO} | tar xJ && \
cd gst-plugins-bad-1.20.3 && \
@@ -481,6 +497,7 @@ RUN apt-get update && \
# build gst-plugin-ugly
ARG GSTUGLY_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-1.20.3.tar.xz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${GSTUGLY_REPO} | tar xJ
RUN cd /opt/build/gst-plugins-ugly-1.20.3 && \
@@ -493,6 +510,54 @@ RUN cd /opt/build/gst-plugins-ugly-1.20.3 && \
ninja install && \
DESTDIR=/opt/dist ninja install
+RUN apt-get update && \
+ DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
+ build-essential ca-certificates wget patch git libv4l-dev libass-dev && \
+ rm -rf /var/lib/apt/lists/*
+
+# build ffmpeg
+#ARG FFMPEG_REPO=https://github.com/FFmpeg/FFmpeg/archive/FFMPEG_VER.tar.gz
+ARG FFMPEG_REPO=https://github.com/FFmpeg/FFmpeg
+RUN cd /opt/build && \
+ git clone ${FFMPEG_REPO} && \
+ cd FFmpeg && \
+ git checkout n4.4.3
+
+#ifdef(`BUILD_SVT_HEVC',`FFMPEG_PATCH_SVT_HEVC(BUILD_HOME/FFmpeg-FFMPEG_VER)')dnl
+RUN cd /opt/build/FFmpeg && \
+ patch -p1 < /opt/build/SVT-HEVC/ffmpeg_plugin/n4.4-0001-lavc-svt_hevc-add-libsvt-hevc-encoder-wrapper.patch || true
+#ifdef(`BUILD_LIBVA2',`FFMPEG_PATCH_VAAPI(BUILD_HOME/FFmpeg-FFMPEG_VER)')dnl
+
+
+
+
+#RUN cd BUILD_HOME/FFmpeg-FFMPEG_VER && \
+RUN cd /opt/build/FFmpeg && \
+ ./configure --prefix=/usr/local --libdir=/usr/local/lib --enable-shared --disable-static --disable-doc --disable-htmlpages \
+ --disable-manpages --disable-podpages --disable-txtpages \
+ --extra-cflags=-w --enable-nonfree --enable-libass --enable-libfreetype --disable-xlib --disable-sdl2 --disable-hwaccels --disable-vaapi --enable-libv4l2 --enable-indev=v4l2 --enable-libfdk-aac --enable-libopus --enable-libvpx --enable-libvorbis --enable-gpl --enable-libx264 --enable-gpl --enable-libx265 --enable-libsvtav1 --enable-libsvthevc --enable-libaom --enable-libdav1d && make -j"$(nproc)" && \
+ make install DESTDIR=/opt/dist && \
+ make install
+
+#REBUILD_OPENCV_VIDEOIO()dnl
+
+RUN apt-get update && \
+ DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
+ ca-certificates tar g++ wget && \
+ rm -rf /var/lib/apt/lists/*
+
+# build gst-plugin-libav
+ARG GSTLIBAV_REPO=https://gstreamer.freedesktop.org/src/gst-libav/gst-libav-1.20.3.tar.xz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
+RUN cd /opt/build && \
+ wget -O - ${GSTLIBAV_REPO} | tar xJ
+RUN cd /opt/build/gst-libav-1.20.3 && \
+ meson build --libdir=/usr/local/lib --libexecdir=/usr/local/lib \
+ --prefix=/usr/local --buildtype=plain && \
+ cd build && \
+ ninja install && \
+ DESTDIR=/opt/dist ninja install
+
RUN apt-get update && \
DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
ca-certificates tar g++ wget && \
@@ -522,6 +587,7 @@ RUN apt-get update && \
# build libpahomqtt
ARG PAHO_VER=1.3.10
ARG LIBPAHO_REPO=https://github.com/eclipse/paho.mqtt.c/archive/v${PAHO_VER}.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${LIBPAHO_REPO} | tar -xz
RUN cd /opt/build/paho.mqtt.c-1.3.10 && \
@@ -584,7 +650,7 @@ RUN git clone -b master $GVA_REPO /opt/build/gst-video-analytics && \
-DENABLE_AUDIO_INFERENCE_ELEMENTS=ON \
-DTREAT_WARNING_AS_ERROR=OFF \
.. \
- && make -j $(nproc) \
+ && make -j "$(nproc)" \
&& make install \
&& make install DESTDIR=/opt/dist
@@ -606,6 +672,7 @@ RUN apt-get update && \
ca-certificates tar g++ wget gtk-doc-tools uuid-dev python-gi-dev python3-dev libtool-bin libpython3-dev libpython3-stdlib libpython3-all-dev && \
rm -rf /var/lib/apt/lists/*
ARG GSTPYTHON_REPO=https://gstreamer.freedesktop.org/src/gst-python/gst-python-1.20.3.tar.xz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${GSTPYTHON_REPO} | tar xJ
RUN cd /opt/build/gst-python-1.20.3 && \
@@ -630,6 +697,7 @@ RUN cd /opt/dist/usr/local/openvino/runtime && \
rm -rf /opt/dist/usr/local/lib/pkgconfig/openvino.pc \
include src share/*.cmake cmake lib/intel64/*.a external/tbb/include external/tbb/cmake
RUN rm -rf /opt/dist/usr/local/openvino/inference-engine/external/tbb/doc
+HEALTHCHECK CMD echo "This is a healthcheck test." || exit 1
FROM ubuntu:20.04
LABEL Description="This is the base image for Gstreamer ubuntu 20.04"
@@ -640,7 +708,7 @@ WORKDIR /home
RUN apt-get update && apt-get upgrade -y systemd
RUN apt-get update && \
DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
- libnuma1 libgtk-3-0 ocl-icd-libopencl1 libglib2.0-0 libegl1 libx11-6 libxv1 libxt6 libasound2 libpangocairo-1.0-0 libcairo-gobject2 libtheora0 libvisual-0.4-0 libgl1-mesa-dri libgl1-mesa-glx libegl1-mesa libgdk-pixbuf2.0-0 libjpeg-turbo8 libpng16-16 zlib1g libsoup2.4-1 openssl libcurl3-gnutls librtmp1 mjpegtools libde265-0 python3-gi python3-gi-cairo python3-dev python3-numpy libglib2.0-dev && \
+ libnuma1 libgtk-3-0 ocl-icd-libopencl1 libglib2.0-0 libegl1 libx11-6 libxv1 libxt6 libasound2 libpangocairo-1.0-0 libcairo-gobject2 libtheora0 libvisual-0.4-0 libgl1-mesa-dri libgl1-mesa-glx libegl1-mesa libgdk-pixbuf2.0-0 libjpeg-turbo8 libpng16-16 zlib1g libsoup2.4-1 openssl libcurl3-gnutls librtmp1 mjpegtools libde265-0 libxcb-shape0 libxcb-xfixes0 libv4l-0 libass9 python3-gi python3-gi-cairo python3-dev python3-numpy libglib2.0-dev && \
rm -rf /var/lib/apt/lists/*
COPY --from=build /opt/dist /
@@ -663,3 +731,4 @@ ENV GI_TYPELIB_PATH=${GI_TYPELIB_PATH}:/usr/local/lib/girepository-1.0/
ENV PYTHONPATH=${PYTHONPATH}:/opt/intel/dl_streamer/python
ENV GST_PLUGIN_PATH=${GST_PLUGIN_PATH}:/usr/local/lib/gstreamer-1.0/
+HEALTHCHECK CMD echo "This is a healthcheck test." || exit 1
\ No newline at end of file
diff --git a/Xeon/ubuntu-20.04/analytics/gst/Dockerfile.m4 b/Xeon/ubuntu-20.04/analytics/gst/Dockerfile.m4
index 89e852e05..b460da0a6 100644
--- a/Xeon/ubuntu-20.04/analytics/gst/Dockerfile.m4
+++ b/Xeon/ubuntu-20.04/analytics/gst/Dockerfile.m4
@@ -43,3 +43,4 @@ WORKDIR /home
# Install
UPGRADE_UBUNTU_COMPONENTS()
INSTALL_ALL(runtime,build)dnl
+HEALTHCHECK CMD echo "This is a healthcheck test." || exit 1
\ No newline at end of file
diff --git a/Xeon/ubuntu-20.04/analytics/gst/README.md b/Xeon/ubuntu-20.04/analytics/gst/README.md
index 8e0ecc2e7..a0da343e7 100644
--- a/Xeon/ubuntu-20.04/analytics/gst/README.md
+++ b/Xeon/ubuntu-20.04/analytics/gst/README.md
@@ -1,7 +1,7 @@
This docker image is part of Open Visual Cloud software stacks. Optimized for Media Analytics. Included what are in media delivery GStreamer image, inferencing engine and video analytics plugins. The docker image can be used in the FROM field of a downstream Dockerfile.
## Supported tags and respective Dockerfile links
- - [xeon-ubuntu-2004-analytics-gst](https://github.com/OpenVisualCloud/Dockerfiles/blob/v22.3/Xeon/ubuntu-20.04/analytics/gst/Dockerfile)
+ - [xeon-ubuntu-2004-analytics-gst](https://github.com/OpenVisualCloud/Dockerfiles/blob/v23.06/Xeon/ubuntu-20.04/analytics/gst/Dockerfile)
## Quick reference
- #### Supported platform and OS
diff --git a/Xeon/ubuntu-20.04/media/dev/Dockerfile b/Xeon/ubuntu-20.04/media/dev/Dockerfile
index 3979d739f..4f3689921 100644
--- a/Xeon/ubuntu-20.04/media/dev/Dockerfile
+++ b/Xeon/ubuntu-20.04/media/dev/Dockerfile
@@ -47,12 +47,13 @@ RUN apt-get update && \
# build libogg
ARG OGG_VER=1.3.5
ARG LIBOGG_REPO=https://github.com/xiph/ogg/releases/download/v${OGG_VER}/libogg-1.3.5.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${LIBOGG_REPO} | tar xz && \
cd libogg-1.3.5 && \
./configure --prefix=/usr/local --libdir=/usr/local/lib --enable-shared && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -64,11 +65,12 @@ RUN apt-get update && \
# build libvorbis
ARG VORBIS_VER=1.3.7
ARG LIBVORBIS_REPO=https://github.com/xiph/vorbis/releases/download/v${VORBIS_VER}/libvorbis-1.3.7.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${LIBVORBIS_REPO} | tar xz && \
cd libvorbis-1.3.7 && \
./configure --prefix=/usr/local --libdir=/usr/local/lib --enable-shared && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -79,12 +81,13 @@ RUN apt-get update && \
# build libfdkaac
ARG LIBFDKAAC_REPO=https://github.com/mstorsjo/fdk-aac/archive/v2.0.2.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${LIBFDKAAC_REPO} | tar xz && \
cd fdk-aac-2.0.2 && \
./autogen.sh && \
./configure --prefix=/usr/local --libdir=/usr/local/lib --enable-shared && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -95,11 +98,12 @@ RUN apt-get update && \
# build libopus
ARG LIBOPUS_REPO=https://archive.mozilla.org/pub/opus/opus-1.3.1.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${LIBOPUS_REPO} | tar xz && \
cd opus-1.3.1 && \
./configure --prefix=/usr/local --libdir=/usr/local/lib --enable-shared && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -113,12 +117,13 @@ RUN apt-get update && \
# TODO: Revert to NASM repo, this is temp fix is nasm repo certificate expired temporarily
ARG NASM_REPO=https://github.com/OpenVisualCloud/Dockerfiles-Resources/raw/master/nasm-2.15.05.tar.bz2
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${NASM_REPO} | tar xj && \
cd nasm-2.15.05 && \
./autogen.sh && \
./configure --prefix=/usr/local --libdir=/usr/local/lib && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install
RUN apt-get update && \
@@ -132,7 +137,7 @@ RUN cd /opt/build && \
git clone ${LIBVPX_REPO} -b v1.12.0 --depth 1 && \
cd libvpx && \
./configure --prefix=/usr/local --libdir=/usr/local/lib --enable-shared --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=nasm && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -147,7 +152,7 @@ RUN cd /opt/build && \
git clone ${LIBAOM_REPO} -b v3.4.0 --depth 1 && \
cd aom/build && \
cmake -DBUILD_SHARED_LIBS=ON -DENABLE_NASM=ON -DENABLE_TESTS=OFF -DENABLE_DOCS=OFF -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_INSTALL_LIBDIR=lib .. && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -158,9 +163,9 @@ RUN apt-get update && \
# build meson
ARG MESON_REPO=https://github.com/mesonbuild/meson
-RUN git clone ${MESON_REPO}; \
- cd meson; \
- git checkout 0.63.0; \
+RUN git clone ${MESON_REPO} && \
+ cd meson && \
+ git checkout 0.63.0 && \
python3 setup.py install;
RUN apt-get update && \
@@ -170,6 +175,7 @@ RUN apt-get update && \
# build dav1d
ARG DAV1D_REPO=https://code.videolan.org/videolan/dav1d/-/archive/0.9.2/dav1d-0.9.2.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${DAV1D_REPO} | tar xz
RUN cd /opt/build/dav1d-0.9.2 && \
@@ -187,6 +193,7 @@ RUN apt-get update && \
# ARG YASM_REPO=https://www.tortall.net/projects/yasm/releases/yasm-YASM_VER.tar.gz
# At the time of 21.6 Release, yasm official site above had certificate problem, hence pulling from Dockerfiles-Resources.
ARG YASM_REPO=https://github.com/OpenVisualCloud/Dockerfiles-Resources/raw/master/yasm-1.3.0.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${YASM_REPO} | tar xz
@@ -194,7 +201,7 @@ RUN cd /opt/build/yasm-1.3.0 && \
# TODO remove the line below whether no other component inside this project requires it.
# `sed -i "s/) ytasm.*/)/" Makefile.in' && \
./configure --prefix=/usr/local --libdir=/usr/local/lib && \
- make -j $(nproc) && \
+ make -j "$(nproc)" && \
make install
RUN apt-get update && \
@@ -208,7 +215,7 @@ RUN cd /opt/build && \
git clone -b v1.5.1 --depth 1 ${SVT_HEVC_REPO}
RUN cd /opt/build/SVT-HEVC/Build/linux && \
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_INSTALL_LIBDIR=/usr/local/lib -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \
- make -j $(nproc) && \
+ make -j "$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -219,12 +226,13 @@ RUN apt-get update && \
# build svt av1
ARG SVT_AV1_REPO=https://gitlab.com/AOMediaCodec/SVT-AV1/-/archive/v1.3.0/SVT-AV1-v1.3.0.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${SVT_AV1_REPO} | tar zx && \
mv SVT-AV1-v1.3.0 SVT-AV1 && \
cd SVT-AV1/Build/linux && \
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_INSTALL_LIBDIR=/usr/local/lib -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \
- make -j $(nproc) && \
+ make -j "$(nproc)" && \
sed -i "s/SvtAv1dec/SvtAv1Dec/" SvtAv1Dec.pc && \
make install DESTDIR=/opt/dist && \
make install
@@ -240,7 +248,7 @@ RUN cd /opt/build && \
git clone ${SVT_VP9_REPO} -b v0.3.0 --depth 1 && \
cd SVT-VP9/Build/linux && \
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_INSTALL_LIBDIR=/usr/local/lib -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \
- make -j $(nproc) && \
+ make -j "$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -251,6 +259,7 @@ RUN apt-get update && \
# build gst-core
ARG GSTCORE_REPO=https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-1.20.3.tar.xz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${GSTCORE_REPO} | tar xJ
RUN cd /opt/build/gstreamer-1.20.3 && \
@@ -271,6 +280,7 @@ RUN apt-get update && \
# build gst-plugin-base
ARG GSTBASE_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-1.20.3.tar.xz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${GSTBASE_REPO} | tar xJ
RUN cd /opt/build/gst-plugins-base-1.20.3 && \
@@ -299,6 +309,7 @@ RUN apt-get update && \
# build gst-plugin-good
ARG GSTGOOD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-1.20.3.tar.xz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${GSTGOOD_REPO} | tar xJ
RUN cd /opt/build/gst-plugins-good-1.20.3 && \
@@ -324,6 +335,7 @@ RUN apt-get update && \
# build gst-plugin-bad
ARG GSTBAD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-1.20.3.tar.xz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${GSTBAD_REPO} | tar xJ && \
cd gst-plugins-bad-1.20.3 && \
@@ -352,6 +364,7 @@ RUN apt-get update && \
# build gst-plugin-ugly
ARG GSTUGLY_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-1.20.3.tar.xz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${GSTUGLY_REPO} | tar xJ
RUN cd /opt/build/gst-plugins-ugly-1.20.3 && \
@@ -389,7 +402,7 @@ RUN cd /opt/build/FFmpeg && \
RUN cd /opt/build/FFmpeg && \
./configure --prefix=/usr/local --libdir=/usr/local/lib --enable-shared --disable-static --disable-doc --disable-htmlpages \
--disable-manpages --disable-podpages --disable-txtpages \
- --extra-cflags=-w --enable-nonfree --enable-libass --enable-libfreetype --disable-xlib --disable-sdl2 --disable-hwaccels --disable-vaapi --enable-libv4l2 --enable-indev=v4l2 --enable-libfdk-aac --enable-libopus --enable-libvpx --enable-libvorbis --enable-libsvtav1 --enable-libsvthevc --enable-libaom --enable-libdav1d && make -j$(nproc) && \
+ --extra-cflags=-w --enable-nonfree --enable-libass --enable-libfreetype --disable-xlib --disable-sdl2 --disable-hwaccels --disable-vaapi --enable-libv4l2 --enable-indev=v4l2 --enable-libfdk-aac --enable-libopus --enable-libvpx --enable-libvorbis --enable-libsvtav1 --enable-libsvthevc --enable-libaom --enable-libdav1d && make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -400,6 +413,7 @@ RUN apt-get update && \
# build gst-plugin-libav
ARG GSTLIBAV_REPO=https://gstreamer.freedesktop.org/src/gst-libav/gst-libav-1.20.3.tar.xz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${GSTLIBAV_REPO} | tar xJ
RUN cd /opt/build/gst-libav-1.20.3 && \
@@ -433,6 +447,7 @@ RUN cd /opt/build/SVT-VP9/gstreamer-plugin && \
# cleanup
RUN rm -rf /opt/dist/usr/local/share/doc /opt/dist/usr/local/share/gtk-doc
RUN rm -rf /opt/dist/usr/local/share/man
+HEALTHCHECK CMD echo "This is a healthcheck test." || exit 1
FROM ubuntu:20.04
LABEL Description="This is the base image for Gstreamer ubuntu 20.04"
@@ -452,4 +467,4 @@ RUN echo "/usr/local/lib" >> /etc/ld.so.conf.d/all-libs.conf && ldconfig
ENV GST_PLUGIN_PATH=/usr/local/lib/gstreamer-1.0
ENV GST_PLUGIN_SCANNER=/usr/local/lib/gstreamer-1.0/gst-plugin-scanner
-
+HEALTHCHECK CMD echo "This is a healthcheck test." || exit 1
\ No newline at end of file
diff --git a/Xeon/ubuntu-20.04/media/dev/Dockerfile.m4 b/Xeon/ubuntu-20.04/media/dev/Dockerfile.m4
index 679e44eb1..3ad62e33b 100644
--- a/Xeon/ubuntu-20.04/media/dev/Dockerfile.m4
+++ b/Xeon/ubuntu-20.04/media/dev/Dockerfile.m4
@@ -37,4 +37,4 @@ WORKDIR /home
# Install
UPGRADE_UBUNTU_COMPONENTS()
INSTALL_ALL(devel,build)dnl
-
+HEALTHCHECK CMD echo "This is a healthcheck test." || exit 1
\ No newline at end of file
diff --git a/Xeon/ubuntu-20.04/media/dev/README.md b/Xeon/ubuntu-20.04/media/dev/README.md
index 718833954..0603bb527 100644
--- a/Xeon/ubuntu-20.04/media/dev/README.md
+++ b/Xeon/ubuntu-20.04/media/dev/README.md
@@ -1,7 +1,7 @@
This docker image is part of Open Visual Cloud software stacks. This is development image aim towards enabling C++ application compilation, debugging (with the debugging, profiling tools) and optimization (with the optimization tools.) You can compile C++ applications with this image and then copy the applications to the corresponding deployment image. Included what are in FFmpeg or GStreamer media creation and delivery images . The docker image can be used in the FROM field of a downstream Dockerfile.
## Supported tags and respective Dockerfile links
- - [xeon-ubuntu-2004-media-dev](https://github.com/OpenVisualCloud/Dockerfiles/blob/v22.3/Xeon/ubuntu-20.04/media/dev/Dockerfile)
+ - [xeon-ubuntu-2004-media-dev](https://github.com/OpenVisualCloud/Dockerfiles/blob/v23.06/Xeon/ubuntu-20.04/media/dev/Dockerfile)
## Quick reference
- #### Supported platform and OS
@@ -27,7 +27,6 @@ This docker installs third party components licensed under various open source l
|Ubuntu| [Various](https://hub.docker.com/_/ubuntu) |
|libogg|BSD 3-clause "New" or "Revised" License|
|libvorbis|BSD 3-clause "New" or "Revised" License|
-|OpenSSL|Apache License 2.0|
|Opus Interactive Audio Codec|BSD 3-clause "New" or "Revised" License|
|libvpx|BSD 3-clause "New" or "Revised" License|
|Aomedia AV1 Codec Library|BSD 2-clause "Simplified" License|
diff --git a/Xeon/ubuntu-20.04/media/ffmpeg/Dockerfile b/Xeon/ubuntu-20.04/media/ffmpeg/Dockerfile
index d554dac9e..b6285a136 100644
--- a/Xeon/ubuntu-20.04/media/ffmpeg/Dockerfile
+++ b/Xeon/ubuntu-20.04/media/ffmpeg/Dockerfile
@@ -47,12 +47,13 @@ RUN apt-get update && \
# build libogg
ARG OGG_VER=1.3.5
ARG LIBOGG_REPO=https://github.com/xiph/ogg/releases/download/v${OGG_VER}/libogg-1.3.5.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${LIBOGG_REPO} | tar xz && \
cd libogg-1.3.5 && \
./configure --prefix=/usr/local --libdir=/usr/local/lib --enable-shared && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -64,11 +65,12 @@ RUN apt-get update && \
# build libvorbis
ARG VORBIS_VER=1.3.7
ARG LIBVORBIS_REPO=https://github.com/xiph/vorbis/releases/download/v${VORBIS_VER}/libvorbis-1.3.7.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${LIBVORBIS_REPO} | tar xz && \
cd libvorbis-1.3.7 && \
./configure --prefix=/usr/local --libdir=/usr/local/lib --enable-shared && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -79,12 +81,13 @@ RUN apt-get update && \
# build libfdkaac
ARG LIBFDKAAC_REPO=https://github.com/mstorsjo/fdk-aac/archive/v2.0.2.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${LIBFDKAAC_REPO} | tar xz && \
cd fdk-aac-2.0.2 && \
./autogen.sh && \
./configure --prefix=/usr/local --libdir=/usr/local/lib --enable-shared && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -95,11 +98,12 @@ RUN apt-get update && \
# build libopus
ARG LIBOPUS_REPO=https://archive.mozilla.org/pub/opus/opus-1.3.1.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${LIBOPUS_REPO} | tar xz && \
cd opus-1.3.1 && \
./configure --prefix=/usr/local --libdir=/usr/local/lib --enable-shared && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -113,12 +117,13 @@ RUN apt-get update && \
# TODO: Revert to NASM repo, this is temp fix is nasm repo certificate expired temporarily
ARG NASM_REPO=https://github.com/OpenVisualCloud/Dockerfiles-Resources/raw/master/nasm-2.15.05.tar.bz2
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${NASM_REPO} | tar xj && \
cd nasm-2.15.05 && \
./autogen.sh && \
./configure --prefix=/usr/local --libdir=/usr/local/lib && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install
RUN apt-get update && \
@@ -132,7 +137,7 @@ RUN cd /opt/build && \
git clone ${LIBVPX_REPO} -b v1.12.0 --depth 1 && \
cd libvpx && \
./configure --prefix=/usr/local --libdir=/usr/local/lib --enable-shared --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=nasm && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -148,7 +153,7 @@ RUN cd /opt/build && \
cd x264 && \
./configure --prefix=/usr/local --libdir=/usr/local/lib \
--enable-shared && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -161,6 +166,7 @@ RUN apt-get update && \
# ARG YASM_REPO=https://www.tortall.net/projects/yasm/releases/yasm-YASM_VER.tar.gz
# At the time of 21.6 Release, yasm official site above had certificate problem, hence pulling from Dockerfiles-Resources.
ARG YASM_REPO=https://github.com/OpenVisualCloud/Dockerfiles-Resources/raw/master/yasm-1.3.0.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${YASM_REPO} | tar xz
@@ -168,7 +174,7 @@ RUN cd /opt/build/yasm-1.3.0 && \
# TODO remove the line below whether no other component inside this project requires it.
# `sed -i "s/) ytasm.*/)/" Makefile.in' && \
./configure --prefix=/usr/local --libdir=/usr/local/lib && \
- make -j $(nproc) && \
+ make -j "$(nproc)" && \
make install
RUN apt-get update && \
@@ -178,11 +184,12 @@ RUN apt-get update && \
# build libx265
ARG LIBX265_REPO=https://github.com/videolan/x265/archive/3.4.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${LIBX265_REPO} | tar xz && \
cd x265-3.4/build/linux && \
cmake -DBUILD_SHARED_LIBS=ON -DCMAKE_INSTALL_PREFIX=/usr/local -DLIB_INSTALL_DIR=/usr/local/lib ../../source && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -193,6 +200,7 @@ RUN apt-get update && \
# build dav1d
ARG DAV1D_REPO=https://code.videolan.org/videolan/dav1d/-/archive/0.9.2/dav1d-0.9.2.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${DAV1D_REPO} | tar xz
RUN cd /opt/build/dav1d-0.9.2 && \
@@ -212,7 +220,7 @@ RUN cd /opt/build && \
git clone -b v1.5.1 --depth 1 ${SVT_HEVC_REPO}
RUN cd /opt/build/SVT-HEVC/Build/linux && \
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_INSTALL_LIBDIR=/usr/local/lib -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \
- make -j $(nproc) && \
+ make -j "$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -223,12 +231,13 @@ RUN apt-get update && \
# build svt av1
ARG SVT_AV1_REPO=https://gitlab.com/AOMediaCodec/SVT-AV1/-/archive/v1.3.0/SVT-AV1-v1.3.0.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${SVT_AV1_REPO} | tar zx && \
mv SVT-AV1-v1.3.0 SVT-AV1 && \
cd SVT-AV1/Build/linux && \
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_INSTALL_LIBDIR=/usr/local/lib -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \
- make -j $(nproc) && \
+ make -j "$(nproc)" && \
sed -i "s/SvtAv1dec/SvtAv1Dec/" SvtAv1Dec.pc && \
make install DESTDIR=/opt/dist && \
make install
@@ -244,7 +253,7 @@ RUN cd /opt/build && \
git clone ${SVT_VP9_REPO} -b v0.3.0 --depth 1 && \
cd SVT-VP9/Build/linux && \
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_INSTALL_LIBDIR=/usr/local/lib -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \
- make -j $(nproc) && \
+ make -j "$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -255,6 +264,7 @@ RUN apt-get update && \
# build opencv
ARG OPENCV_REPO=https://github.com/opencv/opencv/archive/4.5.3-openvino-2021.4.2.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${OPENCV_REPO} | tar xz
# TODO: file a bug against opencv since they do not accept full libdir
@@ -272,7 +282,7 @@ RUN cd /opt/build/opencv-4.5.3-openvino-2021.4.2 && mkdir build && cd build && \
-DWITH_OPENJPEG=OFF \
-DWITH_JASPER=OFF \
.. && \
- make -j $(nproc) && \
+ make -j "$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -301,7 +311,7 @@ RUN cd /opt/build/FFmpeg && \
RUN cd /opt/build/FFmpeg && \
./configure --prefix=/usr/local --libdir=/usr/local/lib --enable-shared --disable-static --disable-doc --disable-htmlpages \
--disable-manpages --disable-podpages --disable-txtpages \
- --extra-cflags=-w --enable-nonfree --enable-libass --enable-libfreetype --disable-xlib --disable-sdl2 --disable-hwaccels --disable-vaapi --enable-libv4l2 --enable-indev=v4l2 --enable-libfdk-aac --enable-libopus --enable-libvpx --enable-libvorbis --enable-gpl --enable-libx264 --enable-gpl --enable-libx265 --enable-libsvtav1 --enable-libsvthevc --enable-libdav1d && make -j$(nproc) && \
+ --extra-cflags=-w --enable-nonfree --enable-libass --enable-libfreetype --disable-xlib --disable-sdl2 --disable-hwaccels --disable-vaapi --enable-libv4l2 --enable-indev=v4l2 --enable-libfdk-aac --enable-libopus --enable-libvpx --enable-libvorbis --enable-gpl --enable-libx264 --enable-gpl --enable-libx265 --enable-libsvtav1 --enable-libsvthevc --enable-libdav1d && make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -313,6 +323,7 @@ RUN rm -rf /opt/dist/usr/local/include && \
find /opt/dist -name "*.a" -exec rm -f {} \; || echo ""
RUN rm -rf /opt/dist/usr/local/share/doc /opt/dist/usr/local/share/gtk-doc
RUN rm -rf /opt/dist/usr/local/share/man
+HEALTHCHECK CMD echo "This is a healthcheck test." || exit 1
FROM ubuntu:20.04
LABEL Description="This is the base image for FFMPEG ubuntu 20.04"
@@ -329,4 +340,4 @@ RUN apt-get update && \
COPY --from=build /opt/dist /
RUN echo "/usr/local/lib" >> /etc/ld.so.conf.d/all-libs.conf && ldconfig
-
+HEALTHCHECK CMD echo "This is a healthcheck test." || exit 1
\ No newline at end of file
diff --git a/Xeon/ubuntu-20.04/media/ffmpeg/Dockerfile.m4 b/Xeon/ubuntu-20.04/media/ffmpeg/Dockerfile.m4
index c2c0e064f..8cce17d64 100644
--- a/Xeon/ubuntu-20.04/media/ffmpeg/Dockerfile.m4
+++ b/Xeon/ubuntu-20.04/media/ffmpeg/Dockerfile.m4
@@ -30,4 +30,4 @@ WORKDIR /home
# Install
UPGRADE_UBUNTU_COMPONENTS()
INSTALL_ALL(runtime,build)dnl
-
+HEALTHCHECK CMD echo "This is a healthcheck test." || exit 1
\ No newline at end of file
diff --git a/Xeon/ubuntu-20.04/media/ffmpeg/README.md b/Xeon/ubuntu-20.04/media/ffmpeg/README.md
index 35aafd84c..e57f55957 100644
--- a/Xeon/ubuntu-20.04/media/ffmpeg/README.md
+++ b/Xeon/ubuntu-20.04/media/ffmpeg/README.md
@@ -1,7 +1,7 @@
This docker image is part of Open Visual Cloud software stacks. Optimized for the media creation and delivery use case. Included FFmpeg and codecs such as opus, ogg, vorbis, x264, x265, vp8/9, av1 and SVT-HEVC. The docker image can be used in the FROM field of a downstream Dockerfile.
## Supported tags and respective Dockerfile links
- - [xeon-ubuntu-2004-media-ffmpeg](https://github.com/OpenVisualCloud/Dockerfiles/blob/v22.3/Xeon/ubuntu-20.04/media/ffmpeg/Dockerfile)
+ - [xeon-ubuntu-2004-media-ffmpeg](https://github.com/OpenVisualCloud/Dockerfiles/blob/v23.06/Xeon/ubuntu-20.04/media/ffmpeg/Dockerfile)
## Quick reference
- #### Supported platform and OS
@@ -36,7 +36,7 @@ This docker installs third party components licensed under various open source l
|Intel SVT-AV1|BSD-2-Clause Plus Patent License|
|Intel SVT-VP9|BSD-2-Clause Plus Patent License|
|OpenCV|BSD 3-clause "New" or "Revised" License|
-|FFmpeg|GNU General Public License v2.0 or later|
+|FFmpeg|GNU Lesser General Public License v2.1 or later|
More license information can be found in [components source package](https://github.com/OpenVisualCloud/Dockerfiles-Resources).
diff --git a/Xeon/ubuntu-20.04/media/gst/Dockerfile b/Xeon/ubuntu-20.04/media/gst/Dockerfile
index e6b303b1e..beaee088c 100644
--- a/Xeon/ubuntu-20.04/media/gst/Dockerfile
+++ b/Xeon/ubuntu-20.04/media/gst/Dockerfile
@@ -47,12 +47,13 @@ RUN apt-get update && \
# build libogg
ARG OGG_VER=1.3.5
ARG LIBOGG_REPO=https://github.com/xiph/ogg/releases/download/v${OGG_VER}/libogg-1.3.5.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${LIBOGG_REPO} | tar xz && \
cd libogg-1.3.5 && \
./configure --prefix=/usr/local --libdir=/usr/local/lib --enable-shared && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -64,11 +65,12 @@ RUN apt-get update && \
# build libvorbis
ARG VORBIS_VER=1.3.7
ARG LIBVORBIS_REPO=https://github.com/xiph/vorbis/releases/download/v${VORBIS_VER}/libvorbis-1.3.7.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${LIBVORBIS_REPO} | tar xz && \
cd libvorbis-1.3.7 && \
./configure --prefix=/usr/local --libdir=/usr/local/lib --enable-shared && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -79,12 +81,13 @@ RUN apt-get update && \
# build libfdkaac
ARG LIBFDKAAC_REPO=https://github.com/mstorsjo/fdk-aac/archive/v2.0.2.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${LIBFDKAAC_REPO} | tar xz && \
cd fdk-aac-2.0.2 && \
./autogen.sh && \
./configure --prefix=/usr/local --libdir=/usr/local/lib --enable-shared && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -95,11 +98,12 @@ RUN apt-get update && \
# build libopus
ARG LIBOPUS_REPO=https://archive.mozilla.org/pub/opus/opus-1.3.1.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${LIBOPUS_REPO} | tar xz && \
cd opus-1.3.1 && \
./configure --prefix=/usr/local --libdir=/usr/local/lib --enable-shared && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -113,12 +117,13 @@ RUN apt-get update && \
# TODO: Revert to NASM repo, this is temp fix is nasm repo certificate expired temporarily
ARG NASM_REPO=https://github.com/OpenVisualCloud/Dockerfiles-Resources/raw/master/nasm-2.15.05.tar.bz2
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${NASM_REPO} | tar xj && \
cd nasm-2.15.05 && \
./autogen.sh && \
./configure --prefix=/usr/local --libdir=/usr/local/lib && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install
RUN apt-get update && \
@@ -132,7 +137,7 @@ RUN cd /opt/build && \
git clone ${LIBVPX_REPO} -b v1.12.0 --depth 1 && \
cd libvpx && \
./configure --prefix=/usr/local --libdir=/usr/local/lib --enable-shared --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=nasm && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -147,7 +152,7 @@ RUN cd /opt/build && \
git clone ${LIBAOM_REPO} -b v3.4.0 --depth 1 && \
cd aom/build && \
cmake -DBUILD_SHARED_LIBS=ON -DENABLE_NASM=ON -DENABLE_TESTS=OFF -DENABLE_DOCS=OFF -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_INSTALL_LIBDIR=lib .. && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -163,7 +168,7 @@ RUN cd /opt/build && \
cd x264 && \
./configure --prefix=/usr/local --libdir=/usr/local/lib \
--enable-shared && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -176,6 +181,7 @@ RUN apt-get update && \
# ARG YASM_REPO=https://www.tortall.net/projects/yasm/releases/yasm-YASM_VER.tar.gz
# At the time of 21.6 Release, yasm official site above had certificate problem, hence pulling from Dockerfiles-Resources.
ARG YASM_REPO=https://github.com/OpenVisualCloud/Dockerfiles-Resources/raw/master/yasm-1.3.0.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${YASM_REPO} | tar xz
@@ -183,7 +189,7 @@ RUN cd /opt/build/yasm-1.3.0 && \
# TODO remove the line below whether no other component inside this project requires it.
# `sed -i "s/) ytasm.*/)/" Makefile.in' && \
./configure --prefix=/usr/local --libdir=/usr/local/lib && \
- make -j $(nproc) && \
+ make -j "$(nproc)" && \
make install
RUN apt-get update && \
@@ -193,11 +199,12 @@ RUN apt-get update && \
# build libx265
ARG LIBX265_REPO=https://github.com/videolan/x265/archive/3.4.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${LIBX265_REPO} | tar xz && \
cd x265-3.4/build/linux && \
cmake -DBUILD_SHARED_LIBS=ON -DCMAKE_INSTALL_PREFIX=/usr/local -DLIB_INSTALL_DIR=/usr/local/lib ../../source && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -208,9 +215,9 @@ RUN apt-get update && \
# build meson
ARG MESON_REPO=https://github.com/mesonbuild/meson
-RUN git clone ${MESON_REPO}; \
- cd meson; \
- git checkout 0.63.0; \
+RUN git clone ${MESON_REPO} && \
+ cd meson && \
+ git checkout 0.63.0 && \
python3 setup.py install;
RUN apt-get update && \
@@ -220,6 +227,7 @@ RUN apt-get update && \
# build dav1d
ARG DAV1D_REPO=https://code.videolan.org/videolan/dav1d/-/archive/0.9.2/dav1d-0.9.2.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${DAV1D_REPO} | tar xz
RUN cd /opt/build/dav1d-0.9.2 && \
@@ -239,7 +247,7 @@ RUN cd /opt/build && \
git clone -b v1.5.1 --depth 1 ${SVT_HEVC_REPO}
RUN cd /opt/build/SVT-HEVC/Build/linux && \
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_INSTALL_LIBDIR=/usr/local/lib -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \
- make -j $(nproc) && \
+ make -j "$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -250,12 +258,13 @@ RUN apt-get update && \
# build svt av1
ARG SVT_AV1_REPO=https://gitlab.com/AOMediaCodec/SVT-AV1/-/archive/v1.3.0/SVT-AV1-v1.3.0.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${SVT_AV1_REPO} | tar zx && \
mv SVT-AV1-v1.3.0 SVT-AV1 && \
cd SVT-AV1/Build/linux && \
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_INSTALL_LIBDIR=/usr/local/lib -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \
- make -j $(nproc) && \
+ make -j "$(nproc)" && \
sed -i "s/SvtAv1dec/SvtAv1Dec/" SvtAv1Dec.pc && \
make install DESTDIR=/opt/dist && \
make install
@@ -271,7 +280,7 @@ RUN cd /opt/build && \
git clone ${SVT_VP9_REPO} -b v0.3.0 --depth 1 && \
cd SVT-VP9/Build/linux && \
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_INSTALL_LIBDIR=/usr/local/lib -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \
- make -j $(nproc) && \
+ make -j "$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -282,6 +291,7 @@ RUN apt-get update && \
# build gst-core
ARG GSTCORE_REPO=https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-1.20.3.tar.xz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${GSTCORE_REPO} | tar xJ
RUN cd /opt/build/gstreamer-1.20.3 && \
@@ -302,6 +312,7 @@ RUN apt-get update && \
# build gst-plugin-base
ARG GSTBASE_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-1.20.3.tar.xz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${GSTBASE_REPO} | tar xJ
RUN cd /opt/build/gst-plugins-base-1.20.3 && \
@@ -330,6 +341,7 @@ RUN apt-get update && \
# build gst-plugin-good
ARG GSTGOOD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-1.20.3.tar.xz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${GSTGOOD_REPO} | tar xJ
RUN cd /opt/build/gst-plugins-good-1.20.3 && \
@@ -355,6 +367,7 @@ RUN apt-get update && \
# build gst-plugin-bad
ARG GSTBAD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-1.20.3.tar.xz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${GSTBAD_REPO} | tar xJ && \
cd gst-plugins-bad-1.20.3 && \
@@ -383,6 +396,7 @@ RUN apt-get update && \
# build gst-plugin-ugly
ARG GSTUGLY_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-1.20.3.tar.xz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${GSTUGLY_REPO} | tar xJ
RUN cd /opt/build/gst-plugins-ugly-1.20.3 && \
@@ -420,7 +434,7 @@ RUN cd /opt/build/FFmpeg && \
RUN cd /opt/build/FFmpeg && \
./configure --prefix=/usr/local --libdir=/usr/local/lib --enable-shared --disable-static --disable-doc --disable-htmlpages \
--disable-manpages --disable-podpages --disable-txtpages \
- --extra-cflags=-w --enable-nonfree --enable-libass --enable-libfreetype --disable-xlib --disable-sdl2 --disable-hwaccels --disable-vaapi --enable-libv4l2 --enable-indev=v4l2 --enable-libfdk-aac --enable-libopus --enable-libvpx --enable-libvorbis --enable-gpl --enable-libx264 --enable-gpl --enable-libx265 --enable-libsvtav1 --enable-libsvthevc --enable-libaom --enable-libdav1d && make -j$(nproc) && \
+ --extra-cflags=-w --enable-nonfree --enable-libass --enable-libfreetype --disable-xlib --disable-sdl2 --disable-hwaccels --disable-vaapi --enable-libv4l2 --enable-indev=v4l2 --enable-libfdk-aac --enable-libopus --enable-libvpx --enable-libvorbis --enable-gpl --enable-libx264 --enable-gpl --enable-libx265 --enable-libsvtav1 --enable-libsvthevc --enable-libaom --enable-libdav1d && make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -431,6 +445,7 @@ RUN apt-get update && \
# build gst-plugin-libav
ARG GSTLIBAV_REPO=https://gstreamer.freedesktop.org/src/gst-libav/gst-libav-1.20.3.tar.xz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${GSTLIBAV_REPO} | tar xJ
RUN cd /opt/build/gst-libav-1.20.3 && \
@@ -467,6 +482,7 @@ RUN rm -rf /opt/dist/usr/local/include && \
find /opt/dist -name "*.a" -exec rm -f {} \; || echo ""
RUN rm -rf /opt/dist/usr/local/share/doc /opt/dist/usr/local/share/gtk-doc
RUN rm -rf /opt/dist/usr/local/share/man
+HEALTHCHECK CMD echo "This is a healthcheck test." || exit 1
FROM ubuntu:20.04
LABEL Description="This is the base image for Gstreamer ubuntu 20.04"
@@ -485,4 +501,4 @@ RUN echo "/usr/local/lib" >> /etc/ld.so.conf.d/all-libs.conf && ldconfig
ENV GST_PLUGIN_PATH=/usr/local/lib/gstreamer-1.0
ENV GST_PLUGIN_SCANNER=/usr/local/lib/gstreamer-1.0/gst-plugin-scanner
-
+HEALTHCHECK CMD echo "This is a healthcheck test." || exit 1
\ No newline at end of file
diff --git a/Xeon/ubuntu-20.04/media/gst/Dockerfile.m4 b/Xeon/ubuntu-20.04/media/gst/Dockerfile.m4
index 9bfeeb2be..a31961288 100644
--- a/Xeon/ubuntu-20.04/media/gst/Dockerfile.m4
+++ b/Xeon/ubuntu-20.04/media/gst/Dockerfile.m4
@@ -37,4 +37,4 @@ WORKDIR /home
# Install
UPGRADE_UBUNTU_COMPONENTS()
INSTALL_ALL(runtime,build)dnl
-
+HEALTHCHECK CMD echo "This is a healthcheck test." || exit 1
\ No newline at end of file
diff --git a/Xeon/ubuntu-20.04/media/gst/README.md b/Xeon/ubuntu-20.04/media/gst/README.md
index 900d4be7e..347c7de55 100644
--- a/Xeon/ubuntu-20.04/media/gst/README.md
+++ b/Xeon/ubuntu-20.04/media/gst/README.md
@@ -1,7 +1,7 @@
This docker image is part of Open Visual Cloud software stacks. Optimized for the media creation and delivery use case. Included gstreamer and audio and video plugins that can be connected to process audio and video content, such as creating, converting, transcoding. The docker image can be used in the FROM field of a downstream Dockerfile.
## Supported tags and respective Dockerfile links
- - [xeon-ubuntu-2004-media-gst](https://github.com/OpenVisualCloud/Dockerfiles/blob/v22.3/Xeon/ubuntu-20.04/media/gst/Dockerfile)
+ - [xeon-ubuntu-2004-media-gst](https://github.com/OpenVisualCloud/Dockerfiles/blob/v23.06/Xeon/ubuntu-20.04/media/gst/Dockerfile)
## Quick reference
- #### Supported platform and OS
diff --git a/Xeon/ubuntu-20.04/media/imtl/.dockerignore b/Xeon/ubuntu-20.04/media/imtl/.dockerignore
new file mode 100644
index 000000000..1cb8a04d9
--- /dev/null
+++ b/Xeon/ubuntu-20.04/media/imtl/.dockerignore
@@ -0,0 +1,4 @@
+CMakeLists.txt
+*.sh
+*.m4
+test/*
diff --git a/Xeon/ubuntu-20.04/media/imtl/CMakeLists.txt b/Xeon/ubuntu-20.04/media/imtl/CMakeLists.txt
new file mode 100644
index 000000000..92550fa41
--- /dev/null
+++ b/Xeon/ubuntu-20.04/media/imtl/CMakeLists.txt
@@ -0,0 +1,3 @@
+set(image "xeon_imtl_ubuntu2004")
+include(image)
+include(imtl-tests)
diff --git a/Xeon/ubuntu-20.04/media/imtl/Dockerfile b/Xeon/ubuntu-20.04/media/imtl/Dockerfile
new file mode 100644
index 000000000..f173f7afd
--- /dev/null
+++ b/Xeon/ubuntu-20.04/media/imtl/Dockerfile
@@ -0,0 +1,151 @@
+
+
+# BSD 3-Clause License
+#
+# Copyright (c) 2023, Intel Corporation
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are met:
+#
+# * Redistributions of source code must retain the above copyright notice, this
+# list of conditions and the following disclaimer.
+#
+# * Redistributions in binary form must reproduce the above copyright notice,
+# this list of conditions and the following disclaimer in the documentation
+# and/or other materials provided with the distribution.
+#
+# * Neither the name of the copyright holder nor the names of its
+# contributors may be used to endorse or promote products derived from
+# this software without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+# This file is automatically generated from .m4 template.
+# To update, modify the template and regenerate.
+FROM ubuntu:20.04 AS build
+
+
+RUN mkdir -p /opt/build && mkdir -p /opt/dist
+
+ENV PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
+
+RUN apt-get update && \
+ DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
+ sudo git g++ wget meson kmod ffmpeg unzip python3 python3-pip pkg-config libnuma-dev libjson-c-dev libpcap-dev libgtest-dev libsdl2-dev libsdl2-ttf-dev libssl-dev python3-pyelftools ninja-build pciutils iproute2 && \
+ rm -rf /var/lib/apt/lists/*
+
+# build DPDK
+ARG DPDK_REPO=https://github.com/DPDK/dpdk.git
+RUN cd /opt/build && \
+ git clone ${DPDK_REPO} && \
+ cd dpdk && \
+ git checkout v22.11 && \
+ meson build --prefix=/usr/local --libdir=/usr/local/lib && \
+ ninja -C build && \
+ cd build && \
+ ninja install && \
+ pkg-config --cflags libdpdk && \
+ pkg-config --libs libdpdk && \
+ pkg-config --modversion libdpdk
+
+
+RUN apt-get update && \
+ DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
+ sudo git g++ wget meson kmod ffmpeg unzip python3 python3-pip pkg-config libnuma-dev libjson-c-dev libpcap-dev libgtest-dev libsdl2-dev libsdl2-ttf-dev libssl-dev python3-pyelftools ninja-build pciutils iproute2 && \
+ rm -rf /var/lib/apt/lists/*
+
+# build imtl
+ARG DPDK_VERSION=22.11
+ARG IMTL_VER=23.04
+ARG DPDK_REPO=https://github.com/DPDK/dpdk.git
+ARG IMTL_REPO=https://github.com/OpenVisualCloud/Media-Transport-Library/archive/refs/tags/v${IMTL_VER}.tar.gz
+ARG DPDK_ST_KAHAWAI=/opt/build/Media-Transport-Library-${IMTL_VER}
+ARG LIB_BUILD_DIR=${DPDK_ST_KAHAWAI}/build
+ARG APP_BUILD_DIR=${DPDK_ST_KAHAWAI}/build/app
+ARG TEST_BUILD_DIR=${DPDK_ST_KAHAWAI}/build/tests
+ARG PLUGINS_BUILD_DIR=${DPDK_ST_KAHAWAI}/build/plugins
+ARG LD_PRELOAD_BUILD_DIR=${DPDK_ST_KAHAWAI}/build/ld_preload
+ENV PKG_CONFIG_PATH=${PKG_CONFIG_PATH}:/usr/local/lib/pkgconfig
+ENV LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/local/lib
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
+RUN cd /opt/build && \
+ rm -rf dpdk && \
+ git clone ${DPDK_REPO} && \
+ wget -O - ${IMTL_REPO} | tar xz && \
+ cd dpdk && \
+ git checkout v${DPDK_VERSION} && \
+ git switch -c v${DPDK_VERSION} && \
+ git config --global user.email "you@example.com" && \
+ git config --global user.name "Your Name" && \
+ git am ${DPDK_ST_KAHAWAI}/patches/dpdk/${DPDK_VERSION}/*.patch && \
+ meson build --prefix=/usr/local --libdir=/usr/local/lib && \
+ ninja -C build && \
+ cd build && \
+ ninja install && \
+ pkg-config --cflags libdpdk && \
+ pkg-config --libs libdpdk && \
+ pkg-config --modversion libdpdk && \
+ cd ${DPDK_ST_KAHAWAI} && \
+ meson ${LIB_BUILD_DIR} --prefix=/usr/local --libdir=/usr/local/lib && \
+ cd ${LIB_BUILD_DIR} && \
+ ninja && \
+ ninja install && \
+ cd ${DPDK_ST_KAHAWAI}/app && \
+ meson ${APP_BUILD_DIR} --prefix=/usr/local --libdir=/usr/local/lib && \
+ cd ${APP_BUILD_DIR} && \
+ ninja && \
+ cd ${DPDK_ST_KAHAWAI}/tests && \
+ meson ${TEST_BUILD_DIR} --prefix=/usr/local --libdir=/usr/local/lib && \
+ cd ${TEST_BUILD_DIR} && \
+ ninja && \
+ cd ${DPDK_ST_KAHAWAI}/plugins/ && \
+ meson ${PLUGINS_BUILD_DIR} --prefix=/usr/local --libdir=/usr/local/lib && \
+ cd ${PLUGINS_BUILD_DIR} && \
+ ninja && \
+ ninja install && \
+ cd ${DPDK_ST_KAHAWAI}/ld_preload && \
+ meson ${LD_PRELOAD_BUILD_DIR} --prefix=/usr/local --libdir=/usr/local/lib && \
+ cd ${LD_PRELOAD_BUILD_DIR} && \
+ ninja && \
+ ninja install && \
+ mkdir -p /opt/dist/home/imtl && \
+ cp -r ${DPDK_ST_KAHAWAI}/config ${APP_BUILD_DIR} && \
+ cp -r ${APP_BUILD_DIR} ${TEST_BUILD_DIR} /opt/dist/home/imtl && \
+ mkdir -p /opt/dist/usr/local && \
+ cp -r /usr/local/bin /usr/local/lib /opt/dist/usr/local
+
+
+# cleanup
+RUN rm -rf /opt/dist/usr/local/include && \
+ rm -rf /opt/dist/usr/local/lib/pkgconfig && \
+ find /opt/dist -name "*.a" -exec rm -f {} \; || echo ""
+RUN rm -rf /opt/dist/usr/local/share/doc /opt/dist/usr/local/share/gtk-doc
+RUN rm -rf /opt/dist/usr/local/share/man
+HEALTHCHECK CMD echo "This is a healthcheck test." || exit 1
+
+FROM ubuntu:20.04
+LABEL Description="This is the base image for IMTL ubuntu 20.04"
+LABEL Vendor="Intel Corporation"
+WORKDIR /home
+
+# Install
+RUN apt-get update && apt-get upgrade -y systemd
+RUN apt-get update && \
+ DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
+ libnuma1 pciutils iproute2 libpcap0.8 libatomic1 kmod libsdl2-2.0-0 libsdl2-ttf-2.0-0 libstdc++6 && \
+ rm -rf /var/lib/apt/lists/*
+
+COPY --from=build /opt/dist /
+RUN echo "/usr/local/lib" >> /etc/ld.so.conf.d/all-libs.conf && ldconfig
+
+HEALTHCHECK CMD echo "This is a healthcheck test." || exit 1
\ No newline at end of file
diff --git a/Xeon/ubuntu-20.04/media/imtl/Dockerfile.m4 b/Xeon/ubuntu-20.04/media/imtl/Dockerfile.m4
new file mode 100644
index 000000000..5cd6f6eb4
--- /dev/null
+++ b/Xeon/ubuntu-20.04/media/imtl/Dockerfile.m4
@@ -0,0 +1,22 @@
+
+include(begin.m4)
+include(ubuntu.m4)
+include(dpdk.m4)
+include(imtl.m4)
+include(end.m4)dnl
+
+PREAMBLE
+FROM OS_NAME:OS_VERSION AS build
+
+BUILD_ALL()dnl
+CLEANUP()dnl
+
+FROM OS_NAME:OS_VERSION
+LABEL Description="This is the base image for IMTL OS_NAME OS_VERSION"
+LABEL Vendor="Intel Corporation"
+WORKDIR /home
+
+# Install
+UPGRADE_UBUNTU_COMPONENTS()
+INSTALL_ALL(runtime,build)dnl
+HEALTHCHECK CMD echo "This is a healthcheck test." || exit 1
\ No newline at end of file
diff --git a/Xeon/ubuntu-20.04/media/imtl/README.md b/Xeon/ubuntu-20.04/media/imtl/README.md
new file mode 100644
index 000000000..7e8d9852d
--- /dev/null
+++ b/Xeon/ubuntu-20.04/media/imtl/README.md
@@ -0,0 +1,32 @@
+This docker image is part of Open Visual Cloud software stacks. Optimized for the media creation and delivery use case. Image with IMTL for transmitting and receiving media data with high throughput and low latency. The docker image can be used in the FROM field of a downstream Dockerfile.
+
+## Supported tags and respective Dockerfile links
+ - [xeon-ubuntu-2004-media-imtl](https://github.com/OpenVisualCloud/Dockerfiles/blob/v23.06/Xeon/ubuntu-20.04/media/imtl/Dockerfile)
+
+## Quick reference
+- #### Supported platform and OS
+ Intel® Xeon® platform, Ubuntu 20.04
+
+
+
+
+- #### Getting started with Dockerfiles:
+ [OpenVisualCloud Dockerfiles Wiki](https://github.com/OpenVisualCloud/Dockerfiles/wiki)
+
+- #### File issues:
+ [OpenVisualCloud Dockerfiles Issues](https://github.com/OpenVisualCloud/Dockerfiles/issues)
+
+
+## License
+This docker installs third party components licensed under various open source licenses. The terms under which those components may be used and distributed can be found with the license document that is provided with those components. Please familiarize yourself with those terms to ensure your distribution of those components complies with the terms of those licenses.
+
+
+| Components | License |
+| ----- | ----- |
+|Ubuntu| [Various](https://hub.docker.com/_/ubuntu) |
+|DPDK|BSD-3-Clause|
+|Intel Media Transport Library|BSD 3-Clause 'New' or 'Revised' License|
+
+
+More license information can be found in [components source package](https://github.com/OpenVisualCloud/Dockerfiles-Resources).
+As for any pre-built image usage, it is the image user's responsibility to ensure that any use of this image complies with any relevant licenses and potential fees for all software contained within. We will have no indemnity or warranty coverage from suppliers.
diff --git a/SG2/ubuntu-22.04/media/ffmpeg/build.sh b/Xeon/ubuntu-20.04/media/imtl/build.sh
similarity index 71%
rename from SG2/ubuntu-22.04/media/ffmpeg/build.sh
rename to Xeon/ubuntu-20.04/media/imtl/build.sh
index 90a845e8b..39066ea0b 100755
--- a/SG2/ubuntu-22.04/media/ffmpeg/build.sh
+++ b/Xeon/ubuntu-20.04/media/imtl/build.sh
@@ -1,6 +1,6 @@
#!/bin/bash -e
-IMAGE="sg2-ubuntu2204-media-ffmpeg"
+IMAGE="xeon-ubuntu2004-media-imtl"
DIR=$(dirname $(readlink -f "$0"))
. "${DIR}/../../../../script/build.sh"
diff --git a/SG2/ubuntu-20.04/media/ffmpeg/shell.sh b/Xeon/ubuntu-20.04/media/imtl/shell.sh
similarity index 71%
rename from SG2/ubuntu-20.04/media/ffmpeg/shell.sh
rename to Xeon/ubuntu-20.04/media/imtl/shell.sh
index 73747ca90..78046de3f 100755
--- a/SG2/ubuntu-20.04/media/ffmpeg/shell.sh
+++ b/Xeon/ubuntu-20.04/media/imtl/shell.sh
@@ -1,6 +1,6 @@
#!/bin/bash -e
-IMAGE="sg2-ubuntu2004-media-ffmpeg"
+IMAGE="xeon-ubuntu2004-media-imtl"
DIR=$(dirname $(readlink -f "$0"))
. "${DIR}/../../../../script/shell.sh"
diff --git a/Xeon/ubuntu-20.04/media/nginx/Dockerfile b/Xeon/ubuntu-20.04/media/nginx/Dockerfile
index 16bbfe87a..dd1cfc50f 100644
--- a/Xeon/ubuntu-20.04/media/nginx/Dockerfile
+++ b/Xeon/ubuntu-20.04/media/nginx/Dockerfile
@@ -46,11 +46,13 @@ RUN apt-get update && \
ARG NGINX_FLV_PATCHES_REPO=https://github.com/VCDP/CDN/archive/v0.4.tar.gz
ARG NGINX_FLV_PATCHES_PATH=/opt/build/CDN-0.4
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${NGINX_FLV_PATCHES_REPO} | tar xz
# build nginx flv
ARG NGINX_FLV_REPO=https://github.com/winshining/nginx-http-flv-module/archive/v1.2.10.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${NGINX_FLV_REPO} | tar xz && \
cd nginx-http-flv-module-1.2.10 && \
@@ -62,6 +64,7 @@ RUN cd /opt/build && \
# build nginx upload
ARG NGINX_UPLOAD_REPO=https://github.com/fdintino/nginx-upload-module/archive/2.3.0.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${NGINX_UPLOAD_REPO} | tar xz
@@ -72,6 +75,7 @@ RUN apt-get update && \
# build nginx
ARG NGINX_REPO=https://nginx.org/download/nginx-1.22.0.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${NGINX_REPO} | tar xz && \
cd nginx-1.22.0 && \
@@ -99,7 +103,7 @@ RUN cd /opt/build && \
--with-stream_ssl_preread_module --with-pcre \
--add-module=../nginx-http-flv-module-1.2.10 \
--add-module=../nginx-upload-module-2.3.0 \
- && make -j$(nproc) \
+ && make -j"$(nproc)" \
&& make install DESTDIR=/opt/dist
# NGINX Setup
@@ -121,8 +125,9 @@ RUN rm -rf /opt/dist/usr/local/include && \
find /opt/dist -name "*.a" -exec rm -f {} \; || echo ""
RUN rm -rf /opt/dist/usr/local/share/doc /opt/dist/usr/local/share/gtk-doc
RUN rm -rf /opt/dist/usr/local/share/man
+HEALTHCHECK CMD echo "This is a healthcheck test." || exit 1
-FROM openvisualcloud/xeon-ubuntu2004-media-ffmpeg:-n
+FROM openvisualcloud/xeon-ubuntu2004-media-ffmpeg:23.06
LABEL Description="This is the base image for NGINX+RTMP ubuntu 20.04"
LABEL Vendor="Intel Corporation"
WORKDIR /home
@@ -138,4 +143,4 @@ COPY --from=build /opt/dist /
RUN echo "/usr/local/lib" >> /etc/ld.so.conf.d/all-libs.conf && ldconfig
-
+HEALTHCHECK CMD echo "This is a healthcheck test." || exit 1
\ No newline at end of file
diff --git a/Xeon/ubuntu-20.04/media/nginx/Dockerfile.m4 b/Xeon/ubuntu-20.04/media/nginx/Dockerfile.m4
index 8769842e9..377a17ee6 100644
--- a/Xeon/ubuntu-20.04/media/nginx/Dockerfile.m4
+++ b/Xeon/ubuntu-20.04/media/nginx/Dockerfile.m4
@@ -20,4 +20,4 @@ WORKDIR /home
# Install
UPGRADE_UBUNTU_COMPONENTS()
INSTALL_ALL(runtime,build)
-
+HEALTHCHECK CMD echo "This is a healthcheck test." || exit 1
\ No newline at end of file
diff --git a/Xeon/ubuntu-20.04/media/nginx/README.md b/Xeon/ubuntu-20.04/media/nginx/README.md
index 8a8ead196..97271c9a3 100644
--- a/Xeon/ubuntu-20.04/media/nginx/README.md
+++ b/Xeon/ubuntu-20.04/media/nginx/README.md
@@ -1,7 +1,7 @@
This docker image is part of Open Visual Cloud software stacks. Optimized for the media creation and delivery use case. Optimized for NGINX web server that can be used for serving web content, load balancing, HTTP caching, or a reverse proxy. The docker image can be used in the FROM field of a downstream Dockerfile.
## Supported tags and respective Dockerfile links
- - [xeon-ubuntu-2004-media-nginx](https://github.com/OpenVisualCloud/Dockerfiles/blob/v22.3/Xeon/ubuntu-20.04/media/nginx/Dockerfile)
+ - [xeon-ubuntu-2004-media-nginx](https://github.com/OpenVisualCloud/Dockerfiles/blob/v23.06/Xeon/ubuntu-20.04/media/nginx/Dockerfile)
## Quick reference
- #### Supported platform and OS
@@ -39,7 +39,7 @@ This docker installs third party components licensed under various open source l
|Intel SVT-AV1|BSD-2-Clause Plus Patent License|
|Intel SVT-VP9|BSD-2-Clause Plus Patent License|
|OpenCV|BSD 3-clause "New" or "Revised" License|
-|FFmpeg|GNU General Public License v2.0 or later|
+|FFmpeg|GNU Lesser General Public License v2.1 or later|
More license information can be found in [components source package](https://github.com/OpenVisualCloud/Dockerfiles-Resources).
diff --git a/Xeon/ubuntu-20.04/media/srs/Dockerfile b/Xeon/ubuntu-20.04/media/srs/Dockerfile
index 9f44f3619..7dee862a2 100644
--- a/Xeon/ubuntu-20.04/media/srs/Dockerfile
+++ b/Xeon/ubuntu-20.04/media/srs/Dockerfile
@@ -49,7 +49,7 @@ ARG SRS_REPO=https://github.com/ossrs/srs.git
RUN cd /opt/build && \
git clone -b v4.0-r1 --depth 1 ${SRS_REPO} && \
cd srs/trunk && \
- sed -i "s/^SrsLinkOptions=\"/SrsLinkOptions=\"\$\(pkg-config --libs openssl\) -Wl,-rpath=\/usr\/local\/ssl\/lib /" configure && \
+ sed -i "s/^SrsLinkOptions=\"/SrsLinkOptions=\"\$\(pkg-config --libs openssl\) -Wl,-rpath=\/usr\/local\/ssl\/lib64 /" configure && \
./configure --prefix=/usr/local/srs \
--hds=on \
--ssl=on --https=on --sys-ssl=on \
@@ -61,9 +61,9 @@ RUN cd /opt/build && \
--nasm=off \
--srt=off \
--rtc=on \
- --extra-flags=$(pkg-config --cflags openssl) \
- --jobs=$(nproc) && \
- make -j$(nproc) && touch research/api-server/static-dir/crossdomain.xml && \
+ --extra-flags="$(pkg-config --cflags openssl)" \
+ --jobs="$(nproc)" && \
+ make -j"$(nproc)" && touch research/api-server/static-dir/crossdomain.xml && \
make install DESTDIR=/opt/dist
RUN echo /opt/dist
@@ -75,8 +75,9 @@ RUN rm -rf /opt/dist/usr/local/include && \
find /opt/dist -name "*.a" -exec rm -f {} \; || echo ""
RUN rm -rf /opt/dist/usr/local/share/doc /opt/dist/usr/local/share/gtk-doc
RUN rm -rf /opt/dist/usr/local/share/man
+HEALTHCHECK CMD echo "This is a healthcheck test." || exit 1
-FROM openvisualcloud/xeon-ubuntu2004-media-ffmpeg:latest
+FROM openvisualcloud/xeon-ubuntu2004-media-ffmpeg:23.06
LABEL Description="This is the base image for Media SRS ubuntu 20.04"
LABEL Vendor="Intel Corporation"
WORKDIR /home
@@ -92,4 +93,4 @@ COPY --from=build /opt/dist /
RUN echo "/usr/local/lib" >> /etc/ld.so.conf.d/all-libs.conf && ldconfig
-
+HEALTHCHECK CMD echo "This is a healthcheck test." || exit 1
\ No newline at end of file
diff --git a/Xeon/ubuntu-20.04/media/srs/Dockerfile.m4 b/Xeon/ubuntu-20.04/media/srs/Dockerfile.m4
index fb68de750..47fe4ee0f 100644
--- a/Xeon/ubuntu-20.04/media/srs/Dockerfile.m4
+++ b/Xeon/ubuntu-20.04/media/srs/Dockerfile.m4
@@ -10,7 +10,7 @@ FROM OS_NAME:OS_VERSION AS build
BUILD_ALL()dnl
CLEANUP()dnl
-FROM openvisualcloud/xeon-ubuntu2004-media-ffmpeg:latest
+FROM openvisualcloud/xeon-ubuntu2004-media-ffmpeg:BUILD_VERSION
LABEL Description="This is the base image for Media SRS OS_NAME OS_VERSION"
LABEL Vendor="Intel Corporation"
WORKDIR /home
@@ -18,4 +18,4 @@ WORKDIR /home
# Install
UPGRADE_UBUNTU_COMPONENTS()
INSTALL_ALL(runtime,build)
-
+HEALTHCHECK CMD echo "This is a healthcheck test." || exit 1
\ No newline at end of file
diff --git a/Xeon/ubuntu-20.04/media/srs/README.md b/Xeon/ubuntu-20.04/media/srs/README.md
index e09febb30..67943d0c1 100644
--- a/Xeon/ubuntu-20.04/media/srs/README.md
+++ b/Xeon/ubuntu-20.04/media/srs/README.md
@@ -1,7 +1,7 @@
This docker image is part of Open Visual Cloud software stacks. Optimized for the media creation and delivery use case. Image with SRS high efficiency, stable and simple RTMP/HLS/FLV streaming cluster. The docker image can be used in the FROM field of a downstream Dockerfile.
## Supported tags and respective Dockerfile links
- - [xeon-ubuntu-2004-media-srs](https://github.com/OpenVisualCloud/Dockerfiles/blob/v22.3/Xeon/ubuntu-20.04/media/srs/Dockerfile)
+ - [xeon-ubuntu-2004-media-srs](https://github.com/OpenVisualCloud/Dockerfiles/blob/v23.06/Xeon/ubuntu-20.04/media/srs/Dockerfile)
## Quick reference
- #### Supported platform and OS
@@ -24,7 +24,6 @@ This docker installs third party components licensed under various open source l
| Components | License |
| ----- | ----- |
|Ubuntu| [Various](https://hub.docker.com/_/ubuntu) |
-|OpenSSL|Apache License 2.0|
|Simple Realtime Server|MIT License|
|libogg|BSD 3-clause "New" or "Revised" License|
|libvorbis|BSD 3-clause "New" or "Revised" License|
@@ -37,7 +36,7 @@ This docker installs third party components licensed under various open source l
|Intel SVT-AV1|BSD-2-Clause Plus Patent License|
|Intel SVT-VP9|BSD-2-Clause Plus Patent License|
|OpenCV|BSD 3-clause "New" or "Revised" License|
-|FFmpeg|GNU General Public License v2.0 or later|
+|FFmpeg|GNU Lesser General Public License v2.1 or later|
More license information can be found in [components source package](https://github.com/OpenVisualCloud/Dockerfiles-Resources).
diff --git a/Xeon/ubuntu-20.04/media/svt/Dockerfile b/Xeon/ubuntu-20.04/media/svt/Dockerfile
index 95cdf3657..1781c1b27 100644
--- a/Xeon/ubuntu-20.04/media/svt/Dockerfile
+++ b/Xeon/ubuntu-20.04/media/svt/Dockerfile
@@ -49,12 +49,13 @@ RUN apt-get update && \
# TODO: Revert to NASM repo, this is temp fix is nasm repo certificate expired temporarily
ARG NASM_REPO=https://github.com/OpenVisualCloud/Dockerfiles-Resources/raw/master/nasm-2.15.05.tar.bz2
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${NASM_REPO} | tar xj && \
cd nasm-2.15.05 && \
./autogen.sh && \
./configure --prefix=/usr/local --libdir=/usr/local/lib && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install
RUN apt-get update && \
@@ -68,7 +69,7 @@ RUN cd /opt/build && \
git clone ${LIBAOM_REPO} -b v3.4.0 --depth 1 && \
cd aom/build && \
cmake -DBUILD_SHARED_LIBS=ON -DENABLE_NASM=ON -DENABLE_TESTS=OFF -DENABLE_DOCS=OFF -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_INSTALL_LIBDIR=lib .. && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -78,8 +79,9 @@ RUN rm -rf /opt/dist/usr/local/include && \
find /opt/dist -name "*.a" -exec rm -f {} \; || echo ""
RUN rm -rf /opt/dist/usr/local/share/doc /opt/dist/usr/local/share/gtk-doc
RUN rm -rf /opt/dist/usr/local/share/man
+HEALTHCHECK CMD echo "This is a healthcheck test." || exit 1
-FROM openvisualcloud/xeon-ubuntu2004-media-ffmpeg:latest
+FROM openvisualcloud/xeon-ubuntu2004-media-ffmpeg:23.06
LABEL Description="This is the showcase image for SVT ubuntu 20.04"
LABEL Vendor="Intel Corporation"
WORKDIR /home
@@ -91,4 +93,4 @@ RUN apt-get update && apt-get upgrade -y systemd
COPY --from=build /opt/dist /
RUN echo "/usr/local/lib" >> /etc/ld.so.conf.d/all-libs.conf && ldconfig
-
+HEALTHCHECK CMD echo "This is a healthcheck test." || exit 1
\ No newline at end of file
diff --git a/Xeon/ubuntu-20.04/media/svt/Dockerfile.m4 b/Xeon/ubuntu-20.04/media/svt/Dockerfile.m4
index 8aa86af6d..f1466b794 100644
--- a/Xeon/ubuntu-20.04/media/svt/Dockerfile.m4
+++ b/Xeon/ubuntu-20.04/media/svt/Dockerfile.m4
@@ -10,7 +10,7 @@ FROM OS_NAME:OS_VERSION AS build
BUILD_ALL()dnl
CLEANUP()dnl
-FROM openvisualcloud/xeon-ubuntu2004-media-ffmpeg:latest
+FROM openvisualcloud/xeon-ubuntu2004-media-ffmpeg:BUILD_VERSION
LABEL Description="This is the showcase image for SVT OS_NAME OS_VERSION"
LABEL Vendor="Intel Corporation"
WORKDIR /home
@@ -18,4 +18,4 @@ WORKDIR /home
# Install
UPGRADE_UBUNTU_COMPONENTS()
INSTALL_ALL(runtime,build)dnl
-
+HEALTHCHECK CMD echo "This is a healthcheck test." || exit 1
\ No newline at end of file
diff --git a/Xeon/ubuntu-20.04/media/svt/README.md b/Xeon/ubuntu-20.04/media/svt/README.md
index 231b6188d..e4057cefc 100644
--- a/Xeon/ubuntu-20.04/media/svt/README.md
+++ b/Xeon/ubuntu-20.04/media/svt/README.md
@@ -1,7 +1,7 @@
This docker image is part of Open Visual Cloud software stacks. Optimized for the media creation and delivery use case. Image with SVT (Scalable Video Technology) Encoder and decoders. Ready to use SVT apps to try AV1, HEVC, VP9 transcoders. The docker image can be used in the FROM field of a downstream Dockerfile.
## Supported tags and respective Dockerfile links
- - [xeon-ubuntu-2004-media-svt](https://github.com/OpenVisualCloud/Dockerfiles/blob/v22.3/Xeon/ubuntu-20.04/media/svt/Dockerfile)
+ - [xeon-ubuntu-2004-media-svt](https://github.com/OpenVisualCloud/Dockerfiles/blob/v23.06/Xeon/ubuntu-20.04/media/svt/Dockerfile)
## Quick reference
- #### Supported platform and OS
@@ -37,7 +37,7 @@ This docker installs third party components licensed under various open source l
|Intel SVT-AV1|BSD-2-Clause Plus Patent License|
|Intel SVT-VP9|BSD-2-Clause Plus Patent License|
|OpenCV|BSD 3-clause "New" or "Revised" License|
-|FFmpeg|GNU General Public License v2.0 or later|
+|FFmpeg|GNU Lesser General Public License v2.1 or later|
More license information can be found in [components source package](https://github.com/OpenVisualCloud/Dockerfiles-Resources).
diff --git a/Xeon/ubuntu-20.04/service/owt-dev/Dockerfile b/Xeon/ubuntu-20.04/service/owt-dev/Dockerfile
index 2965d81f7..44835fb66 100644
--- a/Xeon/ubuntu-20.04/service/owt-dev/Dockerfile
+++ b/Xeon/ubuntu-20.04/service/owt-dev/Dockerfile
@@ -46,11 +46,12 @@ RUN apt-get update && \
# build cmake
ARG CMAKE_REPO=https://cmake.org/files
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${CMAKE_REPO}/v3.23/cmake-3.23.3.tar.gz | tar xz && \
cd cmake-3.23.3 && \
./bootstrap --prefix=/usr/local --system-curl && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install
RUN apt-get update && \
@@ -62,6 +63,7 @@ RUN apt-get update && \
# ARG YASM_REPO=https://www.tortall.net/projects/yasm/releases/yasm-YASM_VER.tar.gz
# At the time of 21.6 Release, yasm official site above had certificate problem, hence pulling from Dockerfiles-Resources.
ARG YASM_REPO=https://github.com/OpenVisualCloud/Dockerfiles-Resources/raw/master/yasm-1.3.0.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${YASM_REPO} | tar xz
@@ -69,7 +71,7 @@ RUN cd /opt/build/yasm-1.3.0 && \
# TODO remove the line below whether no other component inside this project requires it.
# `sed -i "s/) ytasm.*/)/" Makefile.in' && \
./configure --prefix=/usr/local --libdir=/usr/local/lib && \
- make -j $(nproc) && \
+ make -j "$(nproc)" && \
make install
RUN apt-get update && \
@@ -83,7 +85,7 @@ RUN cd /opt/build && \
git clone -b v1.5.1 --depth 1 ${SVT_HEVC_REPO}
RUN cd /opt/build/SVT-HEVC/Build/linux && \
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_INSTALL_LIBDIR=/usr/local/lib -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \
- make -j $(nproc) && \
+ make -j "$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -94,12 +96,13 @@ RUN apt-get update && \
# build libfdkaac
ARG LIBFDKAAC_REPO=https://github.com/mstorsjo/fdk-aac/archive/v2.0.2.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${LIBFDKAAC_REPO} | tar xz && \
cd fdk-aac-2.0.2 && \
./autogen.sh && \
./configure --prefix=/usr/local --libdir=/usr/local/lib --enable-shared && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -113,12 +116,13 @@ RUN apt-get update && \
# TODO: Revert to NASM repo, this is temp fix is nasm repo certificate expired temporarily
ARG NASM_REPO=https://github.com/OpenVisualCloud/Dockerfiles-Resources/raw/master/nasm-2.15.05.tar.bz2
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${NASM_REPO} | tar xj && \
cd nasm-2.15.05 && \
./autogen.sh && \
./configure --prefix=/usr/local --libdir=/usr/local/lib && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install
RUN apt-get update && \
@@ -132,7 +136,7 @@ RUN cd /opt/build && \
git clone ${LIBVPX_REPO} -b v1.12.0 --depth 1 && \
cd libvpx && \
./configure --prefix=/usr/local --libdir=/usr/local/lib --enable-shared --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=nasm && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -148,7 +152,7 @@ RUN cd /opt/build && \
cd x264 && \
./configure --prefix=/usr/local --libdir=/usr/local/lib \
--enable-shared && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -159,6 +163,7 @@ RUN apt-get update && \
# build opencv
ARG OPENCV_REPO=https://github.com/opencv/opencv/archive/4.5.3-openvino-2021.4.2.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${OPENCV_REPO} | tar xz
# TODO: file a bug against opencv since they do not accept full libdir
@@ -176,7 +181,7 @@ RUN cd /opt/build/opencv-4.5.3-openvino-2021.4.2 && mkdir build && cd build && \
-DWITH_OPENJPEG=OFF \
-DWITH_JASPER=OFF \
.. && \
- make -j $(nproc) && \
+ make -j "$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -215,7 +220,7 @@ RUN cd /opt/build/openvino && \
-DBUILD_TESTS=OFF \
-DTREAT_WARNING_AS_ERROR=OFF \
.. && \
- make -j $(nproc) && \
+ make -j "$(nproc)" && \
make install && \
make install DESTDIR=/opt/dist
@@ -253,7 +258,7 @@ RUN cd /opt/build/FFmpeg && \
RUN cd /opt/build/FFmpeg && \
./configure --prefix=/usr/local --libdir=/usr/local/lib --enable-shared --disable-static --disable-doc --disable-htmlpages \
--disable-manpages --disable-podpages --disable-txtpages \
- --extra-cflags=-w --enable-nonfree --enable-libass --disable-xlib --disable-sdl2 --disable-hwaccels --disable-vaapi --enable-libfdk-aac --enable-libvpx --enable-gpl --enable-libx264 --enable-libsvthevc && make -j$(nproc) && \
+ --extra-cflags=-w --enable-nonfree --enable-libass --disable-xlib --disable-sdl2 --disable-hwaccels --disable-vaapi --enable-libfdk-aac --enable-libvpx --enable-gpl --enable-libx264 --enable-libsvthevc && make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -266,9 +271,9 @@ RUN apt-get update && \
# build meson
ARG MESON_REPO=https://github.com/mesonbuild/meson
-RUN git clone ${MESON_REPO}; \
- cd meson; \
- git checkout 0.63.0; \
+RUN git clone ${MESON_REPO} && \
+ cd meson && \
+ git checkout 0.63.0 && \
python3 setup.py install;
RUN apt-get update && \
@@ -278,6 +283,7 @@ RUN apt-get update && \
# build gst-core
ARG GSTCORE_REPO=https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-1.20.3.tar.xz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${GSTCORE_REPO} | tar xJ
RUN cd /opt/build/gstreamer-1.20.3 && \
@@ -298,6 +304,7 @@ RUN apt-get update && \
# build gst-plugin-base
ARG GSTBASE_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-1.20.3.tar.xz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${GSTBASE_REPO} | tar xJ
RUN cd /opt/build/gst-plugins-base-1.20.3 && \
@@ -326,6 +333,7 @@ RUN apt-get update && \
# build gst-plugin-good
ARG GSTGOOD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-1.20.3.tar.xz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${GSTGOOD_REPO} | tar xJ
RUN cd /opt/build/gst-plugins-good-1.20.3 && \
@@ -351,6 +359,7 @@ RUN apt-get update && \
# build gst-plugin-bad
ARG GSTBAD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-1.20.3.tar.xz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${GSTBAD_REPO} | tar xJ && \
cd gst-plugins-bad-1.20.3 && \
@@ -379,6 +388,7 @@ RUN apt-get update && \
# build gst-plugin-ugly
ARG GSTUGLY_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-1.20.3.tar.xz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${GSTUGLY_REPO} | tar xJ
RUN cd /opt/build/gst-plugins-ugly-1.20.3 && \
@@ -417,7 +427,7 @@ RUN git clone -b master $GVA_REPO /opt/build/gst-video-analytics && \
-DENABLE_AUDIO_INFERENCE_ELEMENTS=ON \
-DTREAT_WARNING_AS_ERROR=OFF \
.. \
- && make -j $(nproc) \
+ && make -j "$(nproc)" \
&& make install \
&& make install DESTDIR=/opt/dist
@@ -439,6 +449,7 @@ RUN apt-get update && \
ca-certificates tar g++ wget gtk-doc-tools uuid-dev python-gi-dev python3-dev libtool-bin libpython3-dev libpython3-stdlib libpython3-all-dev && \
rm -rf /var/lib/apt/lists/*
ARG GSTPYTHON_REPO=https://gstreamer.freedesktop.org/src/gst-python/gst-python-1.20.3.tar.xz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${GSTPYTHON_REPO} | tar xJ
RUN cd /opt/build/gst-python-1.20.3 && \
@@ -460,6 +471,7 @@ RUN apt-get update && \
# build boost
ARG BOOST_REPO=https://boostorg.jfrog.io/artifactory/main/release/1.65.0/source/boost_1_65_0.tar.bz2
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${BOOST_REPO} | tar jx
RUN cd /opt/build/boost_1_65_0 && \
@@ -475,6 +487,7 @@ RUN apt-get update && \
# Build OpenH264
ARG OPENH264_SRC_REPO=https://github.com/cisco/openh264/archive/v1.7.0.tar.gz
ARG OPENH264_BIN_REPO=https://github.com/cisco/openh264/releases/download/v1.7.0/libopenh264-1.7.0-linux64.4.so.bz2
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${OPENH264_SRC_REPO} | tar xz openh264-1.7.0/codec/api && \
cd openh264-1.7.0 && \
@@ -510,25 +523,27 @@ RUN apt-get update && \
# build libnice
ARG LIBNICE_REPO=http://nice.freedesktop.org/releases/libnice-0.1.4.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${LIBNICE_REPO} | tar xz
-ARG LIBNICE_PATCH_REPO=https://github.com/open-webrtc-toolkit/owt-server/archive/v5.0.tar.gz
+ARG LIBNICE_PATCH_REPO=https://github.com/open-webrtc-toolkit/owt-server/archive/5.1.0.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build/libnice-0.1.4 && \
wget -O - ${LIBNICE_PATCH_REPO} | tar xz && \
- patch -p1 < owt-server-5.0/scripts/patches/libnice014-agentlock.patch && \
- patch -p1 < owt-server-5.0/scripts/patches/libnice014-agentlock-plus.patch && \
- patch -p1 < owt-server-5.0/scripts/patches/libnice014-removecandidate.patch && \
- patch -p1 < owt-server-5.0/scripts/patches/libnice014-keepalive.patch && \
- patch -p1 < owt-server-5.0/scripts/patches/libnice014-startcheck.patch && \
- patch -p1 < owt-server-5.0/scripts/patches/libnice014-closelock.patch
+ patch -p1 < owt-server-5.1.0/scripts/patches/libnice014-agentlock.patch && \
+ patch -p1 < owt-server-5.1.0/scripts/patches/libnice014-agentlock-plus.patch && \
+ patch -p1 < owt-server-5.1.0/scripts/patches/libnice014-removecandidate.patch && \
+ patch -p1 < owt-server-5.1.0/scripts/patches/libnice014-keepalive.patch && \
+ patch -p1 < owt-server-5.1.0/scripts/patches/libnice014-startcheck.patch && \
+ patch -p1 < owt-server-5.1.0/scripts/patches/libnice014-closelock.patch
RUN cd /opt/build/libnice-0.1.4 && \
./configure --prefix=/usr/local --libdir=/usr/local/lib && \
- make -j$(nproc) -s V=0 && \
+ make -j"$(nproc)" -s V=0 && \
make install DESTDIR=/opt/dist && \
make install
@@ -539,12 +554,13 @@ RUN apt-get update && \
# build usrsctp
ARG USRSCTP_REPO=https://github.com/sctplab/usrsctp/archive/0.9.5.0.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${USRSCTP_REPO} | tar xz && \
cd usrsctp-* && \
./bootstrap && \
./configure --prefix=/usr/local --libdir=/usr/local/lib && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -563,26 +579,29 @@ RUN apt-get update && \
rm -rf /var/lib/apt/lists/*
# build node
-ARG NODE_REPO=https://nodejs.org/dist/v10.24.1/node-v10.24.1-linux-x64.tar.xz
+ARG NODE_REPO=https://nodejs.org/dist/v14.21.3/node-v14.21.3-linux-x64.tar.xz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${NODE_REPO} | tar xJ && \
- cp node-v10.24.1-linux-x64/* /usr/local -rf && \
- rm -rf node-v10.24.1-linux-x64
+ cp node-v14.21.3-linux-x64/* /usr/local -rf && \
+ rm -rf node-v14.21.3-linux-x64
RUN apt-get update && \
DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
- libssl-dev git gcc npm python libglib2.0-dev libboost-thread-dev libboost-system-dev liblog4cxx-dev libsrtp2-dev pkg-config patch && \
+ libssl-dev git gcc npm python3 libglib2.0-dev libboost-thread-dev libboost-system-dev liblog4cxx-dev libsrtp2-dev pkg-config patch && \
rm -rf /var/lib/apt/lists/*
# Install npm modules
RUN npm install -g --loglevel error node-gyp@6.1.0 grunt-cli underscore jsdoc
# Get owt-server Source
+# TODO: wait for the specific the release version
ARG OWT_REPO=https://github.com/open-webrtc-toolkit/owt-server
RUN cd /opt/build && \
git clone -b master ${OWT_REPO} && \
cd owt-server && \
- git reset --hard v5.0.1
+ git switch 5.1.x && \
+ git reset --hard 22973995404b334115ce8ffab87bae73a63baa30
#Patch OWT for Analytics
@@ -592,8 +611,7 @@ ARG OWT_AVREAD_PATCH=https://raw.githubusercontent.com/OpenVisualCloud/Dockerfil
RUN cd /opt/build/owt-server && \
wget ${OWT_ANALYTICS_PATCH} && \
wget ${OWT_AVREAD_PATCH} && \
- patch -p1 < 0002-fix-the-analytics-restart.patch && \
- patch -p1 < 0001-Remove-av_read_play-which-already-called-inside-rtsp.patch
+ patch -p1 < 0002-fix-the-analytics-restart.patch
@@ -624,9 +642,9 @@ RUN mkdir -p /opt/build/owt-server/third_party/webrtc && \
./tools-woogeen/build.sh
-# Get webrtc79
-RUN mkdir -p /opt/build/owt-server/third_party/webrtc-m79 && \
- cd /opt/build/owt-server/third_party/webrtc-m79 && \
+# Get webrtc88
+RUN mkdir -p /opt/build/owt-server/third_party/webrtc-m88 && \
+ cd /opt/build/owt-server/third_party/webrtc-m88 && \
sed -i "s/git clone/git clone --depth 1/" ../../scripts/installWebrtc.sh && \
bash ../../scripts/installWebrtc.sh
@@ -641,6 +659,7 @@ RUN cd /opt/build && \
# Get quic
ARG OWT_QUIC_REPO=https://github.com/open-webrtc-toolkit/owt-deps-quic/releases/download/v0.1/dist.tgz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN mkdir -p /opt/build/owt-server/third_party/quic-lib && \
cd /opt/build/owt-server/third_party/quic-lib && \
wget -O - ${OWT_QUIC_REPO} | tar xz
@@ -659,8 +678,10 @@ RUN cd /opt/build/owt-server && \
npm install nan
# Build and package
-ENV LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/local/lib:/usr/local/ssl/lib
+ENV LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/local/lib:/usr/local/ssl/lib64
RUN cd /opt/build/owt-server && \
+ sed -i "109a\cd /opt/build/owt-server/third_party/webrtc-m88" scripts/installWebrtc.sh && \
+ bash scripts/installWebrtc.sh && \
./scripts/build.js -t mcu-all -r -c &&\
./scripts/pack.js -t all --install-module --no-pseudo --app-path /opt/build/owt-client-javascript/dist/samples/conference && \
mkdir -p /opt/dist/home && \
@@ -685,6 +706,7 @@ RUN cd /opt/build/owt-server && \
RUN rm -rf /opt/dist/usr/local/share/doc /opt/dist/usr/local/share/gtk-doc
RUN rm -rf /opt/dist/usr/local/share/man
RUN rm -rf /opt/dist/usr/local/openvino/inference-engine/external/tbb/doc
+HEALTHCHECK CMD echo "This is a healthcheck test." || exit 1
FROM ubuntu:20.04
LABEL Description="This is the development image for the OWT service ubuntu 20.04"
@@ -721,9 +743,10 @@ ENV GST_PLUGIN_PATH=${GST_PLUGIN_PATH}:/usr/local/lib/gstreamer-1.0/
# install node
-ARG NODE_REPO=https://nodejs.org/dist/v10.24.1/node-v10.24.1-linux-x64.tar.xz
+ARG NODE_REPO=https://nodejs.org/dist/v14.21.3/node-v14.21.3-linux-x64.tar.xz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /usr/local && \
wget -O - ${NODE_REPO} | tar xJ && \
- cp -r node-v10.24.1-linux-x64/* . && \
- rm -rf node-v10.24.1-linux-x64
-
+ cp -r node-v14.21.3-linux-x64/* . && \
+ rm -rf node-v14.21.3-linux-x64
+HEALTHCHECK CMD echo "This is a healthcheck test." || exit 1
\ No newline at end of file
diff --git a/Xeon/ubuntu-20.04/service/owt-dev/Dockerfile.m4 b/Xeon/ubuntu-20.04/service/owt-dev/Dockerfile.m4
index 6fc8b83fa..9005ef056 100644
--- a/Xeon/ubuntu-20.04/service/owt-dev/Dockerfile.m4
+++ b/Xeon/ubuntu-20.04/service/owt-dev/Dockerfile.m4
@@ -38,4 +38,4 @@ WORKDIR /home
# Install
UPGRADE_UBUNTU_COMPONENTS()
INSTALL_ALL(devel,build)dnl
-
+HEALTHCHECK CMD echo "This is a healthcheck test." || exit 1
\ No newline at end of file
diff --git a/Xeon/ubuntu-20.04/service/owt-dev/README.md b/Xeon/ubuntu-20.04/service/owt-dev/README.md
index 833f87d19..ff732cd5e 100644
--- a/Xeon/ubuntu-20.04/service/owt-dev/README.md
+++ b/Xeon/ubuntu-20.04/service/owt-dev/README.md
@@ -1,7 +1,7 @@
This docker image is part of Open Visual Cloud software stacks. Optimized for video conferencing service based on the WebRTC technology and Open WebRTC Toolkit (OWT). The docker image can be used in the FROM field of a downstream Dockerfile.
## Supported tags and respective Dockerfile links
- - [xeon-ubuntu-2004-service-owt-dev](https://github.com/OpenVisualCloud/Dockerfiles/blob/v22.3/Xeon/ubuntu-20.04/service/owt-dev/Dockerfile)
+ - [xeon-ubuntu-2004-service-owt-dev](https://github.com/OpenVisualCloud/Dockerfiles/blob/v23.06/Xeon/ubuntu-20.04/service/owt-dev/Dockerfile)
## Quick reference
- #### Supported platform and OS
@@ -24,13 +24,12 @@ This docker installs third party components licensed under various open source l
| Components | License |
| ----- | ----- |
|Ubuntu| [Various](https://hub.docker.com/_/ubuntu) |
-|OpenSSL|Apache License 2.0|
|Intel SVT-HEVC|BSD-2-Clause Plus Patent License|
|libvpx|BSD 3-clause "New" or "Revised" License|
|x264|GNU General Public License v2.0 or later|
|OpenCV|BSD 3-clause "New" or "Revised" License|
|OpenVINO|Apache License v2.0|
-|FFmpeg|GNU General Public License v2.0 or later|
+|FFmpeg|GNU Lesser General Public License v2.1 or later|
|gstreamer|GNU Lesser General Public License v2.1 or later|
|gst plugins base|GNU Lesser General Public License v2.1 or later|
|gst plugins good|GNU Lesser General Public License v2.1 or later|
diff --git a/Xeon/ubuntu-20.04/service/owt/Dockerfile b/Xeon/ubuntu-20.04/service/owt/Dockerfile
index 2e5fff56e..c32d5a0fe 100644
--- a/Xeon/ubuntu-20.04/service/owt/Dockerfile
+++ b/Xeon/ubuntu-20.04/service/owt/Dockerfile
@@ -46,11 +46,12 @@ RUN apt-get update && \
# build cmake
ARG CMAKE_REPO=https://cmake.org/files
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${CMAKE_REPO}/v3.23/cmake-3.23.3.tar.gz | tar xz && \
cd cmake-3.23.3 && \
./bootstrap --prefix=/usr/local --system-curl && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install
RUN apt-get update && \
@@ -62,6 +63,7 @@ RUN apt-get update && \
# ARG YASM_REPO=https://www.tortall.net/projects/yasm/releases/yasm-YASM_VER.tar.gz
# At the time of 21.6 Release, yasm official site above had certificate problem, hence pulling from Dockerfiles-Resources.
ARG YASM_REPO=https://github.com/OpenVisualCloud/Dockerfiles-Resources/raw/master/yasm-1.3.0.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${YASM_REPO} | tar xz
@@ -69,7 +71,7 @@ RUN cd /opt/build/yasm-1.3.0 && \
# TODO remove the line below whether no other component inside this project requires it.
# `sed -i "s/) ytasm.*/)/" Makefile.in' && \
./configure --prefix=/usr/local --libdir=/usr/local/lib && \
- make -j $(nproc) && \
+ make -j "$(nproc)" && \
make install
RUN apt-get update && \
@@ -83,7 +85,7 @@ RUN cd /opt/build && \
git clone -b v1.5.1 --depth 1 ${SVT_HEVC_REPO}
RUN cd /opt/build/SVT-HEVC/Build/linux && \
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_INSTALL_LIBDIR=/usr/local/lib -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \
- make -j $(nproc) && \
+ make -j "$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -94,12 +96,13 @@ RUN apt-get update && \
# build libfdkaac
ARG LIBFDKAAC_REPO=https://github.com/mstorsjo/fdk-aac/archive/v2.0.2.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${LIBFDKAAC_REPO} | tar xz && \
cd fdk-aac-2.0.2 && \
./autogen.sh && \
./configure --prefix=/usr/local --libdir=/usr/local/lib --enable-shared && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -113,12 +116,13 @@ RUN apt-get update && \
# TODO: Revert to NASM repo, this is temp fix is nasm repo certificate expired temporarily
ARG NASM_REPO=https://github.com/OpenVisualCloud/Dockerfiles-Resources/raw/master/nasm-2.15.05.tar.bz2
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${NASM_REPO} | tar xj && \
cd nasm-2.15.05 && \
./autogen.sh && \
./configure --prefix=/usr/local --libdir=/usr/local/lib && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install
RUN apt-get update && \
@@ -132,7 +136,7 @@ RUN cd /opt/build && \
git clone ${LIBVPX_REPO} -b v1.12.0 --depth 1 && \
cd libvpx && \
./configure --prefix=/usr/local --libdir=/usr/local/lib --enable-shared --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=nasm && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -148,7 +152,7 @@ RUN cd /opt/build && \
cd x264 && \
./configure --prefix=/usr/local --libdir=/usr/local/lib \
--enable-shared && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -159,6 +163,7 @@ RUN apt-get update && \
# build opencv
ARG OPENCV_REPO=https://github.com/opencv/opencv/archive/4.5.3-openvino-2021.4.2.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${OPENCV_REPO} | tar xz
# TODO: file a bug against opencv since they do not accept full libdir
@@ -176,7 +181,7 @@ RUN cd /opt/build/opencv-4.5.3-openvino-2021.4.2 && mkdir build && cd build && \
-DWITH_OPENJPEG=OFF \
-DWITH_JASPER=OFF \
.. && \
- make -j $(nproc) && \
+ make -j "$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -215,7 +220,7 @@ RUN cd /opt/build/openvino && \
-DBUILD_TESTS=OFF \
-DTREAT_WARNING_AS_ERROR=OFF \
.. && \
- make -j $(nproc) && \
+ make -j "$(nproc)" && \
make install && \
make install DESTDIR=/opt/dist
@@ -253,7 +258,7 @@ RUN cd /opt/build/FFmpeg && \
RUN cd /opt/build/FFmpeg && \
./configure --prefix=/usr/local --libdir=/usr/local/lib --enable-shared --disable-static --disable-doc --disable-htmlpages \
--disable-manpages --disable-podpages --disable-txtpages \
- --extra-cflags=-w --enable-nonfree --enable-libass --disable-xlib --disable-sdl2 --disable-hwaccels --disable-vaapi --enable-libfdk-aac --enable-libvpx --enable-gpl --enable-libx264 --enable-libsvthevc && make -j$(nproc) && \
+ --extra-cflags=-w --enable-nonfree --enable-libass --disable-xlib --disable-sdl2 --disable-hwaccels --disable-vaapi --enable-libfdk-aac --enable-libvpx --enable-gpl --enable-libx264 --enable-libsvthevc && make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -266,9 +271,9 @@ RUN apt-get update && \
# build meson
ARG MESON_REPO=https://github.com/mesonbuild/meson
-RUN git clone ${MESON_REPO}; \
- cd meson; \
- git checkout 0.63.0; \
+RUN git clone ${MESON_REPO} && \
+ cd meson && \
+ git checkout 0.63.0 && \
python3 setup.py install;
RUN apt-get update && \
@@ -278,6 +283,7 @@ RUN apt-get update && \
# build gst-core
ARG GSTCORE_REPO=https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-1.20.3.tar.xz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${GSTCORE_REPO} | tar xJ
RUN cd /opt/build/gstreamer-1.20.3 && \
@@ -298,6 +304,7 @@ RUN apt-get update && \
# build gst-plugin-base
ARG GSTBASE_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-1.20.3.tar.xz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${GSTBASE_REPO} | tar xJ
RUN cd /opt/build/gst-plugins-base-1.20.3 && \
@@ -326,6 +333,7 @@ RUN apt-get update && \
# build gst-plugin-good
ARG GSTGOOD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-1.20.3.tar.xz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${GSTGOOD_REPO} | tar xJ
RUN cd /opt/build/gst-plugins-good-1.20.3 && \
@@ -351,6 +359,7 @@ RUN apt-get update && \
# build gst-plugin-bad
ARG GSTBAD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-1.20.3.tar.xz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${GSTBAD_REPO} | tar xJ && \
cd gst-plugins-bad-1.20.3 && \
@@ -379,6 +388,7 @@ RUN apt-get update && \
# build gst-plugin-ugly
ARG GSTUGLY_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-1.20.3.tar.xz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${GSTUGLY_REPO} | tar xJ
RUN cd /opt/build/gst-plugins-ugly-1.20.3 && \
@@ -417,7 +427,7 @@ RUN git clone -b master $GVA_REPO /opt/build/gst-video-analytics && \
-DENABLE_AUDIO_INFERENCE_ELEMENTS=ON \
-DTREAT_WARNING_AS_ERROR=OFF \
.. \
- && make -j $(nproc) \
+ && make -j "$(nproc)" \
&& make install \
&& make install DESTDIR=/opt/dist
@@ -439,6 +449,7 @@ RUN apt-get update && \
ca-certificates tar g++ wget gtk-doc-tools uuid-dev python-gi-dev python3-dev libtool-bin libpython3-dev libpython3-stdlib libpython3-all-dev && \
rm -rf /var/lib/apt/lists/*
ARG GSTPYTHON_REPO=https://gstreamer.freedesktop.org/src/gst-python/gst-python-1.20.3.tar.xz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${GSTPYTHON_REPO} | tar xJ
RUN cd /opt/build/gst-python-1.20.3 && \
@@ -460,6 +471,7 @@ RUN apt-get update && \
# build boost
ARG BOOST_REPO=https://boostorg.jfrog.io/artifactory/main/release/1.65.0/source/boost_1_65_0.tar.bz2
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${BOOST_REPO} | tar jx
RUN cd /opt/build/boost_1_65_0 && \
@@ -475,6 +487,7 @@ RUN apt-get update && \
# Build OpenH264
ARG OPENH264_SRC_REPO=https://github.com/cisco/openh264/archive/v1.7.0.tar.gz
ARG OPENH264_BIN_REPO=https://github.com/cisco/openh264/releases/download/v1.7.0/libopenh264-1.7.0-linux64.4.so.bz2
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${OPENH264_SRC_REPO} | tar xz openh264-1.7.0/codec/api && \
cd openh264-1.7.0 && \
@@ -510,25 +523,27 @@ RUN apt-get update && \
# build libnice
ARG LIBNICE_REPO=http://nice.freedesktop.org/releases/libnice-0.1.4.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${LIBNICE_REPO} | tar xz
-ARG LIBNICE_PATCH_REPO=https://github.com/open-webrtc-toolkit/owt-server/archive/v5.0.tar.gz
+ARG LIBNICE_PATCH_REPO=https://github.com/open-webrtc-toolkit/owt-server/archive/5.1.0.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build/libnice-0.1.4 && \
wget -O - ${LIBNICE_PATCH_REPO} | tar xz && \
- patch -p1 < owt-server-5.0/scripts/patches/libnice014-agentlock.patch && \
- patch -p1 < owt-server-5.0/scripts/patches/libnice014-agentlock-plus.patch && \
- patch -p1 < owt-server-5.0/scripts/patches/libnice014-removecandidate.patch && \
- patch -p1 < owt-server-5.0/scripts/patches/libnice014-keepalive.patch && \
- patch -p1 < owt-server-5.0/scripts/patches/libnice014-startcheck.patch && \
- patch -p1 < owt-server-5.0/scripts/patches/libnice014-closelock.patch
+ patch -p1 < owt-server-5.1.0/scripts/patches/libnice014-agentlock.patch && \
+ patch -p1 < owt-server-5.1.0/scripts/patches/libnice014-agentlock-plus.patch && \
+ patch -p1 < owt-server-5.1.0/scripts/patches/libnice014-removecandidate.patch && \
+ patch -p1 < owt-server-5.1.0/scripts/patches/libnice014-keepalive.patch && \
+ patch -p1 < owt-server-5.1.0/scripts/patches/libnice014-startcheck.patch && \
+ patch -p1 < owt-server-5.1.0/scripts/patches/libnice014-closelock.patch
RUN cd /opt/build/libnice-0.1.4 && \
./configure --prefix=/usr/local --libdir=/usr/local/lib && \
- make -j$(nproc) -s V=0 && \
+ make -j"$(nproc)" -s V=0 && \
make install DESTDIR=/opt/dist && \
make install
@@ -539,12 +554,13 @@ RUN apt-get update && \
# build usrsctp
ARG USRSCTP_REPO=https://github.com/sctplab/usrsctp/archive/0.9.5.0.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${USRSCTP_REPO} | tar xz && \
cd usrsctp-* && \
./bootstrap && \
./configure --prefix=/usr/local --libdir=/usr/local/lib && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -563,26 +579,29 @@ RUN apt-get update && \
rm -rf /var/lib/apt/lists/*
# build node
-ARG NODE_REPO=https://nodejs.org/dist/v10.24.1/node-v10.24.1-linux-x64.tar.xz
+ARG NODE_REPO=https://nodejs.org/dist/v14.21.3/node-v14.21.3-linux-x64.tar.xz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${NODE_REPO} | tar xJ && \
- cp node-v10.24.1-linux-x64/* /usr/local -rf && \
- rm -rf node-v10.24.1-linux-x64
+ cp node-v14.21.3-linux-x64/* /usr/local -rf && \
+ rm -rf node-v14.21.3-linux-x64
RUN apt-get update && \
DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
- libssl-dev git gcc npm python libglib2.0-dev libboost-thread-dev libboost-system-dev liblog4cxx-dev libsrtp2-dev pkg-config patch && \
+ libssl-dev git gcc npm python3 libglib2.0-dev libboost-thread-dev libboost-system-dev liblog4cxx-dev libsrtp2-dev pkg-config patch && \
rm -rf /var/lib/apt/lists/*
# Install npm modules
RUN npm install -g --loglevel error node-gyp@6.1.0 grunt-cli underscore jsdoc
# Get owt-server Source
+# TODO: wait for the specific the release version
ARG OWT_REPO=https://github.com/open-webrtc-toolkit/owt-server
RUN cd /opt/build && \
git clone -b master ${OWT_REPO} && \
cd owt-server && \
- git reset --hard v5.0.1
+ git switch 5.1.x && \
+ git reset --hard 22973995404b334115ce8ffab87bae73a63baa30
#Patch OWT for Analytics
@@ -592,8 +611,7 @@ ARG OWT_AVREAD_PATCH=https://raw.githubusercontent.com/OpenVisualCloud/Dockerfil
RUN cd /opt/build/owt-server && \
wget ${OWT_ANALYTICS_PATCH} && \
wget ${OWT_AVREAD_PATCH} && \
- patch -p1 < 0002-fix-the-analytics-restart.patch && \
- patch -p1 < 0001-Remove-av_read_play-which-already-called-inside-rtsp.patch
+ patch -p1 < 0002-fix-the-analytics-restart.patch
@@ -624,9 +642,9 @@ RUN mkdir -p /opt/build/owt-server/third_party/webrtc && \
./tools-woogeen/build.sh
-# Get webrtc79
-RUN mkdir -p /opt/build/owt-server/third_party/webrtc-m79 && \
- cd /opt/build/owt-server/third_party/webrtc-m79 && \
+# Get webrtc88
+RUN mkdir -p /opt/build/owt-server/third_party/webrtc-m88 && \
+ cd /opt/build/owt-server/third_party/webrtc-m88 && \
sed -i "s/git clone/git clone --depth 1/" ../../scripts/installWebrtc.sh && \
bash ../../scripts/installWebrtc.sh
@@ -641,6 +659,7 @@ RUN cd /opt/build && \
# Get quic
ARG OWT_QUIC_REPO=https://github.com/open-webrtc-toolkit/owt-deps-quic/releases/download/v0.1/dist.tgz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN mkdir -p /opt/build/owt-server/third_party/quic-lib && \
cd /opt/build/owt-server/third_party/quic-lib && \
wget -O - ${OWT_QUIC_REPO} | tar xz
@@ -659,8 +678,10 @@ RUN cd /opt/build/owt-server && \
npm install nan
# Build and package
-ENV LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/local/lib:/usr/local/ssl/lib
+ENV LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/local/lib:/usr/local/ssl/lib64
RUN cd /opt/build/owt-server && \
+ sed -i "109a\cd /opt/build/owt-server/third_party/webrtc-m88" scripts/installWebrtc.sh && \
+ bash scripts/installWebrtc.sh && \
./scripts/build.js -t mcu-all -r -c &&\
./scripts/pack.js -t all --install-module --no-pseudo --app-path /opt/build/owt-client-javascript/dist/samples/conference && \
mkdir -p /opt/dist/home && \
@@ -692,6 +713,7 @@ RUN cd /opt/dist/usr/local/openvino/runtime && \
include src share/*.cmake cmake lib/intel64/*.a external/tbb/include external/tbb/cmake
RUN rm -rf /opt/dist/usr/local/openvino/inference-engine/external/tbb/doc
RUN rm -rf /opt/dist/home/owt/analytics_agent/plugins
+HEALTHCHECK CMD echo "This is a healthcheck test." || exit 1
FROM ubuntu:20.04
LABEL Description="This is the base image for the OWT service ubuntu 20.04"
@@ -727,10 +749,11 @@ ENV GST_PLUGIN_PATH=${GST_PLUGIN_PATH}:/usr/local/lib/gstreamer-1.0/
# install node
-ARG NODE_REPO=https://nodejs.org/dist/v10.24.1/node-v10.24.1-linux-x64.tar.xz
+ARG NODE_REPO=https://nodejs.org/dist/v14.21.3/node-v14.21.3-linux-x64.tar.xz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /usr/local && \
wget -O - ${NODE_REPO} | tar xJ && \
- cp -r node-v10.24.1-linux-x64/* . && \
- rm -rf node-v10.24.1-linux-x64
-
+ cp -r node-v14.21.3-linux-x64/* . && \
+ rm -rf node-v14.21.3-linux-x64
+HEALTHCHECK CMD echo "This is a healthcheck test." || exit 1
\ No newline at end of file
diff --git a/Xeon/ubuntu-20.04/service/owt/Dockerfile.m4 b/Xeon/ubuntu-20.04/service/owt/Dockerfile.m4
index ba70c887c..3182e622f 100644
--- a/Xeon/ubuntu-20.04/service/owt/Dockerfile.m4
+++ b/Xeon/ubuntu-20.04/service/owt/Dockerfile.m4
@@ -37,4 +37,4 @@ WORKDIR /home
# Install
UPGRADE_UBUNTU_COMPONENTS()
INSTALL_ALL(runtime,build)
-
+HEALTHCHECK CMD echo "This is a healthcheck test." || exit 1
\ No newline at end of file
diff --git a/Xeon/ubuntu-20.04/service/owt/README.md b/Xeon/ubuntu-20.04/service/owt/README.md
index 8e79714f0..576cb68c4 100644
--- a/Xeon/ubuntu-20.04/service/owt/README.md
+++ b/Xeon/ubuntu-20.04/service/owt/README.md
@@ -1,7 +1,7 @@
This docker image is part of Open Visual Cloud software stacks. Optimized for video conferencing service based on the WebRTC technology and Open WebRTC Toolkit (OWT). Optimized for video conferencing service based on the WebRTC technology and Open WebRTC Toolkit (OWT). Included conferencing modes: 1:N, N:N with video and audio processing nodes. The docker image can be used in the FROM field of a downstream Dockerfile.
## Supported tags and respective Dockerfile links
- - [xeon-ubuntu-2004-service-owt](https://github.com/OpenVisualCloud/Dockerfiles/blob/v22.3/Xeon/ubuntu-20.04/service/owt/Dockerfile)
+ - [xeon-ubuntu-2004-service-owt](https://github.com/OpenVisualCloud/Dockerfiles/blob/v23.06/Xeon/ubuntu-20.04/service/owt/Dockerfile)
## Quick reference
- #### Supported platform and OS
@@ -25,13 +25,12 @@ This docker installs third party components licensed under various open source l
| Components | License |
| ----- | ----- |
|Ubuntu| [Various](https://hub.docker.com/_/ubuntu) |
-|OpenSSL|Apache License 2.0|
|Intel SVT-HEVC|BSD-2-Clause Plus Patent License|
|libvpx|BSD 3-clause "New" or "Revised" License|
|x264|GNU General Public License v2.0 or later|
|OpenCV|BSD 3-clause "New" or "Revised" License|
|OpenVINO|Apache License v2.0|
-|FFmpeg|GNU General Public License v2.0 or later|
+|FFmpeg|GNU Lesser General Public License v2.1 or later|
|gstreamer|GNU Lesser General Public License v2.1 or later|
|gst plugins base|GNU Lesser General Public License v2.1 or later|
|gst plugins good|GNU Lesser General Public License v2.1 or later|
diff --git a/Xeon/ubuntu-22.04/analytics/dev/Dockerfile b/Xeon/ubuntu-22.04/analytics/dev/Dockerfile
index 50d03ff23..03b9fec0d 100644
--- a/Xeon/ubuntu-22.04/analytics/dev/Dockerfile
+++ b/Xeon/ubuntu-22.04/analytics/dev/Dockerfile
@@ -46,12 +46,13 @@ RUN apt-get update && \
# build libogg
ARG OGG_VER=1.3.5
ARG LIBOGG_REPO=https://github.com/xiph/ogg/releases/download/v${OGG_VER}/libogg-1.3.5.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${LIBOGG_REPO} | tar xz && \
cd libogg-1.3.5 && \
./configure --prefix=/usr/local --libdir=/usr/local/lib --enable-shared && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -63,11 +64,12 @@ RUN apt-get update && \
# build libvorbis
ARG VORBIS_VER=1.3.7
ARG LIBVORBIS_REPO=https://github.com/xiph/vorbis/releases/download/v${VORBIS_VER}/libvorbis-1.3.7.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${LIBVORBIS_REPO} | tar xz && \
cd libvorbis-1.3.7 && \
./configure --prefix=/usr/local --libdir=/usr/local/lib --enable-shared && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -78,12 +80,13 @@ RUN apt-get update && \
# build libfdkaac
ARG LIBFDKAAC_REPO=https://github.com/mstorsjo/fdk-aac/archive/v2.0.2.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${LIBFDKAAC_REPO} | tar xz && \
cd fdk-aac-2.0.2 && \
./autogen.sh && \
./configure --prefix=/usr/local --libdir=/usr/local/lib --enable-shared && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -94,11 +97,12 @@ RUN apt-get update && \
# build libopus
ARG LIBOPUS_REPO=https://archive.mozilla.org/pub/opus/opus-1.3.1.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${LIBOPUS_REPO} | tar xz && \
cd opus-1.3.1 && \
./configure --prefix=/usr/local --libdir=/usr/local/lib --enable-shared && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -112,12 +116,13 @@ RUN apt-get update && \
# TODO: Revert to NASM repo, this is temp fix is nasm repo certificate expired temporarily
ARG NASM_REPO=https://github.com/OpenVisualCloud/Dockerfiles-Resources/raw/master/nasm-2.15.05.tar.bz2
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${NASM_REPO} | tar xj && \
cd nasm-2.15.05 && \
./autogen.sh && \
./configure --prefix=/usr/local --libdir=/usr/local/lib && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install
RUN apt-get update && \
@@ -131,7 +136,7 @@ RUN cd /opt/build && \
git clone ${LIBVPX_REPO} -b v1.12.0 --depth 1 && \
cd libvpx && \
./configure --prefix=/usr/local --libdir=/usr/local/lib --enable-shared --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=nasm && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -146,7 +151,7 @@ RUN cd /opt/build && \
git clone ${LIBAOM_REPO} -b v3.4.0 --depth 1 && \
cd aom/build && \
cmake -DBUILD_SHARED_LIBS=ON -DENABLE_NASM=ON -DENABLE_TESTS=OFF -DENABLE_DOCS=OFF -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_INSTALL_LIBDIR=lib .. && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -157,9 +162,9 @@ RUN apt-get update && \
# build meson
ARG MESON_REPO=https://github.com/mesonbuild/meson
-RUN git clone ${MESON_REPO}; \
- cd meson; \
- git checkout 0.63.0; \
+RUN git clone ${MESON_REPO} && \
+ cd meson && \
+ git checkout 0.63.0 && \
python3 setup.py install;
RUN apt-get update && \
@@ -169,6 +174,7 @@ RUN apt-get update && \
# build dav1d
ARG DAV1D_REPO=https://code.videolan.org/videolan/dav1d/-/archive/0.9.2/dav1d-0.9.2.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${DAV1D_REPO} | tar xz
RUN cd /opt/build/dav1d-0.9.2 && \
@@ -180,11 +186,12 @@ RUN cd /opt/build/dav1d-0.9.2 && \
ARG LIBJSONC_REPO=https://github.com/json-c/json-c/archive/json-c-0.16-20220414.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${LIBJSONC_REPO} | tar xz && \
cd json-c-json-c-0.16-20220414 && mkdir build && cd build && \
cmake -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_INSTALL_LIBDIR=/usr/local/lib .. && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -192,11 +199,12 @@ RUN cd /opt/build && \
ARG KAFKA_VER=1.9.2
ARG LIBRDKAFKA_REPO=https://github.com/edenhill/librdkafka/archive/v${KAFKA_VER}.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${LIBRDKAFKA_REPO} | tar xz && \
cd librdkafka-1.9.2 && \
./configure --prefix=/usr/local --libdir=/usr/local/lib && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -209,6 +217,7 @@ RUN apt-get update && \
# ARG YASM_REPO=https://www.tortall.net/projects/yasm/releases/yasm-YASM_VER.tar.gz
# At the time of 21.6 Release, yasm official site above had certificate problem, hence pulling from Dockerfiles-Resources.
ARG YASM_REPO=https://github.com/OpenVisualCloud/Dockerfiles-Resources/raw/master/yasm-1.3.0.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${YASM_REPO} | tar xz
@@ -216,7 +225,7 @@ RUN cd /opt/build/yasm-1.3.0 && \
# TODO remove the line below whether no other component inside this project requires it.
# `sed -i "s/) ytasm.*/)/" Makefile.in' && \
./configure --prefix=/usr/local --libdir=/usr/local/lib && \
- make -j $(nproc) && \
+ make -j "$(nproc)" && \
make install
RUN apt-get update && \
@@ -230,7 +239,7 @@ RUN cd /opt/build && \
git clone -b v1.5.1 --depth 1 ${SVT_HEVC_REPO}
RUN cd /opt/build/SVT-HEVC/Build/linux && \
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_INSTALL_LIBDIR=/usr/local/lib -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \
- make -j $(nproc) && \
+ make -j "$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -241,12 +250,13 @@ RUN apt-get update && \
# build svt av1
ARG SVT_AV1_REPO=https://gitlab.com/AOMediaCodec/SVT-AV1/-/archive/v1.3.0/SVT-AV1-v1.3.0.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${SVT_AV1_REPO} | tar zx && \
mv SVT-AV1-v1.3.0 SVT-AV1 && \
cd SVT-AV1/Build/linux && \
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_INSTALL_LIBDIR=/usr/local/lib -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \
- make -j $(nproc) && \
+ make -j "$(nproc)" && \
sed -i "s/SvtAv1dec/SvtAv1Dec/" SvtAv1Dec.pc && \
make install DESTDIR=/opt/dist && \
make install
@@ -262,7 +272,7 @@ RUN cd /opt/build && \
git clone ${SVT_VP9_REPO} -b v0.3.0 --depth 1 && \
cd SVT-VP9/Build/linux && \
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_INSTALL_LIBDIR=/usr/local/lib -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \
- make -j $(nproc) && \
+ make -j "$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -273,6 +283,7 @@ RUN apt-get update && \
# build opencv
ARG OPENCV_REPO=https://github.com/opencv/opencv/archive/4.5.3-openvino-2021.4.2.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${OPENCV_REPO} | tar xz
# TODO: file a bug against opencv since they do not accept full libdir
@@ -290,7 +301,7 @@ RUN cd /opt/build/opencv-4.5.3-openvino-2021.4.2 && mkdir build && cd build && \
-DWITH_OPENJPEG=OFF \
-DWITH_JASPER=OFF \
.. && \
- make -j $(nproc) && \
+ make -j "$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -329,7 +340,7 @@ RUN cd /opt/build/openvino && \
-DBUILD_TESTS=OFF \
-DTREAT_WARNING_AS_ERROR=OFF \
.. && \
- make -j $(nproc) && \
+ make -j "$(nproc)" && \
make install && \
make install DESTDIR=/opt/dist
@@ -349,6 +360,7 @@ RUN apt-get update && \
# build gst-core
ARG GSTCORE_REPO=https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-1.20.3.tar.xz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${GSTCORE_REPO} | tar xJ
RUN cd /opt/build/gstreamer-1.20.3 && \
@@ -369,6 +381,7 @@ RUN apt-get update && \
# build gst-plugin-base
ARG GSTBASE_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-1.20.3.tar.xz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${GSTBASE_REPO} | tar xJ
RUN cd /opt/build/gst-plugins-base-1.20.3 && \
@@ -397,6 +410,7 @@ RUN apt-get update && \
# build gst-plugin-good
ARG GSTGOOD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-1.20.3.tar.xz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${GSTGOOD_REPO} | tar xJ
RUN cd /opt/build/gst-plugins-good-1.20.3 && \
@@ -422,6 +436,7 @@ RUN apt-get update && \
# build gst-plugin-bad
ARG GSTBAD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-1.20.3.tar.xz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${GSTBAD_REPO} | tar xJ && \
cd gst-plugins-bad-1.20.3 && \
@@ -450,6 +465,7 @@ RUN apt-get update && \
# build gst-plugin-ugly
ARG GSTUGLY_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-1.20.3.tar.xz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${GSTUGLY_REPO} | tar xJ
RUN cd /opt/build/gst-plugins-ugly-1.20.3 && \
@@ -491,6 +507,7 @@ RUN apt-get update && \
# build libpahomqtt
ARG PAHO_VER=1.3.10
ARG LIBPAHO_REPO=https://github.com/eclipse/paho.mqtt.c/archive/v${PAHO_VER}.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${LIBPAHO_REPO} | tar -xz
RUN cd /opt/build/paho.mqtt.c-1.3.10 && \
@@ -553,7 +570,7 @@ RUN git clone -b master $GVA_REPO /opt/build/gst-video-analytics && \
-DENABLE_AUDIO_INFERENCE_ELEMENTS=ON \
-DTREAT_WARNING_AS_ERROR=OFF \
.. \
- && make -j $(nproc) \
+ && make -j "$(nproc)" \
&& make install \
&& make install DESTDIR=/opt/dist
@@ -575,6 +592,7 @@ RUN apt-get update && \
ca-certificates tar g++ wget gtk-doc-tools uuid-dev python-gi-dev python3-dev libtool-bin libpython3-dev libpython3-stdlib libpython3-all-dev && \
rm -rf /var/lib/apt/lists/*
ARG GSTPYTHON_REPO=https://gstreamer.freedesktop.org/src/gst-python/gst-python-1.20.3.tar.xz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${GSTPYTHON_REPO} | tar xJ
RUN cd /opt/build/gst-python-1.20.3 && \
@@ -614,7 +632,7 @@ RUN cd /opt/build/FFmpeg && \
RUN cd /opt/build/FFmpeg && \
./configure --prefix=/usr/local --libdir=/usr/local/lib --enable-shared --disable-static --disable-doc --disable-htmlpages \
--disable-manpages --disable-podpages --disable-txtpages \
- --extra-cflags=-w --enable-nonfree --enable-libass --enable-libfreetype --disable-xlib --disable-sdl2 --disable-hwaccels --disable-vaapi --enable-libv4l2 --enable-indev=v4l2 --enable-libfdk-aac --enable-libopus --enable-libvpx --enable-libvorbis --enable-libsvtav1 --enable-libsvthevc --enable-libaom --enable-libdav1d && make -j$(nproc) && \
+ --extra-cflags=-w --enable-nonfree --enable-libass --enable-libfreetype --disable-xlib --disable-sdl2 --disable-hwaccels --disable-vaapi --enable-libv4l2 --enable-indev=v4l2 --enable-libfdk-aac --enable-libopus --enable-libvpx --enable-libvorbis --enable-libsvtav1 --enable-libsvthevc --enable-libaom --enable-libdav1d && make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -624,6 +642,7 @@ RUN cd /opt/build/FFmpeg && \
RUN rm -rf /opt/dist/usr/local/share/doc /opt/dist/usr/local/share/gtk-doc
RUN rm -rf /opt/dist/usr/local/share/man
RUN rm -rf /opt/dist/usr/local/openvino/inference-engine/external/tbb/doc
+HEALTHCHECK CMD echo "This is a healthcheck test." || exit 1
FROM ubuntu:22.04
LABEL Description="This is the base image for Development purposes on ubuntu 22.04"
@@ -658,3 +677,4 @@ ENV GI_TYPELIB_PATH=${GI_TYPELIB_PATH}:/usr/local/lib/girepository-1.0/
ENV PYTHONPATH=${PYTHONPATH}:/opt/intel/dl_streamer/python
ENV GST_PLUGIN_PATH=${GST_PLUGIN_PATH}:/usr/local/lib/gstreamer-1.0/
+HEALTHCHECK CMD echo "This is a healthcheck test." || exit 1
\ No newline at end of file
diff --git a/Xeon/ubuntu-22.04/analytics/dev/Dockerfile.m4 b/Xeon/ubuntu-22.04/analytics/dev/Dockerfile.m4
index d720bce7d..1cccc4fb5 100644
--- a/Xeon/ubuntu-22.04/analytics/dev/Dockerfile.m4
+++ b/Xeon/ubuntu-22.04/analytics/dev/Dockerfile.m4
@@ -43,3 +43,4 @@ WORKDIR /home
# Install
UPGRADE_UBUNTU_COMPONENTS()
INSTALL_ALL(runtime,build)dnl
+HEALTHCHECK CMD echo "This is a healthcheck test." || exit 1
\ No newline at end of file
diff --git a/Xeon/ubuntu-22.04/analytics/dev/README.md b/Xeon/ubuntu-22.04/analytics/dev/README.md
index 9608bc67f..2fd742d4e 100644
--- a/Xeon/ubuntu-22.04/analytics/dev/README.md
+++ b/Xeon/ubuntu-22.04/analytics/dev/README.md
@@ -1,7 +1,7 @@
This docker image is part of Open Visual Cloud software stacks. This is development image aim towards enabling C++ application compilation, debugging (with the debugging, profiling tools) and optimization (with the optimization tools.) You can compile C++ applications with this image and then copy the applications to the corresponding deployment image. Included what are in FFmpeg & GStreamer media analytics images. The docker image can be used in the FROM field of a downstream Dockerfile.
## Supported tags and respective Dockerfile links
- - [xeon-ubuntu-2204-analytics-dev](https://github.com/OpenVisualCloud/Dockerfiles/blob/v22.6/Xeon/ubuntu-22.04/analytics/dev/Dockerfile)
+ - [xeon-ubuntu-2204-analytics-dev](https://github.com/OpenVisualCloud/Dockerfiles/blob/v23.06/Xeon/ubuntu-22.04/analytics/dev/Dockerfile)
## Quick reference
- #### Supported platform and OS
@@ -27,7 +27,6 @@ This docker installs third party components licensed under various open source l
|Ubuntu| [Various](https://hub.docker.com/_/ubuntu) |
|libogg|BSD 3-clause "New" or "Revised" License|
|libvorbis|BSD 3-clause "New" or "Revised" License|
-|OpenSSL|Apache License 2.0|
|Opus Interactive Audio Codec|BSD 3-clause "New" or "Revised" License|
|libvpx|BSD 3-clause "New" or "Revised" License|
|Aomedia AV1 Codec Library|BSD 2-clause "Simplified" License|
diff --git a/Xeon/ubuntu-22.04/analytics/ffmpeg/Dockerfile b/Xeon/ubuntu-22.04/analytics/ffmpeg/Dockerfile
index df4d29858..9661bbc6a 100644
--- a/Xeon/ubuntu-22.04/analytics/ffmpeg/Dockerfile
+++ b/Xeon/ubuntu-22.04/analytics/ffmpeg/Dockerfile
@@ -46,12 +46,13 @@ RUN apt-get update && \
# build libogg
ARG OGG_VER=1.3.5
ARG LIBOGG_REPO=https://github.com/xiph/ogg/releases/download/v${OGG_VER}/libogg-1.3.5.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${LIBOGG_REPO} | tar xz && \
cd libogg-1.3.5 && \
./configure --prefix=/usr/local --libdir=/usr/local/lib --enable-shared && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -63,11 +64,12 @@ RUN apt-get update && \
# build libvorbis
ARG VORBIS_VER=1.3.7
ARG LIBVORBIS_REPO=https://github.com/xiph/vorbis/releases/download/v${VORBIS_VER}/libvorbis-1.3.7.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${LIBVORBIS_REPO} | tar xz && \
cd libvorbis-1.3.7 && \
./configure --prefix=/usr/local --libdir=/usr/local/lib --enable-shared && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -78,12 +80,13 @@ RUN apt-get update && \
# build libfdkaac
ARG LIBFDKAAC_REPO=https://github.com/mstorsjo/fdk-aac/archive/v2.0.2.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${LIBFDKAAC_REPO} | tar xz && \
cd fdk-aac-2.0.2 && \
./autogen.sh && \
./configure --prefix=/usr/local --libdir=/usr/local/lib --enable-shared && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -94,11 +97,12 @@ RUN apt-get update && \
# build libopus
ARG LIBOPUS_REPO=https://archive.mozilla.org/pub/opus/opus-1.3.1.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${LIBOPUS_REPO} | tar xz && \
cd opus-1.3.1 && \
./configure --prefix=/usr/local --libdir=/usr/local/lib --enable-shared && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -112,12 +116,13 @@ RUN apt-get update && \
# TODO: Revert to NASM repo, this is temp fix is nasm repo certificate expired temporarily
ARG NASM_REPO=https://github.com/OpenVisualCloud/Dockerfiles-Resources/raw/master/nasm-2.15.05.tar.bz2
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${NASM_REPO} | tar xj && \
cd nasm-2.15.05 && \
./autogen.sh && \
./configure --prefix=/usr/local --libdir=/usr/local/lib && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install
RUN apt-get update && \
@@ -131,7 +136,7 @@ RUN cd /opt/build && \
git clone ${LIBVPX_REPO} -b v1.12.0 --depth 1 && \
cd libvpx && \
./configure --prefix=/usr/local --libdir=/usr/local/lib --enable-shared --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=nasm && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -147,7 +152,7 @@ RUN cd /opt/build && \
cd x264 && \
./configure --prefix=/usr/local --libdir=/usr/local/lib \
--enable-shared && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -160,6 +165,7 @@ RUN apt-get update && \
# ARG YASM_REPO=https://www.tortall.net/projects/yasm/releases/yasm-YASM_VER.tar.gz
# At the time of 21.6 Release, yasm official site above had certificate problem, hence pulling from Dockerfiles-Resources.
ARG YASM_REPO=https://github.com/OpenVisualCloud/Dockerfiles-Resources/raw/master/yasm-1.3.0.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${YASM_REPO} | tar xz
@@ -167,7 +173,7 @@ RUN cd /opt/build/yasm-1.3.0 && \
# TODO remove the line below whether no other component inside this project requires it.
# `sed -i "s/) ytasm.*/)/" Makefile.in' && \
./configure --prefix=/usr/local --libdir=/usr/local/lib && \
- make -j $(nproc) && \
+ make -j "$(nproc)" && \
make install
RUN apt-get update && \
@@ -177,11 +183,12 @@ RUN apt-get update && \
# build libx265
ARG LIBX265_REPO=https://github.com/videolan/x265/archive/3.4.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${LIBX265_REPO} | tar xz && \
cd x265-3.4/build/linux && \
cmake -DBUILD_SHARED_LIBS=ON -DCMAKE_INSTALL_PREFIX=/usr/local -DLIB_INSTALL_DIR=/usr/local/lib ../../source && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -192,6 +199,7 @@ RUN apt-get update && \
# build dav1d
ARG DAV1D_REPO=https://code.videolan.org/videolan/dav1d/-/archive/0.9.2/dav1d-0.9.2.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${DAV1D_REPO} | tar xz
RUN cd /opt/build/dav1d-0.9.2 && \
@@ -211,7 +219,7 @@ RUN cd /opt/build && \
git clone -b v1.5.1 --depth 1 ${SVT_HEVC_REPO}
RUN cd /opt/build/SVT-HEVC/Build/linux && \
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_INSTALL_LIBDIR=/usr/local/lib -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \
- make -j $(nproc) && \
+ make -j "$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -222,12 +230,13 @@ RUN apt-get update && \
# build svt av1
ARG SVT_AV1_REPO=https://gitlab.com/AOMediaCodec/SVT-AV1/-/archive/v1.3.0/SVT-AV1-v1.3.0.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${SVT_AV1_REPO} | tar zx && \
mv SVT-AV1-v1.3.0 SVT-AV1 && \
cd SVT-AV1/Build/linux && \
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_INSTALL_LIBDIR=/usr/local/lib -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \
- make -j $(nproc) && \
+ make -j "$(nproc)" && \
sed -i "s/SvtAv1dec/SvtAv1Dec/" SvtAv1Dec.pc && \
make install DESTDIR=/opt/dist && \
make install
@@ -243,7 +252,7 @@ RUN cd /opt/build && \
git clone ${SVT_VP9_REPO} -b v0.3.0 --depth 1 && \
cd SVT-VP9/Build/linux && \
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_INSTALL_LIBDIR=/usr/local/lib -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \
- make -j $(nproc) && \
+ make -j "$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -254,6 +263,7 @@ RUN apt-get update && \
# build opencv
ARG OPENCV_REPO=https://github.com/opencv/opencv/archive/4.5.3-openvino-2021.4.2.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${OPENCV_REPO} | tar xz
# TODO: file a bug against opencv since they do not accept full libdir
@@ -271,7 +281,7 @@ RUN cd /opt/build/opencv-4.5.3-openvino-2021.4.2 && mkdir build && cd build && \
-DWITH_OPENJPEG=OFF \
-DWITH_JASPER=OFF \
.. && \
- make -j $(nproc) && \
+ make -j "$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -310,7 +320,7 @@ RUN cd /opt/build/openvino && \
-DBUILD_TESTS=OFF \
-DTREAT_WARNING_AS_ERROR=OFF \
.. && \
- make -j $(nproc) && \
+ make -j "$(nproc)" && \
make install && \
make install DESTDIR=/opt/dist
@@ -326,11 +336,12 @@ ENV ngraph_DIR=${IE_INSTALL_DIR}/cmake
ARG LIBJSONC_REPO=https://github.com/json-c/json-c/archive/json-c-0.16-20220414.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${LIBJSONC_REPO} | tar xz && \
cd json-c-json-c-0.16-20220414 && mkdir build && cd build && \
cmake -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_INSTALL_LIBDIR=/usr/local/lib .. && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -338,11 +349,12 @@ RUN cd /opt/build && \
ARG KAFKA_VER=1.9.2
ARG LIBRDKAFKA_REPO=https://github.com/edenhill/librdkafka/archive/v${KAFKA_VER}.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${LIBRDKAFKA_REPO} | tar xz && \
cd librdkafka-1.9.2 && \
./configure --prefix=/usr/local --libdir=/usr/local/lib && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -371,7 +383,7 @@ RUN cd /opt/build/FFmpeg && \
RUN cd /opt/build/FFmpeg && \
./configure --prefix=/usr/local --libdir=/usr/local/lib --enable-shared --disable-static --disable-doc --disable-htmlpages \
--disable-manpages --disable-podpages --disable-txtpages \
- --extra-cflags=-w --enable-nonfree --enable-libass --enable-libfreetype --disable-xlib --disable-sdl2 --disable-hwaccels --disable-vaapi --enable-libv4l2 --enable-indev=v4l2 --enable-libfdk-aac --enable-libopus --enable-libvpx --enable-libvorbis --enable-gpl --enable-libx264 --enable-gpl --enable-libx265 --enable-libsvtav1 --enable-libsvthevc --enable-libdav1d && make -j$(nproc) && \
+ --extra-cflags=-w --enable-nonfree --enable-libass --enable-libfreetype --disable-xlib --disable-sdl2 --disable-hwaccels --disable-vaapi --enable-libv4l2 --enable-indev=v4l2 --enable-libfdk-aac --enable-libopus --enable-libvpx --enable-libvorbis --enable-gpl --enable-libx264 --enable-gpl --enable-libx265 --enable-libsvtav1 --enable-libsvthevc --enable-libdav1d && make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -387,6 +399,7 @@ RUN cd /opt/dist/usr/local/openvino/runtime && \
rm -rf /opt/dist/usr/local/lib/pkgconfig/openvino.pc \
include src share/*.cmake cmake lib/intel64/*.a external/tbb/include external/tbb/cmake
RUN rm -rf /opt/dist/usr/local/openvino/inference-engine/external/tbb/doc
+HEALTHCHECK CMD echo "This is a healthcheck test." || exit 1
FROM ubuntu:22.04
LABEL Description="This is the base image for FFMPEG ubuntu 22.04"
@@ -413,3 +426,4 @@ ENV LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/local/openvino/runtime/lib/:/usr/loc
ARG CUSTOM_IE_DIR=/usr/local/openvino/
ARG CUSTOM_IE_LIBDIR=${CUSTOM_IE_DIR}/runtime/lib/intel64
RUN printf "${CUSTOM_IE_LIBDIR}\n${CUSTOM_IE_DIR}/3rdparty/tbb/lib\n" >/etc/ld.so.conf.d/openvino.conf && ldconfig
+HEALTHCHECK CMD echo "This is a healthcheck test." || exit 1
\ No newline at end of file
diff --git a/Xeon/ubuntu-22.04/analytics/ffmpeg/Dockerfile.m4 b/Xeon/ubuntu-22.04/analytics/ffmpeg/Dockerfile.m4
index 6abf0b03a..6956b2186 100644
--- a/Xeon/ubuntu-22.04/analytics/ffmpeg/Dockerfile.m4
+++ b/Xeon/ubuntu-22.04/analytics/ffmpeg/Dockerfile.m4
@@ -32,3 +32,4 @@ WORKDIR /home
# Install
UPGRADE_UBUNTU_COMPONENTS()
INSTALL_ALL(runtime,build)dnl
+HEALTHCHECK CMD echo "This is a healthcheck test." || exit 1
\ No newline at end of file
diff --git a/Xeon/ubuntu-22.04/analytics/ffmpeg/README.md b/Xeon/ubuntu-22.04/analytics/ffmpeg/README.md
index 932a5dc3e..c7d3f60b9 100644
--- a/Xeon/ubuntu-22.04/analytics/ffmpeg/README.md
+++ b/Xeon/ubuntu-22.04/analytics/ffmpeg/README.md
@@ -1,7 +1,7 @@
This docker image is part of Open Visual Cloud software stacks. Optimized for Media Analytics. Included what are in media delivery FFmpeg image, inferencing engine and video analytics plugins. The docker image can be used in the FROM field of a downstream Dockerfile.
## Supported tags and respective Dockerfile links
- - [xeon-ubuntu-2204-analytics-ffmpeg](https://github.com/OpenVisualCloud/Dockerfiles/blob/v22.6/Xeon/ubuntu-22.04/analytics/ffmpeg/Dockerfile)
+ - [xeon-ubuntu-2204-analytics-ffmpeg](https://github.com/OpenVisualCloud/Dockerfiles/blob/v23.06/Xeon/ubuntu-22.04/analytics/ffmpeg/Dockerfile)
## Quick reference
- #### Supported platform and OS
@@ -39,7 +39,7 @@ This docker installs third party components licensed under various open source l
|OpenVINO|Apache License v2.0|
|json-c|MIT License|
|librdkafka|BSD 2-clause "Simplified" License|
-|FFmpeg|GNU General Public License v2.0 or later|
+|FFmpeg|GNU Lesser General Public License v2.1 or later|
More license information can be found in [components source package](https://github.com/OpenVisualCloud/Dockerfiles-Resources).
diff --git a/Xeon/ubuntu-22.04/analytics/gst/Dockerfile b/Xeon/ubuntu-22.04/analytics/gst/Dockerfile
index e4d24b3ca..afc31cc7a 100644
--- a/Xeon/ubuntu-22.04/analytics/gst/Dockerfile
+++ b/Xeon/ubuntu-22.04/analytics/gst/Dockerfile
@@ -46,12 +46,13 @@ RUN apt-get update && \
# build libogg
ARG OGG_VER=1.3.5
ARG LIBOGG_REPO=https://github.com/xiph/ogg/releases/download/v${OGG_VER}/libogg-1.3.5.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${LIBOGG_REPO} | tar xz && \
cd libogg-1.3.5 && \
./configure --prefix=/usr/local --libdir=/usr/local/lib --enable-shared && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -63,11 +64,12 @@ RUN apt-get update && \
# build libvorbis
ARG VORBIS_VER=1.3.7
ARG LIBVORBIS_REPO=https://github.com/xiph/vorbis/releases/download/v${VORBIS_VER}/libvorbis-1.3.7.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${LIBVORBIS_REPO} | tar xz && \
cd libvorbis-1.3.7 && \
./configure --prefix=/usr/local --libdir=/usr/local/lib --enable-shared && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -78,12 +80,13 @@ RUN apt-get update && \
# build libfdkaac
ARG LIBFDKAAC_REPO=https://github.com/mstorsjo/fdk-aac/archive/v2.0.2.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${LIBFDKAAC_REPO} | tar xz && \
cd fdk-aac-2.0.2 && \
./autogen.sh && \
./configure --prefix=/usr/local --libdir=/usr/local/lib --enable-shared && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -94,11 +97,12 @@ RUN apt-get update && \
# build libopus
ARG LIBOPUS_REPO=https://archive.mozilla.org/pub/opus/opus-1.3.1.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${LIBOPUS_REPO} | tar xz && \
cd opus-1.3.1 && \
./configure --prefix=/usr/local --libdir=/usr/local/lib --enable-shared && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -112,12 +116,13 @@ RUN apt-get update && \
# TODO: Revert to NASM repo, this is temp fix is nasm repo certificate expired temporarily
ARG NASM_REPO=https://github.com/OpenVisualCloud/Dockerfiles-Resources/raw/master/nasm-2.15.05.tar.bz2
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${NASM_REPO} | tar xj && \
cd nasm-2.15.05 && \
./autogen.sh && \
./configure --prefix=/usr/local --libdir=/usr/local/lib && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install
RUN apt-get update && \
@@ -131,7 +136,7 @@ RUN cd /opt/build && \
git clone ${LIBVPX_REPO} -b v1.12.0 --depth 1 && \
cd libvpx && \
./configure --prefix=/usr/local --libdir=/usr/local/lib --enable-shared --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=nasm && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -146,7 +151,7 @@ RUN cd /opt/build && \
git clone ${LIBAOM_REPO} -b v3.4.0 --depth 1 && \
cd aom/build && \
cmake -DBUILD_SHARED_LIBS=ON -DENABLE_NASM=ON -DENABLE_TESTS=OFF -DENABLE_DOCS=OFF -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_INSTALL_LIBDIR=lib .. && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -162,7 +167,7 @@ RUN cd /opt/build && \
cd x264 && \
./configure --prefix=/usr/local --libdir=/usr/local/lib \
--enable-shared && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -175,6 +180,7 @@ RUN apt-get update && \
# ARG YASM_REPO=https://www.tortall.net/projects/yasm/releases/yasm-YASM_VER.tar.gz
# At the time of 21.6 Release, yasm official site above had certificate problem, hence pulling from Dockerfiles-Resources.
ARG YASM_REPO=https://github.com/OpenVisualCloud/Dockerfiles-Resources/raw/master/yasm-1.3.0.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${YASM_REPO} | tar xz
@@ -182,7 +188,7 @@ RUN cd /opt/build/yasm-1.3.0 && \
# TODO remove the line below whether no other component inside this project requires it.
# `sed -i "s/) ytasm.*/)/" Makefile.in' && \
./configure --prefix=/usr/local --libdir=/usr/local/lib && \
- make -j $(nproc) && \
+ make -j "$(nproc)" && \
make install
RUN apt-get update && \
@@ -192,11 +198,12 @@ RUN apt-get update && \
# build libx265
ARG LIBX265_REPO=https://github.com/videolan/x265/archive/3.4.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${LIBX265_REPO} | tar xz && \
cd x265-3.4/build/linux && \
cmake -DBUILD_SHARED_LIBS=ON -DCMAKE_INSTALL_PREFIX=/usr/local -DLIB_INSTALL_DIR=/usr/local/lib ../../source && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -207,9 +214,9 @@ RUN apt-get update && \
# build meson
ARG MESON_REPO=https://github.com/mesonbuild/meson
-RUN git clone ${MESON_REPO}; \
- cd meson; \
- git checkout 0.63.0; \
+RUN git clone ${MESON_REPO} && \
+ cd meson && \
+ git checkout 0.63.0 && \
python3 setup.py install;
RUN apt-get update && \
@@ -219,6 +226,7 @@ RUN apt-get update && \
# build dav1d
ARG DAV1D_REPO=https://code.videolan.org/videolan/dav1d/-/archive/0.9.2/dav1d-0.9.2.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${DAV1D_REPO} | tar xz
RUN cd /opt/build/dav1d-0.9.2 && \
@@ -238,7 +246,7 @@ RUN cd /opt/build && \
git clone -b v1.5.1 --depth 1 ${SVT_HEVC_REPO}
RUN cd /opt/build/SVT-HEVC/Build/linux && \
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_INSTALL_LIBDIR=/usr/local/lib -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \
- make -j $(nproc) && \
+ make -j "$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -249,12 +257,13 @@ RUN apt-get update && \
# build svt av1
ARG SVT_AV1_REPO=https://gitlab.com/AOMediaCodec/SVT-AV1/-/archive/v1.3.0/SVT-AV1-v1.3.0.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${SVT_AV1_REPO} | tar zx && \
mv SVT-AV1-v1.3.0 SVT-AV1 && \
cd SVT-AV1/Build/linux && \
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_INSTALL_LIBDIR=/usr/local/lib -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \
- make -j $(nproc) && \
+ make -j "$(nproc)" && \
sed -i "s/SvtAv1dec/SvtAv1Dec/" SvtAv1Dec.pc && \
make install DESTDIR=/opt/dist && \
make install
@@ -270,7 +279,7 @@ RUN cd /opt/build && \
git clone ${SVT_VP9_REPO} -b v0.3.0 --depth 1 && \
cd SVT-VP9/Build/linux && \
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_INSTALL_LIBDIR=/usr/local/lib -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \
- make -j $(nproc) && \
+ make -j "$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -281,6 +290,7 @@ RUN apt-get update && \
# build opencv
ARG OPENCV_REPO=https://github.com/opencv/opencv/archive/4.5.3-openvino-2021.4.2.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${OPENCV_REPO} | tar xz
# TODO: file a bug against opencv since they do not accept full libdir
@@ -298,7 +308,7 @@ RUN cd /opt/build/opencv-4.5.3-openvino-2021.4.2 && mkdir build && cd build && \
-DWITH_OPENJPEG=OFF \
-DWITH_JASPER=OFF \
.. && \
- make -j $(nproc) && \
+ make -j "$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -337,7 +347,7 @@ RUN cd /opt/build/openvino && \
-DBUILD_TESTS=OFF \
-DTREAT_WARNING_AS_ERROR=OFF \
.. && \
- make -j $(nproc) && \
+ make -j "$(nproc)" && \
make install && \
make install DESTDIR=/opt/dist
@@ -353,11 +363,12 @@ ENV ngraph_DIR=${IE_INSTALL_DIR}/cmake
ARG LIBJSONC_REPO=https://github.com/json-c/json-c/archive/json-c-0.16-20220414.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${LIBJSONC_REPO} | tar xz && \
cd json-c-json-c-0.16-20220414 && mkdir build && cd build && \
cmake -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_INSTALL_LIBDIR=/usr/local/lib .. && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -365,11 +376,12 @@ RUN cd /opt/build && \
ARG KAFKA_VER=1.9.2
ARG LIBRDKAFKA_REPO=https://github.com/edenhill/librdkafka/archive/v${KAFKA_VER}.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${LIBRDKAFKA_REPO} | tar xz && \
cd librdkafka-1.9.2 && \
./configure --prefix=/usr/local --libdir=/usr/local/lib && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -380,6 +392,7 @@ RUN apt-get update && \
# build gst-core
ARG GSTCORE_REPO=https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-1.20.3.tar.xz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${GSTCORE_REPO} | tar xJ
RUN cd /opt/build/gstreamer-1.20.3 && \
@@ -400,6 +413,7 @@ RUN apt-get update && \
# build gst-plugin-base
ARG GSTBASE_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-1.20.3.tar.xz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${GSTBASE_REPO} | tar xJ
RUN cd /opt/build/gst-plugins-base-1.20.3 && \
@@ -428,6 +442,7 @@ RUN apt-get update && \
# build gst-plugin-good
ARG GSTGOOD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-1.20.3.tar.xz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${GSTGOOD_REPO} | tar xJ
RUN cd /opt/build/gst-plugins-good-1.20.3 && \
@@ -453,6 +468,7 @@ RUN apt-get update && \
# build gst-plugin-bad
ARG GSTBAD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-1.20.3.tar.xz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${GSTBAD_REPO} | tar xJ && \
cd gst-plugins-bad-1.20.3 && \
@@ -481,6 +497,7 @@ RUN apt-get update && \
# build gst-plugin-ugly
ARG GSTUGLY_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-1.20.3.tar.xz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${GSTUGLY_REPO} | tar xJ
RUN cd /opt/build/gst-plugins-ugly-1.20.3 && \
@@ -493,6 +510,54 @@ RUN cd /opt/build/gst-plugins-ugly-1.20.3 && \
ninja install && \
DESTDIR=/opt/dist ninja install
+RUN apt-get update && \
+ DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
+ build-essential ca-certificates wget patch git libv4l-dev libass-dev && \
+ rm -rf /var/lib/apt/lists/*
+
+# build ffmpeg
+#ARG FFMPEG_REPO=https://github.com/FFmpeg/FFmpeg/archive/FFMPEG_VER.tar.gz
+ARG FFMPEG_REPO=https://github.com/FFmpeg/FFmpeg
+RUN cd /opt/build && \
+ git clone ${FFMPEG_REPO} && \
+ cd FFmpeg && \
+ git checkout n4.4.3
+
+#ifdef(`BUILD_SVT_HEVC',`FFMPEG_PATCH_SVT_HEVC(BUILD_HOME/FFmpeg-FFMPEG_VER)')dnl
+RUN cd /opt/build/FFmpeg && \
+ patch -p1 < /opt/build/SVT-HEVC/ffmpeg_plugin/n4.4-0001-lavc-svt_hevc-add-libsvt-hevc-encoder-wrapper.patch || true
+#ifdef(`BUILD_LIBVA2',`FFMPEG_PATCH_VAAPI(BUILD_HOME/FFmpeg-FFMPEG_VER)')dnl
+
+
+
+
+#RUN cd BUILD_HOME/FFmpeg-FFMPEG_VER && \
+RUN cd /opt/build/FFmpeg && \
+ ./configure --prefix=/usr/local --libdir=/usr/local/lib --enable-shared --disable-static --disable-doc --disable-htmlpages \
+ --disable-manpages --disable-podpages --disable-txtpages \
+ --extra-cflags=-w --enable-nonfree --enable-libass --enable-libfreetype --disable-xlib --disable-sdl2 --disable-hwaccels --disable-vaapi --enable-libv4l2 --enable-indev=v4l2 --enable-libfdk-aac --enable-libopus --enable-libvpx --enable-libvorbis --enable-gpl --enable-libx264 --enable-gpl --enable-libx265 --enable-libsvtav1 --enable-libsvthevc --enable-libaom --enable-libdav1d && make -j"$(nproc)" && \
+ make install DESTDIR=/opt/dist && \
+ make install
+
+#REBUILD_OPENCV_VIDEOIO()dnl
+
+RUN apt-get update && \
+ DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
+ ca-certificates tar g++ wget && \
+ rm -rf /var/lib/apt/lists/*
+
+# build gst-plugin-libav
+ARG GSTLIBAV_REPO=https://gstreamer.freedesktop.org/src/gst-libav/gst-libav-1.20.3.tar.xz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
+RUN cd /opt/build && \
+ wget -O - ${GSTLIBAV_REPO} | tar xJ
+RUN cd /opt/build/gst-libav-1.20.3 && \
+ meson build --libdir=/usr/local/lib --libexecdir=/usr/local/lib \
+ --prefix=/usr/local --buildtype=plain && \
+ cd build && \
+ ninja install && \
+ DESTDIR=/opt/dist ninja install
+
RUN apt-get update && \
DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
ca-certificates tar g++ wget && \
@@ -522,6 +587,7 @@ RUN apt-get update && \
# build libpahomqtt
ARG PAHO_VER=1.3.10
ARG LIBPAHO_REPO=https://github.com/eclipse/paho.mqtt.c/archive/v${PAHO_VER}.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${LIBPAHO_REPO} | tar -xz
RUN cd /opt/build/paho.mqtt.c-1.3.10 && \
@@ -584,7 +650,7 @@ RUN git clone -b master $GVA_REPO /opt/build/gst-video-analytics && \
-DENABLE_AUDIO_INFERENCE_ELEMENTS=ON \
-DTREAT_WARNING_AS_ERROR=OFF \
.. \
- && make -j $(nproc) \
+ && make -j "$(nproc)" \
&& make install \
&& make install DESTDIR=/opt/dist
@@ -606,6 +672,7 @@ RUN apt-get update && \
ca-certificates tar g++ wget gtk-doc-tools uuid-dev python-gi-dev python3-dev libtool-bin libpython3-dev libpython3-stdlib libpython3-all-dev && \
rm -rf /var/lib/apt/lists/*
ARG GSTPYTHON_REPO=https://gstreamer.freedesktop.org/src/gst-python/gst-python-1.20.3.tar.xz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${GSTPYTHON_REPO} | tar xJ
RUN cd /opt/build/gst-python-1.20.3 && \
@@ -630,6 +697,7 @@ RUN cd /opt/dist/usr/local/openvino/runtime && \
rm -rf /opt/dist/usr/local/lib/pkgconfig/openvino.pc \
include src share/*.cmake cmake lib/intel64/*.a external/tbb/include external/tbb/cmake
RUN rm -rf /opt/dist/usr/local/openvino/inference-engine/external/tbb/doc
+HEALTHCHECK CMD echo "This is a healthcheck test." || exit 1
FROM ubuntu:22.04
LABEL Description="This is the base image for Gstreamer ubuntu 22.04"
@@ -640,7 +708,7 @@ WORKDIR /home
RUN apt-get update && apt-get upgrade -y systemd
RUN apt-get update && \
DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
- libnuma1 libgtk-3-0 ocl-icd-libopencl1 libglib2.0-0 libegl1 libx11-6 libxv1 libxt6 libasound2 libpangocairo-1.0-0 libcairo-gobject2 libtheora0 libvisual-0.4-0 libgl1-mesa-dri libgl1-mesa-glx libegl1-mesa libgdk-pixbuf2.0-0 libjpeg-turbo8 libpng16-16 zlib1g libsoup2.4-1 openssl libcurl3-gnutls librtmp1 mjpegtools libde265-0 python3-gi python3-gi-cairo python3-dev python3-numpy libglib2.0-dev && \
+ libnuma1 libgtk-3-0 ocl-icd-libopencl1 libglib2.0-0 libegl1 libx11-6 libxv1 libxt6 libasound2 libpangocairo-1.0-0 libcairo-gobject2 libtheora0 libvisual-0.4-0 libgl1-mesa-dri libgl1-mesa-glx libegl1-mesa libgdk-pixbuf2.0-0 libjpeg-turbo8 libpng16-16 zlib1g libsoup2.4-1 openssl libcurl3-gnutls librtmp1 mjpegtools libde265-0 libxcb-shape0 libxcb-xfixes0 libv4l-0 libass9 python3-gi python3-gi-cairo python3-dev python3-numpy libglib2.0-dev && \
rm -rf /var/lib/apt/lists/*
COPY --from=build /opt/dist /
@@ -663,3 +731,4 @@ ENV GI_TYPELIB_PATH=${GI_TYPELIB_PATH}:/usr/local/lib/girepository-1.0/
ENV PYTHONPATH=${PYTHONPATH}:/opt/intel/dl_streamer/python
ENV GST_PLUGIN_PATH=${GST_PLUGIN_PATH}:/usr/local/lib/gstreamer-1.0/
+HEALTHCHECK CMD echo "This is a healthcheck test." || exit 1
\ No newline at end of file
diff --git a/Xeon/ubuntu-22.04/analytics/gst/Dockerfile.m4 b/Xeon/ubuntu-22.04/analytics/gst/Dockerfile.m4
index 89e852e05..b460da0a6 100644
--- a/Xeon/ubuntu-22.04/analytics/gst/Dockerfile.m4
+++ b/Xeon/ubuntu-22.04/analytics/gst/Dockerfile.m4
@@ -43,3 +43,4 @@ WORKDIR /home
# Install
UPGRADE_UBUNTU_COMPONENTS()
INSTALL_ALL(runtime,build)dnl
+HEALTHCHECK CMD echo "This is a healthcheck test." || exit 1
\ No newline at end of file
diff --git a/Xeon/ubuntu-22.04/analytics/gst/README.md b/Xeon/ubuntu-22.04/analytics/gst/README.md
index 86e62aded..273f79263 100644
--- a/Xeon/ubuntu-22.04/analytics/gst/README.md
+++ b/Xeon/ubuntu-22.04/analytics/gst/README.md
@@ -1,7 +1,7 @@
This docker image is part of Open Visual Cloud software stacks. Optimized for Media Analytics. Included what are in media delivery GStreamer image, inferencing engine and video analytics plugins. The docker image can be used in the FROM field of a downstream Dockerfile.
## Supported tags and respective Dockerfile links
- - [xeon-ubuntu-2204-analytics-gst](https://github.com/OpenVisualCloud/Dockerfiles/blob/v22.6/Xeon/ubuntu-22.04/analytics/gst/Dockerfile)
+ - [xeon-ubuntu-2204-analytics-gst](https://github.com/OpenVisualCloud/Dockerfiles/blob/v23.06/Xeon/ubuntu-22.04/analytics/gst/Dockerfile)
## Quick reference
- #### Supported platform and OS
diff --git a/Xeon/ubuntu-22.04/media/dev/Dockerfile b/Xeon/ubuntu-22.04/media/dev/Dockerfile
index c19a35815..f6a0b7613 100644
--- a/Xeon/ubuntu-22.04/media/dev/Dockerfile
+++ b/Xeon/ubuntu-22.04/media/dev/Dockerfile
@@ -47,12 +47,13 @@ RUN apt-get update && \
# build libogg
ARG OGG_VER=1.3.5
ARG LIBOGG_REPO=https://github.com/xiph/ogg/releases/download/v${OGG_VER}/libogg-1.3.5.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${LIBOGG_REPO} | tar xz && \
cd libogg-1.3.5 && \
./configure --prefix=/usr/local --libdir=/usr/local/lib --enable-shared && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -64,11 +65,12 @@ RUN apt-get update && \
# build libvorbis
ARG VORBIS_VER=1.3.7
ARG LIBVORBIS_REPO=https://github.com/xiph/vorbis/releases/download/v${VORBIS_VER}/libvorbis-1.3.7.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${LIBVORBIS_REPO} | tar xz && \
cd libvorbis-1.3.7 && \
./configure --prefix=/usr/local --libdir=/usr/local/lib --enable-shared && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -79,12 +81,13 @@ RUN apt-get update && \
# build libfdkaac
ARG LIBFDKAAC_REPO=https://github.com/mstorsjo/fdk-aac/archive/v2.0.2.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${LIBFDKAAC_REPO} | tar xz && \
cd fdk-aac-2.0.2 && \
./autogen.sh && \
./configure --prefix=/usr/local --libdir=/usr/local/lib --enable-shared && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -95,11 +98,12 @@ RUN apt-get update && \
# build libopus
ARG LIBOPUS_REPO=https://archive.mozilla.org/pub/opus/opus-1.3.1.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${LIBOPUS_REPO} | tar xz && \
cd opus-1.3.1 && \
./configure --prefix=/usr/local --libdir=/usr/local/lib --enable-shared && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -113,12 +117,13 @@ RUN apt-get update && \
# TODO: Revert to NASM repo, this is temp fix is nasm repo certificate expired temporarily
ARG NASM_REPO=https://github.com/OpenVisualCloud/Dockerfiles-Resources/raw/master/nasm-2.15.05.tar.bz2
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${NASM_REPO} | tar xj && \
cd nasm-2.15.05 && \
./autogen.sh && \
./configure --prefix=/usr/local --libdir=/usr/local/lib && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install
RUN apt-get update && \
@@ -132,7 +137,7 @@ RUN cd /opt/build && \
git clone ${LIBVPX_REPO} -b v1.12.0 --depth 1 && \
cd libvpx && \
./configure --prefix=/usr/local --libdir=/usr/local/lib --enable-shared --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=nasm && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -147,7 +152,7 @@ RUN cd /opt/build && \
git clone ${LIBAOM_REPO} -b v3.4.0 --depth 1 && \
cd aom/build && \
cmake -DBUILD_SHARED_LIBS=ON -DENABLE_NASM=ON -DENABLE_TESTS=OFF -DENABLE_DOCS=OFF -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_INSTALL_LIBDIR=lib .. && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -158,9 +163,9 @@ RUN apt-get update && \
# build meson
ARG MESON_REPO=https://github.com/mesonbuild/meson
-RUN git clone ${MESON_REPO}; \
- cd meson; \
- git checkout 0.63.0; \
+RUN git clone ${MESON_REPO} && \
+ cd meson && \
+ git checkout 0.63.0 && \
python3 setup.py install;
RUN apt-get update && \
@@ -170,6 +175,7 @@ RUN apt-get update && \
# build dav1d
ARG DAV1D_REPO=https://code.videolan.org/videolan/dav1d/-/archive/0.9.2/dav1d-0.9.2.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${DAV1D_REPO} | tar xz
RUN cd /opt/build/dav1d-0.9.2 && \
@@ -187,6 +193,7 @@ RUN apt-get update && \
# ARG YASM_REPO=https://www.tortall.net/projects/yasm/releases/yasm-YASM_VER.tar.gz
# At the time of 21.6 Release, yasm official site above had certificate problem, hence pulling from Dockerfiles-Resources.
ARG YASM_REPO=https://github.com/OpenVisualCloud/Dockerfiles-Resources/raw/master/yasm-1.3.0.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${YASM_REPO} | tar xz
@@ -194,7 +201,7 @@ RUN cd /opt/build/yasm-1.3.0 && \
# TODO remove the line below whether no other component inside this project requires it.
# `sed -i "s/) ytasm.*/)/" Makefile.in' && \
./configure --prefix=/usr/local --libdir=/usr/local/lib && \
- make -j $(nproc) && \
+ make -j "$(nproc)" && \
make install
RUN apt-get update && \
@@ -208,7 +215,7 @@ RUN cd /opt/build && \
git clone -b v1.5.1 --depth 1 ${SVT_HEVC_REPO}
RUN cd /opt/build/SVT-HEVC/Build/linux && \
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_INSTALL_LIBDIR=/usr/local/lib -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \
- make -j $(nproc) && \
+ make -j "$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -219,12 +226,13 @@ RUN apt-get update && \
# build svt av1
ARG SVT_AV1_REPO=https://gitlab.com/AOMediaCodec/SVT-AV1/-/archive/v1.3.0/SVT-AV1-v1.3.0.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${SVT_AV1_REPO} | tar zx && \
mv SVT-AV1-v1.3.0 SVT-AV1 && \
cd SVT-AV1/Build/linux && \
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_INSTALL_LIBDIR=/usr/local/lib -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \
- make -j $(nproc) && \
+ make -j "$(nproc)" && \
sed -i "s/SvtAv1dec/SvtAv1Dec/" SvtAv1Dec.pc && \
make install DESTDIR=/opt/dist && \
make install
@@ -240,7 +248,7 @@ RUN cd /opt/build && \
git clone ${SVT_VP9_REPO} -b v0.3.0 --depth 1 && \
cd SVT-VP9/Build/linux && \
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_INSTALL_LIBDIR=/usr/local/lib -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \
- make -j $(nproc) && \
+ make -j "$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -251,6 +259,7 @@ RUN apt-get update && \
# build gst-core
ARG GSTCORE_REPO=https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-1.20.3.tar.xz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${GSTCORE_REPO} | tar xJ
RUN cd /opt/build/gstreamer-1.20.3 && \
@@ -271,6 +280,7 @@ RUN apt-get update && \
# build gst-plugin-base
ARG GSTBASE_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-1.20.3.tar.xz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${GSTBASE_REPO} | tar xJ
RUN cd /opt/build/gst-plugins-base-1.20.3 && \
@@ -299,6 +309,7 @@ RUN apt-get update && \
# build gst-plugin-good
ARG GSTGOOD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-1.20.3.tar.xz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${GSTGOOD_REPO} | tar xJ
RUN cd /opt/build/gst-plugins-good-1.20.3 && \
@@ -324,6 +335,7 @@ RUN apt-get update && \
# build gst-plugin-bad
ARG GSTBAD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-1.20.3.tar.xz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${GSTBAD_REPO} | tar xJ && \
cd gst-plugins-bad-1.20.3 && \
@@ -352,6 +364,7 @@ RUN apt-get update && \
# build gst-plugin-ugly
ARG GSTUGLY_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-1.20.3.tar.xz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${GSTUGLY_REPO} | tar xJ
RUN cd /opt/build/gst-plugins-ugly-1.20.3 && \
@@ -389,7 +402,7 @@ RUN cd /opt/build/FFmpeg && \
RUN cd /opt/build/FFmpeg && \
./configure --prefix=/usr/local --libdir=/usr/local/lib --enable-shared --disable-static --disable-doc --disable-htmlpages \
--disable-manpages --disable-podpages --disable-txtpages \
- --extra-cflags=-w --enable-nonfree --enable-libass --enable-libfreetype --disable-xlib --disable-sdl2 --disable-hwaccels --disable-vaapi --enable-libv4l2 --enable-indev=v4l2 --enable-libfdk-aac --enable-libopus --enable-libvpx --enable-libvorbis --enable-libsvtav1 --enable-libsvthevc --enable-libaom --enable-libdav1d && make -j$(nproc) && \
+ --extra-cflags=-w --enable-nonfree --enable-libass --enable-libfreetype --disable-xlib --disable-sdl2 --disable-hwaccels --disable-vaapi --enable-libv4l2 --enable-indev=v4l2 --enable-libfdk-aac --enable-libopus --enable-libvpx --enable-libvorbis --enable-libsvtav1 --enable-libsvthevc --enable-libaom --enable-libdav1d && make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -400,6 +413,7 @@ RUN apt-get update && \
# build gst-plugin-libav
ARG GSTLIBAV_REPO=https://gstreamer.freedesktop.org/src/gst-libav/gst-libav-1.20.3.tar.xz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${GSTLIBAV_REPO} | tar xJ
RUN cd /opt/build/gst-libav-1.20.3 && \
@@ -433,6 +447,7 @@ RUN cd /opt/build/SVT-VP9/gstreamer-plugin && \
# cleanup
RUN rm -rf /opt/dist/usr/local/share/doc /opt/dist/usr/local/share/gtk-doc
RUN rm -rf /opt/dist/usr/local/share/man
+HEALTHCHECK CMD echo "This is a healthcheck test." || exit 1
FROM ubuntu:22.04
LABEL Description="This is the base image for Gstreamer ubuntu 22.04"
@@ -452,4 +467,4 @@ RUN echo "/usr/local/lib" >> /etc/ld.so.conf.d/all-libs.conf && ldconfig
ENV GST_PLUGIN_PATH=/usr/local/lib/gstreamer-1.0
ENV GST_PLUGIN_SCANNER=/usr/local/lib/gstreamer-1.0/gst-plugin-scanner
-
+HEALTHCHECK CMD echo "This is a healthcheck test." || exit 1
\ No newline at end of file
diff --git a/Xeon/ubuntu-22.04/media/dev/Dockerfile.m4 b/Xeon/ubuntu-22.04/media/dev/Dockerfile.m4
index 679e44eb1..3ad62e33b 100644
--- a/Xeon/ubuntu-22.04/media/dev/Dockerfile.m4
+++ b/Xeon/ubuntu-22.04/media/dev/Dockerfile.m4
@@ -37,4 +37,4 @@ WORKDIR /home
# Install
UPGRADE_UBUNTU_COMPONENTS()
INSTALL_ALL(devel,build)dnl
-
+HEALTHCHECK CMD echo "This is a healthcheck test." || exit 1
\ No newline at end of file
diff --git a/Xeon/ubuntu-22.04/media/dev/README.md b/Xeon/ubuntu-22.04/media/dev/README.md
index 48dc3deb1..355607d30 100644
--- a/Xeon/ubuntu-22.04/media/dev/README.md
+++ b/Xeon/ubuntu-22.04/media/dev/README.md
@@ -1,7 +1,7 @@
This docker image is part of Open Visual Cloud software stacks. This is development image aim towards enabling C++ application compilation, debugging (with the debugging, profiling tools) and optimization (with the optimization tools.) You can compile C++ applications with this image and then copy the applications to the corresponding deployment image. Included what are in FFmpeg or GStreamer media creation and delivery images . The docker image can be used in the FROM field of a downstream Dockerfile.
## Supported tags and respective Dockerfile links
- - [xeon-ubuntu-2204-media-dev](https://github.com/OpenVisualCloud/Dockerfiles/blob/v22.6/Xeon/ubuntu-22.04/media/dev/Dockerfile)
+ - [xeon-ubuntu-2204-media-dev](https://github.com/OpenVisualCloud/Dockerfiles/blob/v23.06/Xeon/ubuntu-22.04/media/dev/Dockerfile)
## Quick reference
- #### Supported platform and OS
@@ -27,7 +27,6 @@ This docker installs third party components licensed under various open source l
|Ubuntu| [Various](https://hub.docker.com/_/ubuntu) |
|libogg|BSD 3-clause "New" or "Revised" License|
|libvorbis|BSD 3-clause "New" or "Revised" License|
-|OpenSSL|Apache License 2.0|
|Opus Interactive Audio Codec|BSD 3-clause "New" or "Revised" License|
|libvpx|BSD 3-clause "New" or "Revised" License|
|Aomedia AV1 Codec Library|BSD 2-clause "Simplified" License|
diff --git a/Xeon/ubuntu-22.04/media/ffmpeg/Dockerfile b/Xeon/ubuntu-22.04/media/ffmpeg/Dockerfile
index 06bf033c3..7bf3fd9a8 100644
--- a/Xeon/ubuntu-22.04/media/ffmpeg/Dockerfile
+++ b/Xeon/ubuntu-22.04/media/ffmpeg/Dockerfile
@@ -47,12 +47,13 @@ RUN apt-get update && \
# build libogg
ARG OGG_VER=1.3.5
ARG LIBOGG_REPO=https://github.com/xiph/ogg/releases/download/v${OGG_VER}/libogg-1.3.5.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${LIBOGG_REPO} | tar xz && \
cd libogg-1.3.5 && \
./configure --prefix=/usr/local --libdir=/usr/local/lib --enable-shared && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -64,11 +65,12 @@ RUN apt-get update && \
# build libvorbis
ARG VORBIS_VER=1.3.7
ARG LIBVORBIS_REPO=https://github.com/xiph/vorbis/releases/download/v${VORBIS_VER}/libvorbis-1.3.7.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${LIBVORBIS_REPO} | tar xz && \
cd libvorbis-1.3.7 && \
./configure --prefix=/usr/local --libdir=/usr/local/lib --enable-shared && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -79,12 +81,13 @@ RUN apt-get update && \
# build libfdkaac
ARG LIBFDKAAC_REPO=https://github.com/mstorsjo/fdk-aac/archive/v2.0.2.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${LIBFDKAAC_REPO} | tar xz && \
cd fdk-aac-2.0.2 && \
./autogen.sh && \
./configure --prefix=/usr/local --libdir=/usr/local/lib --enable-shared && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -95,11 +98,12 @@ RUN apt-get update && \
# build libopus
ARG LIBOPUS_REPO=https://archive.mozilla.org/pub/opus/opus-1.3.1.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${LIBOPUS_REPO} | tar xz && \
cd opus-1.3.1 && \
./configure --prefix=/usr/local --libdir=/usr/local/lib --enable-shared && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -113,12 +117,13 @@ RUN apt-get update && \
# TODO: Revert to NASM repo, this is temp fix is nasm repo certificate expired temporarily
ARG NASM_REPO=https://github.com/OpenVisualCloud/Dockerfiles-Resources/raw/master/nasm-2.15.05.tar.bz2
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${NASM_REPO} | tar xj && \
cd nasm-2.15.05 && \
./autogen.sh && \
./configure --prefix=/usr/local --libdir=/usr/local/lib && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install
RUN apt-get update && \
@@ -132,7 +137,7 @@ RUN cd /opt/build && \
git clone ${LIBVPX_REPO} -b v1.12.0 --depth 1 && \
cd libvpx && \
./configure --prefix=/usr/local --libdir=/usr/local/lib --enable-shared --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=nasm && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -148,7 +153,7 @@ RUN cd /opt/build && \
cd x264 && \
./configure --prefix=/usr/local --libdir=/usr/local/lib \
--enable-shared && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -161,6 +166,7 @@ RUN apt-get update && \
# ARG YASM_REPO=https://www.tortall.net/projects/yasm/releases/yasm-YASM_VER.tar.gz
# At the time of 21.6 Release, yasm official site above had certificate problem, hence pulling from Dockerfiles-Resources.
ARG YASM_REPO=https://github.com/OpenVisualCloud/Dockerfiles-Resources/raw/master/yasm-1.3.0.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${YASM_REPO} | tar xz
@@ -168,7 +174,7 @@ RUN cd /opt/build/yasm-1.3.0 && \
# TODO remove the line below whether no other component inside this project requires it.
# `sed -i "s/) ytasm.*/)/" Makefile.in' && \
./configure --prefix=/usr/local --libdir=/usr/local/lib && \
- make -j $(nproc) && \
+ make -j "$(nproc)" && \
make install
RUN apt-get update && \
@@ -178,11 +184,12 @@ RUN apt-get update && \
# build libx265
ARG LIBX265_REPO=https://github.com/videolan/x265/archive/3.4.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${LIBX265_REPO} | tar xz && \
cd x265-3.4/build/linux && \
cmake -DBUILD_SHARED_LIBS=ON -DCMAKE_INSTALL_PREFIX=/usr/local -DLIB_INSTALL_DIR=/usr/local/lib ../../source && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -193,6 +200,7 @@ RUN apt-get update && \
# build dav1d
ARG DAV1D_REPO=https://code.videolan.org/videolan/dav1d/-/archive/0.9.2/dav1d-0.9.2.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${DAV1D_REPO} | tar xz
RUN cd /opt/build/dav1d-0.9.2 && \
@@ -212,7 +220,7 @@ RUN cd /opt/build && \
git clone -b v1.5.1 --depth 1 ${SVT_HEVC_REPO}
RUN cd /opt/build/SVT-HEVC/Build/linux && \
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_INSTALL_LIBDIR=/usr/local/lib -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \
- make -j $(nproc) && \
+ make -j "$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -223,12 +231,13 @@ RUN apt-get update && \
# build svt av1
ARG SVT_AV1_REPO=https://gitlab.com/AOMediaCodec/SVT-AV1/-/archive/v1.3.0/SVT-AV1-v1.3.0.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${SVT_AV1_REPO} | tar zx && \
mv SVT-AV1-v1.3.0 SVT-AV1 && \
cd SVT-AV1/Build/linux && \
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_INSTALL_LIBDIR=/usr/local/lib -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \
- make -j $(nproc) && \
+ make -j "$(nproc)" && \
sed -i "s/SvtAv1dec/SvtAv1Dec/" SvtAv1Dec.pc && \
make install DESTDIR=/opt/dist && \
make install
@@ -244,7 +253,7 @@ RUN cd /opt/build && \
git clone ${SVT_VP9_REPO} -b v0.3.0 --depth 1 && \
cd SVT-VP9/Build/linux && \
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_INSTALL_LIBDIR=/usr/local/lib -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \
- make -j $(nproc) && \
+ make -j "$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -255,6 +264,7 @@ RUN apt-get update && \
# build opencv
ARG OPENCV_REPO=https://github.com/opencv/opencv/archive/4.5.3-openvino-2021.4.2.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${OPENCV_REPO} | tar xz
# TODO: file a bug against opencv since they do not accept full libdir
@@ -272,7 +282,7 @@ RUN cd /opt/build/opencv-4.5.3-openvino-2021.4.2 && mkdir build && cd build && \
-DWITH_OPENJPEG=OFF \
-DWITH_JASPER=OFF \
.. && \
- make -j $(nproc) && \
+ make -j "$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -301,7 +311,7 @@ RUN cd /opt/build/FFmpeg && \
RUN cd /opt/build/FFmpeg && \
./configure --prefix=/usr/local --libdir=/usr/local/lib --enable-shared --disable-static --disable-doc --disable-htmlpages \
--disable-manpages --disable-podpages --disable-txtpages \
- --extra-cflags=-w --enable-nonfree --enable-libass --enable-libfreetype --disable-xlib --disable-sdl2 --disable-hwaccels --disable-vaapi --enable-libv4l2 --enable-indev=v4l2 --enable-libfdk-aac --enable-libopus --enable-libvpx --enable-libvorbis --enable-gpl --enable-libx264 --enable-gpl --enable-libx265 --enable-libsvtav1 --enable-libsvthevc --enable-libdav1d && make -j$(nproc) && \
+ --extra-cflags=-w --enable-nonfree --enable-libass --enable-libfreetype --disable-xlib --disable-sdl2 --disable-hwaccels --disable-vaapi --enable-libv4l2 --enable-indev=v4l2 --enable-libfdk-aac --enable-libopus --enable-libvpx --enable-libvorbis --enable-gpl --enable-libx264 --enable-gpl --enable-libx265 --enable-libsvtav1 --enable-libsvthevc --enable-libdav1d && make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -313,6 +323,7 @@ RUN rm -rf /opt/dist/usr/local/include && \
find /opt/dist -name "*.a" -exec rm -f {} \; || echo ""
RUN rm -rf /opt/dist/usr/local/share/doc /opt/dist/usr/local/share/gtk-doc
RUN rm -rf /opt/dist/usr/local/share/man
+HEALTHCHECK CMD echo "This is a healthcheck test." || exit 1
FROM ubuntu:22.04
LABEL Description="This is the base image for FFMPEG ubuntu 22.04"
@@ -329,4 +340,4 @@ RUN apt-get update && \
COPY --from=build /opt/dist /
RUN echo "/usr/local/lib" >> /etc/ld.so.conf.d/all-libs.conf && ldconfig
-
+HEALTHCHECK CMD echo "This is a healthcheck test." || exit 1
\ No newline at end of file
diff --git a/Xeon/ubuntu-22.04/media/ffmpeg/Dockerfile.m4 b/Xeon/ubuntu-22.04/media/ffmpeg/Dockerfile.m4
index c2c0e064f..8cce17d64 100644
--- a/Xeon/ubuntu-22.04/media/ffmpeg/Dockerfile.m4
+++ b/Xeon/ubuntu-22.04/media/ffmpeg/Dockerfile.m4
@@ -30,4 +30,4 @@ WORKDIR /home
# Install
UPGRADE_UBUNTU_COMPONENTS()
INSTALL_ALL(runtime,build)dnl
-
+HEALTHCHECK CMD echo "This is a healthcheck test." || exit 1
\ No newline at end of file
diff --git a/Xeon/ubuntu-22.04/media/ffmpeg/README.md b/Xeon/ubuntu-22.04/media/ffmpeg/README.md
index 39dcba1dd..393812a80 100644
--- a/Xeon/ubuntu-22.04/media/ffmpeg/README.md
+++ b/Xeon/ubuntu-22.04/media/ffmpeg/README.md
@@ -1,7 +1,7 @@
This docker image is part of Open Visual Cloud software stacks. Optimized for the media creation and delivery use case. Included FFmpeg and codecs such as opus, ogg, vorbis, x264, x265, vp8/9, av1 and SVT-HEVC. The docker image can be used in the FROM field of a downstream Dockerfile.
## Supported tags and respective Dockerfile links
- - [xeon-ubuntu-2204-media-ffmpeg](https://github.com/OpenVisualCloud/Dockerfiles/blob/v22.6/Xeon/ubuntu-22.04/media/ffmpeg/Dockerfile)
+ - [xeon-ubuntu-2204-media-ffmpeg](https://github.com/OpenVisualCloud/Dockerfiles/blob/v23.06/Xeon/ubuntu-22.04/media/ffmpeg/Dockerfile)
## Quick reference
- #### Supported platform and OS
@@ -36,7 +36,7 @@ This docker installs third party components licensed under various open source l
|Intel SVT-AV1|BSD-2-Clause Plus Patent License|
|Intel SVT-VP9|BSD-2-Clause Plus Patent License|
|OpenCV|BSD 3-clause "New" or "Revised" License|
-|FFmpeg|GNU General Public License v2.0 or later|
+|FFmpeg|GNU Lesser General Public License v2.1 or later|
More license information can be found in [components source package](https://github.com/OpenVisualCloud/Dockerfiles-Resources).
diff --git a/Xeon/ubuntu-22.04/media/gst/Dockerfile b/Xeon/ubuntu-22.04/media/gst/Dockerfile
index 35eb65cbd..4e66015ec 100644
--- a/Xeon/ubuntu-22.04/media/gst/Dockerfile
+++ b/Xeon/ubuntu-22.04/media/gst/Dockerfile
@@ -47,12 +47,13 @@ RUN apt-get update && \
# build libogg
ARG OGG_VER=1.3.5
ARG LIBOGG_REPO=https://github.com/xiph/ogg/releases/download/v${OGG_VER}/libogg-1.3.5.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${LIBOGG_REPO} | tar xz && \
cd libogg-1.3.5 && \
./configure --prefix=/usr/local --libdir=/usr/local/lib --enable-shared && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -64,11 +65,12 @@ RUN apt-get update && \
# build libvorbis
ARG VORBIS_VER=1.3.7
ARG LIBVORBIS_REPO=https://github.com/xiph/vorbis/releases/download/v${VORBIS_VER}/libvorbis-1.3.7.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${LIBVORBIS_REPO} | tar xz && \
cd libvorbis-1.3.7 && \
./configure --prefix=/usr/local --libdir=/usr/local/lib --enable-shared && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -79,12 +81,13 @@ RUN apt-get update && \
# build libfdkaac
ARG LIBFDKAAC_REPO=https://github.com/mstorsjo/fdk-aac/archive/v2.0.2.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${LIBFDKAAC_REPO} | tar xz && \
cd fdk-aac-2.0.2 && \
./autogen.sh && \
./configure --prefix=/usr/local --libdir=/usr/local/lib --enable-shared && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -95,11 +98,12 @@ RUN apt-get update && \
# build libopus
ARG LIBOPUS_REPO=https://archive.mozilla.org/pub/opus/opus-1.3.1.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${LIBOPUS_REPO} | tar xz && \
cd opus-1.3.1 && \
./configure --prefix=/usr/local --libdir=/usr/local/lib --enable-shared && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -113,12 +117,13 @@ RUN apt-get update && \
# TODO: Revert to NASM repo, this is temp fix is nasm repo certificate expired temporarily
ARG NASM_REPO=https://github.com/OpenVisualCloud/Dockerfiles-Resources/raw/master/nasm-2.15.05.tar.bz2
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${NASM_REPO} | tar xj && \
cd nasm-2.15.05 && \
./autogen.sh && \
./configure --prefix=/usr/local --libdir=/usr/local/lib && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install
RUN apt-get update && \
@@ -132,7 +137,7 @@ RUN cd /opt/build && \
git clone ${LIBVPX_REPO} -b v1.12.0 --depth 1 && \
cd libvpx && \
./configure --prefix=/usr/local --libdir=/usr/local/lib --enable-shared --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=nasm && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -147,7 +152,7 @@ RUN cd /opt/build && \
git clone ${LIBAOM_REPO} -b v3.4.0 --depth 1 && \
cd aom/build && \
cmake -DBUILD_SHARED_LIBS=ON -DENABLE_NASM=ON -DENABLE_TESTS=OFF -DENABLE_DOCS=OFF -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_INSTALL_LIBDIR=lib .. && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -163,7 +168,7 @@ RUN cd /opt/build && \
cd x264 && \
./configure --prefix=/usr/local --libdir=/usr/local/lib \
--enable-shared && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -176,6 +181,7 @@ RUN apt-get update && \
# ARG YASM_REPO=https://www.tortall.net/projects/yasm/releases/yasm-YASM_VER.tar.gz
# At the time of 21.6 Release, yasm official site above had certificate problem, hence pulling from Dockerfiles-Resources.
ARG YASM_REPO=https://github.com/OpenVisualCloud/Dockerfiles-Resources/raw/master/yasm-1.3.0.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${YASM_REPO} | tar xz
@@ -183,7 +189,7 @@ RUN cd /opt/build/yasm-1.3.0 && \
# TODO remove the line below whether no other component inside this project requires it.
# `sed -i "s/) ytasm.*/)/" Makefile.in' && \
./configure --prefix=/usr/local --libdir=/usr/local/lib && \
- make -j $(nproc) && \
+ make -j "$(nproc)" && \
make install
RUN apt-get update && \
@@ -193,11 +199,12 @@ RUN apt-get update && \
# build libx265
ARG LIBX265_REPO=https://github.com/videolan/x265/archive/3.4.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${LIBX265_REPO} | tar xz && \
cd x265-3.4/build/linux && \
cmake -DBUILD_SHARED_LIBS=ON -DCMAKE_INSTALL_PREFIX=/usr/local -DLIB_INSTALL_DIR=/usr/local/lib ../../source && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -208,9 +215,9 @@ RUN apt-get update && \
# build meson
ARG MESON_REPO=https://github.com/mesonbuild/meson
-RUN git clone ${MESON_REPO}; \
- cd meson; \
- git checkout 0.63.0; \
+RUN git clone ${MESON_REPO} && \
+ cd meson && \
+ git checkout 0.63.0 && \
python3 setup.py install;
RUN apt-get update && \
@@ -220,6 +227,7 @@ RUN apt-get update && \
# build dav1d
ARG DAV1D_REPO=https://code.videolan.org/videolan/dav1d/-/archive/0.9.2/dav1d-0.9.2.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${DAV1D_REPO} | tar xz
RUN cd /opt/build/dav1d-0.9.2 && \
@@ -239,7 +247,7 @@ RUN cd /opt/build && \
git clone -b v1.5.1 --depth 1 ${SVT_HEVC_REPO}
RUN cd /opt/build/SVT-HEVC/Build/linux && \
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_INSTALL_LIBDIR=/usr/local/lib -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \
- make -j $(nproc) && \
+ make -j "$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -250,12 +258,13 @@ RUN apt-get update && \
# build svt av1
ARG SVT_AV1_REPO=https://gitlab.com/AOMediaCodec/SVT-AV1/-/archive/v1.3.0/SVT-AV1-v1.3.0.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${SVT_AV1_REPO} | tar zx && \
mv SVT-AV1-v1.3.0 SVT-AV1 && \
cd SVT-AV1/Build/linux && \
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_INSTALL_LIBDIR=/usr/local/lib -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \
- make -j $(nproc) && \
+ make -j "$(nproc)" && \
sed -i "s/SvtAv1dec/SvtAv1Dec/" SvtAv1Dec.pc && \
make install DESTDIR=/opt/dist && \
make install
@@ -271,7 +280,7 @@ RUN cd /opt/build && \
git clone ${SVT_VP9_REPO} -b v0.3.0 --depth 1 && \
cd SVT-VP9/Build/linux && \
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_INSTALL_LIBDIR=/usr/local/lib -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \
- make -j $(nproc) && \
+ make -j "$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -282,6 +291,7 @@ RUN apt-get update && \
# build gst-core
ARG GSTCORE_REPO=https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-1.20.3.tar.xz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${GSTCORE_REPO} | tar xJ
RUN cd /opt/build/gstreamer-1.20.3 && \
@@ -302,6 +312,7 @@ RUN apt-get update && \
# build gst-plugin-base
ARG GSTBASE_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-1.20.3.tar.xz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${GSTBASE_REPO} | tar xJ
RUN cd /opt/build/gst-plugins-base-1.20.3 && \
@@ -330,6 +341,7 @@ RUN apt-get update && \
# build gst-plugin-good
ARG GSTGOOD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-1.20.3.tar.xz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${GSTGOOD_REPO} | tar xJ
RUN cd /opt/build/gst-plugins-good-1.20.3 && \
@@ -355,6 +367,7 @@ RUN apt-get update && \
# build gst-plugin-bad
ARG GSTBAD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-1.20.3.tar.xz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${GSTBAD_REPO} | tar xJ && \
cd gst-plugins-bad-1.20.3 && \
@@ -383,6 +396,7 @@ RUN apt-get update && \
# build gst-plugin-ugly
ARG GSTUGLY_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-1.20.3.tar.xz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${GSTUGLY_REPO} | tar xJ
RUN cd /opt/build/gst-plugins-ugly-1.20.3 && \
@@ -420,7 +434,7 @@ RUN cd /opt/build/FFmpeg && \
RUN cd /opt/build/FFmpeg && \
./configure --prefix=/usr/local --libdir=/usr/local/lib --enable-shared --disable-static --disable-doc --disable-htmlpages \
--disable-manpages --disable-podpages --disable-txtpages \
- --extra-cflags=-w --enable-nonfree --enable-libass --enable-libfreetype --disable-xlib --disable-sdl2 --disable-hwaccels --disable-vaapi --enable-libv4l2 --enable-indev=v4l2 --enable-libfdk-aac --enable-libopus --enable-libvpx --enable-libvorbis --enable-gpl --enable-libx264 --enable-gpl --enable-libx265 --enable-libsvtav1 --enable-libsvthevc --enable-libaom --enable-libdav1d && make -j$(nproc) && \
+ --extra-cflags=-w --enable-nonfree --enable-libass --enable-libfreetype --disable-xlib --disable-sdl2 --disable-hwaccels --disable-vaapi --enable-libv4l2 --enable-indev=v4l2 --enable-libfdk-aac --enable-libopus --enable-libvpx --enable-libvorbis --enable-gpl --enable-libx264 --enable-gpl --enable-libx265 --enable-libsvtav1 --enable-libsvthevc --enable-libaom --enable-libdav1d && make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -431,6 +445,7 @@ RUN apt-get update && \
# build gst-plugin-libav
ARG GSTLIBAV_REPO=https://gstreamer.freedesktop.org/src/gst-libav/gst-libav-1.20.3.tar.xz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${GSTLIBAV_REPO} | tar xJ
RUN cd /opt/build/gst-libav-1.20.3 && \
@@ -467,6 +482,7 @@ RUN rm -rf /opt/dist/usr/local/include && \
find /opt/dist -name "*.a" -exec rm -f {} \; || echo ""
RUN rm -rf /opt/dist/usr/local/share/doc /opt/dist/usr/local/share/gtk-doc
RUN rm -rf /opt/dist/usr/local/share/man
+HEALTHCHECK CMD echo "This is a healthcheck test." || exit 1
FROM ubuntu:22.04
LABEL Description="This is the base image for Gstreamer ubuntu 22.04"
@@ -485,4 +501,4 @@ RUN echo "/usr/local/lib" >> /etc/ld.so.conf.d/all-libs.conf && ldconfig
ENV GST_PLUGIN_PATH=/usr/local/lib/gstreamer-1.0
ENV GST_PLUGIN_SCANNER=/usr/local/lib/gstreamer-1.0/gst-plugin-scanner
-
+HEALTHCHECK CMD echo "This is a healthcheck test." || exit 1
\ No newline at end of file
diff --git a/Xeon/ubuntu-22.04/media/gst/Dockerfile.m4 b/Xeon/ubuntu-22.04/media/gst/Dockerfile.m4
index 9bfeeb2be..a31961288 100644
--- a/Xeon/ubuntu-22.04/media/gst/Dockerfile.m4
+++ b/Xeon/ubuntu-22.04/media/gst/Dockerfile.m4
@@ -37,4 +37,4 @@ WORKDIR /home
# Install
UPGRADE_UBUNTU_COMPONENTS()
INSTALL_ALL(runtime,build)dnl
-
+HEALTHCHECK CMD echo "This is a healthcheck test." || exit 1
\ No newline at end of file
diff --git a/Xeon/ubuntu-22.04/media/gst/README.md b/Xeon/ubuntu-22.04/media/gst/README.md
index ac306e501..0542ed7a3 100644
--- a/Xeon/ubuntu-22.04/media/gst/README.md
+++ b/Xeon/ubuntu-22.04/media/gst/README.md
@@ -1,7 +1,7 @@
This docker image is part of Open Visual Cloud software stacks. Optimized for the media creation and delivery use case. Included gstreamer and audio and video plugins that can be connected to process audio and video content, such as creating, converting, transcoding. The docker image can be used in the FROM field of a downstream Dockerfile.
## Supported tags and respective Dockerfile links
- - [xeon-ubuntu-2204-media-gst](https://github.com/OpenVisualCloud/Dockerfiles/blob/v22.6/Xeon/ubuntu-22.04/media/gst/Dockerfile)
+ - [xeon-ubuntu-2204-media-gst](https://github.com/OpenVisualCloud/Dockerfiles/blob/v23.06/Xeon/ubuntu-22.04/media/gst/Dockerfile)
## Quick reference
- #### Supported platform and OS
diff --git a/Xeon/ubuntu-22.04/media/imtl/.dockerignore b/Xeon/ubuntu-22.04/media/imtl/.dockerignore
new file mode 100644
index 000000000..1cb8a04d9
--- /dev/null
+++ b/Xeon/ubuntu-22.04/media/imtl/.dockerignore
@@ -0,0 +1,4 @@
+CMakeLists.txt
+*.sh
+*.m4
+test/*
diff --git a/Xeon/ubuntu-22.04/media/imtl/CMakeLists.txt b/Xeon/ubuntu-22.04/media/imtl/CMakeLists.txt
new file mode 100644
index 000000000..f62bdef5b
--- /dev/null
+++ b/Xeon/ubuntu-22.04/media/imtl/CMakeLists.txt
@@ -0,0 +1,3 @@
+set(image "xeon_imtl_ubuntu2204")
+include(image)
+include(imtl-tests)
diff --git a/Xeon/ubuntu-22.04/media/imtl/Dockerfile b/Xeon/ubuntu-22.04/media/imtl/Dockerfile
new file mode 100644
index 000000000..7f484e46a
--- /dev/null
+++ b/Xeon/ubuntu-22.04/media/imtl/Dockerfile
@@ -0,0 +1,151 @@
+
+
+# BSD 3-Clause License
+#
+# Copyright (c) 2023, Intel Corporation
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are met:
+#
+# * Redistributions of source code must retain the above copyright notice, this
+# list of conditions and the following disclaimer.
+#
+# * Redistributions in binary form must reproduce the above copyright notice,
+# this list of conditions and the following disclaimer in the documentation
+# and/or other materials provided with the distribution.
+#
+# * Neither the name of the copyright holder nor the names of its
+# contributors may be used to endorse or promote products derived from
+# this software without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+# This file is automatically generated from .m4 template.
+# To update, modify the template and regenerate.
+FROM ubuntu:22.04 AS build
+
+
+RUN mkdir -p /opt/build && mkdir -p /opt/dist
+
+ENV PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
+
+RUN apt-get update && \
+ DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
+ sudo git g++ wget meson kmod ffmpeg unzip python3 python3-pip pkg-config libnuma-dev libjson-c-dev libpcap-dev libgtest-dev libsdl2-dev libsdl2-ttf-dev libssl-dev python3-pyelftools ninja-build pciutils iproute2 && \
+ rm -rf /var/lib/apt/lists/*
+
+# build DPDK
+ARG DPDK_REPO=https://github.com/DPDK/dpdk.git
+RUN cd /opt/build && \
+ git clone ${DPDK_REPO} && \
+ cd dpdk && \
+ git checkout v22.11 && \
+ meson build --prefix=/usr/local --libdir=/usr/local/lib && \
+ ninja -C build && \
+ cd build && \
+ ninja install && \
+ pkg-config --cflags libdpdk && \
+ pkg-config --libs libdpdk && \
+ pkg-config --modversion libdpdk
+
+
+RUN apt-get update && \
+ DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
+ sudo git g++ wget meson kmod ffmpeg unzip python3 python3-pip pkg-config libnuma-dev libjson-c-dev libpcap-dev libgtest-dev libsdl2-dev libsdl2-ttf-dev libssl-dev python3-pyelftools ninja-build pciutils iproute2 && \
+ rm -rf /var/lib/apt/lists/*
+
+# build imtl
+ARG DPDK_VERSION=22.11
+ARG IMTL_VER=23.04
+ARG DPDK_REPO=https://github.com/DPDK/dpdk.git
+ARG IMTL_REPO=https://github.com/OpenVisualCloud/Media-Transport-Library/archive/refs/tags/v${IMTL_VER}.tar.gz
+ARG DPDK_ST_KAHAWAI=/opt/build/Media-Transport-Library-${IMTL_VER}
+ARG LIB_BUILD_DIR=${DPDK_ST_KAHAWAI}/build
+ARG APP_BUILD_DIR=${DPDK_ST_KAHAWAI}/build/app
+ARG TEST_BUILD_DIR=${DPDK_ST_KAHAWAI}/build/tests
+ARG PLUGINS_BUILD_DIR=${DPDK_ST_KAHAWAI}/build/plugins
+ARG LD_PRELOAD_BUILD_DIR=${DPDK_ST_KAHAWAI}/build/ld_preload
+ENV PKG_CONFIG_PATH=${PKG_CONFIG_PATH}:/usr/local/lib/pkgconfig
+ENV LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/local/lib
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
+RUN cd /opt/build && \
+ rm -rf dpdk && \
+ git clone ${DPDK_REPO} && \
+ wget -O - ${IMTL_REPO} | tar xz && \
+ cd dpdk && \
+ git checkout v${DPDK_VERSION} && \
+ git switch -c v${DPDK_VERSION} && \
+ git config --global user.email "you@example.com" && \
+ git config --global user.name "Your Name" && \
+ git am ${DPDK_ST_KAHAWAI}/patches/dpdk/${DPDK_VERSION}/*.patch && \
+ meson build --prefix=/usr/local --libdir=/usr/local/lib && \
+ ninja -C build && \
+ cd build && \
+ ninja install && \
+ pkg-config --cflags libdpdk && \
+ pkg-config --libs libdpdk && \
+ pkg-config --modversion libdpdk && \
+ cd ${DPDK_ST_KAHAWAI} && \
+ meson ${LIB_BUILD_DIR} --prefix=/usr/local --libdir=/usr/local/lib && \
+ cd ${LIB_BUILD_DIR} && \
+ ninja && \
+ ninja install && \
+ cd ${DPDK_ST_KAHAWAI}/app && \
+ meson ${APP_BUILD_DIR} --prefix=/usr/local --libdir=/usr/local/lib && \
+ cd ${APP_BUILD_DIR} && \
+ ninja && \
+ cd ${DPDK_ST_KAHAWAI}/tests && \
+ meson ${TEST_BUILD_DIR} --prefix=/usr/local --libdir=/usr/local/lib && \
+ cd ${TEST_BUILD_DIR} && \
+ ninja && \
+ cd ${DPDK_ST_KAHAWAI}/plugins/ && \
+ meson ${PLUGINS_BUILD_DIR} --prefix=/usr/local --libdir=/usr/local/lib && \
+ cd ${PLUGINS_BUILD_DIR} && \
+ ninja && \
+ ninja install && \
+ cd ${DPDK_ST_KAHAWAI}/ld_preload && \
+ meson ${LD_PRELOAD_BUILD_DIR} --prefix=/usr/local --libdir=/usr/local/lib && \
+ cd ${LD_PRELOAD_BUILD_DIR} && \
+ ninja && \
+ ninja install && \
+ mkdir -p /opt/dist/home/imtl && \
+ cp -r ${DPDK_ST_KAHAWAI}/config ${APP_BUILD_DIR} && \
+ cp -r ${APP_BUILD_DIR} ${TEST_BUILD_DIR} /opt/dist/home/imtl && \
+ mkdir -p /opt/dist/usr/local && \
+ cp -r /usr/local/bin /usr/local/lib /opt/dist/usr/local
+
+
+# cleanup
+RUN rm -rf /opt/dist/usr/local/include && \
+ rm -rf /opt/dist/usr/local/lib/pkgconfig && \
+ find /opt/dist -name "*.a" -exec rm -f {} \; || echo ""
+RUN rm -rf /opt/dist/usr/local/share/doc /opt/dist/usr/local/share/gtk-doc
+RUN rm -rf /opt/dist/usr/local/share/man
+HEALTHCHECK CMD echo "This is a healthcheck test." || exit 1
+
+FROM ubuntu:22.04
+LABEL Description="This is the base image for IMTL ubuntu 22.04"
+LABEL Vendor="Intel Corporation"
+WORKDIR /home
+
+# Install
+RUN apt-get update && apt-get upgrade -y systemd
+RUN apt-get update && \
+ DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
+ libnuma1 pciutils iproute2 libpcap0.8 libatomic1 kmod libsdl2-2.0-0 libsdl2-ttf-2.0-0 libstdc++6 && \
+ rm -rf /var/lib/apt/lists/*
+
+COPY --from=build /opt/dist /
+RUN echo "/usr/local/lib" >> /etc/ld.so.conf.d/all-libs.conf && ldconfig
+
+HEALTHCHECK CMD echo "This is a healthcheck test." || exit 1
\ No newline at end of file
diff --git a/Xeon/ubuntu-22.04/media/imtl/Dockerfile.m4 b/Xeon/ubuntu-22.04/media/imtl/Dockerfile.m4
new file mode 100644
index 000000000..5cd6f6eb4
--- /dev/null
+++ b/Xeon/ubuntu-22.04/media/imtl/Dockerfile.m4
@@ -0,0 +1,22 @@
+
+include(begin.m4)
+include(ubuntu.m4)
+include(dpdk.m4)
+include(imtl.m4)
+include(end.m4)dnl
+
+PREAMBLE
+FROM OS_NAME:OS_VERSION AS build
+
+BUILD_ALL()dnl
+CLEANUP()dnl
+
+FROM OS_NAME:OS_VERSION
+LABEL Description="This is the base image for IMTL OS_NAME OS_VERSION"
+LABEL Vendor="Intel Corporation"
+WORKDIR /home
+
+# Install
+UPGRADE_UBUNTU_COMPONENTS()
+INSTALL_ALL(runtime,build)dnl
+HEALTHCHECK CMD echo "This is a healthcheck test." || exit 1
\ No newline at end of file
diff --git a/Xeon/ubuntu-22.04/media/imtl/README.md b/Xeon/ubuntu-22.04/media/imtl/README.md
new file mode 100644
index 000000000..7bdf670cc
--- /dev/null
+++ b/Xeon/ubuntu-22.04/media/imtl/README.md
@@ -0,0 +1,32 @@
+This docker image is part of Open Visual Cloud software stacks. Optimized for the media creation and delivery use case. Image with IMTL for transmitting and receiving media data with high throughput and low latency. The docker image can be used in the FROM field of a downstream Dockerfile.
+
+## Supported tags and respective Dockerfile links
+ - [xeon-ubuntu-2204-media-imtl](https://github.com/OpenVisualCloud/Dockerfiles/blob/v23.06/Xeon/ubuntu-22.04/media/imtl/Dockerfile)
+
+## Quick reference
+- #### Supported platform and OS
+ Intel® Xeon® platform, Ubuntu 22.04
+
+
+
+
+- #### Getting started with Dockerfiles:
+ [OpenVisualCloud Dockerfiles Wiki](https://github.com/OpenVisualCloud/Dockerfiles/wiki)
+
+- #### File issues:
+ [OpenVisualCloud Dockerfiles Issues](https://github.com/OpenVisualCloud/Dockerfiles/issues)
+
+
+## License
+This docker installs third party components licensed under various open source licenses. The terms under which those components may be used and distributed can be found with the license document that is provided with those components. Please familiarize yourself with those terms to ensure your distribution of those components complies with the terms of those licenses.
+
+
+| Components | License |
+| ----- | ----- |
+|Ubuntu| [Various](https://hub.docker.com/_/ubuntu) |
+|DPDK|BSD-3-Clause|
+|Intel Media Transport Library|BSD 3-Clause 'New' or 'Revised' License|
+
+
+More license information can be found in [components source package](https://github.com/OpenVisualCloud/Dockerfiles-Resources).
+As for any pre-built image usage, it is the image user's responsibility to ensure that any use of this image complies with any relevant licenses and potential fees for all software contained within. We will have no indemnity or warranty coverage from suppliers.
diff --git a/SG2/ubuntu-20.04/media/ffmpeg/build.sh b/Xeon/ubuntu-22.04/media/imtl/build.sh
similarity index 71%
rename from SG2/ubuntu-20.04/media/ffmpeg/build.sh
rename to Xeon/ubuntu-22.04/media/imtl/build.sh
index bcc829149..7025e8ce2 100755
--- a/SG2/ubuntu-20.04/media/ffmpeg/build.sh
+++ b/Xeon/ubuntu-22.04/media/imtl/build.sh
@@ -1,6 +1,6 @@
#!/bin/bash -e
-IMAGE="sg2-ubuntu2004-media-ffmpeg"
+IMAGE="xeon-ubuntu2204-media-imtl"
DIR=$(dirname $(readlink -f "$0"))
. "${DIR}/../../../../script/build.sh"
diff --git a/SG2/ubuntu-22.04/media/ffmpeg/shell.sh b/Xeon/ubuntu-22.04/media/imtl/shell.sh
similarity index 71%
rename from SG2/ubuntu-22.04/media/ffmpeg/shell.sh
rename to Xeon/ubuntu-22.04/media/imtl/shell.sh
index 8046db199..489b2f041 100755
--- a/SG2/ubuntu-22.04/media/ffmpeg/shell.sh
+++ b/Xeon/ubuntu-22.04/media/imtl/shell.sh
@@ -1,6 +1,6 @@
#!/bin/bash -e
-IMAGE="sg2-ubuntu2204-media-ffmpeg"
+IMAGE="xeon-ubuntu2204-media-imtl"
DIR=$(dirname $(readlink -f "$0"))
. "${DIR}/../../../../script/shell.sh"
diff --git a/Xeon/ubuntu-22.04/media/nginx/Dockerfile b/Xeon/ubuntu-22.04/media/nginx/Dockerfile
index 6ad87e661..92e71da73 100644
--- a/Xeon/ubuntu-22.04/media/nginx/Dockerfile
+++ b/Xeon/ubuntu-22.04/media/nginx/Dockerfile
@@ -46,11 +46,13 @@ RUN apt-get update && \
ARG NGINX_FLV_PATCHES_REPO=https://github.com/VCDP/CDN/archive/v0.4.tar.gz
ARG NGINX_FLV_PATCHES_PATH=/opt/build/CDN-0.4
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${NGINX_FLV_PATCHES_REPO} | tar xz
# build nginx flv
ARG NGINX_FLV_REPO=https://github.com/winshining/nginx-http-flv-module/archive/v1.2.10.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${NGINX_FLV_REPO} | tar xz && \
cd nginx-http-flv-module-1.2.10 && \
@@ -62,6 +64,7 @@ RUN cd /opt/build && \
# build nginx upload
ARG NGINX_UPLOAD_REPO=https://github.com/fdintino/nginx-upload-module/archive/2.3.0.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${NGINX_UPLOAD_REPO} | tar xz
@@ -72,6 +75,7 @@ RUN apt-get update && \
# build nginx
ARG NGINX_REPO=https://nginx.org/download/nginx-1.22.0.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${NGINX_REPO} | tar xz && \
cd nginx-1.22.0 && \
@@ -99,7 +103,7 @@ RUN cd /opt/build && \
--with-stream_ssl_preread_module --with-pcre \
--add-module=../nginx-http-flv-module-1.2.10 \
--add-module=../nginx-upload-module-2.3.0 \
- && make -j$(nproc) \
+ && make -j"$(nproc)" \
&& make install DESTDIR=/opt/dist
# NGINX Setup
@@ -121,8 +125,9 @@ RUN rm -rf /opt/dist/usr/local/include && \
find /opt/dist -name "*.a" -exec rm -f {} \; || echo ""
RUN rm -rf /opt/dist/usr/local/share/doc /opt/dist/usr/local/share/gtk-doc
RUN rm -rf /opt/dist/usr/local/share/man
+HEALTHCHECK CMD echo "This is a healthcheck test." || exit 1
-FROM openvisualcloud/xeon-ubuntu2204-media-ffmpeg:-n
+FROM openvisualcloud/xeon-ubuntu2204-media-ffmpeg:23.06
LABEL Description="This is the base image for NGINX+RTMP ubuntu 22.04"
LABEL Vendor="Intel Corporation"
WORKDIR /home
@@ -138,4 +143,4 @@ COPY --from=build /opt/dist /
RUN echo "/usr/local/lib" >> /etc/ld.so.conf.d/all-libs.conf && ldconfig
-
+HEALTHCHECK CMD echo "This is a healthcheck test." || exit 1
\ No newline at end of file
diff --git a/Xeon/ubuntu-22.04/media/nginx/Dockerfile.m4 b/Xeon/ubuntu-22.04/media/nginx/Dockerfile.m4
index 8769842e9..377a17ee6 100644
--- a/Xeon/ubuntu-22.04/media/nginx/Dockerfile.m4
+++ b/Xeon/ubuntu-22.04/media/nginx/Dockerfile.m4
@@ -20,4 +20,4 @@ WORKDIR /home
# Install
UPGRADE_UBUNTU_COMPONENTS()
INSTALL_ALL(runtime,build)
-
+HEALTHCHECK CMD echo "This is a healthcheck test." || exit 1
\ No newline at end of file
diff --git a/Xeon/ubuntu-22.04/media/nginx/README.md b/Xeon/ubuntu-22.04/media/nginx/README.md
index 6eac43855..c94c92543 100644
--- a/Xeon/ubuntu-22.04/media/nginx/README.md
+++ b/Xeon/ubuntu-22.04/media/nginx/README.md
@@ -1,7 +1,7 @@
This docker image is part of Open Visual Cloud software stacks. Optimized for the media creation and delivery use case. Optimized for NGINX web server that can be used for serving web content, load balancing, HTTP caching, or a reverse proxy. The docker image can be used in the FROM field of a downstream Dockerfile.
## Supported tags and respective Dockerfile links
- - [xeon-ubuntu-2204-media-nginx](https://github.com/OpenVisualCloud/Dockerfiles/blob/v22.6/Xeon/ubuntu-22.04/media/nginx/Dockerfile)
+ - [xeon-ubuntu-2204-media-nginx](https://github.com/OpenVisualCloud/Dockerfiles/blob/v23.06/Xeon/ubuntu-22.04/media/nginx/Dockerfile)
## Quick reference
- #### Supported platform and OS
@@ -39,7 +39,7 @@ This docker installs third party components licensed under various open source l
|Intel SVT-AV1|BSD-2-Clause Plus Patent License|
|Intel SVT-VP9|BSD-2-Clause Plus Patent License|
|OpenCV|BSD 3-clause "New" or "Revised" License|
-|FFmpeg|GNU General Public License v2.0 or later|
+|FFmpeg|GNU Lesser General Public License v2.1 or later|
More license information can be found in [components source package](https://github.com/OpenVisualCloud/Dockerfiles-Resources).
diff --git a/Xeon/ubuntu-22.04/media/srs/Dockerfile b/Xeon/ubuntu-22.04/media/srs/Dockerfile
index 699efa9e6..fa45f3abb 100644
--- a/Xeon/ubuntu-22.04/media/srs/Dockerfile
+++ b/Xeon/ubuntu-22.04/media/srs/Dockerfile
@@ -49,7 +49,7 @@ ARG SRS_REPO=https://github.com/ossrs/srs.git
RUN cd /opt/build && \
git clone -b v4.0-r1 --depth 1 ${SRS_REPO} && \
cd srs/trunk && \
- sed -i "s/^SrsLinkOptions=\"/SrsLinkOptions=\"\$\(pkg-config --libs openssl\) -Wl,-rpath=\/usr\/local\/ssl\/lib /" configure && \
+ sed -i "s/^SrsLinkOptions=\"/SrsLinkOptions=\"\$\(pkg-config --libs openssl\) -Wl,-rpath=\/usr\/local\/ssl\/lib64 /" configure && \
./configure --prefix=/usr/local/srs \
--hds=on \
--ssl=on --https=on --sys-ssl=on \
@@ -61,9 +61,9 @@ RUN cd /opt/build && \
--nasm=off \
--srt=off \
--rtc=on \
- --extra-flags=$(pkg-config --cflags openssl) \
- --jobs=$(nproc) && \
- make -j$(nproc) && touch research/api-server/static-dir/crossdomain.xml && \
+ --extra-flags="$(pkg-config --cflags openssl)" \
+ --jobs="$(nproc)" && \
+ make -j"$(nproc)" && touch research/api-server/static-dir/crossdomain.xml && \
make install DESTDIR=/opt/dist
RUN echo /opt/dist
@@ -75,8 +75,9 @@ RUN rm -rf /opt/dist/usr/local/include && \
find /opt/dist -name "*.a" -exec rm -f {} \; || echo ""
RUN rm -rf /opt/dist/usr/local/share/doc /opt/dist/usr/local/share/gtk-doc
RUN rm -rf /opt/dist/usr/local/share/man
+HEALTHCHECK CMD echo "This is a healthcheck test." || exit 1
-FROM openvisualcloud/xeon-ubuntu2204-media-ffmpeg:latest
+FROM openvisualcloud/xeon-ubuntu2204-media-ffmpeg:23.06
LABEL Description="This is the base image for Media SRS ubuntu 22.04"
LABEL Vendor="Intel Corporation"
WORKDIR /home
@@ -92,4 +93,4 @@ COPY --from=build /opt/dist /
RUN echo "/usr/local/lib" >> /etc/ld.so.conf.d/all-libs.conf && ldconfig
-
+HEALTHCHECK CMD echo "This is a healthcheck test." || exit 1
\ No newline at end of file
diff --git a/Xeon/ubuntu-22.04/media/srs/Dockerfile.m4 b/Xeon/ubuntu-22.04/media/srs/Dockerfile.m4
index e3ea600eb..af4f5451f 100644
--- a/Xeon/ubuntu-22.04/media/srs/Dockerfile.m4
+++ b/Xeon/ubuntu-22.04/media/srs/Dockerfile.m4
@@ -10,7 +10,7 @@ FROM OS_NAME:OS_VERSION AS build
BUILD_ALL()dnl
CLEANUP()dnl
-FROM openvisualcloud/xeon-ubuntu2204-media-ffmpeg:latest
+FROM openvisualcloud/xeon-ubuntu2204-media-ffmpeg:BUILD_VERSION
LABEL Description="This is the base image for Media SRS OS_NAME OS_VERSION"
LABEL Vendor="Intel Corporation"
WORKDIR /home
@@ -18,4 +18,4 @@ WORKDIR /home
# Install
UPGRADE_UBUNTU_COMPONENTS()
INSTALL_ALL(runtime,build)
-
+HEALTHCHECK CMD echo "This is a healthcheck test." || exit 1
\ No newline at end of file
diff --git a/Xeon/ubuntu-22.04/media/srs/README.md b/Xeon/ubuntu-22.04/media/srs/README.md
index aa4bf8914..dc27fb1df 100644
--- a/Xeon/ubuntu-22.04/media/srs/README.md
+++ b/Xeon/ubuntu-22.04/media/srs/README.md
@@ -1,7 +1,7 @@
This docker image is part of Open Visual Cloud software stacks. Optimized for the media creation and delivery use case. Image with SRS high efficiency, stable and simple RTMP/HLS/FLV streaming cluster. The docker image can be used in the FROM field of a downstream Dockerfile.
## Supported tags and respective Dockerfile links
- - [xeon-ubuntu-2204-media-srs](https://github.com/OpenVisualCloud/Dockerfiles/blob/v22.6/Xeon/ubuntu-22.04/media/srs/Dockerfile)
+ - [xeon-ubuntu-2204-media-srs](https://github.com/OpenVisualCloud/Dockerfiles/blob/v23.06/Xeon/ubuntu-22.04/media/srs/Dockerfile)
## Quick reference
- #### Supported platform and OS
@@ -24,7 +24,6 @@ This docker installs third party components licensed under various open source l
| Components | License |
| ----- | ----- |
|Ubuntu| [Various](https://hub.docker.com/_/ubuntu) |
-|OpenSSL|Apache License 2.0|
|Simple Realtime Server|MIT License|
|libogg|BSD 3-clause "New" or "Revised" License|
|libvorbis|BSD 3-clause "New" or "Revised" License|
@@ -37,7 +36,7 @@ This docker installs third party components licensed under various open source l
|Intel SVT-AV1|BSD-2-Clause Plus Patent License|
|Intel SVT-VP9|BSD-2-Clause Plus Patent License|
|OpenCV|BSD 3-clause "New" or "Revised" License|
-|FFmpeg|GNU General Public License v2.0 or later|
+|FFmpeg|GNU Lesser General Public License v2.1 or later|
More license information can be found in [components source package](https://github.com/OpenVisualCloud/Dockerfiles-Resources).
diff --git a/Xeon/ubuntu-22.04/media/svt/Dockerfile b/Xeon/ubuntu-22.04/media/svt/Dockerfile
index 7132222b4..e81c86617 100644
--- a/Xeon/ubuntu-22.04/media/svt/Dockerfile
+++ b/Xeon/ubuntu-22.04/media/svt/Dockerfile
@@ -49,12 +49,13 @@ RUN apt-get update && \
# TODO: Revert to NASM repo, this is temp fix is nasm repo certificate expired temporarily
ARG NASM_REPO=https://github.com/OpenVisualCloud/Dockerfiles-Resources/raw/master/nasm-2.15.05.tar.bz2
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd /opt/build && \
wget -O - ${NASM_REPO} | tar xj && \
cd nasm-2.15.05 && \
./autogen.sh && \
./configure --prefix=/usr/local --libdir=/usr/local/lib && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install
RUN apt-get update && \
@@ -68,7 +69,7 @@ RUN cd /opt/build && \
git clone ${LIBAOM_REPO} -b v3.4.0 --depth 1 && \
cd aom/build && \
cmake -DBUILD_SHARED_LIBS=ON -DENABLE_NASM=ON -DENABLE_TESTS=OFF -DENABLE_DOCS=OFF -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_INSTALL_LIBDIR=lib .. && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=/opt/dist && \
make install
@@ -78,8 +79,9 @@ RUN rm -rf /opt/dist/usr/local/include && \
find /opt/dist -name "*.a" -exec rm -f {} \; || echo ""
RUN rm -rf /opt/dist/usr/local/share/doc /opt/dist/usr/local/share/gtk-doc
RUN rm -rf /opt/dist/usr/local/share/man
+HEALTHCHECK CMD echo "This is a healthcheck test." || exit 1
-FROM openvisualcloud/xeon-ubuntu2204-media-ffmpeg:latest
+FROM openvisualcloud/xeon-ubuntu2204-media-ffmpeg:23.06
LABEL Description="This is the showcase image for SVT ubuntu 22.04"
LABEL Vendor="Intel Corporation"
WORKDIR /home
@@ -91,4 +93,4 @@ RUN apt-get update && apt-get upgrade -y systemd
COPY --from=build /opt/dist /
RUN echo "/usr/local/lib" >> /etc/ld.so.conf.d/all-libs.conf && ldconfig
-
+HEALTHCHECK CMD echo "This is a healthcheck test." || exit 1
\ No newline at end of file
diff --git a/Xeon/ubuntu-22.04/media/svt/Dockerfile.m4 b/Xeon/ubuntu-22.04/media/svt/Dockerfile.m4
index b127711e7..f6a008e69 100644
--- a/Xeon/ubuntu-22.04/media/svt/Dockerfile.m4
+++ b/Xeon/ubuntu-22.04/media/svt/Dockerfile.m4
@@ -10,7 +10,7 @@ FROM OS_NAME:OS_VERSION AS build
BUILD_ALL()dnl
CLEANUP()dnl
-FROM openvisualcloud/xeon-ubuntu2204-media-ffmpeg:latest
+FROM openvisualcloud/xeon-ubuntu2204-media-ffmpeg:BUILD_VERSION
LABEL Description="This is the showcase image for SVT OS_NAME OS_VERSION"
LABEL Vendor="Intel Corporation"
WORKDIR /home
@@ -18,4 +18,4 @@ WORKDIR /home
# Install
UPGRADE_UBUNTU_COMPONENTS()
INSTALL_ALL(runtime,build)dnl
-
+HEALTHCHECK CMD echo "This is a healthcheck test." || exit 1
\ No newline at end of file
diff --git a/Xeon/ubuntu-22.04/media/svt/README.md b/Xeon/ubuntu-22.04/media/svt/README.md
index a7f8234e2..a5380e8a4 100644
--- a/Xeon/ubuntu-22.04/media/svt/README.md
+++ b/Xeon/ubuntu-22.04/media/svt/README.md
@@ -1,7 +1,7 @@
This docker image is part of Open Visual Cloud software stacks. Optimized for the media creation and delivery use case. Image with SVT (Scalable Video Technology) Encoder and decoders. Ready to use SVT apps to try AV1, HEVC, VP9 transcoders. The docker image can be used in the FROM field of a downstream Dockerfile.
## Supported tags and respective Dockerfile links
- - [xeon-ubuntu-2204-media-svt](https://github.com/OpenVisualCloud/Dockerfiles/blob/v22.6/Xeon/ubuntu-22.04/media/svt/Dockerfile)
+ - [xeon-ubuntu-2204-media-svt](https://github.com/OpenVisualCloud/Dockerfiles/blob/v23.06/Xeon/ubuntu-22.04/media/svt/Dockerfile)
## Quick reference
- #### Supported platform and OS
@@ -37,7 +37,7 @@ This docker installs third party components licensed under various open source l
|Intel SVT-AV1|BSD-2-Clause Plus Patent License|
|Intel SVT-VP9|BSD-2-Clause Plus Patent License|
|OpenCV|BSD 3-clause "New" or "Revised" License|
-|FFmpeg|GNU General Public License v2.0 or later|
+|FFmpeg|GNU Lesser General Public License v2.1 or later|
More license information can be found in [components source package](https://github.com/OpenVisualCloud/Dockerfiles-Resources).
diff --git a/doc/docker.md b/doc/docker.md
new file mode 100644
index 000000000..ca2a3dc44
--- /dev/null
+++ b/doc/docker.md
@@ -0,0 +1,5 @@
+### Docker installation suggetion
+It is recommended to install docker according to the [official steps](https://docs.docker.com/engine/install/). Those low version or pre-release version may cause unexpected issues.
+
+### Docker build and running suggestion
+It is recommended to use official images as base images. Please do not setup docker registry manually, neither set the file in /etc/docker , or it may use 3rd-party source and install different version components such as `libstdc++6.so`, which will cause some failure.
\ No newline at end of file
diff --git a/doc/ffmpeg.md b/doc/ffmpeg.md
index 83f7156e1..245ad1aff 100755
--- a/doc/ffmpeg.md
+++ b/doc/ffmpeg.md
@@ -2,16 +2,16 @@ FFmpeg is a set of open source tools for audio and video processing, such as cre
### Audio/Video Codecs:
-The FFmpeg docker images are compiled with the following audio and video codecs:
+The FFmpeg (n4.4.3) docker images are compiled with the following audio and video codecs:
| Codec | Version | Codec | Version |
|-------|:-------:|-------|:-------:|
|fdk-acc|2.0.2|x265|3.4|
-|vpx|1.10.0|opus|1.3.1|
-|dav1d|0.9.0|ogg|1.3.5|
+|vpx|1.12.0|opus|1.3.1|
+|dav1d|0.9.2|ogg|1.3.5|
|SVT-HEVC|v1.5.1|vorbis|1.3.7|
-|SVT-AV1|v0.8.7|x264|stable|
-|SVT-VP9*|v0.2.2|
+|SVT-AV1|v1.3.0|x264|stable|
+|SVT-VP9*|v0.3.0|
\* SVT-VP9 encoder app only. SVT-VP9 not yet available as a FFmpeg plugin.
@@ -23,7 +23,7 @@ The FFmpeg builds included the following patches for feature enhancement, better
|-------|-------------|
|[11625](https://patchwork.ffmpeg.org/patch/11625/raw)|Enhance 1:N transcoding performance.|
|[SVT-HEVC](https://github.com/OpenVisualCloud/SVT-HEVC/tree/master/ffmpeg_plugin)|Enable FFmpeg SVT-HEVC plugin|
-|[SVT-AV1](https://github.com/OpenVisualCloud/SVT-AV1/tree/master/ffmpeg_plugin)|Enable FFmpeg SVT-AV1 plugin|
+|[SVT-AV1](https://gitlab.com/AOMediaCodec/SVT-AV1/-/tree/master/ffmpeg_plugin)|Enable FFmpeg SVT-AV1 plugin|
### GPU Acceleration:
@@ -56,3 +56,4 @@ ffmpeg -hwaccel vaapi -hwaccel_device /dev/dri/renderD128 -i test.mp4 -f null /d
ffmpeg -y -init_hw_device qsv=hw -filter_hw_device hw -f rawvideo -pix_fmt yuv420p -s:v 320x240 -i test.yuv -vf hwupload=extra_hw_frames=64,format=qsv -c:v h264_qsv -b:v 5M test.mp4
ffmpeg -hwaccel qsv -c:v h264_qsv -i test.mp4 -f null /dev/null
```
+
diff --git a/doc/nginx.md b/doc/nginx.md
index 458312224..9a273a4a9 100644
--- a/doc/nginx.md
+++ b/doc/nginx.md
@@ -6,8 +6,8 @@ The NGINX builds included the following patches for feature enhancement, better
| Patch | Description |
|-------|-------------|
-|[H.265 DASH](https://raw.githubusercontent.com/VCDP/CDN/master/0002-add-HEVC-support-for-dash.patch)|Support H.265 in NGINX DASH.|
-|[H.265 HLS](https://raw.githubusercontent.com/VCDP/CDN/master/0001-add-hevc-support-for-rtmp-and-hls.patch)|Support H.265 in NGINX RTMP/HLS.|
+|[H.265 DASH](https://raw.githubusercontent.com/VCDP/CDN/9f8d9967637f6f2dbdd95beed09ce32312b658a5/0002-add-HEVC-support-for-dash.patch)|Support H.265 in NGINX DASH.|
+|[H.265 HLS](https://raw.githubusercontent.com/VCDP/CDN/9f8d9967637f6f2dbdd95beed09ce32312b658a5/0001-add-hevc-support-for-rtmp-and-hls.patch)|Support H.265 in NGINX RTMP/HLS.|
### NGINX Modules
@@ -36,3 +36,4 @@ The default NGINX configuration exposes the following entry points:
|1935|/stream|Publish/retrieve RTMP live streams.|
|1935|/dash|Publish RTMP streams to generate DASH content.|
|1935|/hls|Publish RTMP streams to generate HLS content.|
+
diff --git a/doc/owt.md b/doc/owt.md
index 612711bab..2295ed082 100644
--- a/doc/owt.md
+++ b/doc/owt.md
@@ -82,9 +82,9 @@ export no_proxy=localhost
For more documents on OWT server and SDK, please refer to following links:
-[OWT server](https://github.com/open-webrtc-toolkit/owt-server/blob/4.3.x/doc/servermd/Server.md): OWT server installation and deployment guide.
+[OWT server](https://github.com/open-webrtc-toolkit/owt-server/blob/5.1.0/doc/servermd/Server.md): OWT server installation and deployment guide.
-[OWT RESTAPI](https://github.com/open-webrtc-toolkit/owt-server/blob/4.3.x/doc/servermd/RESTAPI.md): OWT RESTful API guide.
+[OWT RESTAPI](https://github.com/open-webrtc-toolkit/owt-server/blob/5.1.0/doc/servermd/RESTAPI.md): OWT RESTful API guide.
[JS SDK API](https://github.com/open-webrtc-toolkit/owt-client-javascript/tree/4.3.x/docs): OWT javascript SDK API guide.
diff --git a/doc/test.md b/doc/test.md
index 1d539831e..63b7a82c1 100644
--- a/doc/test.md
+++ b/doc/test.md
@@ -13,6 +13,7 @@
| media-svt | V | V |
| media-srs | V | V |
| media-dev | V | V |
+| media-imtl | V | V |
| analytics-ffmpeg | V | V |
| analytics-gst | V | V |
| analytics-dev | V | V |
@@ -20,21 +21,20 @@
| service-owt-dev | V | - |
| service-owt360 | - | - |
-| Platform: QAT | Ubuntu 20.04 LTS |
-|-----|:---:|
-| media-nginx | V |
-| media-nginx_sw | V |
-| media-dev | V |
-
+| Platform: QAT | Ubuntu 20.04 LTS | Ubuntu 22.04 LTS |
+|-----|:---:|:---:|
+| media-nginx | V | V |
+| media-nginx_sw | V | V |
+| media-dev | V | V |
| Platform: SG1 | Ubuntu 20.04 LTS | Ubuntu 22.04 LTS | CentOS-7 |
|-----|:---:|:---:|:---:|
| media-ffmpeg | V | V | V |
| media-dev | V | V | V |
-| Platform: SG2 | Ubuntu 20.04 LTS | Ubuntu 22.04 LTS |
+| Platform: Flex | Ubuntu 20.04 LTS | Ubuntu 22.04 LTS |
|-----|:---:|:---:|
-| media-gst | V | V |
-| media-dev | V | V |
+| analytics-gst | V | V |
+| analytics-dev | V | V |
| media-ffmpeg | V | V |
| media-dev | V | V |
diff --git a/script/build.sh b/script/build.sh
index e3a2d50a9..90d4b90cf 100644
--- a/script/build.sh
+++ b/script/build.sh
@@ -23,7 +23,7 @@ for m4file in "${DIR}"/*.m4; do
fi
done || true
-if [[ $1 == -n ]]; then
+if [[ $6 == -n ]]; then
exit 0
fi
diff --git a/script/generate_readme.py b/script/generate_readme.py
index 0b915b81b..f2a6bcbcf 100755
--- a/script/generate_readme.py
+++ b/script/generate_readme.py
@@ -5,29 +5,24 @@
import os
import sys
-REPO_LINK = "https://github.com/OpenVisualCloud/Dockerfiles/blob/v21.3/"
+REPO_LINK = "https://github.com/OpenVisualCloud/Dockerfiles/blob/v"+sys.argv[2]+"/"
#Platform to full name
platform_subs = {
"Xeon" : "Xeon® platform",
"QAT" : "QAT platform",
- "SG1": "SG1 platform"
+ "SG1": "SG1 platform",
+ "Flex" : "Flex platform"
}
#When image is based on another OVC image, this is used to find path of inherited image
path_subs = {
- "xeon-centos7-media-ffmpeg" : "Xeon/centos-7/media/ffmpeg/",
"xeon-ubuntu2004-media-ffmpeg" : "Xeon/ubuntu-20.04/media/ffmpeg/",
- "xeon-centos7-media-dev" : "Xeon/centos-7/media/dev/",
+ "xeon-ubuntu2204-media-ffmpeg" : "Xeon/ubuntu-22.04/media/ffmpeg/",
"xeon-ubuntu2004-media-dev" : "Xeon/ubuntu-20.04/media/dev/",
+ "xeon-ubuntu2204-media-dev" : "Xeon/ubuntu-22.04/media/dev/"
}
-#OS subs to their version detail
-os_subs = {
- "centos-7" : "CentOS-7",
- "ubuntu-20.04" : "Ubuntu 20.04"
- }
-
#included components links
included_subs = {
"nginx" : ["[NGINX](https://github.com/OpenVisualCloud/Dockerfiles/blob/master/doc/nginx.md)"],
@@ -40,38 +35,22 @@
"dev" : ["[FFmpeg](https://github.com/OpenVisualCloud/Dockerfiles/blob/master/doc/ffmpeg.md)","[GStreamer](https://github.com/OpenVisualCloud/Dockerfiles/blob/master/doc/gst.md)"]
}
-# License to be included based on m4 templates
-license_subs = {
- "xeon-centos7-media-ffmpeg" : "Xeon/centos-7/media/ffmpeg/",
- "xeon-ubuntu2004-media-ffmpeg" : "Xeon/ubuntu-20.04/media/ffmpeg/",
- "xeon-centos7-media-dev" : "Xeon/centos-7/media/dev/",
- "xeon-ubuntu2004-media-dev" : "Xeon/ubuntu-20.04/media/dev/"
- }
-
#OS subs to their version detail
os_subs = {
"centos-7" : "CentOS-7",
- "ubuntu-20.04" : "Ubuntu 20.04"
+ "ubuntu-20.04" : "Ubuntu 20.04",
+ "ubuntu-22.04" : "Ubuntu 22.04"
}
-#included components links
-included_subs = {
- "nginx" : ["[NGINX](https://github.com/OpenVisualCloud/Dockerfiles/blob/master/doc/nginx.md)"],
- "svt" : ["[SVT](https://github.com/OpenVisualCloud/Dockerfiles/blob/master/doc/svt.md)"],
- "owt" : ["[OWT](https://github.com/OpenVisualCloud/Dockerfiles/blob/master/doc/owt.md)"],
- "owt360" : ["[OWT360](https://github.com/OpenVisualCloud/Dockerfiles/blob/master/doc/owt360.md)"],
- "ffmpeg" : ["[FFmpeg](https://github.com/OpenVisualCloud/Dockerfiles/blob/master/doc/ffmpeg.md)"],
- "gst" : ["[GStreamer](https://github.com/OpenVisualCloud/Dockerfiles/blob/master/doc/gst.md)"],
- "dev" : ["[FFmpeg](https://github.com/OpenVisualCloud/Dockerfiles/blob/master/doc/ffmpeg.md)","[GStreamer](https://github.com/OpenVisualCloud/Dockerfiles/blob/master/doc/gst.md)"]
- }
-
# License to be included based on m4 templates
license_subs = {
"dav1d" : ["|dav1d|BSD 2-clause \"Simplified\" License|"],
"dldt-ie" : ["|OpenVINO|Apache License v2.0|"],
+ "dpdk" : ["|DPDK|BSD-3-Clause|"],
"ffmpeg" : ["|FFmpeg|GNU Lesser General Public License v2.1 or later|"],
"gmmlib" : ["|Intel Graphics Memory Management Library| MIT License|"],
"gmmlib.sg1" : ["|Intel Graphics Memory Management Library| MIT License|"],
+ "gmmlib.flex" : ["|Intel Graphics Memory Management Library| MIT License|"],
"gst-core" : ["|gstreamer|GNU Lesser General Public License v2.1 or later|"],
"gst-plugins-base" : ["|gst plugins base|GNU Lesser General Public License v2.1 or later|"],
"gst-plugins-bad" : ["|gst plugins bad|GNU Lesser General Public License v2.1 or later|"],
@@ -84,6 +63,7 @@
"gst-gva" : ["|gst video analytics|MIT License|"],
"hddl-openvino" : ["|openvino|End User License Agreement for the Intel(R) Software Development Products|"],
"libaom" : ["|Aomedia AV1 Codec Library|BSD 2-clause \"Simplified\" License|"],
+ "imtl" : ["|Intel Media Transport Library|BSD 3-Clause 'New' or 'Revised' License|"],
"libdrm" : ["|libdrm|MIT license|"],
"libjsonc" : ["|json-c|MIT License|"],
"libnice014" : ["|libnice|GNU Lesser General Public License|"],
@@ -95,6 +75,8 @@
"libsrtp2" : ["|libsrtp2|BSD 3-clause License|"],
"libva2" : ["|Intel libva| MIT License"],
"libva2.sg1" : ["|Intel libva| MIT License"],
+ "libva2.flex" : ["|Intel libva| MIT License"],
+ "libva-utils.flex" : ["|Intel libva| MIT License"],
"libvorbis" : ["|libvorbis|BSD 3-clause \"New\" or \"Revised\" License|"],
"libvpx" : ["|libvpx|BSD 3-clause \"New\" or \"Revised\" License|"],
"libx264" : ["|x264|GNU General Public License v2.0 or later|"],
@@ -102,12 +84,16 @@
"libvmaf" : ["|libvmaf|BSD-2-Clause Plus Patent License|"],
"media-driver" : ["|Intel media driver | MIT License|"],
"media-driver.sg1" : ["|Intel media driver | MIT License|"],
+ "media-driver.flex" : ["|Intel media driver | MIT License|"],
+ "media-driver-pkg.flex" : ["|Intel media driver | MIT License|"],
"msdk" : ["|Intel media SDK|MIT License|"],
"msdk.sg1" : ["|Intel media SDK|MIT License|"],
"nginx-flv" : ["|nginx http flv|BSD 2-clause \"Simplified\" License|"],
"nginx" : ["|nginx|BSD 2-clause \"Simplified\" License|"],
"nginx-upload" : ["|nginx upload module|BSD 3-clause \"Simplified\" License|"],
"nodetools" : ["|nodejs| MIT Open Source License|"],
+ "onevpl-atsm": ["|Intel oneVPL GPU Runtime | MIT License|"],
+ "onevpl-dispatch": ["|Intel Video Processing Library | MIT License|"],
"opencl" : ["|Intel opencl | MIT License|"],
"opencv" : ["|OpenCV|BSD 3-clause \"New\" or \"Revised\" License|"],
"openssl" : ["|OpenSSL|Apache License 2.0|"],
@@ -147,7 +133,7 @@ def parse_ingredients(path):
#method that generates URL placeholder for link to DOckerfiles
def url_generator(local_path, image_name, image_type, image_os, image_platform):
- url = ' - ['+image_platform.lower()+'-'+image_os.lower().replace('.','')+'-'+image_type.lower()+'-'+image_name.lower()+']('+REPO_LINK+local_path.split('Dockerfiles/')[1]+'/Dockerfile'+')'
+ url = ' - ['+image_platform.lower()+'-'+image_os.lower().replace('.','')+'-'+image_type.lower()+'-'+image_name.lower()+']('+REPO_LINK+local_path.split('dockerfiles/')[1]+'/Dockerfile'+')'
return url
# Generate links to docs of included components
@@ -275,6 +261,8 @@ def create_readme(path, path_components):
my_file.write("Included what are in FFmpeg or GStreamer media creation and delivery images . ")
if image_platform=="SG1":
my_file.write("Also included Intel hardware accelaration software stack such as media SDK, media driver, gmmlib and libva. ")
+ if image_platform=="Flex":
+ my_file.write("Also included Intel hardware accelaration software stack such as media SDK, media driver, gmmlib and libva. ")
my_file.write("The docker image can be used in the FROM field of a downstream Dockerfile. ")
elif image_type=="analytics":
my_file.write("Optimized for Media Analytics. ")
@@ -301,8 +289,12 @@ def create_readme(path, path_components):
my_file.write("Image with SVT (Scalable Video Technology) Encoder and decoders. Ready to use SVT apps to try AV1, HEVC, VP9 transcoders. ")
if image_name=="srs":
my_file.write("Image with SRS high efficiency, stable and simple RTMP/HLS/FLV streaming cluster. ")
+ if image_name=="imtl":
+ my_file.write("Image with IMTL for transmitting and receiving media data with high throughput and low latency. ")
if image_platform=="SG1":
my_file.write("Also included Intel hardware accelaration software stack such as media SDK, media driver, gmmlib and libva. ")
+ if image_platform=="Flex":
+ my_file.write("Also included Intel hardware accelaration software stack such as media SDK, media driver, gmmlib and libva. ")
my_file.write("The docker image can be used in the FROM field of a downstream Dockerfile. ")
elif image_type=="service":
my_file.write("Optimized for video conferencing service based on the WebRTC technology and Open WebRTC Toolkit (OWT). ")
@@ -326,4 +318,4 @@ def create_readme(path, path_components):
path=sys.argv[1]
path1=path.split('/')
-create_readme(path, parse_ingredients(path))
+create_readme(path, parse_ingredients(path))
\ No newline at end of file
diff --git a/script/image.cmake b/script/image.cmake
index aefebcc08..ef432c0a0 100644
--- a/script/image.cmake
+++ b/script/image.cmake
@@ -4,10 +4,10 @@ if(dep_image)
endif()
add_custom_target(shell_${image} "${CMAKE_CURRENT_SOURCE_DIR}/shell.sh" ${DOCKER_PREFIX})
-add_custom_target(update_${image}_dockerfile COMMAND "${CMAKE_CURRENT_SOURCE_DIR}/build.sh" -n ${OS_NAME} ${OS_VERSION} ${BUILD_FDKAAC} ${DOCKER_PREFIX})
+add_custom_target(update_${image}_dockerfile COMMAND "${CMAKE_CURRENT_SOURCE_DIR}/build.sh" ${BUILD_VERSION} ${OS_NAME} ${OS_VERSION} ${BUILD_FDKAAC} ${DOCKER_PREFIX} -n)
add_dependencies(update_dockerfile update_${image}_dockerfile)
-add_custom_target(generate_${image}_readme COMMAND "${CMAKE_SOURCE_DIR}/script/generate_readme.py" "${CMAKE_CURRENT_SOURCE_DIR}")
+add_custom_target(generate_${image}_readme COMMAND "${CMAKE_SOURCE_DIR}/script/generate_readme.py" "${CMAKE_CURRENT_SOURCE_DIR}" "${BUILD_VERSION}")
add_dependencies(generate_readme generate_${image}_readme)
add_custom_target(upload_${image}_readme COMMAND "${CMAKE_SOURCE_DIR}/script/upload-dockerhub-readme.sh" ${DOCKER_PREFIX} "${CMAKE_CURRENT_SOURCE_DIR}/README.md")
diff --git a/script/imtl-tests.cmake b/script/imtl-tests.cmake
new file mode 100644
index 000000000..5ce2bb4e7
--- /dev/null
+++ b/script/imtl-tests.cmake
@@ -0,0 +1,5 @@
+file(GLOB tests "${DockerFiles_SOURCE_DIR}/test/imtl_*.sh")
+foreach(test ${tests})
+ get_filename_component(name ${test} NAME_WE)
+ add_test(test_${image}_${name} "${CMAKE_CURRENT_SOURCE_DIR}/shell.sh" "/mnt/${name}.sh" "${image}")
+endforeach()
diff --git a/script/shell.sh b/script/shell.sh
index 95bccdc13..5113f0504 100644
--- a/script/shell.sh
+++ b/script/shell.sh
@@ -19,4 +19,8 @@ if [[ $IMAGE == *analytics* ]] || [[ $IMAGE == *nginx* ]]; then
HOST_NETWORK="--network=host $HOST_NETWORK"
fi
-docker run $DEVICE_DIR --rm $HOST_NETWORK -v "${TEST}:/mnt:ro" $(env | cut -f1 -d= | grep -E '_(proxy|REPO|VER)$' | sed 's/^/-e /') $(grep '^ARG .*=' "${DIR}/Dockerfile" | sed 's/^ARG \([^=]*\)=.*/-e \1/') $DOCKER_IT "${DOCKER_PREFIX}/${IMAGE}" "${@:-/bin/bash}"
+if [[ $IMAGE == *imtl* ]]; then
+ HOST_MOUNT="--privileged -v /dev/vfio:/dev/vfio -v /usr/lib/firmware/intel/ice/ddp:/usr/lib/firmware/intel/ice/ddp -v /usr/lib/firmware/updates/intel/ice/ddp:/usr/lib/firmware/updates/intel/ice/ddp -v /lib/modules:/lib/modules $HOST_MOUNT"
+fi
+
+docker run $DEVICE_DIR --rm $HOST_NETWORK $HOST_MOUNT -v "${TEST}:/mnt:ro" $(env | cut -f1 -d= | grep -E '_(proxy|REPO|VER)$' | sed 's/^/-e /') $(grep '^ARG .*=' "${DIR}/Dockerfile" | sed 's/^ARG \([^=]*\)=.*/-e \1/') $DOCKER_IT "${DOCKER_PREFIX}/${IMAGE}" "${@:-/bin/bash}"
diff --git a/security.md b/security.md
new file mode 100644
index 000000000..1000e3bb4
--- /dev/null
+++ b/security.md
@@ -0,0 +1,7 @@
+# Security Policy
+
+Intel is committed to rapidly addressing security vulnerabilities affecting our customers and providing clear guidance on the solution, impact, severity and mitigation.
+
+## Reporting a Vulnerability
+
+Please report any security vulnerabilities in this project utilizing the guidelines [here](https://www.intel.com/content/www/us/en/security-center/vulnerability-handling-guidelines.html).
diff --git a/template/components/boost.m4 b/template/components/boost.m4
index 600e91481..debdfee97 100644
--- a/template/components/boost.m4
+++ b/template/components/boost.m4
@@ -44,6 +44,7 @@ define(`BOOST_BUILD_DEPS',`python-dev')
define(`BUILD_BOOST',`
# build boost
ARG BOOST_REPO=https://boostorg.jfrog.io/artifactory/main/release/BOOST_VER/source/BOOST_VER_UNDSCR.tar.bz2
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd BUILD_HOME && \
wget -O - ${BOOST_REPO} | tar jx
RUN cd BUILD_HOME/BOOST_VER_UNDSCR && \
diff --git a/template/components/cmake.m4 b/template/components/cmake.m4
index 269734644..16581ee99 100644
--- a/template/components/cmake.m4
+++ b/template/components/cmake.m4
@@ -43,11 +43,12 @@ define(`CMAKE_BUILD_DEPS',`wget gcc-c++ make libcurl-devel zlib-devel')
define(`BUILD_CMAKE',`
# build cmake
ARG CMAKE_REPO=https://cmake.org/files
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd BUILD_HOME && \
wget -O - ${CMAKE_REPO}/v`'patsubst(CMAKE_VER,`.[0-9]$')/cmake-CMAKE_VER.tar.gz | tar xz && \
cd cmake-CMAKE_VER && \
./bootstrap --prefix=BUILD_PREFIX --system-curl && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install
')
diff --git a/template/components/dav1d.m4 b/template/components/dav1d.m4
index 9a084f2b0..b2ee394dd 100644
--- a/template/components/dav1d.m4
+++ b/template/components/dav1d.m4
@@ -45,6 +45,7 @@ define(`DAV1D_BUILD_DEPS',`ifdef(`BUILD_MESON',,meson) wget tar gcc-c++')
define(`BUILD_DAV1D',`
# build dav1d
ARG DAV1D_REPO=https://code.videolan.org/videolan/dav1d/-/archive/DAV1D_VER/dav1d-DAV1D_VER.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd BUILD_HOME && \
wget -O - ${DAV1D_REPO} | tar xz
RUN cd BUILD_HOME/dav1d-DAV1D_VER && \
diff --git a/template/components/dldt-ie.m4 b/template/components/dldt-ie.m4
index 0d324acf7..fb9452bb0 100644
--- a/template/components/dldt-ie.m4
+++ b/template/components/dldt-ie.m4
@@ -40,7 +40,7 @@ define(`DLDT_INSTALL_DEPS',`libgtk-3-0 libnuma1 ocl-icd-libopencl1')
')
ifelse(OS_NAME,centos,`
-define(`DLDT_BUILD_DEPS',`ifdef(`BUILD_CMAKE',,cmake3) gcc gcc-g++ git boost-devel gtk2-devel gtk3-devel libtool libusb-devel make python python2-yamlordereddictloader xz numactl-devel ocl-icd-devel opencl-headers')
+define(`DLDT_BUILD_DEPS',`ifdef(`BUILD_CMAKE',,cmake3) gcc gcc-g++ git boost-devel gtk2-devel gtk3-devel libtool libusb-devel make python3 python2-yamlordereddictloader xz numactl-devel ocl-icd-devel opencl-headers')
define(`DLDT_INSTALL_DEPS',`gtk3 numactl ocl-icd')
')
@@ -75,7 +75,7 @@ RUN cd BUILD_HOME/openvino && \
-DBUILD_TESTS=OFF \
-DTREAT_WARNING_AS_ERROR=ifelse(DLDT_WARNING_AS_ERRORS,false,OFF,ON) \
.. && \
- make -j $(nproc) && \
+ make -j "$(nproc)" && \
make install && \
make install DESTDIR=BUILD_DESTDIR ifelse(OS_NAME:OS_VERSION,centos:7,` )')
@@ -103,17 +103,18 @@ ENV ngraph_DIR=BUILD_PREFIX/openvino/runtime/cmake/
ENV LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:BUILD_PREFIX/openvino/runtime/lib/:BUILD_PREFIX/openvino/runtime/3rdparty/tbb/lib/
')
-define(`FFMPEG_PATCH_ANALYTICS',
+define(`FFMPEG_PATCH_ANALYTICS',`
ARG FFMPEG_MA_RELEASE_VER=0.5
ARG FFMPEG_MA_RELEASE_URL=https://github.com/VCDP/FFmpeg-patch/archive/v${FFMPEG_MA_RELEASE_VER}.tar.gz
ARG FFMPEG_MA_PATH=BUILD_HOME/FFmpeg-patch-${FFMPEG_MA_RELEASE_VER}
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd BUILD_HOME && wget -O - ${FFMPEG_MA_RELEASE_URL} | tar xz
RUN cp ${FFMPEG_MA_PATH}/docker/patch/opencv.pc BUILD_LIBDIR/pkgconfig
ARG CVDEF_H=/usr/local/include/opencv4/opencv2/core/cvdef.h
RUN if [ -f "${CVDEF_H}" ]; then cp ${FFMPEG_MA_PATH}/docker/patch/cvdef.h ${CVDEF_H}; fi
RUN cd $1 && \
find ${FFMPEG_MA_PATH}/patches -type f -name '*.patch' -print0 | sort -z | xargs -t -0 -n 1 patch -p1 -i;
-)
+')
define(`CLEANUP_DLDT',`dnl
ifelse(CLEANUP_CC,yes,`dnl
diff --git a/template/components/dpdk.m4 b/template/components/dpdk.m4
new file mode 100644
index 000000000..980183680
--- /dev/null
+++ b/template/components/dpdk.m4
@@ -0,0 +1,59 @@
+dnl BSD 3-Clause License
+dnl
+dnl Copyright (c) 2023, Intel Corporation
+dnl All rights reserved.
+dnl
+dnl Redistribution and use in source and binary forms, with or without
+dnl modification, are permitted provided that the following conditions are met:
+dnl
+dnl * Redistributions of source code must retain the above copyright notice, this
+dnl list of conditions and the following disclaimer.
+dnl
+dnl * Redistributions in binary form must reproduce the above copyright notice,
+dnl this list of conditions and the following disclaimer in the documentation
+dnl and/or other materials provided with the distribution.
+dnl
+dnl * Neither the name of the copyright holder nor the names of its
+dnl contributors may be used to endorse or promote products derived from
+dnl this software without specific prior written permission.
+dnl
+dnl THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+dnl AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+dnl IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+dnl DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+dnl FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+dnl DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+dnl SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+dnl CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+dnl OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+dnl OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+dnl
+include(begin.m4)
+
+DECLARE(`DPDK_VER',v22.11)
+
+ifelse(OS_NAME,ubuntu,`
+define(`DPDK_BUILD_DEPS',`sudo git g++ wget meson kmod ffmpeg unzip python3 python3-pip pkg-config libnuma-dev libjson-c-dev libpcap-dev libgtest-dev libsdl2-dev libsdl2-ttf-dev libssl-dev python3-pyelftools ninja-build pciutils iproute2')
+define(`DPDK_INSTALL_DEPS',`libnuma1 pciutils iproute2 libpcap0.8 libatomic1 kmod')
+')
+
+define(`BUILD_DPDK',`
+# build DPDK
+ARG DPDK_REPO=https://github.com/DPDK/dpdk.git
+RUN cd BUILD_HOME && \
+ git clone ${DPDK_REPO} && \
+ cd dpdk && \
+ git checkout DPDK_VER && \
+ meson build --prefix=BUILD_PREFIX --libdir=BUILD_LIBDIR && \
+ ninja -C build && \
+ cd build && \
+ ninja install && \
+ pkg-config --cflags libdpdk && \
+ pkg-config --libs libdpdk && \
+ pkg-config --modversion libdpdk
+
+')
+
+REG(DPDK)
+
+include(end.m4)dnl
diff --git a/template/components/ffmpeg.m4 b/template/components/ffmpeg.m4
index 231278370..715a7dd28 100644
--- a/template/components/ffmpeg.m4
+++ b/template/components/ffmpeg.m4
@@ -69,7 +69,7 @@ ARG FFMPEG_REPO=https://github.com/FFmpeg/FFmpeg
RUN cd BUILD_HOME && \
git clone ${FFMPEG_REPO} && \
cd FFmpeg && \
- git checkout ifelse(index(IMAGE,`sg2'),-1,`FFMPEG_VER',`FFMPEG_SHA')
+ git checkout ifelse(index(IMAGE,`flex'),-1,`FFMPEG_VER',`FFMPEG_SHA')
#ifdef(`BUILD_SVT_HEVC',`FFMPEG_PATCH_SVT_HEVC(BUILD_HOME/FFmpeg-FFMPEG_VER)')dnl
ifdef(`BUILD_SVT_HEVC',`FFMPEG_PATCH_SVT_HEVC(BUILD_HOME/FFmpeg)')dnl
@@ -88,7 +88,7 @@ RUN cd BUILD_HOME/FFmpeg && \
')dnl
-ifelse(index(IMAGE,`sg2'),-1,,ifelse(FFMPEG_1TN_PATCH,true,
+ifelse(index(IMAGE,`flex'),-1,,ifelse(FFMPEG_1TN_PATCH,true,
ARG FFMPEG_1TN_PATCH_REPO=https://github.com/spawlows/FFmpeg/commit/6e747101f5fc0c4fb56a178c8ba24fcee4917139.patch
#RUN cd BUILD_HOME/FFmpeg-FFMPEG_VER && \
RUN cd BUILD_HOME/FFmpeg && \
@@ -109,7 +109,7 @@ RUN cd BUILD_HOME/FFmpeg && \
ifelse(FFMPEG_ENABLE_LIBMFX,true,--enable-libmfx )dnl
ifelse(FFMPEG_ENABLE_VAAPI,true,--enable-vaapi ,--disable-vaapi )dnl
ifelse(FFMPEG_ENABLE_V4L2,true,--enable-libv4l2 --enable-indev=v4l2 )dnl
- ifdef(`BUILD_OPENSSL',ifelse(FFMPEG_OPENSSL_NOBIND,true,,`--enable-openssl --extra-ldflags=-Wl`,'-rpath=BUILD_PREFIX/ssl/lib '))dnl
+ ifdef(`BUILD_OPENSSL',ifelse(FFMPEG_OPENSSL_NOBIND,true,,`--enable-openssl --extra-ldflags=-Wl`,'-rpath=BUILD_PREFIX/ssl/lib64 '))dnl
ifdef(`BUILD_LIBFDKAAC',--enable-libfdk-aac )dnl
ifdef(`BUILD_LIBOPUS',--enable-libopus )dnl
ifdef(`BUILD_LIBVPX',--enable-libvpx ,--disable-libvpx )dnl
@@ -117,16 +117,16 @@ RUN cd BUILD_HOME/FFmpeg && \
ifdef(`BUILD_LIBX264',--enable-gpl --enable-libx264 )dnl
ifdef(`BUILD_LIBX265',--enable-gpl --enable-libx265 )dnl
ifdef(`BUILD_SVT_AV1',--enable-libsvtav1 )dnl
- ifelse(index(IMAGE,`sg2'),-1,ifdef(`BUILD_SVT_HEVC',--enable-libsvthevc ))dnl
+ ifelse(index(IMAGE,`flex'),-1,ifdef(`BUILD_SVT_HEVC',--enable-libsvthevc ))dnl
ifdef(`BUILD_LIBAOM',--enable-libaom )dnl
ifdef(`BUILD_LIBVMAF',--enable-libvmaf --enable-version3 )dnl
ifdef(`BUILD_DAV1D',--enable-libdav1d )dnl
ifdef(`BUILD_ONEVPL_DISP',--enable-libvpl )dnl
- && make -j$(nproc) && \
+ && make -j"$(nproc)" && \
make install DESTDIR=BUILD_DESTDIR && \
make install
ifdef(`REBUILD_OPENCV_VIDEOIO',`dnl
-ifelse(index(IMAGE,`sg2'),-1,`
+ifelse(index(IMAGE,`flex'),-1,`
#REBUILD_OPENCV_VIDEOIO()dnl
')dnl
')dnl
diff --git a/template/components/gmmlib.sg2.m4 b/template/components/gmmlib.flex.m4
similarity index 97%
rename from template/components/gmmlib.sg2.m4
rename to template/components/gmmlib.flex.m4
index dc88cefc2..4a3e08bcf 100644
--- a/template/components/gmmlib.sg2.m4
+++ b/template/components/gmmlib.flex.m4
@@ -44,11 +44,12 @@ define(`GMMLIB_BUILD_DEPS',`ifdef(`BUILD_CMAKE',,cmake) gcc-c++ make wget')
define(`BUILD_GMMLIB',`
# build gmmlib
ARG GMMLIB_REPO=GMMLIB_SRC_REPO
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd BUILD_HOME && \
wget -O - ${GMMLIB_REPO} | tar xz
RUN cd BUILD_HOME/gmmlib-GMMLIB_VER && mkdir build && cd build && \
cmake -DCMAKE_INSTALL_PREFIX=BUILD_PREFIX -DCMAKE_INSTALL_LIBDIR=BUILD_LIBDIR .. && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=BUILD_DESTDIR && \
make install
')
diff --git a/template/components/gmmlib.m4 b/template/components/gmmlib.m4
index 718442d5f..16459e7b3 100644
--- a/template/components/gmmlib.m4
+++ b/template/components/gmmlib.m4
@@ -44,11 +44,12 @@ define(`GMMLIB_BUILD_DEPS',`ifdef(`BUILD_CMAKE',,cmake) gcc-c++ make wget')
define(`BUILD_GMMLIB',`
# build gmmlib
ARG GMMLIB_REPO=GMMLIB_SRC_REPO
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd BUILD_HOME && \
wget -O - ${GMMLIB_REPO} | tar xz
RUN cd BUILD_HOME/gmmlib-GMMLIB_VER && mkdir build && cd build && \
cmake -DCMAKE_INSTALL_PREFIX=BUILD_PREFIX -DCMAKE_INSTALL_LIBDIR=BUILD_LIBDIR .. && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=BUILD_DESTDIR && \
make install
')
diff --git a/template/components/gst-core.m4 b/template/components/gst-core.m4
index c45005436..e355a7684 100644
--- a/template/components/gst-core.m4
+++ b/template/components/gst-core.m4
@@ -45,6 +45,7 @@ define(`GSTCORE_INSTALL_DEPS',`glib2 gobject-introspection')
define(`BUILD_GSTCORE',`
# build gst-core
ARG GSTCORE_REPO=https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-GSTCORE_VER.tar.xz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd BUILD_HOME && \
wget -O - ${GSTCORE_REPO} | tar xJ
RUN cd BUILD_HOME/gstreamer-GSTCORE_VER && \
diff --git a/template/components/gst-gva.m4 b/template/components/gst-gva.m4
index ef522a407..1977036cb 100644
--- a/template/components/gst-gva.m4
+++ b/template/components/gst-gva.m4
@@ -78,7 +78,7 @@ RUN git clone -b GVA_VER $GVA_REPO BUILD_HOME/gst-video-analytics && \
-DENABLE_AUDIO_INFERENCE_ELEMENTS=GVA_ENABLE_AUDIO_INFERENCE_ELEMENTS \
-DTREAT_WARNING_AS_ERROR=GVA_ENABLE_WARNING_AS_ERRORS \
.. \
- && make -j $(nproc) \
+ && make -j "$(nproc)" \
&& make install \
&& make install DESTDIR=BUILD_DESTDIR ifelse(OS_NAME:OS_VERSION,centos:7,` )')
diff --git a/template/components/gst-libav.m4 b/template/components/gst-libav.m4
index 75c4c03a0..cecf35422 100644
--- a/template/components/gst-libav.m4
+++ b/template/components/gst-libav.m4
@@ -44,6 +44,7 @@ define(`GSTLIBAV_BUILD_DEPS',`wget tar gcc-c++ ifdef(`BUILD_MESON',,meson)')
define(`BUILD_GSTLIBAV',`
# build gst-plugin-libav
ARG GSTLIBAV_REPO=https://gstreamer.freedesktop.org/src/gst-libav/gst-libav-GSTCORE_VER.tar.xz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd BUILD_HOME && \
wget -O - ${GSTLIBAV_REPO} | tar xJ
RUN cd BUILD_HOME/gst-libav-GSTCORE_VER && \
diff --git a/template/components/gst-orc.m4 b/template/components/gst-orc.m4
index d3d13ad9d..a15020404 100644
--- a/template/components/gst-orc.m4
+++ b/template/components/gst-orc.m4
@@ -43,6 +43,7 @@ define(`GSTORC_BUILD_DEPS',`wget tar gcc-c++ ifdef(`BUILD_MESON',,meson)')
define(`BUILD_GSTORC',`
# build gst-plugin-orc
ARG GSTORC_REPO=https://github.com/GStreamer/orc/archive/GST_ORC_VER.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd BUILD_HOME && \
wget -O - ${GSTORC_REPO} | tar xz
RUN cd BUILD_HOME/orc-GST_ORC_VER && \
diff --git a/template/components/gst-plugins-bad.m4 b/template/components/gst-plugins-bad.m4
index 3298ef4a8..288d70f2c 100644
--- a/template/components/gst-plugins-bad.m4
+++ b/template/components/gst-plugins-bad.m4
@@ -62,6 +62,7 @@ define(`GSTBAD_INSTALL_DEPS',`glib2 gobject-introspection ifelse(GST_CURLUSESSL,
define(`BUILD_GSTBAD',`
# build gst-plugin-bad
ARG GSTBAD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-GSTCORE_VER.tar.xz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd BUILD_HOME && \
wget -O - ${GSTBAD_REPO} | tar xJ && \
cd gst-plugins-bad-GSTCORE_VER && \
diff --git a/template/components/gst-plugins-base.m4 b/template/components/gst-plugins-base.m4
index a07205547..05f0b7773 100644
--- a/template/components/gst-plugins-base.m4
+++ b/template/components/gst-plugins-base.m4
@@ -58,6 +58,7 @@ define(`GSTBASE_INSTALL_DEPS',`glib2 mesa-libEGL gobject-introspection ifelse(GS
define(`BUILD_GSTBASE',`
# build gst-plugin-base
ARG GSTBASE_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-GSTCORE_VER.tar.xz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd BUILD_HOME && \
wget -O - ${GSTBASE_REPO} | tar xJ
RUN cd BUILD_HOME/gst-plugins-base-GSTCORE_VER && \
diff --git a/template/components/gst-plugins-good.m4 b/template/components/gst-plugins-good.m4
index 3774e281c..4d133b906 100644
--- a/template/components/gst-plugins-good.m4
+++ b/template/components/gst-plugins-good.m4
@@ -62,6 +62,7 @@ define(`GSTGOOD_INSTALL_DEPS',`glib2 ifelse(GST_XLIB,true,libX11 libXv libXt) if
define(`BUILD_GSTGOOD',`
# build gst-plugin-good
ARG GSTGOOD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-GSTCORE_VER.tar.xz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd BUILD_HOME && \
wget -O - ${GSTGOOD_REPO} | tar xJ
RUN cd BUILD_HOME/gst-plugins-good-GSTCORE_VER && \
diff --git a/template/components/gst-plugins-ugly.m4 b/template/components/gst-plugins-ugly.m4
index 2552638a3..a96bcb86c 100644
--- a/template/components/gst-plugins-ugly.m4
+++ b/template/components/gst-plugins-ugly.m4
@@ -57,6 +57,7 @@ define(`GSTUGLY_INSTALL_DEPS',`glib2')
define(`BUILD_GSTUGLY',`
# build gst-plugin-ugly
ARG GSTUGLY_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-GSTCORE_VER.tar.xz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd BUILD_HOME && \
wget -O - ${GSTUGLY_REPO} | tar xJ
RUN cd BUILD_HOME/gst-plugins-ugly-GSTCORE_VER && \
diff --git a/template/components/gst-python.m4 b/template/components/gst-python.m4
index 18a9c46ee..0d0feed2c 100644
--- a/template/components/gst-python.m4
+++ b/template/components/gst-python.m4
@@ -42,6 +42,7 @@ ifelse(OS_NAME,centos,dnl
define(`BUILD_GSTPYTHON',
ARG GSTPYTHON_REPO=https://gstreamer.freedesktop.org/src/gst-python/gst-python-GSTCORE_VER.tar.xz
+`SHELL ["/bin/bash", "-o", "pipefail", "-c"]'
RUN cd BUILD_HOME && \
wget -O - ${GSTPYTHON_REPO} | tar xJ
RUN cd BUILD_HOME/gst-python-GSTCORE_VER && \
diff --git a/template/components/gst-vaapi.m4 b/template/components/gst-vaapi.m4
index fb5677827..2b25ff9bc 100644
--- a/template/components/gst-vaapi.m4
+++ b/template/components/gst-vaapi.m4
@@ -50,6 +50,7 @@ ARG GST_PLUGIN_VAAPI_REPO_VIDEO_ANALYTICS=https://github.com/dlstreamer/dlstream
# build gst-plugin-vaapi
ARG GSTVAAPI_REPO=https://gstreamer.freedesktop.org/src/gstreamer-vaapi/gstreamer-vaapi-GSTCORE_VER.tar.xz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd BUILD_HOME && \
wget -O - ${GSTVAAPI_REPO} | tar xJ
diff --git a/template/components/imtl.m4 b/template/components/imtl.m4
new file mode 100644
index 000000000..0a404b1d2
--- /dev/null
+++ b/template/components/imtl.m4
@@ -0,0 +1,103 @@
+dnl BSD 3-Clause License
+dnl
+dnl Copyright (c) 2023, Intel Corporation
+dnl All rights reserved.
+dnl
+dnl Redistribution and use in source and binary forms, with or without
+dnl modification, are permitted provided that the following conditions are met:
+dnl
+dnl * Redistributions of source code must retain the above copyright notice, this
+dnl list of conditions and the following disclaimer.
+dnl
+dnl * Redistributions in binary form must reproduce the above copyright notice,
+dnl this list of conditions and the following disclaimer in the documentation
+dnl and/or other materials provided with the distribution.
+dnl
+dnl * Neither the name of the copyright holder nor the names of its
+dnl contributors may be used to endorse or promote products derived from
+dnl this software without specific prior written permission.
+dnl
+dnl THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+dnl AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+dnl IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+dnl DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+dnl FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+dnl DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+dnl SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+dnl CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+dnl OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+dnl OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+dnl
+include(begin.m4)
+
+ifelse(OS_NAME,ubuntu,`
+define(`IMTL_BUILD_DEPS',`sudo git g++ wget meson kmod ffmpeg unzip python3 python3-pip pkg-config libnuma-dev libjson-c-dev libpcap-dev libgtest-dev libsdl2-dev libsdl2-ttf-dev libssl-dev python3-pyelftools ninja-build pciutils iproute2')
+define(`IMTL_INSTALL_DEPS',`libnuma1 pciutils iproute2 libpcap0.8 libatomic1 kmod libsdl2-2.0-0 libsdl2-ttf-2.0-0 libstdc++6')
+')
+
+define(`BUILD_IMTL',`
+# build imtl
+ARG DPDK_VERSION=22.11
+ARG IMTL_VER=23.04
+ARG DPDK_REPO=https://github.com/DPDK/dpdk.git
+ARG IMTL_REPO=https://github.com/OpenVisualCloud/Media-Transport-Library/archive/refs/tags/v${IMTL_VER}.tar.gz
+ARG DPDK_ST_KAHAWAI=BUILD_HOME/Media-Transport-Library-${IMTL_VER}
+ARG LIB_BUILD_DIR=${DPDK_ST_KAHAWAI}/build
+ARG APP_BUILD_DIR=${DPDK_ST_KAHAWAI}/build/app
+ARG TEST_BUILD_DIR=${DPDK_ST_KAHAWAI}/build/tests
+ARG PLUGINS_BUILD_DIR=${DPDK_ST_KAHAWAI}/build/plugins
+ARG LD_PRELOAD_BUILD_DIR=${DPDK_ST_KAHAWAI}/build/ld_preload
+ENV PKG_CONFIG_PATH=${PKG_CONFIG_PATH}:BUILD_PREFIX/lib/pkgconfig
+ENV LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:BUILD_PREFIX/lib
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
+RUN cd BUILD_HOME && \
+ rm -rf dpdk && \
+ git clone ${DPDK_REPO} && \
+ wget -O - ${IMTL_REPO} | tar xz && \
+ cd dpdk && \
+ git checkout v${DPDK_VERSION} && \
+ git switch -c v${DPDK_VERSION} && \
+ git config --global user.email "you@example.com" && \
+ git config --global user.name "Your Name" && \
+ git am ${DPDK_ST_KAHAWAI}/patches/dpdk/${DPDK_VERSION}/*.patch && \
+ meson build --prefix=BUILD_PREFIX --libdir=BUILD_LIBDIR && \
+ ninja -C build && \
+ cd build && \
+ ninja install && \
+ pkg-config --cflags libdpdk && \
+ pkg-config --libs libdpdk && \
+ pkg-config --modversion libdpdk && \
+ cd ${DPDK_ST_KAHAWAI} && \
+ meson ${LIB_BUILD_DIR} --prefix=BUILD_PREFIX --libdir=BUILD_LIBDIR && \
+ cd ${LIB_BUILD_DIR} && \
+ ninja && \
+ ninja install && \
+ cd ${DPDK_ST_KAHAWAI}/app && \
+ meson ${APP_BUILD_DIR} --prefix=BUILD_PREFIX --libdir=BUILD_LIBDIR && \
+ cd ${APP_BUILD_DIR} && \
+ ninja && \
+ cd ${DPDK_ST_KAHAWAI}/tests && \
+ meson ${TEST_BUILD_DIR} --prefix=BUILD_PREFIX --libdir=BUILD_LIBDIR && \
+ cd ${TEST_BUILD_DIR} && \
+ ninja && \
+ cd ${DPDK_ST_KAHAWAI}/plugins/ && \
+ meson ${PLUGINS_BUILD_DIR} --prefix=BUILD_PREFIX --libdir=BUILD_LIBDIR && \
+ cd ${PLUGINS_BUILD_DIR} && \
+ ninja && \
+ ninja install && \
+ cd ${DPDK_ST_KAHAWAI}/ld_preload && \
+ meson ${LD_PRELOAD_BUILD_DIR} --prefix=BUILD_PREFIX --libdir=BUILD_LIBDIR && \
+ cd ${LD_PRELOAD_BUILD_DIR} && \
+ ninja && \
+ ninja install && \
+ mkdir -p BUILD_DESTDIR/home/imtl && \
+ cp -r ${DPDK_ST_KAHAWAI}/config ${APP_BUILD_DIR} && \
+ cp -r ${APP_BUILD_DIR} ${TEST_BUILD_DIR} BUILD_DESTDIR/home/imtl && \
+ mkdir -p BUILD_DESTDIR/usr/local && \
+ cp -r BUILD_PREFIX/bin BUILD_PREFIX/lib BUILD_DESTDIR/usr/local
+
+')
+
+REG(IMTL)
+
+include(end.m4)dnl
diff --git a/template/components/intel-gfx.m4 b/template/components/intel-gfx.m4
index 6c01d2ef2..aef1a1c5f 100644
--- a/template/components/intel-gfx.m4
+++ b/template/components/intel-gfx.m4
@@ -38,6 +38,7 @@ pushdef(`_install_ubuntu',`dnl
pushdef(`_tmp',`ifelse($1,`',UBUNTU_CODENAME(OS_VERSION),UBUNTU_CODENAME(OS_VERSION)-$1)')dnl
INSTALL_PKGS(PKGS(ca-certificates gpg-agent software-properties-common wget))
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN wget -qO - INTEL_GFX_URL/intel-graphics.key | gpg --dearmor --output /usr/share/keyrings/intel-graphics.gpg
RUN echo "deb [arch=amd64 signed-by=/usr/share/keyrings/intel-graphics.gpg] https://repositories.intel.com/graphics/ubuntu ifelse(OS_VERSION,20.04,focal,jammy) nahi" | tee /etc/apt/sources.list.d/intel.gpu.focal.list
diff --git a/template/components/ipsecmb.m4 b/template/components/ipsecmb.m4
index 2a4927339..ea704e7c2 100644
--- a/template/components/ipsecmb.m4
+++ b/template/components/ipsecmb.m4
@@ -45,7 +45,7 @@ ARG IPSECMB_REPO=https://github.com/intel/intel-ipsec-mb.git
RUN cd BUILD_HOME && \
git clone -b IPSECMB_VER ${IPSECMB_REPO} && \
cd intel-ipsec-mb && \
- ifelse(OS_NAME:OS_VERSION,centos:7,`(. /opt/rh/devtoolset-9/enable && ') CFLAGS="-Wl,-rpath=BUILD_PREFIX/ssl/lib" make -j SAFE_DATA=y SAFE_PARAM=y SAFE_LOOKUP=y ifelse(OS_NAME:OS_VERSION,centos:7,`) ') && \
+ ifelse(OS_NAME:OS_VERSION,centos:7,`(. /opt/rh/devtoolset-9/enable && ') CFLAGS="-Wl,-rpath=BUILD_PREFIX/ssl/lib64" make -j SAFE_DATA=y SAFE_PARAM=y SAFE_LOOKUP=y ifelse(OS_NAME:OS_VERSION,centos:7,`) ') && \
make install && \
make install ifelse(OS_NAME,ubuntu,PREFIX=BUILD_DESTDIR\BUILD_PREFIX,PREFIX=BUILD_DESTDIR)
')
diff --git a/template/components/libaom.m4 b/template/components/libaom.m4
index b6a1601de..36a829a57 100644
--- a/template/components/libaom.m4
+++ b/template/components/libaom.m4
@@ -50,7 +50,7 @@ RUN cd BUILD_HOME && \
git clone ${LIBAOM_REPO} -b v`'LIBAOM_VER --depth 1 && \
cd aom/build && \
ifdef(`BUILD_CMAKE',cmake,ifelse(OS_NAME,centos,cmake3,cmake)) -DBUILD_SHARED_LIBS=ON -DENABLE_NASM=ON -DENABLE_TESTS=OFF -DENABLE_DOCS=OFF -DCMAKE_INSTALL_PREFIX=BUILD_PREFIX -DCMAKE_INSTALL_LIBDIR=patsubst(BUILD_LIBDIR,BUILD_PREFIX/) .. && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=BUILD_DESTDIR && \
make install
')
diff --git a/template/components/libfdk-aac.m4 b/template/components/libfdk-aac.m4
index 8eb494237..134309eea 100644
--- a/template/components/libfdk-aac.m4
+++ b/template/components/libfdk-aac.m4
@@ -43,12 +43,13 @@ define(`LIBFDKAAC_BUILD_DEPS',`wget gcc-c++ autoconf libtool make automake')
define(`BUILD_LIBFDKAAC',`
# build libfdkaac
ARG LIBFDKAAC_REPO=https://github.com/mstorsjo/fdk-aac/archive/v`'LIBFDKAAC_VER.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd BUILD_HOME && \
wget -O - ${LIBFDKAAC_REPO} | tar xz && \
cd fdk-aac-LIBFDKAAC_VER && \
./autogen.sh && \
./configure --prefix=BUILD_PREFIX --libdir=BUILD_LIBDIR --enable-shared && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=BUILD_DESTDIR && \
make install
')
diff --git a/template/components/libjsonc.m4 b/template/components/libjsonc.m4
index 27455203c..e01f7c128 100644
--- a/template/components/libjsonc.m4
+++ b/template/components/libjsonc.m4
@@ -42,11 +42,12 @@ DECLARE(`LIBJSONC_VER',0.16-20220414)
define(`BUILD_LIBJSONC',`
ARG LIBJSONC_REPO=https://github.com/json-c/json-c/archive/json-c-LIBJSONC_VER.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd BUILD_HOME && \
wget -O - ${LIBJSONC_REPO} | tar xz && \
cd json-c-json-c-LIBJSONC_VER && mkdir build && cd build && \
cmake -DCMAKE_INSTALL_PREFIX=BUILD_PREFIX -DCMAKE_INSTALL_LIBDIR=BUILD_LIBDIR .. && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=BUILD_DESTDIR && \
make install
')
diff --git a/template/components/libnice.m4 b/template/components/libnice.m4
index 9df296394..6b699b399 100644
--- a/template/components/libnice.m4
+++ b/template/components/libnice.m4
@@ -43,11 +43,13 @@ define(`LIBNICE_BUILD_DEPS',`wget ifdef(`BUILD_CMAKE',,cmake) make gcc libglib2.
define(`BUILD_LIBNICE',`
# build libnice
ARG LIBNICE_REPO=http://nice.freedesktop.org/releases/libnice-LIBNICE_VER.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd BUILD_HOME && \
wget -O - ${LIBNICE_REPO} | tar xz
ifdef(`LIBNICE_PATCH_VER',`
-ARG LIBNICE_PATCH_REPO=https://github.com/open-webrtc-toolkit/owt-server/archive/v`'LIBNICE_PATCH_VER.tar.gz
+ARG LIBNICE_PATCH_REPO=https://github.com/open-webrtc-toolkit/owt-server/archive/`'LIBNICE_PATCH_VER.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd BUILD_HOME/libnice-LIBNICE_VER && \
wget -O - ${LIBNICE_PATCH_REPO} | tar xz && \
@@ -64,7 +66,7 @@ ifelse(OWT_360,false,`dnl
RUN cd BUILD_HOME/libnice-LIBNICE_VER && \
./configure --prefix=BUILD_PREFIX --libdir=BUILD_LIBDIR && \
- make -j$(nproc) -s V=0 && \
+ make -j"$(nproc)" -s V=0 && \
make install DESTDIR=BUILD_DESTDIR && \
make install
')
diff --git a/template/components/libogg.m4 b/template/components/libogg.m4
index eb3e98046..9386a2a41 100644
--- a/template/components/libogg.m4
+++ b/template/components/libogg.m4
@@ -44,12 +44,13 @@ define(`BUILD_LIBOGG',`
# build libogg
ARG OGG_VER=LIBOGG_VER
ARG LIBOGG_REPO=https://github.com/xiph/ogg/releases/download/v${OGG_VER}/libogg-LIBOGG_VER.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd BUILD_HOME && \
wget -O - ${LIBOGG_REPO} | tar xz && \
cd libogg-LIBOGG_VER && \
./configure --prefix=BUILD_PREFIX --libdir=BUILD_LIBDIR --enable-shared && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=BUILD_DESTDIR && \
make install
')
diff --git a/template/components/libopus.m4 b/template/components/libopus.m4
index 4b46917a0..796ea1932 100644
--- a/template/components/libopus.m4
+++ b/template/components/libopus.m4
@@ -43,11 +43,12 @@ define(`LIBOPUS_BUILD_DEPS',`wget autoconf libtool make')
define(`BUILD_LIBOPUS',`
# build libopus
ARG LIBOPUS_REPO=https://archive.mozilla.org/pub/opus/opus-LIBOPUS_VER.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd BUILD_HOME && \
wget -O - ${LIBOPUS_REPO} | tar xz && \
cd opus-LIBOPUS_VER && \
./configure --prefix=BUILD_PREFIX --libdir=BUILD_LIBDIR --enable-shared && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=BUILD_DESTDIR && \
make install
')
diff --git a/template/components/libpahomqtt.m4 b/template/components/libpahomqtt.m4
index d6b602d15..50b88be8e 100644
--- a/template/components/libpahomqtt.m4
+++ b/template/components/libpahomqtt.m4
@@ -42,6 +42,7 @@ define(`BUILD_LIBPAHO',`
# build libpahomqtt
ARG PAHO_VER=LIBPAHO_VER
ARG LIBPAHO_REPO=https://github.com/eclipse/paho.mqtt.c/archive/v${PAHO_VER}.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd BUILD_HOME && \
wget -O - ${LIBPAHO_REPO} | tar -xz
RUN cd BUILD_HOME/paho.mqtt.c-LIBPAHO_VER && \
diff --git a/template/components/librdkafka.m4 b/template/components/librdkafka.m4
index 1ae6adf96..55d400427 100644
--- a/template/components/librdkafka.m4
+++ b/template/components/librdkafka.m4
@@ -35,11 +35,12 @@ DECLARE(`LIBRDKAFKA_VER',1.9.2)
define(`BUILD_LIBRDKAFKA',`
ARG KAFKA_VER=LIBRDKAFKA_VER
ARG LIBRDKAFKA_REPO=https://github.com/edenhill/librdkafka/archive/v${KAFKA_VER}.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd BUILD_HOME && \
wget -O - ${LIBRDKAFKA_REPO} | tar xz && \
cd librdkafka-LIBRDKAFKA_VER && \
./configure --prefix=BUILD_PREFIX --libdir=BUILD_LIBDIR && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=BUILD_DESTDIR && \
make install
')
diff --git a/template/components/libsrtp2.m4 b/template/components/libsrtp2.m4
index b7bae846f..fcbe0a03b 100644
--- a/template/components/libsrtp2.m4
+++ b/template/components/libsrtp2.m4
@@ -43,11 +43,12 @@ define(`LIBSRTP2_BUILD_DEPS',`wget gcc make pkg-config ifdef(`BUILD_OPENSSL',,op
define(`BUILD_LIBSRTP2',`
# build libsrtp2
ARG LIBSRTP2_REPO=https://github.com/cisco/libsrtp/archive/LIBSRTP2_VER.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd BUILD_HOME && \
wget -O - ${LIBSRTP2_REPO} | tar xz && \
cd libsrtp-patsubst(LIBSRTP2_VER,v) && \
- CFLAGS="-fPIC`'ifdef(`BUILD_OPENSSL',` -Wl`,'-rpath=BUILD_PREFIX/ssl/lib')" ./configure --enable-openssl --prefix=BUILD_PREFIX --libdir=BUILD_LIBDIR --with-openssl-dir=BUILD_PREFIX/ssl && \
- make -s V=0 -j $(nproc) && \
+ CFLAGS="-fPIC`'ifdef(`BUILD_OPENSSL',` -Wl`,'-rpath=BUILD_PREFIX/ssl/lib64')" ./configure --enable-openssl --prefix=BUILD_PREFIX --libdir=BUILD_LIBDIR --with-openssl-dir=BUILD_PREFIX/ssl && \
+ make -s V=0 -j "$(nproc)" && \
make install DESTDIR=BUILD_DESTDIR && \
make install
')
diff --git a/template/components/libva-utils.sg2.m4 b/template/components/libva-utils.flex.m4
similarity index 97%
rename from template/components/libva-utils.sg2.m4
rename to template/components/libva-utils.flex.m4
index fe804b9f9..27bcc26b4 100644
--- a/template/components/libva-utils.sg2.m4
+++ b/template/components/libva-utils.flex.m4
@@ -48,11 +48,12 @@ DECLARE(`LIBVA_UTILS_SRC_REPO',https://github.com/intel/libva-utils/archive/LIBV
define(`BUILD_LIBVA_UTILS',`
# build libva-utils
ARG LIBVA_UTILS_REPO=LIBVA_UTILS_SRC_REPO
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd BUILD_HOME && \
wget -O - ${LIBVA_UTILS_REPO} | tar xz
RUN cd BUILD_HOME/libva-utils-LIBVA_UTILS_VER && \
./autogen.sh --prefix=BUILD_PREFIX --libdir=BUILD_LIBDIR && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=BUILD_DESTDIR && \
make install
')
diff --git a/template/components/libva2.sg2.m4 b/template/components/libva2.flex.m4
similarity index 96%
rename from template/components/libva2.sg2.m4
rename to template/components/libva2.flex.m4
index 9610af294..45d047899 100644
--- a/template/components/libva2.sg2.m4
+++ b/template/components/libva2.flex.m4
@@ -45,17 +45,19 @@ define(`LIBVA2_INSTALL_DEPS',`libdrm2 ifelse(LIBVA2_X11,true,libx11-6 libxext6 l
define(`BUILD_LIBVA2',`
# build libva2
ARG LIBVA2_REPO=LIBVA2_SRC_REPO
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd BUILD_HOME && \
wget -O - ${LIBVA2_REPO} | tar xz
RUN cd BUILD_HOME/libva-LIBVA2_VER && \
./autogen.sh --prefix=BUILD_PREFIX --libdir=BUILD_LIBDIR && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=BUILD_DESTDIR && \
make install
')
define(`FFMPEG_PATCH_VAAPI',`dnl
ARG FFMPEG_PATCH_VAAPI_REPO=https://github.com/OpenVisualCloud/Dockerfiles-Resources/raw/master/ffmpeg-patch-0041-lavc-vaapi_encode_h265-fix-max_transform_hierarchy_d.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd BUILD_HOME && \
wget -O - ${FFMPEG_PATCH_VAAPI_REPO} | tar xz && \
cd $1 && \
diff --git a/template/components/libva2.m4 b/template/components/libva2.m4
index b17454eb6..2a4d62628 100644
--- a/template/components/libva2.m4
+++ b/template/components/libva2.m4
@@ -50,17 +50,19 @@ define(`LIBVA2_INSTALL_DEPS',`libdrm ifelse(LIBVA2_X11,true,libX11 libXfixes lib
define(`BUILD_LIBVA2',`
# build libva2
ARG LIBVA2_REPO=LIBVA2_SRC_REPO
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd BUILD_HOME && \
wget -O - ${LIBVA2_REPO} | tar xz
RUN cd BUILD_HOME/libva-LIBVA2_VER && \
./autogen.sh --prefix=BUILD_PREFIX --libdir=BUILD_LIBDIR && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=BUILD_DESTDIR && \
make install
')
define(`FFMPEG_PATCH_VAAPI',`dnl
ARG FFMPEG_PATCH_VAAPI_REPO=https://github.com/OpenVisualCloud/Dockerfiles-Resources/raw/master/ffmpeg-patch-0041-lavc-vaapi_encode_h265-fix-max_transform_hierarchy_d.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd BUILD_HOME && \
wget -O - ${FFMPEG_PATCH_VAAPI_REPO} | tar xz && \
cd $1 && \
diff --git a/template/components/libvmaf.m4 b/template/components/libvmaf.m4
index 27f5dce20..a3b2661ac 100644
--- a/template/components/libvmaf.m4
+++ b/template/components/libvmaf.m4
@@ -46,6 +46,7 @@ define(`BUILD_LIBVMAF',`
# build VMAF
ARG VMAF_VER=LIBVMAF_VER
ARG LIBVMAF_REPO=https://github.com/Netflix/vmaf/archive/refs/tags/v${VMAF_VER}.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd BUILD_HOME && \
wget -O - ${LIBVMAF_REPO} | tar xz && ls
RUN cd BUILD_HOME/vmaf-LIBVMAF_VER/libvmaf && \
diff --git a/template/components/libvorbis.m4 b/template/components/libvorbis.m4
index f4c5922d6..bf812fcce 100644
--- a/template/components/libvorbis.m4
+++ b/template/components/libvorbis.m4
@@ -46,11 +46,12 @@ define(`BUILD_LIBVORBIS',`
# build libvorbis
ARG VORBIS_VER=LIBVORBIS_VER
ARG LIBVORBIS_REPO=https://github.com/xiph/vorbis/releases/download/v${VORBIS_VER}/libvorbis-LIBVORBIS_VER.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd BUILD_HOME && \
wget -O - ${LIBVORBIS_REPO} | tar xz && \
cd libvorbis-LIBVORBIS_VER && \
./configure --prefix=BUILD_PREFIX --libdir=BUILD_LIBDIR --enable-shared && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=BUILD_DESTDIR && \
make install
')
diff --git a/template/components/libvpx.m4 b/template/components/libvpx.m4
index 5fb48e274..4c3d9349d 100644
--- a/template/components/libvpx.m4
+++ b/template/components/libvpx.m4
@@ -49,7 +49,7 @@ RUN cd BUILD_HOME && \
git clone ${LIBVPX_REPO} -b v`'LIBVPX_VER --depth 1 && \
cd libvpx && \
./configure --prefix=BUILD_PREFIX --libdir=BUILD_LIBDIR --enable-shared --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=nasm && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=BUILD_DESTDIR && \
make install
')
diff --git a/template/components/libx264.m4 b/template/components/libx264.m4
index 86769da23..7271d484b 100644
--- a/template/components/libx264.m4
+++ b/template/components/libx264.m4
@@ -52,7 +52,7 @@ RUN cd BUILD_HOME && \
./configure --prefix=BUILD_PREFIX --libdir=BUILD_LIBDIR \
ifelse(LIBX264_GPL,true, ,--disable-gpl )dnl
--enable-shared && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=BUILD_DESTDIR && \
make install
')
diff --git a/template/components/libx265.m4 b/template/components/libx265.m4
index 6e540fa1b..22850e2da 100644
--- a/template/components/libx265.m4
+++ b/template/components/libx265.m4
@@ -47,11 +47,12 @@ define(`LIBX265_INSTALL_DEPS',`numactl-libs libpciaccess')
define(`BUILD_LIBX265',`
# build libx265
ARG LIBX265_REPO=https://github.com/videolan/x265/archive/LIBX265_VER.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd BUILD_HOME && \
wget -O - ${LIBX265_REPO} | tar xz && \
cd x265-LIBX265_VER/build/linux && \
cmake -DBUILD_SHARED_LIBS=ON -DCMAKE_INSTALL_PREFIX=BUILD_PREFIX -DLIB_INSTALL_DIR=BUILD_LIBDIR ../../source && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=BUILD_DESTDIR && \
make install
')
diff --git a/template/components/media-driver-pkg.sg2.m4 b/template/components/media-driver-pkg.flex.m4
similarity index 97%
rename from template/components/media-driver-pkg.sg2.m4
rename to template/components/media-driver-pkg.flex.m4
index d9350baf0..36bbe0578 100644
--- a/template/components/media-driver-pkg.sg2.m4
+++ b/template/components/media-driver-pkg.flex.m4
@@ -38,6 +38,7 @@ define(`MEDIA_DRIVER_PKG_INSTALL_DEPS',`ca-certificates gpg-agent software-prope
define(`INTEL_GFX_URL',https://repositories.intel.com/graphics)
define(`BUILD_MEDIA_DRIVER_PKG',`
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN wget -qO - INTEL_GFX_URL/intel-graphics.key | gpg --dearmor --output /usr/share/keyrings/intel-graphics.gpg
RUN echo "deb [arch=amd64 signed-by=/usr/share/keyrings/intel-graphics.gpg] https://repositories.intel.com/graphics/ubuntu ifelse(OS_VERSION,20.04,focal,jammy) ifelse(OS_VERSION,20.04,main,arc)" | tee /etc/apt/sources.list.d/intel.gpu.ifelse(OS_VERSION,20.04,focal,jammy).list
@@ -48,6 +49,7 @@ RUN apt-get update && \
')
define(`INSTALL_MEDIA_DRIVER_PKG',`
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN wget -qO - INTEL_GFX_URL/intel-graphics.key | gpg --dearmor --output /usr/share/keyrings/intel-graphics.gpg
RUN echo "deb [arch=amd64 signed-by=/usr/share/keyrings/intel-graphics.gpg] https://repositories.intel.com/graphics/ubuntu ifelse(OS_VERSION,20.04,focal,jammy) ifelse(OS_VERSION,20.04,main,arc)" | tee /etc/apt/sources.list.d/intel.gpu.ifelse(OS_VERSION,20.04,focal,jammy).list
diff --git a/template/components/media-driver.sg2.m4 b/template/components/media-driver.flex.m4
similarity index 96%
rename from template/components/media-driver.sg2.m4
rename to template/components/media-driver.flex.m4
index adaa8ac1f..90356ed31 100644
--- a/template/components/media-driver.sg2.m4
+++ b/template/components/media-driver.flex.m4
@@ -46,11 +46,12 @@ define(`MEDIA_DRIVER_BUILD_DEPS',`ifdef(`BUILD_CMAKE',,cmake) gcc-c++ libpciacce
define(`BUILD_MEDIA_DRIVER',`
# build media driver
ARG MEDIA_DRIVER_REPO=MEDIA_DRIVER_SRC_REPO
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd BUILD_HOME && \
wget -O - ${MEDIA_DRIVER_REPO} | tar xz
RUN cd BUILD_HOME/media-driver-MEDIA_DRIVER_VER && mkdir build && cd build && \
ifelse(OS_NAME:OS_VERSION,centos:7,`(. /opt/rh/devtoolset-9/enable && ')cmake -DCMAKE_INSTALL_PREFIX=BUILD_PREFIX -DCMAKE_INSTALL_LIBDIR=BUILD_LIBDIR -DENABLE_PRODUCTION_KMD=ENABLE_PRODUCTION_KMD .. && \
- make -j$(nproc)ifelse(OS_NAME:OS_VERSION,centos:7,` )') && \
+ make -j"$(nproc)"ifelse(OS_NAME:OS_VERSION,centos:7,` )') && \
make install DESTDIR=BUILD_DESTDIR && \
make install
')
diff --git a/template/components/media-driver.m4 b/template/components/media-driver.m4
index a235b105a..db990858e 100644
--- a/template/components/media-driver.m4
+++ b/template/components/media-driver.m4
@@ -49,11 +49,12 @@ define(`MEDIA_DRIVER_BUILD_DEPS',`ifdef(`BUILD_CMAKE',,cmake) gcc-c++ libpciacce
define(`BUILD_MEDIA_DRIVER',`
# build media driver
ARG MEDIA_DRIVER_REPO=MEDIA_DRIVER_SRC_REPO
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd BUILD_HOME && \
wget -O - ${MEDIA_DRIVER_REPO} | tar xz
RUN cd BUILD_HOME/media-driver-MEDIA_DRIVER_VER && mkdir build && cd build && \
ifelse(OS_NAME:OS_VERSION,centos:7,`(. /opt/rh/devtoolset-9/enable && ')cmake -DCMAKE_INSTALL_PREFIX=BUILD_PREFIX -DCMAKE_INSTALL_LIBDIR=BUILD_LIBDIR -DENABLE_PRODUCTION_KMD=ENABLE_PRODUCTION_KMD .. && \
- make -j$(nproc)ifelse(OS_NAME:OS_VERSION,centos:7,` )') && \
+ make -j"$(nproc)"ifelse(OS_NAME:OS_VERSION,centos:7,` )') && \
make install DESTDIR=BUILD_DESTDIR && \
make install
')
diff --git a/template/components/meson.m4 b/template/components/meson.m4
index 6b6dd8741..f90dfad0b 100644
--- a/template/components/meson.m4
+++ b/template/components/meson.m4
@@ -37,9 +37,9 @@ define(`MESON_BUILD_DEPS',`python3-pip ninja-build python3-setuptools')
define(`BUILD_MESON',`
# build meson
ARG MESON_REPO=https://github.com/mesonbuild/meson
-RUN git clone ${MESON_REPO}; \
- cd meson; \
- git checkout MESON_VER; \
+RUN git clone ${MESON_REPO} && \
+ cd meson && \
+ git checkout MESON_VER && \
python3 setup.py install;
')
diff --git a/template/components/msdk.m4 b/template/components/msdk.m4
index a26de65e6..380498e07 100644
--- a/template/components/msdk.m4
+++ b/template/components/msdk.m4
@@ -47,6 +47,7 @@ define(`MSDK_BUILD_DEPS',`ifdef(`BUILD_CMAKE',,cmake) gcc gcc-c++ make pkg-confi
define(`BUILD_MSDK',`
# build media sdk
ARG MSDK_REPO=MSDK_SRC_REPO
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd BUILD_HOME && \
wget -O - ${MSDK_REPO} | tar xz
RUN cd BUILD_HOME/MediaSDK-MSDK_VER && \
@@ -57,7 +58,7 @@ RUN cd BUILD_HOME/MediaSDK-MSDK_VER && \
-DBUILD_SAMPLES=MSDK_BUILD_SAMPLES \
-DBUILD_TUTORIALS=OFF \
.. && \
- make -j$(nproc)ifelse(OS_NAME:OS_VERSION,centos:7,`)') && \
+ make -j"$(nproc)"ifelse(OS_NAME:OS_VERSION,centos:7,`)') && \
make install DESTDIR=BUILD_DESTDIR && \
make install
')
diff --git a/template/components/nasm.m4 b/template/components/nasm.m4
index 171eed149..0dc90a387 100644
--- a/template/components/nasm.m4
+++ b/template/components/nasm.m4
@@ -46,12 +46,13 @@ define(`BUILD_NASM',`
# TODO: Revert to NASM repo, this is temp fix is nasm repo certificate expired temporarily
ARG NASM_REPO=https://github.com/OpenVisualCloud/Dockerfiles-Resources/raw/master/nasm-NASM_VER.tar.bz2
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd BUILD_HOME && \
wget -O - ${NASM_REPO} | tar xj && \
cd nasm-NASM_VER && \
./autogen.sh && \
./configure --prefix=BUILD_PREFIX --libdir=BUILD_LIBDIR && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install
')
diff --git a/template/components/nginx-cert.m4 b/template/components/nginx-cert.m4
index ada13ab38..e3b5ba52e 100644
--- a/template/components/nginx-cert.m4
+++ b/template/components/nginx-cert.m4
@@ -34,6 +34,7 @@ define(`NGINX_CERT_BUILD_DEPS',`openssl')
define(`BUILD_NGINX_CERT',`
# Generate a self-certificate for testing purpose
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN mkdir -p BUILD_DESTDIR/etc/nginx && \
printf "US\nOR\nPortland\nOregon\nOpen Visual Cloud\nIntel Corporation\n%s\nnobody@intel.com\n" "$(hostname)" | openssl req -x509 -nodes -days 30 -newkey rsa:4096 -keyout BUILD_DESTDIR/etc/nginx/cert.key -out BUILD_DESTDIR/etc/nginx/cert.crt && \
chmod 640 BUILD_DESTDIR/etc/nginx/cert.key && \
diff --git a/template/components/nginx-flv.m4 b/template/components/nginx-flv.m4
index 96f42113d..029eb235c 100644
--- a/template/components/nginx-flv.m4
+++ b/template/components/nginx-flv.m4
@@ -44,11 +44,13 @@ define(`NGINX_FLV_BUILD_DEPS',`wget patch')
define(`BUILD_NGINX_FLV',`
ARG NGINX_FLV_PATCHES_REPO=https://github.com/VCDP/CDN/archive/`v'NGINX_FLV_PATCHES_VER.tar.gz
ARG NGINX_FLV_PATCHES_PATH=BUILD_HOME/CDN-NGINX_FLV_PATCHES_VER
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd BUILD_HOME && \
wget -O - ${NGINX_FLV_PATCHES_REPO} | tar xz
# build nginx flv
ARG NGINX_FLV_REPO=https://github.com/winshining/nginx-http-flv-module/archive/`v'NGINX_FLV_VER.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd BUILD_HOME && \
wget -O - ${NGINX_FLV_REPO} | tar xz && \
cd nginx-http-flv-module-NGINX_FLV_VER && \
diff --git a/template/components/nginx-upload.m4 b/template/components/nginx-upload.m4
index be7cb43ee..005d5f430 100644
--- a/template/components/nginx-upload.m4
+++ b/template/components/nginx-upload.m4
@@ -43,6 +43,7 @@ define(`NGINX_UPLOAD_DEPS',`wget')
define(`BUILD_NGINX_UPLOAD',`
# build nginx upload
ARG NGINX_UPLOAD_REPO=https://github.com/fdintino/nginx-upload-module/archive/NGINX_UPLOAD_VER.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd BUILD_HOME && \
wget -O - ${NGINX_UPLOAD_REPO} | tar xz
')
diff --git a/template/components/nginx.m4 b/template/components/nginx.m4
index 5efd0f061..5e5cd405a 100644
--- a/template/components/nginx.m4
+++ b/template/components/nginx.m4
@@ -45,6 +45,7 @@ define(`NGINX_INSTALL_DEPS',`libxml2 libxslt pcre zlib ifdef(`BUILD_OPENSSL',,op
define(`BUILD_NGINX',`
# build nginx
ARG NGINX_REPO=https://nginx.org/download/nginx-NGINX_VER.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd BUILD_HOME && \
wget -O - ${NGINX_REPO} | tar xz && \
cd nginx-NGINX_VER && \
@@ -78,9 +79,9 @@ ifdef(`BUILD_NGINX_UPLOAD',`dnl
')dnl
ifdef(`BUILD_OPENSSL',`dnl
--with-cc-opt="-I`'BUILD_PREFIX/ssl/include/" \
- --with-ld-opt="-L`'BUILD_PREFIX/ssl/lib/ -Wl`,'-rpath=BUILD_PREFIX/ssl/lib" \
+ --with-ld-opt="-L`'BUILD_PREFIX/ssl/lib64/ -Wl`,'-rpath=BUILD_PREFIX/ssl/lib64" \
')dnl
- && make -j$(nproc) \
+ && make -j"$(nproc)" \
&& make install DESTDIR=BUILD_DESTDIR
# NGINX Setup
diff --git a/template/components/node.m4 b/template/components/node.m4
index 26ba68926..d6ec2c1f5 100644
--- a/template/components/node.m4
+++ b/template/components/node.m4
@@ -30,7 +30,7 @@ dnl OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
dnl
include(begin.m4)
-DECLARE(`NODE_VER',v10.24.1)
+DECLARE(`NODE_VER',v14.21.3)
DECLARE(`NODE_INSTALL',false)
ifelse(OS_NAME,ubuntu,`
@@ -44,6 +44,7 @@ define(`NODE_BUILD_DEPS',`wget xz-utils')
define(`BUILD_NODE',`
# build node
ARG NODE_REPO=https://nodejs.org/dist/NODE_VER/node-NODE_VER-linux-x64.tar.xz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd BUILD_HOME && \
wget -O - ${NODE_REPO} | tar xJ && \
cp node-NODE_VER-linux-x64/* BUILD_PREFIX -rf && \
@@ -63,6 +64,7 @@ define(`NODE_INSTALL_DEPS',`wget xz-utils')
define(`INSTALL_NODE',`
# install node
ARG NODE_REPO=https://nodejs.org/dist/NODE_VER/node-NODE_VER-linux-x64.tar.xz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd BUILD_PREFIX && \
wget -O - ${NODE_REPO} | tar xJ && \
cp -r node-NODE_VER-linux-x64/* . && \
diff --git a/template/components/onevpl-atsm.m4 b/template/components/onevpl-atsm.m4
index 91af91715..70c7c69da 100644
--- a/template/components/onevpl-atsm.m4
+++ b/template/components/onevpl-atsm.m4
@@ -45,6 +45,7 @@ define(`ONEVPL_GPU_BUILD_DEPS',`ifdef(`BUILD_CMAKE',,cmake) gcc gcc-c++ make pkg
define(`BUILD_ONEVPL_GPU',`
# build onevpl runtime for GPU
ARG ONEVPL_GPU_REPO=ONEVPL_GPU_SRC_REPO
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd BUILD_HOME && \
wget -O - ${ONEVPL_GPU_REPO} | tar xz
RUN cd BUILD_HOME/oneVPL-intel-gpu-ONEVPL_GPU_VER && \
@@ -54,7 +55,7 @@ RUN cd BUILD_HOME/oneVPL-intel-gpu-ONEVPL_GPU_VER && \
-DBUILD_SAMPLES=MSDK_BUILD_SAMPLES \
-DBUILD_TUTORIALS=OFF \
.. && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=BUILD_DESTDIR && \
make install
')
diff --git a/template/components/onevpl-dispatch.m4 b/template/components/onevpl-dispatch.m4
index 9fef2ef71..f003733e1 100644
--- a/template/components/onevpl-dispatch.m4
+++ b/template/components/onevpl-dispatch.m4
@@ -44,6 +44,7 @@ define(`ONEVPL_DISP_BUILD_DEPS',`ca-certificates gcc g++ make git ifdef(`BUILD_C
define(`BUILD_ONEVPL_DISP',`
# build onevpl dispatcher
ARG ONEVPL_DISP_REPO=ONEVPL_DISP_SRC_REPO
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd BUILD_HOME && \
wget -O - ${ONEVPL_DISP_REPO} | tar xz
RUN cd BUILD_HOME/oneVPL-ONEVPL_DISP_VER_TRUNC && \
@@ -59,7 +60,7 @@ RUN cd BUILD_HOME/oneVPL-ONEVPL_DISP_VER_TRUNC && \
-DBUILD_SAMPLES=MSDK_BUILD_SAMPLES \
-DBUILD_TUTORIALS=OFF \
.. && \
- make -j$(nproc) && \
+ make -j"$(nproc)" && \
make install DESTDIR=BUILD_DESTDIR && \
make install
')
diff --git a/template/components/opencv.m4 b/template/components/opencv.m4
index 9bd82d3fe..7198ccf3b 100644
--- a/template/components/opencv.m4
+++ b/template/components/opencv.m4
@@ -44,6 +44,7 @@ define(`OPENCV_BUILD_DEPS',`ifdef(`BUILD_CMAKE',,cmake3) gcc gcc-c++ make wget p
define(`BUILD_OPENCV',`
# build opencv
ARG OPENCV_REPO=https://github.com/opencv/opencv/archive/OPENCV_VER.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd BUILD_HOME && \
wget -O - ${OPENCV_REPO} | tar xz
# TODO: file a bug against opencv since they do not accept full libdir
@@ -61,7 +62,7 @@ RUN cd BUILD_HOME/opencv-OPENCV_VER && mkdir build && cd build && \
-DWITH_OPENJPEG=OFF \
-DWITH_JASPER=OFF \
.. && \
- make -j $(nproc) && \
+ make -j "$(nproc)" && \
make install DESTDIR=BUILD_DESTDIR && \
make install ifelse(OS_NAME:OS_VERSION,centos:7,` )')
')
@@ -83,7 +84,7 @@ RUN cd BUILD_HOME/opencv-OPENCV_VER/build && \
-DWITH_JASPER=OFF \
.. && \
cd modules/videoio && \
- make -j $(nproc) && \
+ make -j "$(nproc)" && \
cp -f ../../lib/libopencv_videoio.so.OPENCV_VER_TRUNC defn(`BUILD_DESTDIR',`BUILD_LIBDIR')ifelse(OS_NAME:OS_VERSION,centos:7,` )')
')
diff --git a/template/components/openh264.m4 b/template/components/openh264.m4
index b56143ac5..cbcb6923f 100644
--- a/template/components/openh264.m4
+++ b/template/components/openh264.m4
@@ -44,6 +44,7 @@ define(`BUILD_OPENH264',`
# Build OpenH264
ARG OPENH264_SRC_REPO=https://github.com/cisco/openh264/archive/patsubst(OPENH264_VER,`.[0-9]*$',`.0').tar.gz
ARG OPENH264_BIN_REPO=https://github.com/cisco/openh264/releases/download/patsubst(OPENH264_VER,`.[0-9]*$',`.0')/libopenh264-patsubst(OPENH264_VER,`v\([0-9]*\.[0-9]*\)\..*$',`\1.0')-linux64.regexp(OPENH264_VER,`\([0-9]*\)$',`\1').so.bz2
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd BUILD_HOME && \
wget -O - ${OPENH264_SRC_REPO} | tar xz openh264-patsubst(OPENH264_VER,`v\([0-9]*\.[0-9]*\)\..*$',`\1.0')/codec/api && \
cd openh264-patsubst(OPENH264_VER,`v\([0-9]*\.[0-9]*\)\..*$',`\1.0') && \
diff --git a/template/components/openssl.m4 b/template/components/openssl.m4
index 0a2270b21..596e394b0 100644
--- a/template/components/openssl.m4
+++ b/template/components/openssl.m4
@@ -30,7 +30,7 @@ dnl OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
dnl
include(begin.m4)
-DECLARE(`OPENSSL_VER',1_1_1s)
+DECLARE(`OPENSSL_VER',3.0.7)
ifelse(OS_NAME,ubuntu,`
define(`OPENSSL_BUILD_DEPS',`ca-certificates wget tar g++ make libtool autoconf')
@@ -42,17 +42,16 @@ define(`OPENSSL_BUILD_DEPS',`wget tar gcc-c++ make libtool autoconf')
define(`BUILD_OPENSSL',`
# build openssl
-ARG OPENSSL_REPO=https://github.com/openssl/openssl/archive/OpenSSL_`'OPENSSL_VER.tar.gz
+ARG OPENSSL_REPO=https://github.com/openssl/openssl/releases/download/openssl-`'OPENSSL_VER/openssl-`'OPENSSL_VER.tar.gz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cd BUILD_HOME && \
wget -O - ${OPENSSL_REPO} | tar xz && \
- cd openssl-OpenSSL_`'OPENSSL_VER && \
- ./config no-ssl3 shared --prefix=BUILD_PREFIX/ssl --openssldir=BUILD_PREFIX/ssl -fPIC -Wl,-rpath=BUILD_PREFIX/ssl/lib && \
+ cd openssl-`'OPENSSL_VER && \
+ ./config shared --prefix=BUILD_PREFIX/ssl --openssldir=BUILD_PREFIX/ssl -fPIC -Wl,-rpath=BUILD_PREFIX/ssl/lib64 && \
make depend && \
- make -s V=0 && \
+ make -j"$(nproc)" -s V=0 && \
make install DESTDIR=BUILD_DESTDIR && \
- (cd BUILD_DESTDIR && mkdir -p .BUILD_LIBDIR/pkgconfig && mv .BUILD_PREFIX/ssl/lib/pkgconfig/*.pc .BUILD_LIBDIR/pkgconfig/) && \
- make install && \
- (mkdir -p BUILD_LIBDIR/pkgconfig && mv BUILD_PREFIX/ssl/lib/pkgconfig/*.pc BUILD_LIBDIR/pkgconfig/)
+ make install
')
define(`CLEANUP_OPENSSL',`dnl
@@ -67,6 +66,10 @@ RUN rm -rf defn(`BUILD_DESTDIR',`BUILD_PREFIX')/ssl/share/doc
')dnl
')
+define(`INSTALL_OPENSSL',`dnl
+ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:BUILD_PREFIX/ssl/lib64
+')
+
REG(OPENSSL)
include(end.m4)dnl
diff --git a/template/components/owt.m4 b/template/components/owt.m4
index 6217864a5..179dedc67 100644
--- a/template/components/owt.m4
+++ b/template/components/owt.m4
@@ -32,14 +32,14 @@ include(begin.m4)
DECLARE(`OWT_360',false)
DECLARE(`OWT_BRANCH', master)
-DECLARE(`OWT_VER',v5.0.1)
+DECLARE(`OWT_VER',5.1.x)
DECLARE(`OWT_LICODE_VER',8b4692c88f1fc24dedad66b4f40b1f3d804b50ca)
DECLARE(`OWT_WEBRTC_BRANCH',59-server)
DECLARE(`OWT_WEBRTC_VER',)
DECLARE(`OWT_SDK_BRANCH',master)
DECLARE(`OWT_SDK_VER',v5.0)
DECLARE(`OWT_QUIC_VER',v0.1)
-DECLARE(`LIBNICE_PATCH_VER',5.0)
+DECLARE(`LIBNICE_PATCH_VER',5.1.0)
# required components for OWT
define(`OPENH264_VER',v1.7.4)
@@ -66,11 +66,11 @@ define(`FFMPEG_ENABLE_X264',true)
include(ffmpeg.m4)
ifelse(OS_NAME,ubuntu,`
-define(`OWT_BUILD_DEPS',`ifdef(`BUILD_OPENSSL',,libssl-dev ) git gcc npm python libglib2.0-dev libboost-thread-dev libboost-system-dev liblog4cxx-dev libsrtp2-dev pkg-config patch')
+define(`OWT_BUILD_DEPS',`ifdef(`BUILD_OPENSSL',,libssl-dev ) git gcc npm python3 libglib2.0-dev libboost-thread-dev libboost-system-dev liblog4cxx-dev libsrtp2-dev pkg-config patch')
')
ifelse(OS_NAME,centos,`
-define(`OWT_BUILD_DEPS',`ifdef(`BUILD_OPENSSL',,openssl-devel ) git gcc npm python glib2-devel boost-devel log4cxx-devel pkg-config ifelse(OS_VERSION,7,devtoolset-9)')
+define(`OWT_BUILD_DEPS',`ifdef(`BUILD_OPENSSL',,openssl-devel ) git gcc npm python3 glib2-devel boost-devel log4cxx-devel pkg-config ifelse(OS_VERSION,7,devtoolset-9)')
')
define(`BUILD_OWT',`
@@ -78,11 +78,13 @@ define(`BUILD_OWT',`
RUN npm install -g --loglevel error node-gyp@6.1.0 grunt-cli underscore jsdoc
# Get owt-server Source
+# TODO: wait for the specific the release version
ARG OWT_REPO=https://github.com/open-webrtc-toolkit/owt-server
RUN cd BUILD_HOME && \
git clone -b OWT_BRANCH ${OWT_REPO} && \
cd owt-server && \
- git reset --hard OWT_VER
+ git switch 5.1.x && \
+ git reset --hard 22973995404b334115ce8ffab87bae73a63baa30
ifelse(OWT_360, false,ifdef(`BUILD_DLDT',ifdef(`BUILD_MSDK',,
#Patch OWT for Analytics
@@ -93,8 +95,7 @@ ARG OWT_AVREAD_PATCH=https://raw.githubusercontent.com/OpenVisualCloud/Dockerfil
RUN cd BUILD_HOME/owt-server && \
wget ${OWT_ANALYTICS_PATCH} && \
wget ${OWT_AVREAD_PATCH} && \
- patch -p1 < 0002-fix-the-analytics-restart.patch && \
- patch -p1 < 0001-Remove-av_read_play-which-already-called-inside-rtsp.patch
+ patch -p1 < 0002-fix-the-analytics-restart.patch
)))
@@ -125,9 +126,9 @@ RUN mkdir -p BUILD_HOME/owt-server/third_party/webrtc && \
./tools-woogeen/build.sh
ifelse(OWT_360, false, `
-# Get webrtc79
-RUN mkdir -p BUILD_HOME/owt-server/third_party/webrtc-m79 && \
- cd BUILD_HOME/owt-server/third_party/webrtc-m79 && \
+# Get webrtc88
+RUN mkdir -p BUILD_HOME/owt-server/third_party/webrtc-m88 && \
+ cd BUILD_HOME/owt-server/third_party/webrtc-m88 && \
sed -i "s/git clone/git clone --depth 1/" ../../scripts/installWebrtc.sh && \
ifelse(OS_NAME:OS_VERSION,centos:7,`(. /opt/rh/devtoolset-9/enable && ')bash ../../scripts/installWebrtc.sh`'ifelse(OS_NAME:OS_VERSION,centos:7,`)')
')
@@ -142,6 +143,7 @@ RUN cd BUILD_HOME && \
# Get quic
ARG OWT_QUIC_REPO=https://github.com/open-webrtc-toolkit/owt-deps-quic/releases/download/OWT_QUIC_VER/dist.tgz
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN mkdir -p BUILD_HOME/owt-server/third_party/quic-lib && \
cd BUILD_HOME/owt-server/third_party/quic-lib && \
wget -O - ${OWT_QUIC_REPO} | tar xz
@@ -149,7 +151,7 @@ RUN mkdir -p BUILD_HOME/owt-server/third_party/quic-lib && \
# Build and pack owt
RUN cd BUILD_HOME/owt-server && \
ifdef(`BUILD_OPENSSL',`dnl
- sed -i "/cflags_cc/s/\[/[\"-Wl`,'rpath=patsubst(BUILD_PREFIX,`/',`\\/')\/ssl\/lib\"`,'/" ifelse(OWT_360,true, `source/agent/webrtc/webrtcLib/binding.gyp',`source/agent/webrtc/rtcConn/binding.gyp source/agent/webrtc/rtcFrame/binding.gyp') && \
+ sed -i "/cflags_cc/s/\[/[\"-Wl`,'rpath=patsubst(BUILD_PREFIX,`/',`\\/')\/ssl\/lib64\"`,'/" ifelse(OWT_360,true, `source/agent/webrtc/webrtcLib/binding.gyp',`source/agent/webrtc/rtcConn/binding.gyp source/agent/webrtc/rtcFrame/binding.gyp') && \
sed -i "s/-lssl/