From 73d3c0f73321ab0713f3619820a6e48bb0af0dcf Mon Sep 17 00:00:00 2001 From: Wendell Jones Date: Tue, 10 Mar 2026 14:54:05 -0400 Subject: [PATCH] Add jellyfin-ffmpeg requirements and recommendations to README --- README-POSTGRESQL.md | 52 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) diff --git a/README-POSTGRESQL.md b/README-POSTGRESQL.md index 3f819f20..f112d4d9 100644 --- a/README-POSTGRESQL.md +++ b/README-POSTGRESQL.md @@ -15,6 +15,52 @@ This is a fork of Jellyfin that adds PostgreSQL database support for .NET 11 pre ## Requirements +### FFmpeg Requirements + +**jellyfin-ffmpeg is highly preferred and recommended** for use with Jellyfin Media Server. While standard FFmpeg can be used, the custom `jellyfin-ffmpeg` fork includes specifically targeted fixes, optimizations, and enhanced hardware acceleration support for media streaming that may not be available or prioritized in the upstream version. + +#### Why jellyfin-ffmpeg is Preferred: + +- **Improved Hardware Acceleration**: Better support for hardware acceleration (NVENC, QuickSync, VA-API) across a wider range of GPUs, reducing the risk of partial acceleration +- **Reduced Playback Issues**: Specifically built to handle HDR/Dolby Vision content, HLS/fMP4/MPEG-TS streaming, and complex transcoding scenarios better than standard FFmpeg +- **Optimized Performance**: Often includes more efficient software decoders (like dav1d for AV1) +- **Pre-configured**: Automatically included with official Docker images, deb packages, and Windows installers + +**Link**: [jellyfin-ffmpeg repository](https://github.com/jellyfin/jellyfin-ffmpeg) + +#### Installation: + +**Debian/Ubuntu** (using Jellyfin repository): +```bash +# Add Jellyfin repository (if not already added) +sudo apt-get install -y software-properties-common +sudo add-apt-repository universe + +# Install jellyfin-ffmpeg +sudo apt-get update +sudo apt-get install -y jellyfin-ffmpeg6 +``` + +**Manual Download**: +Download from [jellyfin-ffmpeg releases](https://github.com/jellyfin/jellyfin-ffmpeg/releases) and configure the path in Jellyfin settings. + +#### Using Standard FFmpeg (Not Recommended): + +If using a custom or unofficial installation where jellyfin-ffmpeg is not available, standard FFmpeg might work but could lead to issues with specific transcoding tasks: + +```bash +# Debian/Ubuntu +sudo apt-get install -y ffmpeg + +# RHEL/Fedora +sudo dnf install -y ffmpeg + +# Arch Linux +sudo pacman -S ffmpeg +``` + +**Note**: You may need to manually set the FFmpeg path in Jellyfin's dashboard under **Dashboard → Playback → FFmpeg path**. + ### System Dependencies (Linux) Jellyfin requires certain system libraries to be installed: @@ -30,6 +76,8 @@ sudo apt-get install -y \ libicu-dev ``` +**Note**: See the [FFmpeg Requirements](#ffmpeg-requirements) section above for installing `jellyfin-ffmpeg`. + #### RHEL/CentOS/Fedora-based systems: ```bash @@ -40,12 +88,16 @@ sudo dnf install -y \ libicu ``` +**Note**: See the [FFmpeg Requirements](#ffmpeg-requirements) section above for installing FFmpeg. + #### Arch Linux: ```bash sudo pacman -S fontconfig freetype2 openssl icu ``` +**Note**: See the [FFmpeg Requirements](#ffmpeg-requirements) section above for installing FFmpeg. + **Note**: The `libfontconfig1` library is **required** for SkiaSharp (image processing). Without it, Jellyfin will fail to start with: ``` libfontconfig.so.1: cannot open shared object file: No such file or directory