diff --git a/Dockerfile b/Dockerfile index a32a77aa..7ffdd17d 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,29 +1,42 @@ # A simple Dockerfile for building Kvazaar from the git repository # Example build command when in this directory: docker build -t kvazaar . +# +# Example usage +# 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 +# +# Use libav or ffmpeg to input (almost) any format and convert it to YUV420 for kvazaar, audio is disabled +# +# 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 +# or +# 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 +# # Use Ubuntu 15.10 as a base for now, it's around 136MB FROM ubuntu:15.10 +MAINTAINER Marko Viitanen + # List of needed packages to be able to build kvazaar with autotools ENV REQUIRED_PACKAGES automake autoconf libtool m4 build-essential git yasm - # Running update causes extra data to be stored in the image - # We don't need to update right now. - #RUN apt-get update - # Run all the commands in one RUN so we don't have any extra history # data in the image. - RUN apt-get install -y $REQUIRED_PACKAGES ; \ - git clone --depth=1 git://github.com/ultravideo/kvazaar.git; \ + RUN apt-get update \ + && apt-get install -y $REQUIRED_PACKAGES \ + && apt-get clean \ + && git clone --depth=1 git://github.com/ultravideo/kvazaar.git; \ cd kvazaar; \ ./autogen.sh; \ ./configure --disable-shared;\ make;\ - AUTOINSTALLED_PACKAGES=`apt-mark showauto`;\ - apt-get remove --purge -y $REQUIRED_PACKAGES $AUTOINSTALLED_PACKAGES; \ + AUTOINSTALLED_PACKAGES=`apt-mark showauto`; \ + apt-get remove --purge --force-yes -y $REQUIRED_PACKAGES $AUTOINSTALLED_PACKAGES; \ + apt-get clean autoclean; \ apt-get autoremove -y; \ - apt-get clean all; \ - rm -rf /var/lib/apt/lists/* + rm -rf /var/lib/{apt,dpkg,cache,log}/ # Because we build only the static binary, copy that to the root COPY src/kvazaar / ENTRYPOINT ["/kvazaar"]