Update base, arm32v7, arm64 to FFmpeg 7.1.1 (#18)

* upgrade base image to ffmpeg 7.1.1

* update arm images to ffmpeg 7.1.1
This commit is contained in:
Jason Dove
2025-06-13 22:42:11 -05:00
committed by GitHub
parent f8f1974a5f
commit a9ef7201a9
4 changed files with 132 additions and 91 deletions

View File

@@ -13,10 +13,10 @@ jobs:
strategy:
matrix:
include:
# - name: base
# path: ''
# suffix: ''
# qemu: false
- name: base
path: ''
suffix: ''
qemu: false
# - name: nvidia
# path: 'nvidia.'
# suffix: '-nvidia'
@@ -25,14 +25,14 @@ jobs:
path: 'vaapi.'
suffix: '-vaapi'
qemu: false
# - name: arm32v7
# path: 'arm32v7.'
# suffix: '-arm'
# qemu: true
# - name: arm64
# path: 'arm64.'
# suffix: '-arm64'
# qemu: true
- name: arm32v7
path: 'arm32v7.'
suffix: '-arm'
qemu: true
- name: arm64
path: 'arm64.'
suffix: '-arm64'
qemu: true
steps:
- name: Checkout
uses: actions/checkout@v4

View File

@@ -1,31 +1,32 @@
FROM ghcr.io/linuxserver/baseimage-ubuntu:jammy as devel-base
FROM ghcr.io/linuxserver/baseimage-ubuntu:noble AS devel-base
ENV DEBIAN_FRONTEND="noninteractive"
ENV MAKEFLAGS="-j4"
ENV AOM=v3.6.1 \
FDKAAC=2.0.2 \
FFMPEG_HARD=7.0 \
FONTCONFIG=2.14.2 \
FREETYPE=2.12.1 \
FRIBIDI=1.0.13 \
KVAZAAR=2.2.0 \
ENV AOM=v3.12.0 \
FDKAAC=2.0.3 \
FFMPEG_HARD=7.1.1 \
FONTCONFIG=2.16.0 \
FREETYPE=2.13.3 \
FRIBIDI=1.0.16 \
KVAZAAR=2.3.1 \
LAME=3.100 \
LIBASS=0.17.1 \
LIBDAV1D=1.2.0 \
LIBDRM=2.4.100 \
LIBSRT=1.5.1 \
LIBASS=0.17.3 \
LIBDAV1D=1.5.1 \
LIBDRM=2.4.124 \
LIBSRT=1.5.4 \
LIBVIDSTAB=1.1.0 \
LIBWEBP=1.3.0 \
LIBWEBP=1.5.0 \
OGG=1.3.5 \
OPENCOREAMR=0.1.6 \
OPENJPEG=2.5.0 \
OPUS=1.3.1 \
OPENJPEG=2.5.3 \
OPUS=1.5.2 \
THEORA=1.1.1 \
VORBIS=1.3.7 \
VPX=1.13.0 \
X265=3.4 \
XVID=1.3.7
VPX=1.15.0 \
X265=4.1 \
XVID=1.3.7 \
ZIMG=3.0.5
RUN apt-get -yqq update && \
apt-get -yq --no-install-recommends install -y \
@@ -55,6 +56,7 @@ RUN apt-get -yqq update && \
libxcb-shape0-dev \
libxml2-dev \
make \
meson \
nasm \
ninja-build \
patch \
@@ -66,11 +68,11 @@ RUN apt-get -yqq update && \
python3-wheel \
x11proto-xext-dev \
xserver-xorg-dev \
xz-utils \
yasm \
zlib1g-dev && \
apt-get autoremove -y && \
apt-get clean -y && \
pip3 install meson
apt-get clean -y
# aom
RUN mkdir -p /tmp/aom && \
@@ -129,8 +131,8 @@ RUN cd /tmp/freetype && \
# fontconfig
RUN mkdir -p /tmp/fontconfig && \
curl -Lf \
https://www.freedesktop.org/software/fontconfig/release/fontconfig-${FONTCONFIG}.tar.gz | \
tar -zx --strip-components=1 -C /tmp/fontconfig
https://www.freedesktop.org/software/fontconfig/release/fontconfig-${FONTCONFIG}.tar.xz | \
tar -Jx --strip-components=1 -C /tmp/fontconfig
RUN cd /tmp/fontconfig && \
./configure \
--disable-static \
@@ -200,15 +202,16 @@ RUN cd /tmp/libass && \
# libdrm
RUN mkdir -p /tmp/libdrm && \
curl -Lf \
https://dri.freedesktop.org/libdrm/libdrm-${LIBDRM}.tar.gz | \
tar -zx --strip-components=1 -C /tmp/libdrm
https://dri.freedesktop.org/libdrm/libdrm-${LIBDRM}.tar.xz | \
tar -Jx --strip-components=1 -C /tmp/libdrm
RUN cd /tmp/libdrm && \
./configure \
--disable-nouveau \
--disable-static \
--enable-shared && \
make && \
make install
meson setup \
--prefix=/usr --libdir=/usr/local/lib/x86_64-linux-gnu \
-Dvalgrind=disabled \
. build && \
ninja -C build && \
ninja -C build install && \
strip -d /usr/local/lib/x86_64-linux-gnu/libdrm*.so
# libsrt
RUN mkdir -p /tmp/libsrt && \
@@ -276,7 +279,7 @@ RUN cd /tmp/openjpeg && \
# opus
RUN mkdir -p /tmp/opus && \
curl -Lf \
https://archive.mozilla.org/pub/opus/opus-${OPUS}.tar.gz | \
https://downloads.xiph.org/releases/opus/opus-${OPUS}.tar.gz | \
tar -zx --strip-components=1 -C /tmp/opus
RUN cd /tmp/opus && \
autoreconf -fiv && \
@@ -367,7 +370,7 @@ RUN cd /tmp/x264 && \
# x265
RUN mkdir -p /tmp/x265 && \
curl -Lf \
http://anduin.linuxfromscratch.org/BLFS/x265/x265_${X265}.tar.gz | \
https://bitbucket.org/multicoreware/x265_git/downloads/x265_${X265}.tar.gz | \
tar -zx --strip-components=1 -C /tmp/x265
RUN cd /tmp/x265/build/linux && \
./multilib.sh && \
@@ -383,6 +386,20 @@ RUN cd /tmp/xvid/build/generic && \
make && \
make install
# zimg
RUN mkdir -p /tmp/zimg && \
git clone \
--branch release-${ZIMG} --depth 1 \
https://github.com/sekrit-twc/zimg.git \
/tmp/zimg
RUN cd /tmp/zimg && \
./autogen.sh && \
./configure \
--disable-static \
--enable-shared && \
make && \
make install
# ffmpeg
RUN if [ -z ${FFMPEG_VERSION+x} ]; then \
FFMPEG=${FFMPEG_HARD}; \
@@ -424,6 +441,7 @@ RUN cd /tmp/ffmpeg && \
--enable-libx264 \
--enable-libx265 \
--enable-libxvid \
--enable-libzimg \
--enable-nonfree \
--enable-openssl \
--enable-small \
@@ -436,6 +454,8 @@ RUN cd /tmp/ffmpeg && \
RUN ldconfig && \
mkdir -p \
/buildout/usr/local/bin \
/buildout/usr/local/lib \
/buildout/usr/local/lib/x86_64-linux-gnu \
/buildout/usr/lib && \
cp \
/tmp/ffmpeg/ffmpeg \
@@ -443,14 +463,17 @@ RUN ldconfig && \
cp \
/tmp/ffmpeg/ffprobe \
/buildout/usr/local/bin && \
cp -a \
/usr/local/lib/lib*so* \
/buildout/usr/local/lib/ && \
cp -a \
/usr/local/lib/x86_64-linux-gnu/lib*so* \
/buildout/usr/local/lib/x86_64-linux-gnu/ && \
ldd /tmp/ffmpeg/ffmpeg \
| awk '/local/ {print $3}' \
| xargs -i cp -L {} /buildout/usr/lib/ && \
cp -a \
/usr/local/lib/libdrm_* \
/buildout/usr/lib/
| xargs -i cp -L {} /buildout/usr/lib/
FROM ghcr.io/linuxserver/baseimage-ubuntu:jammy as runtime-base
FROM ghcr.io/linuxserver/baseimage-ubuntu:noble AS runtime-base
ENV MAKEFLAGS="-j4"

View File

@@ -1,28 +1,28 @@
FROM ghcr.io/linuxserver/baseimage-ubuntu:arm32v7-jammy-05e08486-ls73 as devel-base
FROM ghcr.io/linuxserver/baseimage-ubuntu:arm32v7-jammy-05e08486-ls73 AS devel-base
ENV DEBIAN_FRONTEND="noninteractive"
ENV MAKEFLAGS="-j4"
ENV AOM=v3.6.1 \
FDKAAC=2.0.2 \
FFMPEG_HARD=7.0 \
FONTCONFIG=2.14.2 \
FREETYPE=2.12.1 \
FRIBIDI=1.0.13 \
KVAZAAR=2.2.0 \
ENV AOM=v3.12.0 \
FDKAAC=2.0.3 \
FFMPEG_HARD=7.1.1 \
FONTCONFIG=2.16.0 \
FREETYPE=2.13.3 \
FRIBIDI=1.0.16 \
KVAZAAR=2.3.1 \
LAME=3.100 \
LIBASS=0.17.1 \
LIBDAV1D=1.2.0 \
LIBSRT=1.5.1 \
LIBASS=0.17.3 \
LIBDAV1D=1.5.1 \
LIBSRT=1.5.4 \
LIBVIDSTAB=1.1.0 \
LIBWEBP=1.3.0 \
LIBWEBP=1.5.0 \
OGG=1.3.5 \
OPENCOREAMR=0.1.6 \
OPENJPEG=2.5.0 \
OPUS=1.3.1 \
OPENJPEG=2.5.3 \
OPUS=1.5.2 \
THEORA=1.1.1 \
VORBIS=1.3.7 \
VPX=1.13.0 \
VPX=1.15.0 \
X265=3.4 \
XVID=1.3.7
@@ -53,6 +53,7 @@ RUN apt-get -yqq update && \
libxcb-shape0-dev \
libxml2-dev \
make \
meson \
nasm \
ninja-build \
patch \
@@ -64,11 +65,11 @@ RUN apt-get -yqq update && \
python3-wheel \
x11proto-xext-dev \
xserver-xorg-dev \
xz-utils \
yasm \
zlib1g-dev && \
apt-get autoremove -y && \
apt-get clean -y && \
pip3 install meson
apt-get clean -y
# aom
RUN mkdir -p /tmp/aom && \
@@ -128,8 +129,8 @@ RUN cd /tmp/freetype && \
# fontconfig
RUN mkdir -p /tmp/fontconfig && \
curl -Lf \
https://www.freedesktop.org/software/fontconfig/release/fontconfig-${FONTCONFIG}.tar.gz | \
tar -zx --strip-components=1 -C /tmp/fontconfig
https://www.freedesktop.org/software/fontconfig/release/fontconfig-${FONTCONFIG}.tar.xz | \
tar -Jx --strip-components=1 -C /tmp/fontconfig
RUN cd /tmp/fontconfig && \
./configure \
--disable-static \
@@ -262,7 +263,7 @@ RUN cd /tmp/openjpeg && \
# opus
RUN mkdir -p /tmp/opus && \
curl -Lf \
https://archive.mozilla.org/pub/opus/opus-${OPUS}.tar.gz | \
https://downloads.xiph.org/releases/opus/opus-${OPUS}.tar.gz | \
tar -zx --strip-components=1 -C /tmp/opus
RUN cd /tmp/opus && \
autoreconf -fiv && \
@@ -443,7 +444,7 @@ RUN ldconfig && \
| awk '/local/ {print $3}' \
| xargs -i cp -L {} /buildout/usr/lib/
FROM ghcr.io/linuxserver/baseimage-ubuntu:arm32v7-jammy-05e08486-ls73 as runtime-base
FROM ghcr.io/linuxserver/baseimage-ubuntu:arm32v7-jammy-05e08486-ls73 AS runtime-base
ENV MAKEFLAGS="-j4"

View File

@@ -1,30 +1,31 @@
FROM ghcr.io/linuxserver/baseimage-ubuntu:arm64v8-jammy as devel-base
FROM ghcr.io/linuxserver/baseimage-ubuntu:arm64v8-noble AS devel-base
ENV DEBIAN_FRONTEND="noninteractive"
ENV MAKEFLAGS="-j4"
ENV AOM=v3.6.1 \
FDKAAC=2.0.2 \
FFMPEG_HARD=7.0 \
FONTCONFIG=2.14.2 \
FREETYPE=2.12.1 \
FRIBIDI=1.0.13 \
KVAZAAR=2.2.0 \
ENV AOM=v3.12.0 \
FDKAAC=2.0.3 \
FFMPEG_HARD=7.1.1 \
FONTCONFIG=2.16.0 \
FREETYPE=2.13.3 \
FRIBIDI=1.0.16 \
KVAZAAR=2.3.1 \
LAME=3.100 \
LIBASS=0.17.1 \
LIBASS=0.17.3 \
LIBDAV1D=1.2.1 \
LIBSRT=1.5.1 \
LIBSRT=1.5.4 \
LIBVIDSTAB=1.1.1 \
LIBWEBP=1.3.0 \
LIBWEBP=1.5.0 \
OGG=1.3.5 \
OPENCOREAMR=0.1.6 \
OPENJPEG=2.5.0 \
OPUS=1.3.1 \
OPENJPEG=2.5.3 \
OPUS=1.5.2 \
THEORA=1.1.1 \
VORBIS=1.3.7 \
VPX=1.13.0 \
VPX=1.15.0 \
X265=3.3 \
XVID=1.3.7
XVID=1.3.7 \
ZIMG=3.0.5
RUN apt-get -yqq update && \
apt-get -yq --no-install-recommends install -y \
@@ -53,6 +54,7 @@ RUN apt-get -yqq update && \
libxcb-shape0-dev \
libxml2-dev \
make \
meson \
nasm \
ninja-build \
patch \
@@ -64,11 +66,11 @@ RUN apt-get -yqq update && \
python3-wheel \
x11proto-xext-dev \
xserver-xorg-dev \
xz-utils \
yasm \
zlib1g-dev && \
apt-get autoremove -y && \
apt-get clean -y && \
pip3 install meson
apt-get clean -y
# aom
RUN mkdir -p /tmp/aom && \
@@ -127,8 +129,8 @@ RUN cd /tmp/freetype && \
# fontconfig
RUN mkdir -p /tmp/fontconfig && \
curl -Lf \
https://www.freedesktop.org/software/fontconfig/release/fontconfig-${FONTCONFIG}.tar.gz | \
tar -zx --strip-components=1 -C /tmp/fontconfig
https://www.freedesktop.org/software/fontconfig/release/fontconfig-${FONTCONFIG}.tar.xz | \
tar -Jx --strip-components=1 -C /tmp/fontconfig
RUN cd /tmp/fontconfig && \
./configure \
--disable-static \
@@ -261,7 +263,7 @@ RUN cd /tmp/openjpeg && \
# opus
RUN mkdir -p /tmp/opus && \
curl -Lf \
https://archive.mozilla.org/pub/opus/opus-${OPUS}.tar.gz | \
https://downloads.xiph.org/releases/opus/opus-${OPUS}.tar.gz | \
tar -zx --strip-components=1 -C /tmp/opus
RUN cd /tmp/opus && \
autoreconf -fiv && \
@@ -370,6 +372,20 @@ RUN cd /tmp/xvid/build/generic && \
make && \
make install
# zimg
RUN mkdir -p /tmp/zimg && \
git clone \
--branch release-${ZIMG} --depth 1 \
https://github.com/sekrit-twc/zimg.git \
/tmp/zimg
RUN cd /tmp/zimg && \
./autogen.sh && \
./configure \
--disable-static \
--enable-shared && \
make && \
make install
# ffmpeg
RUN if [ -z ${FFMPEG_VERSION+x} ]; then \
FFMPEG=${FFMPEG_HARD}; \
@@ -411,6 +427,7 @@ RUN cd /tmp/ffmpeg && \
--enable-libx264 \
--enable-libx265 \
--enable-libxvid \
--enable-libzimg \
--enable-nonfree \
--enable-openssl \
--enable-small \
@@ -433,7 +450,7 @@ RUN ldconfig && \
| awk '/local/ {print $3}' \
| xargs -i cp -L {} /buildout/usr/lib/
FROM ghcr.io/linuxserver/baseimage-ubuntu:arm64v8-jammy as runtime-base
FROM ghcr.io/linuxserver/baseimage-ubuntu:arm64v8-noble AS runtime-base
ENV MAKEFLAGS="-j4"