git: b0cad1c83efc - main - www/immich: Switch to jellyfin-ffmpeg
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Sun, 20 Sep 2026 18:09:26 UTC
The branch main has been updated by joneum:
URL: https://cgit.FreeBSD.org/ports/commit/?id=b0cad1c83efc188a7ff16086ffcc75e5b214db72
commit b0cad1c83efc188a7ff16086ffcc75e5b214db72
Author: Jochen Neumeister <joneum@FreeBSD.org>
AuthorDate: 2026-09-20 18:08:43 +0000
Commit: Jochen Neumeister <joneum@FreeBSD.org>
CommitDate: 2026-09-20 18:09:16 +0000
www/immich: Switch to jellyfin-ffmpeg
Immich builds its HDR filter chain around tonemapx, which only the
Jellyfin patch set provides. The rc script points FFMPEG_PATH and
FFPROBE_PATH at it.
PR: 298378
Requested by: several people
Sponsored by: Netzkommune GmbH
---
www/immich/Makefile | 4 ++--
www/immich/files/immich_server.in | 4 +++-
www/immich/files/patch-server_src_dtos_config.dto.ts | 11 -----------
www/immich/files/pkg-message.in | 12 +++++-------
4 files changed, 10 insertions(+), 21 deletions(-)
diff --git a/www/immich/Makefile b/www/immich/Makefile
index d1630c355aec..eda7a7539a83 100644
--- a/www/immich/Makefile
+++ b/www/immich/Makefile
@@ -1,7 +1,7 @@
PORTNAME= immich
DISTVERSIONPREFIX= v
DISTVERSION= 3.2.2
-PORTREVISION= 3
+PORTREVISION= 4
CATEGORIES= www
MASTER_SITES= https://github.com/joneum/FreeBSD-Immich/releases/download/v${DISTVERSION}/:buildkit
DISTFILES= immich-freebsd-buildkit-${DISTVERSION}${EXTRACT_SUFX}:buildkit
@@ -23,7 +23,7 @@ LIB_DEPENDS= libheif.so:graphics/libheif \
libvips.so:graphics/vips
RUN_DEPENDS= ${LOCALBASE}/bin/gzip:archivers/gzip \
exiftool:graphics/p5-Image-ExifTool \
- ffmpeg:multimedia/ffmpeg
+ ${LOCALBASE}/bin/jellyfin-ffmpeg8:multimedia/jellyfin-ffmpeg
USES= cpe gettext-runtime gmake gnome nodejs:22,build,run pgsql:14+ \
pkgconfig python:build
diff --git a/www/immich/files/immich_server.in b/www/immich/files/immich_server.in
index c28d5f8b29f6..ab04d1c63258 100644
--- a/www/immich/files/immich_server.in
+++ b/www/immich/files/immich_server.in
@@ -37,7 +37,9 @@ load_rc_config $name
IMMICH_BUILD_DATA=%%PREFIX%%/www/immich/build-data \
IMMICH_MEDIA_LOCATION=${immich_server_media_location} \
IMMICH_HOST=${immich_server_host} \
- IMMICH_PORT=${immich_server_port}"}
+ IMMICH_PORT=${immich_server_port} \
+ FFMPEG_PATH=%%PREFIX%%/bin/jellyfin-ffmpeg8 \
+ FFPROBE_PATH=%%PREFIX%%/bin/jellyfin-ffprobe8"}
pidfile=/var/run/immich/${name}.pid
childpidfile=/var/run/immich/${name}_child.pid
diff --git a/www/immich/files/patch-server_src_dtos_config.dto.ts b/www/immich/files/patch-server_src_dtos_config.dto.ts
deleted file mode 100644
index 608108fc1353..000000000000
--- a/www/immich/files/patch-server_src_dtos_config.dto.ts
+++ /dev/null
@@ -1,11 +0,0 @@
---- server/src/dtos/config.dto.ts.orig 2026-09-19 10:49:13 UTC
-+++ server/src/dtos/config.dto.ts
-@@ -570,7 +570,7 @@ export const defaults = Object.freeze<SystemConfig>({
- twoPass: false,
- preferredHwDevice: 'auto',
- transcode: TranscodePolicy.Required,
-- tonemap: ToneMapping.Hable,
-+ tonemap: ToneMapping.Disabled,
- accel: TranscodeHardwareAcceleration.Disabled,
- accelDecode: true,
- realtime: {
diff --git a/www/immich/files/pkg-message.in b/www/immich/files/pkg-message.in
index 4f7f59c48cf1..82c5bc9ca738 100644
--- a/www/immich/files/pkg-message.in
+++ b/www/immich/files/pkg-message.in
@@ -62,13 +62,11 @@ Running it:
import keeps the library readable without the database.
* Logs are rotated by newsyslog through
%%PREFIX%%/etc/newsyslog.conf.d/immich.conf.
- * HDR tone mapping is off by default. Immich builds its filter chain
- around the tonemapx filter, which ffmpeg does not have, so an HDR
- video would get no thumbnail at all. The switch sits under
- Administration > Settings > Video Transcoding. Turning it on needs
- an ffmpeg that provides tonemapx, and its path belongs into
- FFMPEG_PATH and FFPROBE_PATH in immich.env. Existing installations
- keep whatever is stored in their database.
+ * Video work runs through multimedia/jellyfin-ffmpeg, which the rc
+ script selects with FFMPEG_PATH and FFPROBE_PATH. Immich builds its
+ HDR filter chain around tonemapx, a filter multimedia/ffmpeg does not
+ provide, so with plain ffmpeg an HDR video gets no thumbnail at all.
+ To use a different build, set both variables in immich.env.
* Schema migrations run automatically on start, so take a backup
before a version upgrade; downgrades are not supported. After a
PostgreSQL major upgrade, rebuild pgvector and vchord. After a