155 lines
3.9 KiB
Docker
155 lines
3.9 KiB
Docker
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
|