-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathDockerfile
More file actions
72 lines (63 loc) · 2.44 KB
/
Dockerfile
File metadata and controls
72 lines (63 loc) · 2.44 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
FROM konstin2/maturin:latest
ARG FFMPEG_VERSION="4.4"
# build tools
RUN echo "[1] Install dependencies"
RUN yum install -y autoconf automake bzip2 bzip2-devel clang freetype-devel gcc gcc-c++ git libtool make mercurial pkgconfig zlib-devel
WORKDIR ~/ffmpeg_sources
# nasm
RUN echo "[2] Install nasm" && \
curl -O -L https://www.nasm.us/pub/nasm/releasebuilds/2.14.02/nasm-2.14.02.tar.gz && \
tar xvfz nasm-2.14.02.tar.gz && \
cd nasm-2.14.02 && \
./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin" && \
make -j$(nproc) && \
make install
# yasm
RUN echo "[3] Install yasm" && \
curl -O -L https://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz --insecure && \
tar xzf yasm-1.3.0.tar.gz && \
cd yasm-1.3.0 && \
./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin" && \
make -j$(nproc) && \
make install
# libx264
RUN echo "[4] Install libx264" && \
git clone --depth 1 https://code.videolan.org/videolan/x264.git && \
cd x264 && \
export PATH="$HOME/bin:$PATH" && \
PKG_CONFIG_PATH="$HOME/ffmpeg_build/lib/pkgconfig" ./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin" --enable-shared --enable-pic && \
make -j$(nproc) && \
make install
# libvpx
RUN echo "[5] Install libvpx" && \
git clone --depth 1 https://chromium.googlesource.com/webm/libvpx.git && \
cd libvpx && \
export PATH="$HOME/bin:$PATH" && \
./configure --prefix="$HOME/ffmpeg_build" --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=yasm --enable-shared --enable-pic && \
make -j$(nproc) && \
make install
# ffmpeg
RUN echo "[6] Install ffmpeg" && \
curl -O -L https://ffmpeg.org/releases/ffmpeg-$FFMPEG_VERSION.tar.bz2 && \
tar xjf ffmpeg-$FFMPEG_VERSION.tar.bz2 && \
cd ffmpeg-$FFMPEG_VERSION && \
export PATH="$HOME/bin:$PATH" && \
PKG_CONFIG_PATH="$HOME/ffmpeg_build/lib/pkgconfig" ./configure \
--prefix="$HOME/ffmpeg_build" \
--extra-cflags="-I$HOME/ffmpeg_build/include" \
--extra-ldflags="-L$HOME/ffmpeg_build/lib" \
--extra-libs=-lpthread \
--extra-libs=-lm \
--bindir="$HOME/bin" \
--enable-gpl \
--enable-libvpx \
--enable-libx264 \
--enable-nonfree \
--disable-static \
--enable-shared \
--enable-pic && \
make -j$(nproc) && \
make install
ENV FFMPEG_DIR "/root/ffmpeg_build"
ENV LD_LIBRARY_PATH /root/ffmpeg_build/lib:$LD_LIBRARY_PATH
WORKDIR /io