FROM alpine:3.6 ARG FFMPEG_PACKAGES="\ x264-libs \ x265 \ libcrypto1.0 \ libssl1.0 \ libass \ libogg \ libvorbis \ libtheora \ libvpx \ libgomp \ lame \ xvidcore \ freetype \ fontconfig \ fribidi \ " RUN apk add --no-cache ${FFMPEG_PACKAGES} ARG FFMPEG_DEV_PACKAGES="\ x264-dev \ x265-dev \ openssl-dev \ libass-dev \ libogg-dev \ libvorbis-dev \ libtheora-dev \ libvpx-dev \ lame-dev \ xvidcore-dev \ freetype-dev \ fontconfig-dev \ fribidi-dev \ " ARG SRC=/usr/local ARG OPENCOREAMR_VERSION=0.1.5 ARG OPENCOREAMR_SHA256SUM=2c006cb9d5f651bfb5e60156dbff6af3c9d35c7bbcc9015308c0aff1e14cd341 ARG OPUS_VERSION=1.2.1 ARG OPUS_SHA256SUM=cfafd339ccd9c5ef8d6ab15d7e1a412c054bf4cb4ecbbbcc78c12ef2def70732 # fdk-aac 0.1.5+git ARG FDKAAC_VERSION=af5863a78efdfccd003dd6bea68c4a2cd2ad9f37 ARG FDKAAC_SHA256SUM=474776ab326f8c9bfd8e244e823a41acd328ce20dc163f8ebef3e7fdd2e879f6 ARG LIBVIDSTAB_VERSION=v1.1.0 ARG LIBVIDSTAB_SHA256SUM=14d2a053e56edad4f397be0cb3ef8eb1ec3150404ce99a426c4eb641861dc0bb ARG FFMPEG_VERSION=50aeb6e4edf635147a6651859ec63d15a67f6b87 RUN \ apk add --no-cache --virtual .build-deps \ alpine-sdk \ coreutils \ automake \ autoconf \ file \ libtool \ cmake \ yasm \ ${FFMPEG_DEV_PACKAGES} \ \ && DIR=$(mktemp -d) && cd ${DIR} && \ curl -sL https://downloads.sf.net/project/opencore-amr/opencore-amr/opencore-amr-${OPENCOREAMR_VERSION}.tar.gz | \ tar -zx --strip-components=1 && \ ./configure --prefix="${SRC}" --bindir="${SRC}/bin" --enable-shared --disable-doc --datadir=${DIR} && \ make -j$(nproc) && \ make install && \ rm -rf ${DIR} && \ \ DIR=$(mktemp -d) && cd ${DIR} && \ curl -sLO https://archive.mozilla.org/pub/opus/opus-${OPUS_VERSION}.tar.gz && \ echo ${OPUS_SHA256SUM} opus-${OPUS_VERSION}.tar.gz | sha256sum --check && \ tar -zx --strip-components=1 -f opus-${OPUS_VERSION}.tar.gz && \ autoreconf -fiv && \ ./configure --prefix="${SRC}" --disable-static --disable-doc --datadir="${DIR}" && \ make -j$(nproc) && \ make install && \ rm -rf ${DIR} && \ \ DIR=$(mktemp -d) && cd ${DIR} && \ curl -sL https://github.com/mstorsjo/fdk-aac/archive/${FDKAAC_VERSION}.tar.gz | \ tar -zx --strip-components=1 && \ autoreconf -fiv && \ ./configure --prefix="${SRC}" --disable-static --disable-doc --datadir="${DIR}" && \ make -j$(nproc) && \ make install && \ make distclean && \ rm -rf ${DIR} && \ \ DIR=$(mktemp -d) && cd ${DIR} && \ curl -sLO https://github.com/georgmartius/vid.stab/archive/${LIBVIDSTAB_VERSION}.tar.gz &&\ echo ${LIBVIDSTAB_SHA256SUM} ${LIBVIDSTAB_VERSION}.tar.gz | sha256sum --check && \ tar -zx --strip-components=1 -f ${LIBVIDSTAB_VERSION}.tar.gz && \ cmake -DCMAKE_INSTALL_PREFIX="${SRC}" . && \ make -j$(nproc) && \ make install && \ rm -rf ${DIR} && \ \ DIR=$(mktemp -d) && cd ${DIR} && \ curl -sLO https://git.ffmpeg.org/gitweb/ffmpeg.git/snapshot/${FFMPEG_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f ${FFMPEG_VERSION}.tar.gz && \ ./configure \ --bindir="${SRC}/bin" \ --disable-debug \ --disable-doc \ --disable-ffplay \ --disable-static \ --enable-avresample \ --enable-gpl \ --enable-libass \ --enable-libopencore-amrnb \ --enable-libopencore-amrwb \ --enable-libfdk_aac \ --enable-libfreetype \ --enable-libvidstab \ --enable-libmp3lame \ --enable-libopus \ --enable-libtheora \ --enable-libvorbis \ --enable-libvpx \ --enable-libx264 \ --enable-libx265 \ --enable-libxvid \ --enable-nonfree \ --enable-openssl \ --enable-postproc \ --enable-shared \ --enable-small \ --enable-version3 \ --extra-cflags="-I${SRC}/include" \ --extra-ldflags="-L${SRC}/lib" \ --extra-libs=-ldl \ --prefix="${SRC}" && \ make -j$(nproc) && \ make install && \ make distclean && \ hash -r && \ cd tools && \ make qt-faststart && \ cp qt-faststart ${SRC}/bin && \ rm -rf ${DIR} \ && apk del --no-cache .build-deps ### RUN apk add --no-cache bash bc COPY ffmpeg-hls.sh /usr/local/bin/ffmpeg-hls