Skip to content

[BUG] Path to FFMPEG No Longer Updatable in 10.8.13 #899

@a-priestley

Description

@a-priestley

Is there an existing issue for this?

  • I have searched the existing issues

Name of mod

jellyfin-rffmpeg

Name of base container

jellyfin

Current Behavior

As of 10.8.13, this mod is no longer usable due to the inability for users to manually set the path to the ffmpeg binary.

See here

Expected Behavior

The way by which the mod operates may have to change. Setting the value in encoding.xml followed by a restart does not seem to work either. Possibly due to:

Note too that the --ffmpeg flag may or may not change this for you, depending on what version you originally installed; while you should change it to match, you may still need to update the XML file as well.

Note that in the run script of docker-jellyfin, the flag mentioned above is hard coded, possibly overwriting the value entered into the .xml:

#!/usr/bin/with-contenv bash
# shellcheck shell=bash

export \
    JELLYFIN_DATA_DIR="/config/data" \
    JELLYFIN_CONFIG_DIR="/config" \
    JELLYFIN_LOG_DIR="/config/log" \
    JELLYFIN_CACHE_DIR="/config/cache" \
    JELLYFIN_WEB_DIR="/usr/share/jellyfin/web"

exec \
    s6-notifyoncheck -d -n 300 -w 1000 \
        s6-setuidgid abc /usr/bin/jellyfin \
        --ffmpeg=/usr/lib/jellyfin-ffmpeg/ffmpeg

Steps To Reproduce

  1. Running with the following docker-compose.yml service:
services:
  jellyfin:
    image: lscr.io/linuxserver/jellyfin:arm64v8-10.8.13
    network_mode: host
    container_name: jellyfin
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Etc/UTC
      - JELLYFIN_PublishedServerUrl=192.168.0.120
      - DOCKER_MODS=linuxserver/mods:jellyfin-rffmpeg
      - RFFMPEG_USER=jellyfin
      - RFFMPEG_HOST=100.64.0.1
      - RFFMPEG_HOST_MAC="50:eb:f6:7d:e9:f7"
      - RFFMPEG_WOL=native
      - FFMPEGDIR=/usr/local/bin/wol_rffmpeg/ffmpeg
      - WOL_NATIVE_HOST=192.168.2.101
      - WOL_NATIVE_PORT=9999
      - WOL_WAIT=10
    volumes:
      - ${PATH_TO_CONFIG}/jellyfin:/config
      - /shares/docker-data/jellyfin/data/subtitles:/config/data/data/subtitles
      - /shares/docker-data/jellyfin/transcodes:/config/data/transcodes
      - /shares/media:/data
    restart:
      unless-stopped
  1. Login as administrator
  2. Navigate to dashboard > playback > transcoding
  3. The FFmpeg path is no longer an editable field
  4. Note that the following fields in /config/encoding.xml are already set:
...
  <EncoderAppPath>/usr/local/bin/wol_rffmpeg/ffmpeg</EncoderAppPath>
  <EncoderAppPathDisplay>/usr/lib/jellyfin-ffmpeg/ffmpeg</EncoderAppPathDisplay>
...
  1. Restart the service. Observe that the specified path is still not used, and jellyfin uses the default binary to transcode media.

Environment

- OS: Alpine Raspberry PI
- How docker service was installed: `docker-compose` installed via `apk`

CPU architecture

arm64

Docker creation

See above.

Container logs

...
[custom-init] No custom files found, skipping...
[21:49:44] [INF] [1] Main: Jellyfin version: 10.9.1
[21:49:44] [INF] [1] Main: Environment Variables: ["[JELLYFIN_WEB_DIR, /usr/share/jellyfin/web]", "[JELLYFIN_DATA_DIR, /config/data]", "[JELLYFIN_LOG_DIR, /config/log]", "[JELLYFIN_PublishedServerUrl, 192.168.0.120]", "[JELLYFIN_CACHE_DIR, /config/cache]", "[JELLYFIN_CONFIG_DIR, /config]"]
[21:49:44] [INF] [1] Main: Arguments: ["/usr/lib/jellyfin/bin/jellyfin.dll", "--ffmpeg=/usr/lib/jellyfin-ffmpeg/ffmpeg"]
[21:49:44] [INF] [1] Main: Operating system: Ubuntu 22.04.4 LTS
[21:49:44] [INF] [1] Main: Architecture: Arm64
[21:49:44] [INF] [1] Main: 64-Bit Process: True
[21:49:44] [INF] [1] Main: User Interactive: True
[21:49:44] [INF] [1] Main: Processor count: 4
[21:49:44] [INF] [1] Main: Program data path: /config/data
[21:49:44] [INF] [1] Main: Log directory path: /config/log
[21:49:44] [INF] [1] Main: Config directory path: /config
[21:49:44] [INF] [1] Main: Cache path: /config/cache
[21:49:44] [INF] [1] Main: Web resources path: /usr/share/jellyfin/web
[21:49:44] [INF] [1] Main: Application directory: /usr/lib/jellyfin/bin/
...
[21:50:06] [INF] [1] [21:50:05] [INF] [1] MediaBrowser.MediaEncoding.Encoder.MediaEncoder: Available filters: ["overlay_opencl", "overlay_rkrga", "scale_opencl", "scale_rkrga", "tonemap_opencl", "vpp_rkrga", "zscale", "alphasrc"]
[21:50:05] [WRN] [1] MediaBrowser.MediaEncoding.Encoder.MediaEncoder: Filter: scale_cuda with option Output format (default "same") is not available
[21:50:05] [WRN] [1] MediaBrowser.MediaEncoding.Encoder.MediaEncoder: Filter: tonemap_cuda with option GPU accelerated HDR to SDR tonemapping is not available
[21:50:06] [WRN] [1] MediaBrowser.MediaEncoding.Encoder.MediaEncoder: Filter: overlay_vaapi with option Action to take when encountering EOF from secondary input is not available
[21:50:06] [WRN] [1] MediaBrowser.MediaEncoding.Encoder.MediaEncoder: Filter: overlay_vulkan with option Action to take when encountering EOF from secondary input is not available
[21:50:06] [INF] [1] MediaBrowser.MediaEncoding.Encoder.MediaEncoder: Available hwaccel types: ["drm", "opencl", "rkmpp"]
[21:50:06] [INF] [1] MediaBrowser.MediaEncoding.Encoder.MediaEncoder: FFmpeg: /usr/lib/jellyfin-ffmpeg/ffmpeg
...

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Status

    Done

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions