[build] Change Dockerfile to build uvg266

This commit is contained in:
Marko Viitanen 2022-04-28 20:50:03 +03:00
parent c4e755a135
commit 0105897e6c

View file

@ -1,35 +1,34 @@
# A simple Dockerfile for building Kvazaar from the git repository # A simple Dockerfile for building uvg266 from the git repository
# Example build command when in this directory: docker build -t kvazaar . # Example build command when in this directory: docker build -t uvg266 .
# #
# Example usage # Example usage
# Run with an input YUV file and output HEVC binary file # Run with an input YUV file and output HEVC binary file
# docker run -i -a STDIN -a STDOUT kvazaar -i - --input-res=320x240 -o - < testfile_320x240.yuv > out.265 # docker run -i -a STDIN -a STDOUT uvg266 -i - --input-res=320x240 -o - < testfile_320x240.yuv > out.265
# #
# Use libav or ffmpeg to input (almost) any format and convert it to YUV420 for kvazaar, audio is disabled # Use libav or ffmpeg to input (almost) any format and convert it to YUV420 for uvg266, audio is disabled
# #
# RESOLUTION=`avconv -i input.avi 2>&1 | grep Stream | grep -oP ', \K[0-9]+x[0-9]+'` # RESOLUTION=`avconv -i input.avi 2>&1 | grep Stream | grep -oP ', \K[0-9]+x[0-9]+'`
# avconv -i input.avi -an -f rawvideo -pix_fmt yuv420p - | docker run -i -a STDIN -a STDOUT kvazaar -i - --wpp --threads=8 --input-res=$RESOLUTION --preset=ultrafast -o - > output.265 # avconv -i input.avi -an -f rawvideo -pix_fmt yuv420p - | docker run -i -a STDIN -a STDOUT uvg266 -i - --wpp --threads=8 --input-res=$RESOLUTION --preset=ultrafast -o - > output.266
# or # or
# RESOLUTION=`ffmpeg -i input.avi 2>&1 | grep Stream | grep -oP ', \K[0-9]+x[0-9]+'` # RESOLUTION=`ffmpeg -i input.avi 2>&1 | grep Stream | grep -oP ', \K[0-9]+x[0-9]+'`
# ffmpeg -i input.avi -an -f rawvideo -pix_fmt yuv420p - | docker run -i -a STDIN -a STDOUT kvazaar -i - --wpp --threads=8 --input-res=$RESOLUTION --preset=ultrafast -o - > output.265 # ffmpeg -i input.avi -an -f rawvideo -pix_fmt yuv420p - | docker run -i -a STDIN -a STDOUT uvg266 -i - --wpp --threads=8 --input-res=$RESOLUTION --preset=ultrafast -o - > output.266
# #
# Use Ubuntu 18.04 as a base for now, it's around 88MB # Use Ubuntu 22.04 as a base for now
FROM ubuntu:18.04 FROM ubuntu:22.04
MAINTAINER Marko Viitanen <fador@iki.fi> MAINTAINER Marko Viitanen <fador@iki.fi>
# List of needed packages to be able to build kvazaar with autotools # List of needed packages to be able to build uvg266 with autotools
ENV REQUIRED_PACKAGES automake autoconf libtool m4 build-essential git yasm pkgconf ENV REQUIRED_PACKAGES automake autoconf libtool m4 build-essential git cmake pkgconf
COPY . kvazaar COPY . uvg266
# Run all the commands in one RUN so we don't have any extra history # Run all the commands in one RUN so we don't have any extra history
# data in the image. # data in the image.
RUN apt-get update \ RUN apt-get update \
&& apt-get install -y $REQUIRED_PACKAGES \ && apt-get install -y $REQUIRED_PACKAGES \
&& cd kvazaar \ && cd uvg266/build \
&& ./autogen.sh \ && cmake -DUSE_SHARED_LIB=OFF .. \
&& ./configure --disable-shared \
&& make\ && make\
&& make install \ && make install \
&& AUTOINSTALLED_PACKAGES=`apt-mark showauto` \ && AUTOINSTALLED_PACKAGES=`apt-mark showauto` \
@ -37,5 +36,5 @@ RUN apt-get update \
&& apt-get autoremove -y \ && apt-get autoremove -y \
&& rm -rf /var/lib/{apt,dpkg,cache,log}/ && rm -rf /var/lib/{apt,dpkg,cache,log}/
ENTRYPOINT ["kvazaar"] ENTRYPOINT ["uvg266"]
CMD ["--help"] CMD ["--help"]