Skip to content

Commit 49e8c05

Browse files
authored
Update FFmpeg to v6.1 (#34)
* Install fixed version of FFmpeg with the use of asdf. Remove installation of libpostproc-dev
1 parent 0a7cdb0 commit 49e8c05

File tree

1 file changed

+131
-97
lines changed

1 file changed

+131
-97
lines changed

jammy/Dockerfile

Lines changed: 131 additions & 97 deletions
Original file line numberDiff line numberDiff line change
@@ -6,34 +6,42 @@ SHELL ["/bin/bash", "-c"]
66
# Common tools and dependencies, GCC, ASDF
77
# Note: We setup locales using the snippet from `ubuntu` image readme.
88
RUN apt-get update \
9-
&& apt-get install -y software-properties-common \
10-
&& add-apt-repository ppa:ubuntu-toolchain-r/test -y \
11-
&& apt-get update \
12-
&& apt-get install -y \
13-
autoconf \
14-
automake \
15-
build-essential \
16-
clang-format \
17-
curl \
18-
gcc-9 \
19-
git \
20-
libffi-dev \
21-
libglib2.0-dev \
22-
libncurses-dev \
23-
libreadline-dev \
24-
libssl-dev \
25-
libtool \
26-
libxslt-dev \
27-
libyaml-dev \
28-
locales \
29-
meson \
30-
ninja-build \
31-
unixodbc-dev \
32-
unzip \
33-
wget \
34-
&& rm -rf /var/lib/apt/lists/* \
35-
&& localedef -i en_US -c -f UTF-8 -A /usr/share/locale/locale.alias en_US.UTF-8 \
36-
&& git clone https://github.com/asdf-vm/asdf.git /root/.asdf -b v0.8.0
9+
&& apt-get install -y software-properties-common \
10+
&& add-apt-repository ppa:ubuntu-toolchain-r/test -y \
11+
&& apt-get update \
12+
&& apt-get install -y \
13+
autoconf \
14+
automake \
15+
build-essential \
16+
cmake \
17+
clang-format \
18+
curl \
19+
gcc-9 \
20+
git \
21+
git-core \
22+
libass-dev \
23+
libffi-dev \
24+
libfreetype6-dev \
25+
libglib2.0-dev \
26+
libgnutls28-dev \
27+
libncurses-dev \
28+
libreadline-dev \
29+
libssl-dev \
30+
libtool \
31+
libxslt-dev \
32+
libyaml-dev \
33+
locales \
34+
meson \
35+
ninja-build \
36+
unixodbc-dev \
37+
texinfo \
38+
unzip \
39+
wget \
40+
yasm \
41+
zlib1g-dev \
42+
&& rm -rf /var/lib/apt/lists/* \
43+
&& localedef -i en_US -c -f UTF-8 -A /usr/share/locale/locale.alias en_US.UTF-8 \
44+
&& git clone https://github.com/asdf-vm/asdf.git /root/.asdf -b v0.8.0
3745

3846
ENV LANG en_US.utf8
3947

@@ -46,89 +54,115 @@ ENV PATH /root/.asdf/bin:/root/.asdf/shims:$PATH
4654

4755
# Erlang
4856
RUN apt-get update \
49-
# This invocation causes `keyboard-configuration` package to be installed,
50-
# which seems to assume interactivity during Docker build. Setting DEBIAN_FRONTEND
51-
# helps for this issue, although this is not recommended in general.
52-
&& DEBIAN_FRONTEND=noninteractive apt-get install -y \
53-
autoconf \
54-
build-essential \
55-
fop \
56-
libgl1-mesa-dev \
57-
libglu1-mesa-dev \
58-
libncurses5-dev \
59-
libpng-dev \
60-
libssh-dev \
61-
libwxgtk3.0-gtk3-dev \
62-
m4 \
63-
unixodbc-dev \
64-
xsltproc \
65-
&& rm -rf /var/lib/apt/lists/* \
66-
&& asdf plugin-add erlang https://github.com/asdf-vm/asdf-erlang.git \
67-
&& asdf install erlang 26.0.2 \
68-
&& asdf global erlang 26.0.2 \
69-
&& rm -rf /tmp/*
57+
# This invocation causes `keyboard-configuration` package to be installed,
58+
# which seems to assume interactivity during Docker build. Setting DEBIAN_FRONTEND
59+
# helps for this issue, although this is not recommended in general.
60+
&& DEBIAN_FRONTEND=noninteractive apt-get install -y \
61+
autoconf \
62+
build-essential \
63+
fop \
64+
libgl1-mesa-dev \
65+
libglu1-mesa-dev \
66+
libncurses5-dev \
67+
libpng-dev \
68+
libssh-dev \
69+
libwxgtk3.0-gtk3-dev \
70+
m4 \
71+
unixodbc-dev \
72+
xsltproc \
73+
&& rm -rf /var/lib/apt/lists/* \
74+
&& asdf plugin-add erlang https://github.com/asdf-vm/asdf-erlang.git \
75+
&& asdf install erlang 26.0.2 \
76+
&& asdf global erlang 26.0.2 \
77+
&& rm -rf /tmp/*
7078

7179
# Elixir
7280
RUN asdf plugin-add elixir https://github.com/asdf-vm/asdf-elixir.git \
73-
&& asdf install elixir 1.15.5-otp-26 \
74-
&& asdf global elixir 1.15.5-otp-26 \
75-
&& mix local.hex --force \
76-
&& mix local.rebar --force \
77-
&& rm -rf /tmp/*
78-
81+
&& asdf install elixir 1.15.5-otp-26 \
82+
&& asdf global elixir 1.15.5-otp-26 \
83+
&& mix local.hex --force \
84+
&& mix local.rebar --force \
85+
&& rm -rf /tmp/*
86+
7987
# Node.js
8088
RUN asdf plugin-add nodejs \
81-
&& asdf install nodejs 18.17.1 \
82-
&& asdf global nodejs 18.17.1 \
83-
&& rm -rf /tmp/*
89+
&& asdf install nodejs 18.17.1 \
90+
&& asdf global nodejs 18.17.1 \
91+
&& rm -rf /tmp/*
8492

8593
# Rust
8694
RUN asdf plugin-add rust \
87-
&& asdf install rust 1.70.0 \
88-
&& asdf global rust 1.70.0 \
89-
&& rm -rf /tmp/*
95+
&& asdf install rust 1.70.0 \
96+
&& asdf global rust 1.70.0 \
97+
&& rm -rf /tmp/*
9098

9199
# Multimedia libraries
92100
RUN apt-get update \
93-
&& apt-get install -y \
94-
ffmpeg \
95-
libavcodec-dev \
96-
libavdevice-dev \
97-
libavfilter-dev \
98-
libavformat-dev \
99-
libavformat-dev \
100-
libavutil-dev \
101-
libflac-dev \
102-
libmad0-dev \
103-
libopus-dev \
104-
libpostproc-dev \
105-
libsdl2-dev \
106-
libswresample-dev \
107-
libswscale-dev \
108-
portaudio19-dev \
109-
libsrtp2-dev \
110-
libmp3lame-dev \
111-
&& rm -rf /var/lib/apt/lists/* \
112-
# fdk-aac
113-
&& cd /tmp/ \
114-
&& wget https://downloads.sourceforge.net/opencore-amr/fdk-aac-2.0.0.tar.gz \
115-
&& tar -xf fdk-aac-2.0.0.tar.gz && cd fdk-aac-2.0.0 \
116-
&& ./configure --prefix=/usr --disable-static \
117-
&& make && make install \
118-
&& cd / \
119-
&& rm -rf /tmp/*
101+
&& apt-get install -y \
102+
libflac-dev \
103+
libmad0-dev \
104+
libopus-dev \
105+
libsdl2-dev \
106+
portaudio19-dev \
107+
libsrtp2-dev \
108+
libmp3lame-dev \
109+
libva-dev \
110+
libvdpau-dev \
111+
libvorbis-dev \
112+
libxcb1-dev \
113+
libxcb-shm0-dev \
114+
libxcb-xfixes0-dev \
115+
libx264-dev \
116+
libfreetype-dev \
117+
libx265-dev \
118+
&& rm -rf /var/lib/apt/lists/* \
119+
# fdk-aac
120+
&& cd /tmp/ \
121+
&& wget https://downloads.sourceforge.net/opencore-amr/fdk-aac-2.0.0.tar.gz \
122+
&& tar -xf fdk-aac-2.0.0.tar.gz && cd fdk-aac-2.0.0 \
123+
&& ./configure --prefix=/usr --disable-static \
124+
&& make && make install \
125+
&& cd / \
126+
&& rm -rf /tmp/*
127+
128+
# FFmpeg
129+
RUN asdf plugin add ffmpeg \
130+
&& export ASDF_FFMPEG_OPTIONS_EXTRA="--disable-debug \
131+
--disable-doc \
132+
--enable-ffplay \
133+
--enable-fontconfig \
134+
--enable-gpl \
135+
--enable-libass \
136+
--enable-libfdk_aac \
137+
--enable-libmp3lame \
138+
--enable-libopus \
139+
--enable-libx264 \
140+
--enable-libx265 \
141+
--enable-libfreetype \
142+
--enable-libharfbuzz \
143+
--enable-nonfree \
144+
--enable-openssl \
145+
--enable-postproc \
146+
--enable-shared \
147+
--enable-small \
148+
--enable-version3 \
149+
--extra-libs=-ldl \
150+
--extra-libs=-lpthread" \
151+
&& asdf install ffmpeg 6.1.1 \
152+
&& asdf global ffmpeg 6.1.1 \
153+
&& cp -r /root/.asdf/installs/ffmpeg/6.1.1/lib/* /usr/lib
120154

121155
# OpenGL dependencies - based on https://github.com/thewtex/docker-opengl
122156
RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y \
123-
libgl1-mesa-dri \
124-
openbox \
125-
supervisor \
126-
x11-xserver-utils \
127-
xinit \
128-
xserver-xorg-video-dummy \
129-
python3-pip \
130-
&& pip install git+https://github.com/coderanger/supervisor-stdout \
131-
&& apt-get -y clean
157+
libgl1-mesa-dri \
158+
openbox \
159+
supervisor \
160+
x11-xserver-utils \
161+
xinit \
162+
xserver-xorg-video-dummy \
163+
python3-pip \
164+
&& pip install git+https://github.com/coderanger/supervisor-stdout \
165+
&& apt-get -y clean
132166

133167
COPY etc /etc
134168
COPY /etc/skel/.xinitrc /root/

0 commit comments

Comments
 (0)