GithubHelp home page GithubHelp logo

docker-jellyfin's Introduction

linuxserver.io

Blog Discord Discourse Fleet GitHub Open Collective

The LinuxServer.io team brings you another container release featuring:

  • regular and timely application updates
  • easy user mappings (PGID, PUID)
  • custom base image with s6 overlay
  • weekly base OS updates with common layers across the entire LinuxServer.io ecosystem to minimise space usage, down time and bandwidth
  • regular security updates

Find us at:

  • Blog - all the things you can do with our containers including How-To guides, opinions and much more!
  • Discord - realtime support / chat with the community and the team.
  • Discourse - post on our community forum.
  • Fleet - an online web interface which displays all of our maintained images.
  • GitHub - view the source for all of our repositories.
  • Open Collective - please consider helping us by either donating or contributing to our budget

Scarf.io pulls GitHub Stars GitHub Release GitHub Package Repository GitLab Container Registry Quay.io Docker Pulls Docker Stars Jenkins Build LSIO CI

Jellyfin is a Free Software Media System that puts you in control of managing and streaming your media. It is an alternative to the proprietary Emby and Plex, to provide media from a dedicated server to end-user devices via multiple apps. Jellyfin is descended from Emby's 3.5.2 release and ported to the .NET Core framework to enable full cross-platform support. There are no strings attached, no premium licenses or features, and no hidden agendas: just a team who want to build something better and work together to achieve it.

jellyfin

Supported Architectures

We utilise the docker manifest for multi-platform awareness. More information is available from docker here and our announcement here.

Simply pulling lscr.io/linuxserver/jellyfin:latest should retrieve the correct image for your arch, but you can also pull specific arch images via tags.

The architectures supported by this image are:

Architecture Available Tag
x86-64 amd64-<version tag>
arm64 arm64v8-<version tag>
armhf

Version Tags

This image provides various versions that are available via tags. Please read the descriptions carefully and exercise caution when using unstable or development tags.

Tag Available Description
latest Stable Jellyfin releases
nightly Nightly Jellyfin releases

Application Setup

Webui can be found at http://<your-ip>:8096

More information can be found on the official documentation here.

Hardware Acceleration Enhancements

This section lists the enhancements we have made for hardware acceleration in this image specifically.

Intel

To enable the OpenCL based DV, HDR10 and HLG tone-mapping, please refer to the OpenCL-Intel mod from here:

https://mods.linuxserver.io/?mod=jellyfin

OpenMAX (Raspberry Pi)

Hardware acceleration users for Raspberry Pi MMAL/OpenMAX will need to mount their /dev/vcsm and /dev/vchiq video devices inside of the container and their system OpenMax libs by passing the following options when running or creating the container:

--device=/dev/vcsm:/dev/vcsm
--device=/dev/vchiq:/dev/vchiq
-v /opt/vc/lib:/opt/vc/lib

V4L2 (Raspberry Pi)

Hardware acceleration users for Raspberry Pi V4L2 will need to mount their /dev/video1X devices inside of the container by passing the following options when running or creating the container:

--device=/dev/video10:/dev/video10
--device=/dev/video11:/dev/video11
--device=/dev/video12:/dev/video12

Hardware Acceleration

Many desktop applications need access to a GPU to function properly and even some Desktop Environments have compositor effects that will not function without a GPU. However this is not a hard requirement and all base images will function without a video device mounted into the container.

Intel/ATI/AMD

To leverage hardware acceleration you will need to mount /dev/dri video device inside of the container.

--device=/dev/dri:/dev/dri

We will automatically ensure the abc user inside of the container has the proper permissions to access this device.

Nvidia

Hardware acceleration users for Nvidia will need to install the container runtime provided by Nvidia on their host, instructions can be found here: https://github.com/NVIDIA/nvidia-container-toolkit

We automatically add the necessary environment variable that will utilise all the features available on a GPU on the host. Once nvidia-container-toolkit is installed on your host you will need to re/create the docker container with the nvidia container runtime --runtime=nvidia and add an environment variable -e NVIDIA_VISIBLE_DEVICES=all (can also be set to a specific gpu's UUID, this can be discovered by running nvidia-smi --query-gpu=gpu_name,gpu_uuid --format=csv ). NVIDIA automatically mounts the GPU and drivers from your host into the container.

Arm Devices

Best effort is made to install tools to allow mounting in /dev/dri on Arm devices. In most cases if /dev/dri exists on the host it should just work. If running a Raspberry Pi 4 be sure to enable dtoverlay=vc4-fkms-v3d in your usercfg.txt.

Usage

To help you get started creating a container from this image you can either use docker-compose or the docker cli.

docker-compose (recommended, click here for more info)

---
services:
  jellyfin:
    image: lscr.io/linuxserver/jellyfin:latest
    container_name: jellyfin
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Etc/UTC
      - JELLYFIN_PublishedServerUrl=192.168.0.5 #optional
    volumes:
      - /path/to/library:/config
      - /path/to/tvseries:/data/tvshows
      - /path/to/movies:/data/movies
    ports:
      - 8096:8096
      - 8920:8920 #optional
      - 7359:7359/udp #optional
      - 1900:1900/udp #optional
    restart: unless-stopped
docker run -d \
  --name=jellyfin \
  -e PUID=1000 \
  -e PGID=1000 \
  -e TZ=Etc/UTC \
  -e JELLYFIN_PublishedServerUrl=192.168.0.5 `#optional` \
  -p 8096:8096 \
  -p 8920:8920 `#optional` \
  -p 7359:7359/udp `#optional` \
  -p 1900:1900/udp `#optional` \
  -v /path/to/library:/config \
  -v /path/to/tvseries:/data/tvshows \
  -v /path/to/movies:/data/movies \
  --restart unless-stopped \
  lscr.io/linuxserver/jellyfin:latest

Parameters

Containers are configured using parameters passed at runtime (such as those above). These parameters are separated by a colon and indicate <external>:<internal> respectively. For example, -p 8080:80 would expose port 80 from inside the container to be accessible from the host's IP on port 8080 outside the container.

Parameter Function
-p 8096 Http webUI.
-p 8920 Optional - Https webUI (you need to set up your own certificate).
-p 7359/udp Optional - Allows clients to discover Jellyfin on the local network.
-p 1900/udp Optional - Service discovery used by DNLA and clients.
-e PUID=1000 for UserID - see below for explanation
-e PGID=1000 for GroupID - see below for explanation
-e TZ=Etc/UTC specify a timezone to use, see this list.
-e JELLYFIN_PublishedServerUrl=192.168.0.5 Set the autodiscovery response domain or IP address.
-v /config Jellyfin data storage location. This can grow very large, 50gb+ is likely for a large collection.
-v /data/tvshows Media goes here. Add as many as needed e.g. /data/movies, /data/tv, etc.
-v /data/movies Media goes here. Add as many as needed e.g. /data/movies, /data/tv, etc.

Environment variables from files (Docker secrets)

You can set any environment variable from a file by using a special prepend FILE__.

As an example:

-e FILE__MYVAR=/run/secrets/mysecretvariable

Will set the environment variable MYVAR based on the contents of the /run/secrets/mysecretvariable file.

Umask for running applications

For all of our images we provide the ability to override the default umask settings for services started within the containers using the optional -e UMASK=022 setting. Keep in mind umask is not chmod it subtracts from permissions based on it's value it does not add. Please read up here before asking for support.

Optional Parameters

The official documentation for ports has additional ports that can provide auto discovery.

Service Discovery (1900/udp) - Since client auto-discover would break if this option were configurable, you cannot change this in the settings at this time. DLNA also uses this port and is required to be in the local subnet.

Client Discovery (7359/udp) - Allows clients to discover Jellyfin on the local network. A broadcast message to this port with "Who is Jellyfin Server?" will get a JSON response that includes the server address, ID, and name.

  -p 7359:7359/udp \
  -p 1900:1900/udp \

The official documentation for environmentals has additional environmentals that can provide additional configurability such as migrating to the native Jellyfin image.

User / Group Identifiers

When using volumes (-v flags), permissions issues can arise between the host OS and the container, we avoid this issue by allowing you to specify the user PUID and group PGID.

Ensure any volume directories on the host are owned by the same user you specify and any permissions issues will vanish like magic.

In this instance PUID=1000 and PGID=1000, to find yours use id your_user as below:

id your_user

Example output:

uid=1000(your_user) gid=1000(your_user) groups=1000(your_user)

Docker Mods

Docker Mods Docker Universal Mods

We publish various Docker Mods to enable additional functionality within the containers. The list of Mods available for this image (if any) as well as universal mods that can be applied to any one of our images can be accessed via the dynamic badges above.

Support Info

  • Shell access whilst the container is running:

    docker exec -it jellyfin /bin/bash
  • To monitor the logs of the container in realtime:

    docker logs -f jellyfin
  • Container version number:

    docker inspect -f '{{ index .Config.Labels "build_version" }}' jellyfin
  • Image version number:

    docker inspect -f '{{ index .Config.Labels "build_version" }}' lscr.io/linuxserver/jellyfin:latest

Updating Info

Most of our images are static, versioned, and require an image update and container recreation to update the app inside. With some exceptions (noted in the relevant readme.md), we do not recommend or support updating apps inside the container. Please consult the Application Setup section above to see if it is recommended for the image.

Below are the instructions for updating containers:

Via Docker Compose

  • Update images:

    • All images:

      docker-compose pull
    • Single image:

      docker-compose pull jellyfin
  • Update containers:

    • All containers:

      docker-compose up -d
    • Single container:

      docker-compose up -d jellyfin
  • You can also remove the old dangling images:

    docker image prune

Via Docker Run

  • Update the image:

    docker pull lscr.io/linuxserver/jellyfin:latest
  • Stop the running container:

    docker stop jellyfin
  • Delete the container:

    docker rm jellyfin
  • Recreate a new container with the same docker run parameters as instructed above (if mapped correctly to a host folder, your /config folder and settings will be preserved)

  • You can also remove the old dangling images:

    docker image prune

Image Update Notifications - Diun (Docker Image Update Notifier)

tip: We recommend Diun for update notifications. Other tools that automatically update containers unattended are not recommended or supported.

Building locally

If you want to make local modifications to these images for development purposes or just to customize the logic:

git clone https://github.com/linuxserver/docker-jellyfin.git
cd docker-jellyfin
docker build \
  --no-cache \
  --pull \
  -t lscr.io/linuxserver/jellyfin:latest .

The ARM variants can be built on x86_64 hardware using multiarch/qemu-user-static

docker run --rm --privileged multiarch/qemu-user-static:register --reset

Once registered you can define the dockerfile to use with -f Dockerfile.aarch64.

Versions

  • 01.05.24: - Increase verbosity of device permissions fixing.
  • 12.02.24: - Use universal hardware acceleration blurb.
  • 12.09.23: - Take ownership of plugin directories.
  • 04.07.23: - Deprecate armhf. As announced here
  • 07.12.22: - Rebase master to Jammy, migrate to s6v3.
  • 11.06.22: - Switch to upstream repo's ffmpeg5 build.
  • 05.01.22: - Specify Intel iHD driver versions to avoid mismatched libva errors.
  • 25.12.21: - Fix video device group perms error message.
  • 10.12.21: - Rework readme, disable template sync.
  • 22.09.21: - Pull only the server, web and ffmpeg packages instead of the wrapper.
  • 23.06.21: - Add log message if device permissions are incorrect. Pin jellyfin dependency versions to prevent upstream apt repo issues. Deprecate the bionic tag.
  • 21.05.21: - Add nvidia.icd file to fix missing tonemapping using Nvidia HW.
  • 20.01.21: - Add Jellyfin Binary Environmentals
  • 20.01.21: - Deprecate UMASK_SET in favor of UMASK in baseimage, see above for more information.
  • 23.11.20: - Rebase to Focal, branch off Bionic.
  • 22.07.20: - Ingest releases from Jellyfin repo.
  • 28.04.20: - Replace MMAL/OMX dependency device /dev/vc-mem with /dev/vcsm as the former was not sufficient for raspbian.
  • 11.04.20: - Enable hw decode (mmal) on Raspberry Pi, update readme instructions, add donation info, create missing default transcodes folder.
  • 11.03.20: - Add Pi V4L2 support, remove optional transcode mapping (location is selected in the gui, defaults to path under /config).
  • 30.01.20: - Add nightly tag.
  • 09.01.20: - Add Pi OpenMax support.
  • 02.10.19: - Improve permission fixing for render & dvb devices.
  • 31.07.19: - Add AMD drivers for vaapi support on x86.
  • 13.06.19: - Add Intel drivers for vaapi support on x86.
  • 07.06.19: - Initial release.

docker-jellyfin's People

Contributors

aptalca avatar artiume avatar chbmb avatar drizuid avatar ironicbadger avatar j0nnymoe avatar joshuaboniface avatar kaysond avatar linuxserver-ci avatar mrhotio avatar nemchik avatar nyanmisaka avatar reenignearcher avatar roxedus avatar thelamer avatar thespad avatar tobbenb avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

docker-jellyfin's Issues

Don't chown /data

Context: I set up all of my services to run as their own user/group (e.g. radarr:radarr, sonarr:sonarr, jellyfin:jellyfin, etc). This makes it easy to control access to different volumes, libraries, configs, etc. If I want multiple services to access a given path, I add the users to the correct group. For example, all of my video content is stored in a Video directory, whose owner is root, and group is video. radarr, sonarr users are all members of the video group. jellyfin is not, because it doesn't need write access to my video files.

The problem is when launching jellyfin, the 30-config cont-init file chowns /data/*.

chown abc:abc \
/data/*

This script runs as root, so it changes my Video directory owner to jellyfin:jellyfin, which breaks write access for all other services.

This chown behavior doesn't exist in other LSIO containers like radarr or sonarr, and I don't think its necessary as permissions can be managed on the docker host.

I would also suggest that /config and its subdirectories should not be chown'd or chmod'd either because it forces users to adopt specific ownership/permissions.

Update glibc to 2.28

linuxserver.io

If you are new to Docker or this application our issue tracker is ONLY used for reporting bugs or requesting features. Please use our discord server for general support.


Expected Behavior

Currently on Raspberry Pi running Archlinux ARM aarch64 variant, I am unable to use OpenOMX hardware acceleration due to glibc being on 2.27. From what I know glibc is backward compatible so it shouldn't be a problem.

Official Jellyfin docker image is already on 2.28 too.

Current Behavior

$ ldd (Ubuntu GLIBC 2.27-3ubuntu1) 2.27
Copyright (C) 2018 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Written by Roland McGrath and Ulrich Drepper.
$ ldd /opt/vc/lib/libbcm_host.so 
/opt/vc/lib/libbcm_host.so: /lib/aarch64-linux-gnu/libc.so.6: version `GLIBC_2.28' not found (required by /opt/vc/lib/libbcm_host.so)
	linux-vdso.so.1 (0x0000007f9bffb000)
	libvchiq_arm.so => /opt/vc/lib/libvchiq_arm.so (0x0000007f9bf85000)
	libvcos.so => /opt/vc/lib/libvcos.so (0x0000007f9bf67000)
	libpthread.so.0 => /lib/aarch64-linux-gnu/libpthread.so.0 (0x0000007f9bf3b000)
	libc.so.6 => /lib/aarch64-linux-gnu/libc.so.6 (0x0000007f9bde2000)
	/lib/ld-linux-aarch64.so.1 (0x0000007f9bfd0000)
	libdl.so.2 => /lib/aarch64-linux-gnu/libdl.so.2 (0x0000007f9bdcd000)

Environment

OS: Archlinux ARM on Raspberry Pi 4
CPU architecture: arm64
How docker service was installed: Pacman

Command used to create docker container (run/create/compose/screenshot)

docker run -d \
        --name=Jellyfin \
        -e PUID=1000 \
        -e PGID=1000 \
        -e TZ=Asia/Singapore \
        -p 8096:8096 \
        -v /mnt/Jellyfin:/config \
        -v /mnt/TV:/data/tvshows \
        -v /mnt/Movies:/data/movies \
        -v /mnt/Music:/data/music \
        -v /opt/vc/lib:/opt/vc/lib \
        --device /dev/vchiq:/dev/vchiq \
        --restart unless-stopped \
        linuxserver/jellyfin

Docker logs

-------------------------------------
          _         ()
         | |  ___   _    __
         | | / __| | |  /  \ 
         | | \__ \ | | | () |
         |_| |___/ |_|  \__/


Brought to you by linuxserver.io
We gratefully accept donations at:
https://www.linuxserver.io/donate/
-------------------------------------
GID/UID
-------------------------------------

User uid:    1000
User gid:    1000
-------------------------------------

[cont-init.d] 10-adduser: exited 0.
[cont-init.d] 30-config: executing... 
[cont-init.d] 30-config: exited 0.
[cont-init.d] 40-gid-video: executing... 
[cont-init.d] 40-gid-video: exited 0.
[cont-init.d] 99-custom-scripts: executing... 
[custom-init] no custom files found exiting...
[cont-init.d] 99-custom-scripts: exited 0.
[cont-init.d] done.
[services.d] starting services
[services.d] done.
[22:56:50] [INF] [1] Main: Jellyfin version: 10.5.3
[22:56:50] [INF] [1] Main: Arguments: ["/usr/lib/jellyfin/bin/jellyfin.dll", "--ffmpeg=/usr/lib/jellyfin-ffmpeg/ffmpeg"]
[22:56:50] [INF] [1] Main: Operating system: Linux
[22:56:50] [INF] [1] Main: Architecture: Arm64
[22:56:50] [INF] [1] Main: 64-Bit Process: True
[22:56:50] [INF] [1] Main: User Interactive: True
[22:56:50] [INF] [1] Main: Processor count: 4
[22:56:50] [INF] [1] Main: Program data path: /config/data
[22:56:50] [INF] [1] Main: Web resources path: /usr/lib/jellyfin/bin/jellyfin-web
[22:56:50] [INF] [1] Main: Application directory: /usr/lib/jellyfin/bin/
[22:56:52] [INF] [1] ServerConfigurationManager: Setting cache path: /config/cache
[22:56:52] [INF] [1] App: Loading assemblies
[22:56:52] [INF] [1] App: Loaded assembly OpenSubtitlesHandler, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null from /config/data/plugins/Open Subtitles/OpenSubtitlesHandler.dll
[22:56:52] [INF] [1] App: Loaded assembly Jellyfin.Plugin.OpenSubtitles, Version=7.0.0.0, Culture=neutral, PublicKeyToken=null from /config/data/plugins/Open Subtitles/Jellyfin.Plugin.OpenSubtitles.dll
[22:56:52] [INF] [1] App: Loaded assembly Jellyfin.Plugin.Anime, Version=8.0.0.0, Culture=neutral, PublicKeyToken=null from /config/data/plugins/Anime/Jellyfin.Plugin.Anime.dll
[22:57:01] [INF] [1] Main: Kestrel listening on all interfaces
[22:57:02] [WRN] [1] Microsoft.AspNetCore.DataProtection.Repositories.EphemeralXmlRepository: Using an in-memory repository. Keys will not be persisted to storage.
[22:57:02] [WRN] [1] Microsoft.AspNetCore.DataProtection.KeyManagement.XmlKeyManager: Neither user profile nor HKLM registry available. Using an ephemeral key repository. Protected data will be unavailable when application exits.
[22:57:02] [WRN] [1] Microsoft.AspNetCore.DataProtection.KeyManagement.XmlKeyManager: No XML encryptor configured. Key {fdf13fc6-a251-467b-97e5-83cf27b55b7c} may be persisted to storage in unencrypted form.
[22:57:02] [INF] [1] App: Running startup tasks
[22:57:02] [INF] [1] TaskManager: Daily trigger for Extract Chapter Images set to fire at 04/08/2020 02:00, which is 3:02:57.1231808 from now.
[22:57:03] [INF] [1] MediaBrowser.MediaEncoding.Encoder.MediaEncoder: Found ffmpeg version 4.2.1
[22:57:03] [INF] [1] MediaBrowser.MediaEncoding.Encoder.MediaEncoder: Available decoders: ["h264", "hevc", "mpeg2video", "aac", "ac3", "mp3"]
[22:57:03] [INF] [1] MediaBrowser.MediaEncoding.Encoder.MediaEncoder: Available encoders: ["libx264", "h264_amf", "h264_omx", "h264_v4l2m2m", "h264_vaapi", "libx265", "hevc_amf", "hevc_vaapi", "mpeg4", "msmpeg4", "aac", "ac3", "libmp3lame", "libopus", "libvorbis", "srt"]
[22:57:03] [INF] [1] MediaBrowser.MediaEncoding.Encoder.MediaEncoder: FFmpeg: Custom: /usr/lib/jellyfin-ffmpeg/ffmpeg
[22:57:03] [INF] [1] App: ServerId: 365df5acc0ef49febc7bb90b13b0b6e7
[22:57:04] [INF] [1] App: Executed all pre-startup entry points in 0:00:01.281655
[22:57:04] [INF] [1] App: Core startup complete
[22:57:05] [INF] [14] TaskManager: StartupTrigger fired for task: Update Plugins
[22:57:05] [INF] [14] TaskManager: Queueing task PluginUpdateTask
[22:57:05] [INF] [13] TaskManager: Executing Update Plugins
[22:57:06] [INF] [14] LibraryMonitor: Watching directory /data/music
[22:57:06] [INF] [13] LibraryMonitor: Watching directory /data/movies
[22:57:06] [INF] [10] LibraryMonitor: Watching directory /data/tvshows
[22:57:06] [INF] [1] App: Executed all post-startup entry points in 0:00:01.5935366
[22:57:06] [INF] [1] Main: Startup complete 0:00:17.7152518
[22:57:08] [INF] [9] TaskManager: Update Plugins Completed after 0 minute(s) and 2 seconds
[22:57:09] [INF] [9] TaskManager: ExecuteQueuedTasks
[22:58:02] [INF] [18] TaskManager: IntervalTrigger fired for task: Scan Media Library
[22:58:02] [INF] [18] TaskManager: Queueing task RefreshMediaLibraryTask
[22:58:02] [INF] [9] TaskManager: Executing Scan Media Library
[22:58:02] [INF] [19] TaskManager: IntervalTrigger fired for task: Refresh Guide
[22:58:02] [INF] [19] TaskManager: Queueing task RefreshChannelsScheduledTask
[22:58:02] [INF] [19] TaskManager: Executing Refresh Guide
[22:58:02] [INF] [9] LibraryMonitor: Stopping directory watching for path /data/movies
[22:58:02] [INF] [9] LibraryMonitor: Stopping directory watching for path /data/tvshows
[22:58:02] [INF] [9] LibraryMonitor: Stopping directory watching for path /data/music
[22:58:02] [INF] [9] LibraryManager: Validating media library
[22:58:06] [INF] [20] LiveTvManager: Refreshing guide with 7 days of guide data
[22:58:06] [INF] [20] TaskManager: Refresh Guide Completed after 0 minute(s) and 3 seconds
[22:58:06] [INF] [20] TaskManager: ExecuteQueuedTasks
[22:58:17] [INF] [18] TaskManager: Scan Media Library Completed after 0 minute(s) and 14 seconds
[22:58:17] [INF] [18] TaskManager: ExecuteQueuedTasks
[22:58:17] [INF] [20] LibraryMonitor: Watching directory /data/music
[22:58:17] [INF] [17] LibraryMonitor: Watching directory /data/movies
[22:58:17] [INF] [9] LibraryMonitor: Watching directory /data/tvshows

Process is terminating due to StackOverflowException

Expected Behavior

Current Behavior

container keeps restarting due to the exception.

Steps to Reproduce

fresh pulled image, exception happened before going through jellyfin's configuration guide.

Environment

OS: ubuntu 18.04
CPU architecture: arm64
How docker service was installed: apt
hardware is nanopi m4 with armbian.

docker inspect -f '{{ index .Config.Labels "build_version" }}' linuxserver/jellyfin
Linuxserver.io version:- v10.4.0-ls21 Build-date:- 2019-10-20T08:18:44+02:00
docker inspect -f '{{ index .Config.Labels "build_version" }}' jellyfin
Linuxserver.io version:- v10.4.0-ls21 Build-date:- 2019-10-20T08:18:44+02:00

Command used to create docker container (run/create/compose/screenshot)

docker-compose.yml:
version: "2"
services:
jellyfin:
image: linuxserver/jellyfin
container_name: jellyfin
network_mode: "host"
environment:
- PUID=1000
- PGID=1000
- TZ=America/Detroit
volumes:
- /home/andrew/jellyfin/config:/config
- /home/andrew/jellyfin/cache:/cache
- /storage/media:/media
- /tmp:/transcode
restart: unless-stopped

Docker logs

Process is terminating due to StackOverflowException.
[14:36:39] [INF] Jellyfin version: 10.4.0
[14:36:39] [INF] Arguments: ["/usr/lib/jellyfin/bin/jellyfin.dll", "--ffmpeg=/usr/lib/jellyfin-ffmpeg/ffmpeg"]
[14:36:39] [INF] Operating system: Linux
[14:36:39] [INF] Architecture: Arm64
[14:36:39] [INF] 64-Bit Process: True
[14:36:39] [INF] User Interactive: True
[14:36:39] [INF] Processor count: 6
[14:36:39] [INF] Program data path: /config/data
[14:36:39] [INF] Web resources path: /usr/lib/jellyfin/bin/jellyfin-web
[14:36:39] [INF] Application directory: /usr/lib/jellyfin/bin/
[14:36:39] [INF] Setting cache path to /config/cache
[14:36:40] [INF] Loading assemblies
[14:36:44] [INF] Kestrel listening on all interfaces
[14:36:44] [INF] Running startup tasks
[14:36:44] [INF] Daily trigger for Chapter image extraction set to fire at 10/25/2019 02:00, which is 11:23:15.2049969 from now.
[14:36:44] [INF] Found ffmpeg version 4.2.1
[14:36:45] [INF] Available decoders: ["h264", "hevc", "mpeg2video", "aac", "ac3", "mp3"]
[14:36:45] [INF] Available encoders: ["libx264", "h264_omx", "h264_v4l2m2m", "h264_vaapi", "libx265", "hevc_vaapi", "mpeg4", "msmpeg4", "aac", "ac3", "libmp3lame", "libopus", "libvorbis", "srt"]
[14:36:45] [INF] FFmpeg: SetByArgument: /usr/lib/jellyfin-ffmpeg/ffmpeg
[14:36:45] [INF] ServerId: 1108b851f48b4b3eb619870c2a9f7aa4
[14:36:45] [INF] Executed all pre-startup entry points in 0:00:00.8241295
[14:36:45] [INF] Core startup complete
[14:36:46] [WRN] GetItemList query time (slow): 407.0623ms. Query: select type,data,StartDate,EndDate,ChannelId,IsMovie,IsSeries,EpisodeTitle,IsRepeat,CommunityRating,CustomRating,IndexNumber,IsLocked,PreferredMetadataLanguage,PreferredMetadataCountryCode,Width,Height,DateLastRefreshed,Name,Path,PremiereDate,Overview,ParentIndexNumber,ProductionYear,OfficialRating,ForcedSortName,RunTimeTicks,Size,DateCreated,DateModified,guid,Genres,ParentId,Audio,ExternalServiceId,IsInMixedFolder,DateLastSaved,LockedFields,Studios,Tags,TrailerTypes,OriginalTitle,PrimaryVersionId,DateLastMediaAdded,Album,CriticRating,IsVirtualItem,SeriesName,SeasonName,SeasonId,SeriesId,PresentationUniqueKey,InheritedParentalRatingValue,ExternalSeriesId,Tagline,ProviderIds,Images,ProductionLocations,ExtraIds,TotalBitrate,ExtraType,Artists,AlbumArtists,ExternalId,SeriesPresentationUniqueKey,ShowId,OwnerId from TypedBaseItems A where ParentId=@ParentId
[14:36:47] [WRN] GetItemList query time (slow): 19.7729ms. Query: select type,data,StartDate,EndDate,ChannelId,IsMovie,IsSeries,EpisodeTitle,IsRepeat,CommunityRating,CustomRating,IndexNumber,IsLocked,PreferredMetadataLanguage,PreferredMetadataCountryCode,Width,Height,DateLastRefreshed,Name,Path,PremiereDate,Overview,ParentIndexNumber,ProductionYear,OfficialRating,ForcedSortName,RunTimeTicks,Size,DateCreated,DateModified,guid,Genres,ParentId,Audio,ExternalServiceId,IsInMixedFolder,DateLastSaved,LockedFields,Studios,Tags,TrailerTypes,OriginalTitle,PrimaryVersionId,DateLastMediaAdded,Album,CriticRating,IsVirtualItem,SeriesName,SeasonName,SeasonId,SeriesId,PresentationUniqueKey,InheritedParentalRatingValue,ExternalSeriesId,Tagline,ProviderIds,Images,ProductionLocations,ExtraIds,TotalBitrate,ExtraType,Artists,AlbumArtists,ExternalId,SeriesPresentationUniqueKey,ShowId,OwnerId from TypedBaseItems A where ParentId=@ParentId
Process is terminating due to StackOverflowException.

10.6.4-1-ls85 not starts (10.6.4-1-ls84 working fine)

linuxserver.io


Expected Behavior

upgrade from 10.6.4-1-ls84 working fine to 10.6.4-1-ls85 and work fine.

Current Behavior

Version 10.6.4-1-ls85 not start ever

Steps to Reproduce

  1. Execute a docker jellyfin container 10.6.4-1-ls85 never starts, it still ever in "services.d[done]" and web not start.

Environment

OS: Linux raspberrypi 5.4.72-v7l+
**CPU architecture:**armv7
How docker service was installed:
OMV repo provider

Command used to create docker container (run/create/compose/screenshot)

version: "2"
services:
jellyfin2:
image: linuxserver/jellyfin
container_name: jellyfin2
environment:
- PUID=1000
- PGID=1000
- TZ=Europe/Madrid
ports:
- 8097:8096
restart: unless-stopped

Docker logs

Creating jellyfin2 ... done
Attaching to jellyfin2
jellyfin2 | [s6-init] making user provided files available at /var/run/s6/etc...exited 0.
jellyfin2 | [s6-init] ensuring user provided files have correct perms...exited 0.
jellyfin2 | [fix-attrs.d] applying ownership & permissions fixes...
jellyfin2 | [fix-attrs.d] done.
jellyfin2 | [cont-init.d] executing container initialization scripts...
jellyfin2 | [cont-init.d] 01-envfile: executing...
jellyfin2 | [cont-init.d] 01-envfile: exited 0.
jellyfin2 | [cont-init.d] 10-adduser: executing...
jellyfin2 |
jellyfin2 | -------------------------------------
jellyfin2 | _ ()
jellyfin2 | | | ___ _ __
jellyfin2 | | | / | | | /
jellyfin2 | | | _
\ | | | () |
jellyfin2 | || |
/ || __/
jellyfin2 |
jellyfin2 |
jellyfin2 | Brought to you by linuxserver.io
jellyfin2 | -------------------------------------
jellyfin2 |
jellyfin2 | To support the app dev(s) visit:
jellyfin2 | Jellyfin: https://opencollective.com/jellyfin
jellyfin2 |
jellyfin2 | To support LSIO projects visit:
jellyfin2 | https://www.linuxserver.io/donate/
jellyfin2 | -------------------------------------
jellyfin2 | GID/UID
jellyfin2 | -------------------------------------
jellyfin2 |
jellyfin2 | User uid: 1000
jellyfin2 | User gid: 1000
jellyfin2 | -------------------------------------
jellyfin2 |
jellyfin2 | [cont-init.d] 10-adduser: exited 0.
jellyfin2 | [cont-init.d] 30-config: executing...
jellyfin2 | [cont-init.d] 30-config: exited 0.
jellyfin2 | [cont-init.d] 40-gid-video: executing...
jellyfin2 | [cont-init.d] 40-gid-video: exited 0.
jellyfin2 | [cont-init.d] 99-custom-scripts: executing...
jellyfin2 | [custom-init] no custom files found exiting...
jellyfin2 | [cont-init.d] 99-custom-scripts: exited 0.
jellyfin2 | [cont-init.d] done.
jellyfin2 | [services.d] starting services
jellyfin2 | [services.d] done.

Add support for LDAP + TLS_CACERT

I am using Jellyfin with LDAP + TLS (ldaps). My LDAP-Server is a SAMBA4 AD and uses a self-signed certificate. For enabling this in the Jellyfin Container I have to:

  • edit /etc/ldap/ldap.conf --> add path to certificate
    (seems that certificate has to be downloaded to /etc/ssl/certs/)
#
# LDAP Defaults
#


# See ldap.conf(5) for details
# This file should be world readable but not world writable.

BASE    dc=example,dc=com
URI     ldaps://my-server.example.com

#SIZELIMIT      12
#TIMELIMIT      15
#DEREF          never

# TLS certificates (needed for GnuTLS)
TLS_CACERT      /etc/ssl/certs/ca-ldap-certificates.crt
  • download certificate to path configured above; e.g.:
    openssl s_client -showcerts -connect my-server.example.com:636 -servername myserver </dev/null 2>/dev/null >/etc/ssl/certs/ca-ldap-certificates.crt

However, when I recreate the container, e.g. for updates, this configuration is of course gone.

Would it be possible to modify the image in a way that this configuration is added permanently, e.g. by moving this config to /config?

I already tried to mount a volume to /etc/ldap; so at least my ldap.conf is not deleted. However, it seems that the certificate has to be installed to /etc/ssl/certs/... I am not sure if it is a good idea to add a volume mount there.

jellyfin:latest broken on Raspberry Pi 4 (Raspbian) since rebase to Focal

linuxserver.io


Expected Behavior

Current Behavior

The web service silently fails to start

Steps to Reproduce

  1. Create jellyfin container
  2. Web UI inaccessible

Environment

OS: Linux 5.4.72-v8+ #1356 SMP PREEMPT Thu Oct 22 13:58:52 BST 2020 aarch64 GNU/Linux
CPU architecture: arm32/arm64
How docker service was installed: docker-ce from Buster repo

Command used to create docker container (run/create/compose/screenshot)

docker run -d \
    --name jellyfin \
    --net=host \
    -e TZ="Europe/Berlin" \
    -e UMASK_SET=022 \
    -e PUID=1000 \
    -e PGID=100 \
    -v $(pwd)/config:/config \
    -v $(pwd)/cache:/cache \
    -v /srv/dev-disk-by-id-ata-ST6000DM003-2CY186_WCT211CR-part1/data:/media \
    -v /opt/vc/lib:/opt/vc/lib \
    --device=/dev/vcsm-cma:/dev/vcsm-cma \
    --device /dev/vchiq:/dev/vchiq \
    --device /dev/dri:/dev/dri \
    --device /dev/video10:/dev/video10 \
    --device /dev/video11:/dev/video11 \
    --device /dev/video12:/dev/video12 \
    --device /dev/video13:/dev/video13 \
    --device /dev/video14:/dev/video14 \
    --device /dev/video15:/dev/video15 \
    --device /dev/video16:/dev/video16 \
    --restart=unless-stopped \
    linuxserver/jellyfin

Docker logs

[s6-init] making user provided files available at /var/run/s6/etc...exited 0.
[s6-init] ensuring user provided files have correct perms...exited 0.
[fix-attrs.d] applying ownership & permissions fixes...
[fix-attrs.d] done.
[cont-init.d] executing container initialization scripts...
[cont-init.d] 01-envfile: executing... 
[cont-init.d] 01-envfile: exited 0.
[cont-init.d] 10-adduser: executing... 
-------------------------------------
          _         ()
         | |  ___   _    __
         | | / __| | |  /  \ 
         | | \__ \ | | | () |
         |_| |___/ |_|  \__/
Brought to you by linuxserver.io
-------------------------------------
To support the app dev(s) visit:
Jellyfin: https://opencollective.com/jellyfin

To support LSIO projects visit:
https://www.linuxserver.io/donate/
-------------------------------------
GID/UID
-------------------------------------
User uid:    1000
User gid:    100
-------------------------------------
[cont-init.d] 10-adduser: exited 0.
[cont-init.d] 30-config: executing... 
[cont-init.d] 30-config: exited 0.
[cont-init.d] 40-gid-video: executing... 
[jellyfin-init] Pi Libs detected loading
[cont-init.d] 40-gid-video: exited 0.
[cont-init.d] 99-custom-scripts: executing... 
[custom-init] no custom files found exiting...
[cont-init.d] 99-custom-scripts: exited 0.
[cont-init.d] done.
[services.d] starting services
[services.d] done.

Note

the tag bionic works correctly.

official image with owned direct as set with correct puid/pguid still cause Access to the path '/config/data' is denied

Expected Behavior

Using the docker-compose.yml from the README.md, I can't start the server.

Current Behavior

I am having the service that crash due to permissions issues.

and /config/data owned as expected to uid/guid 1000 as set with the environment PUID/GUID

Steps to Reproduce

  1. Copy paste docker-compose.yml from readme
  2. Set correct permissions
  3. Set correct environment when deploying with docker
  4. Start the docker service, notice the error in the docker log

Environment

OS: Debian Buster, Linux 5.7 bpo
CPU architecture: amd64
How docker service was installed: As described in the docker documentation for Debian

Command used to create docker container (run/create/compose/screenshot)

Using docker-compose.yml

Docker logs

System.UnauthorizedAccessException: Access to the path '/config/data' is denied.
 ---> System.IO.IOException: Permission denied
   --- End of inner exception stack trace ---
   at System.IO.FileSystem.CreateDirectory(String fullPath)
   at System.IO.Directory.CreateDirectory(String path)
   at Jellyfin.Server.Program.CreateApplicationPaths(StartupOptions options)
   at Jellyfin.Server.Program.StartApp(StartupOptions options)
   at Jellyfin.Server.Program.<Main>(String[] args)
Unhandled exception. System.UnauthorizedAccessException: Access to the path '/config/data' is denied.
 ---> System.IO.IOException: Permission denied
   --- End of inner exception stack trace ---
   at System.IO.FileSystem.CreateDirectory(String fullPath)
   at System.IO.Directory.CreateDirectory(String path)
   at Jellyfin.Server.Program.CreateApplicationPaths(StartupOptions options)
   at Jellyfin.Server.Program.StartApp(StartupOptions options)
   at Jellyfin.Server.Program.<Main>(String[] args)
Unhandled Exception
System.UnauthorizedAccessException: Access to the path '/config/data' is denied.
 ---> System.IO.IOException: Permission denied
   --- End of inner exception stack trace ---
   at System.IO.FileSystem.CreateDirectory(String fullPath)
   at System.IO.Directory.CreateDirectory(String path)
   at Jellyfin.Server.Program.CreateApplicationPaths(StartupOptions options)
   at Jellyfin.Server.Program.StartApp(StartupOptions options)
   at Jellyfin.Server.Program.<Main>(String[] args)
Unhandled exception. System.UnauthorizedAccessException: Access to the path '/config/data' is denied.
 ---> System.IO.IOException: Permission denied
   --- End of inner exception stack trace ---
   at System.IO.FileSystem.CreateDirectory(String fullPath)
   at System.IO.Directory.CreateDirectory(String path)
   at Jellyfin.Server.Program.CreateApplicationPaths(StartupOptions options)
   at Jellyfin.Server.Program.StartApp(StartupOptions options)
   at Jellyfin.Server.Program.<Main>(String[] args)
Unhandled Exception
System.UnauthorizedAccessException: Access to the path '/config/data' is denied.
 ---> System.IO.IOException: Permission denied
   --- End of inner exception stack trace ---
   at System.IO.FileSystem.CreateDirectory(String fullPath)
   at System.IO.Directory.CreateDirectory(String path)
   at Jellyfin.Server.Program.CreateApplicationPaths(StartupOptions options)
   at Jellyfin.Server.Program.StartApp(StartupOptions options)
   at Jellyfin.Server.Program.<Main>(String[] args)
Unhandled exception. System.UnauthorizedAccessException: Access to the path '/config/data' is denied.
 ---> System.IO.IOException: Permission denied
   --- End of inner exception stack trace ---
   at System.IO.FileSystem.CreateDirectory(String fullPath)
   at System.IO.Directory.CreateDirectory(String path)
   at Jellyfin.Server.Program.CreateApplicationPaths(StartupOptions options)
   at Jellyfin.Server.Program.StartApp(StartupOptions options)
   at Jellyfin.Server.Program.<Main>(String[] args)
[cont-finish.d] executing container finish scripts...
[cont-finish.d] done.
[s6-finish] waiting for services.
[s6-finish] sending all processes the TERM signal.
[s6-finish] sending all processes the KILL signal and exiting.

Official Container Image Naming (RC)

RC1

Here is the quote,

The second is for Docker users: the RC is at a new tag, stable-rc, with this particular version being 10.7.0-rc1. This ensures that users on the latest tag aren't in for a sudden surprise upgrade. Like the Debuntu users, you must manually enable this tag to help test, then switch again to the latest tag for the final release.

image

image

Hope you change to their naming convention, I'm totally confused as to which is which in your dockerhub

Metadata scanning broken

When scanning a library it starts to freeze completeky at the first item after following output:

[2020-04-06 15:10:58.759 +02:00] [INF] [16] TaskManager: Executing "Scan Media Library"
[2020-04-06 15:10:58.775 +02:00] [INF] [16] LibraryMonitor: Stopping directory watching for path "/data/testlib"
[2020-04-06 15:10:58.779 +02:00] [INF] [16] LibraryManager: Validating media library
[2020-04-06 15:10:58.862 +02:00] [DBG] [16] App: Running "FolderImageProvider" for "/config/data/root"
[2020-04-06 15:10:58.962 +02:00] [DBG] [16] App: Running "FolderImageProvider" for "/config/data/root/default"
[2020-04-06 15:10:59.025 +02:00] [DBG] [16] App: Running "CollectionFolderImageProvider" for "/config/data/root/default/Movies"
[2020-04-06 15:10:59.045 +02:00] [DBG] [16] App: Running "CollectionFolderImageProvider" for "/config/data/root/default/Movies"
[2020-04-06 15:10:59.117 +02:00] [DBG] [16] Emby.Server.Implementations.Data.SqliteItemRepository: "GetItemList" query time (slow): 36.0661ms. Query: "select type,data,StartDate,EndDate,ChannelId,IsMovie,IsSeries,EpisodeTitle,IsRepeat,CommunityRating,CustomRating,IndexNumber,IsLocked,PreferredMetadataLanguage,PreferredMetadataCountryCode,Width,Height,DateLastRefreshed,Name,Path,PremiereDate,Overview,ParentIndexNumber,ProductionYear,OfficialRating,ForcedSortName,RunTimeTicks,Size,DateCreated,DateModified,guid,Genres,ParentId,Audio,ExternalServiceId,IsInMixedFolder,DateLastSaved,LockedFields,Studios,Tags,TrailerTypes,OriginalTitle,PrimaryVersionId,DateLastMediaAdded,Album,CriticRating,IsVirtualItem,SeriesName,SeasonName,SeasonId,SeriesId,PresentationUniqueKey,InheritedParentalRatingValue,ExternalSeriesId,Tagline,ProviderIds,Images,ProductionLocations,ExtraIds,TotalBitrate,ExtraType,Artists,AlbumArtists,ExternalId,SeriesPresentationUniqueKey,ShowId,OwnerId from TypedBaseItems A where ParentId=@ParentId"
[2020-04-06 15:10:59.224 +02:00] [DBG] [16] App: Running "FFProbeProvider" for "/data/testlib/MadMax/MadMax.mp4"
[2020-04-06 15:10:59.236 +02:00] [DBG] [16] MediaBrowser.MediaEncoding.Encoder.MediaEncoder: "/usr/lib/jellyfin-ffmpeg/ffprobe" "-i file:\"/data/testlib/MadMax/MadMax.mp4\" -threads 0 -v warning -print_format json -show_streams -show_chapters -show_format"
[2020-04-06 15:10:59.237 +02:00] [DBG] [16] MediaBrowser.MediaEncoding.Encoder.MediaEncoder: Starting ffprobe with args "-i file:\"/data/testlib/MadMax/MadMax.mp4\" -threads 0 -v warning -print_format json -show_streams -show_chapters -show_format"

There is no more output until a restart and the Web UI is unresponsive too. There is no issue with the jellyfin/jellyfin docker image. The issue exist only with 10.5.x. There is no issue with 10.4.3!
I've tried disabling using TheMovieDB, but it didn't work without it either.


Expected Behavior

Library scanning works without issues or freezing

Current Behavior

Jellyfin hangs completely (no more logs, Web UI times out)

Steps to Reproduce

  1. Create a fresh instance (optional, doesn't work with existing ones either)
  2. Add a library with content (optional, existing libraries cause issues too; tested with Movies and TV Series)
  3. Trigger scan of library or all libraries
  4. Try to reload the page/watch logs, nothing works anymore

Environment

OS: Ubuntu 18.04
CPU architecture: x86_64
How docker service was installed: According to the official instructions

Command used to create docker container (run/create/compose/screenshot)

# docker-compose.yml
---
version: "2"
services:
  jellyfin2:
    image: linuxserver/jellyfin:v10.5.3-ls43
    container_name: jellyfin2
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Europe/Berlin
      - UMASK_SET=022 #optional
    volumes:
      - /opt/appdata/jellyfin/library2:/config
      - /opt/appdata/jellyfin/testlib:/data/testlib
    restart: unless-stopped
    ports:
     - "8096:8096"

Docker logs

[2020-04-06 15:10:58.759 +02:00] [INF] [16] TaskManager: Executing "Scan Media Library"
[2020-04-06 15:10:58.775 +02:00] [INF] [16] LibraryMonitor: Stopping directory watching for path "/data/testlib"
[2020-04-06 15:10:58.779 +02:00] [INF] [16] LibraryManager: Validating media library
[2020-04-06 15:10:58.862 +02:00] [DBG] [16] App: Running "FolderImageProvider" for "/config/data/root"
[2020-04-06 15:10:58.962 +02:00] [DBG] [16] App: Running "FolderImageProvider" for "/config/data/root/default"
[2020-04-06 15:10:59.025 +02:00] [DBG] [16] App: Running "CollectionFolderImageProvider" for "/config/data/root/default/Movies"
[2020-04-06 15:10:59.045 +02:00] [DBG] [16] App: Running "CollectionFolderImageProvider" for "/config/data/root/default/Movies"
[2020-04-06 15:10:59.117 +02:00] [DBG] [16] Emby.Server.Implementations.Data.SqliteItemRepository: "GetItemList" query time (slow): 36.0661ms. Query: "select type,data,StartDate,EndDate,ChannelId,IsMovie,IsSeries,EpisodeTitle,IsRepeat,CommunityRating,CustomRating,IndexNumber,IsLocked,PreferredMetadataLanguage,PreferredMetadataCountryCode,Width,Height,DateLastRefreshed,Name,Path,PremiereDate,Overview,ParentIndexNumber,ProductionYear,OfficialRating,ForcedSortName,RunTimeTicks,Size,DateCreated,DateModified,guid,Genres,ParentId,Audio,ExternalServiceId,IsInMixedFolder,DateLastSaved,LockedFields,Studios,Tags,TrailerTypes,OriginalTitle,PrimaryVersionId,DateLastMediaAdded,Album,CriticRating,IsVirtualItem,SeriesName,SeasonName,SeasonId,SeriesId,PresentationUniqueKey,InheritedParentalRatingValue,ExternalSeriesId,Tagline,ProviderIds,Images,ProductionLocations,ExtraIds,TotalBitrate,ExtraType,Artists,AlbumArtists,ExternalId,SeriesPresentationUniqueKey,ShowId,OwnerId from TypedBaseItems A where ParentId=@ParentId"
[2020-04-06 15:10:59.224 +02:00] [DBG] [16] App: Running "FFProbeProvider" for "/data/testlib/MadMax/MadMax.mp4"
[2020-04-06 15:10:59.236 +02:00] [DBG] [16] MediaBrowser.MediaEncoding.Encoder.MediaEncoder: "/usr/lib/jellyfin-ffmpeg/ffprobe" "-i file:\"/data/testlib/MadMax/MadMax.mp4\" -threads 0 -v warning -print_format json -show_streams -show_chapters -show_format"
[2020-04-06 15:10:59.237 +02:00] [DBG] [16] MediaBrowser.MediaEncoding.Encoder.MediaEncoder: Starting ffprobe with args "-i file:\"/data/testlib/MadMax/MadMax.mp4\" -threads 0 -v warning -print_format json -show_streams -show_chapters -show_format"

Jellyfin doesn't recognize that new media is imported unless Scan Library is ran manually

Hi all, it seems Jellyfin doesn't recognize that new media is imported (real time monitoring is enabled) and only update it when library is scan manually.

Expected Behavior

New media is picked at real-time automatically and added into library.

Current Behavior

New media is not picked even with real-time monitoring enabled; it is only picked when Scan Library is ran manually.

Steps to Reproduce

  1. Add new media into library, with real-time monitoring enabled
  2. Wait a few minutes of media to be recognised
  3. New media will not be recognised until scan library task is activated

Environment

OS: Linux Mint 20
CPU architecture: x86_64
Docker image: linuxserver/docker-jellyfin 10.6.1-1-ls65

Command used to create docker container (run/create/compose/screenshot)

docker-compose

Docker logs

Not sure if logs are going to be useful here.

Notification settings being ignored

Changing notification settings doesn't seem to work. I have tried to disable the new content notifications, but they still show up.

The official docker container doesn't have this problem. I am running the latest version of the docker image.

[Bug] Bug when transcoding 4K content but ok when it's from less resolutions.

How to reproduce

  1. Go to PlayBack
  2. Set Video Accelartion API (VAP-API)
    2.1 set /dev/dri/renderD128 on the render node
  3. Enable HW Acceleration.
  4. Play some 4K HEVC videos and try to transcode it.

Expected Behavior

Transcode 4K content to h264 as expected.

Current Behavior

"PlaybackErrorNoCompatibleStream"

Environment

**OS: Linux
CPU architecture: x64
How docker service was installed:

Command used to create docker container (run/create/compose/screenshot)

docker create \
  --name=jellyfin \
  -e PUID=0 \
  -e PGID=1000 \
  -e TZ=Europe/London \
  -e UMASK_SET=022 \
  -p 8096:8096 \
  -p 8920:8920 \
  -v /opt/appdata/jellyfin:/config \
  -v /mnt:/mnt \
  -v /opt/transcodes:/transcode `#optional` \
  -v /opt/vc/lib:/opt/vc/lib \
  --device /dev/dri:/dev/dri \
  --device /dev/vchiq:/dev/vchiq \
  --restart unless-stopped \
  linuxserver/jellyfin

ffmpeg logs

/usr/lib/jellyfin-ffmpeg/ffmpeg -hwaccel vaapi -hwaccel_output_format vaapi -vaapi_device /dev/dri/renderD128 -i file:"/mnt/tcrypt/EN/Movies4K[EN]/Furious 7/Furious 7.2015.Extended Cut.UHD.BluRay.Remux.2160p.mkv" -map_metadata -1 -map_chapters -1 -threads 0 -map 0:0 -map 0:1 -map -0:s -codec:v:0 h264_vaapi  -b:v 272000 -maxrate 272000 -bufsize 544000 -profile:v high -level 41 -force_key_frames:0 "expr:gte(t,0+n_forced*3)" -vf "format=nv12|vaapi,hwupload,scale_vaapi=w=426:h=238" -copyts -vsync -1 -codec:a:0 aac -strict experimental -ac 2 -ab 128000 -af "volume=2" -f hls -max_delay 5000000 -avoid_negative_ts disabled -start_at_zero -hls_time 3 -individual_header_trailer 0 -hls_segment_type mpegts -start_number 0 -hls_segment_filename "/config/data/transcoding-temp/transcodes/34c33d415643cd1f181a9527b8dbdb31%d.ts" -hls_playlist_type vod -hls_list_size 0 -y "/config/data/transcoding-temp/transcodes/34c33d415643cd1f181a9527b8dbdb31.m3u8"


ffmpeg version 4.2.1 Copyright (c) 2000-2019 the FFmpeg developers
  built with gcc 7 (Ubuntu 7.4.0-1ubuntu1~18.04.1)
  configuration: --toolchain=hardened --prefix=/usr --target-os=linux --enable-cross-compile --extra-cflags=--static --enable-gpl --enable-static --disable-doc --disable-ffplay --disable-shared --disable-libxcb --disable-sdl2 --disable-xlib --enable-libfontconfig --enable-fontconfig --enable-gmp --enable-gnutls --enable-libass --enable-libbluray --enable-libdrm --enable-libfreetype --enable-libfribidi --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libwebp --enable-libx264 --enable-libx265 --enable-libzvbi --enable-omx --enable-omx-rpi --enable-version3 --enable-vaapi --enable-vdpau --arch=amd64 --enable-nvenc --enable-nvdec --enable-amf
  libavutil      56. 31.100 / 56. 31.100
  libavcodec     58. 54.100 / 58. 54.100
  libavformat    58. 29.100 / 58. 29.100
  libavdevice    58.  8.100 / 58.  8.100
  libavfilter     7. 57.100 /  7. 57.100
  libswscale      5.  5.100 /  5.  5.100
  libswresample   3.  5.100 /  3.  5.100
  libpostproc    55.  5.100 / 55.  5.100
Input #0, matroska,webm, from 'file:/mnt/tcrypt/EN/Movies4K[EN]/Furious 7/Furious 7.2015.Extended Cut.UHD.BluRay.Remux.2160p.mkv':
  Metadata:
    encoder         : libebml v1.3.6 + libmatroska v1.4.9
    creation_time   : 2018-08-26T11:20:53.000000Z
  Duration: 02:19:54.88, start: 0.000000, bitrate: 70142 kb/s
    Chapter #0:0: start 0.000000, end 279.946000
    Metadata:
      title           : 00:00:00.000
    Chapter #0:1: start 279.946000, end 689.480000
    Metadata:
      title           : 00:04:39.946
    Chapter #0:2: start 689.480000, end 999.290000
    Metadata:
      title           : 00:11:29.480
    Chapter #0:3: start 999.290000, end 1554.052000
    Metadata:
      title           : 00:16:39.290
    Chapter #0:4: start 1554.052000, end 2023.897000
    Metadata:
      title           : 00:25:54.052
    Chapter #0:5: start 2023.897000, end 2504.585000
    Metadata:
      title           : 00:33:43.897
    Chapter #0:6: start 2504.585000, end 2801.006000
    Metadata:
      title           : 00:41:44.585
    Chapter #0:7: start 2801.006000, end 3130.711000
    Metadata:
      title           : 00:46:41.006
    Chapter #0:8: start 3130.711000, end 3751.414000
    Metadata:
      title           : 00:52:10.711
    Chapter #0:9: start 3751.414000, end 3976.681000
    Metadata:
      title           : 01:02:31.414
    Chapter #0:10: start 3976.681000, end 4456.869000
    Metadata:
      title           : 01:06:16.681
    Chapter #0:11: start 4456.869000, end 4954.032000
    Metadata:
      title           : 01:14:16.869
    Chapter #0:12: start 4954.032000, end 5601.137000
    Metadata:
      title           : 01:22:34.032
    Chapter #0:13: start 5601.137000, end 5907.485000
    Metadata:
      title           : 01:33:21.137
    Chapter #0:14: start 5907.485000, end 6340.084000
    Metadata:
      title           : 01:38:27.485
    Chapter #0:15: start 6340.084000, end 6834.452000
    Metadata:
      title           : 01:45:40.084
    Chapter #0:16: start 6834.452000, end 7111.062000
    Metadata:
      title           : 01:53:54.452
    Chapter #0:17: start 7111.062000, end 7579.864000
    Metadata:
      title           : 01:58:31.062
    Chapter #0:18: start 7579.864000, end 7891.175000
    Metadata:
      title           : 02:06:19.864
    Chapter #0:19: start 7891.175000, end 8394.880000
    Metadata:
      title           : 02:11:31.175
    Stream #0:0: Video: hevc (Main 10), yuv420p10le(tv, bt2020nc/bt2020/smpte2084), 3840x2160 [SAR 1:1 DAR 16:9], 23.98 fps, 23.98 tbr, 1k tbn, 23.98 tbc (default)
    Metadata:
      BPS-eng         : 41954647
      DURATION-eng    : 02:19:53.969000000
      NUMBER_OF_FRAMES-eng: 201254
      NUMBER_OF_BYTES-eng: 44020751797
      _STATISTICS_WRITING_APP-eng: mkvmerge v25.0.0 ('Prog Noir') 64-bit
      _STATISTICS_WRITING_DATE_UTC-eng: 2018-08-26 11:20:53
      _STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
    Stream #0:1(rus): Audio: ac3, 48000 Hz, 5.1(side), fltp, 448 kb/s (default)
    Metadata:
      title           : Dub, Blu-Ray
      BPS-eng         : 448000
      DURATION-eng    : 02:19:54.272000000
      NUMBER_OF_FRAMES-eng: 262321
      NUMBER_OF_BYTES-eng: 470079232
      _STATISTICS_WRITING_APP-eng: mkvmerge v25.0.0 ('Prog Noir') 64-bit
      _STATISTICS_WRITING_DATE_UTC-eng: 2018-08-26 11:20:53
      _STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
    Stream #0:2(rus): Audio: dts (DTS-HD MA), 48000 Hz, 5.1(side), s32p (24 bit)
    Metadata:
      title           : Dub
      BPS-eng         : 4243204
      DURATION-eng    : 02:19:54.070000000
      NUMBER_OF_FRAMES-eng: 786944
      NUMBER_OF_BYTES-eng: 4452219232
      _STATISTICS_WRITING_APP-eng: mkvmerge v25.0.0 ('Prog Noir') 64-bit
      _STATISTICS_WRITING_DATE_UTC-eng: 2018-08-26 11:20:53
      _STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
    Stream #0:3(rus): Audio: dts (DTS-HD MA), 48000 Hz, 7.1, s32p (24 bit)
    Metadata:
      title           : Л. Володар�кий
      BPS-eng         : 4979860
      DURATION-eng    : 02:19:54.880000000
      NUMBER_OF_FRAMES-eng: 787020
      NUMBER_OF_BYTES-eng: 5225666152
      _STATISTICS_WRITING_APP-eng: mkvmerge v25.0.0 ('Prog Noir') 64-bit
      _STATISTICS_WRITING_DATE_UTC-eng: 2018-08-26 11:20:53
      _STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
    Stream #0:4(rus): Audio: dts (DTS-HD MA), 48000 Hz, 7.1, s32p (24 bit)
    Metadata:
      title           : Ю. Живов
      BPS-eng         : 5097396
      DURATION-eng    : 02:19:54.859000000
      NUMBER_OF_FRAMES-eng: 787018
      NUMBER_OF_BYTES-eng: 5348990936
      _STATISTICS_WRITING_APP-eng: mkvmerge v25.0.0 ('Prog Noir') 64-bit
      _STATISTICS_WRITING_DATE_UTC-eng: 2018-08-26 11:20:53
      _STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
    Stream #0:5(rus): Audio: dts (DTS-HD MA), 48000 Hz, 7.1, s32p (24 bit)
    Metadata:
      title           : Д. Е�арев
      BPS-eng         : 4980736
      DURATION-eng    : 02:19:54.870000000
      NUMBER_OF_FRAMES-eng: 787019
      NUMBER_OF_BYTES-eng: 5226579208
      _STATISTICS_WRITING_APP-eng: mkvmerge v25.0.0 ('Prog Noir') 64-bit
      _STATISTICS_WRITING_DATE_UTC-eng: 2018-08-26 11:20:53
      _STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
    Stream #0:6(rus): Audio: dts (DTS-HD MA), 48000 Hz, 7.1, s32p (24 bit)
    Metadata:
      title           : �. Матвеев
      BPS-eng         : 4973578
      DURATION-eng    : 02:19:54.880000000
      NUMBER_OF_FRAMES-eng: 787020
      NUMBER_OF_BYTES-eng: 5219074056
      _STATISTICS_WRITING_APP-eng: mkvmerge v25.0.0 ('Prog Noir') 64-bit
      _STATISTICS_WRITING_DATE_UTC-eng: 2018-08-26 11:20:53
      _STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
    Stream #0:7(eng): Audio: dts (DTS-HD HRA), 48000 Hz, 7.1, fltp
    Metadata:
      BPS-eng         : 3455999
      DURATION-eng    : 02:19:54.059000000
      NUMBER_OF_FRAMES-eng: 786943
      NUMBER_OF_BYTES-eng: 3626233344
      _STATISTICS_WRITING_APP-eng: mkvmerge v25.0.0 ('Prog Noir') 64-bit
      _STATISTICS_WRITING_DATE_UTC-eng: 2018-08-26 11:20:53
      _STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
    Stream #0:8(rus): Subtitle: subrip (default)
    Metadata:
      title           : forced
      BPS-eng         : 138
      DURATION-eng    : 00:00:38.529000000
      NUMBER_OF_FRAMES-eng: 11
      NUMBER_OF_BYTES-eng: 666
      _STATISTICS_WRITING_APP-eng: mkvmerge v25.0.0 ('Prog Noir') 64-bit
      _STATISTICS_WRITING_DATE_UTC-eng: 2018-08-26 11:20:53
      _STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
    Stream #0:9(rus): Subtitle: subrip
    Metadata:
      title           : full
      BPS-eng         : 68
      DURATION-eng    : 02:19:01.024000000
      NUMBER_OF_FRAMES-eng: 1416
      NUMBER_OF_BYTES-eng: 71137
      _STATISTICS_WRITING_APP-eng: mkvmerge v25.0.0 ('Prog Noir') 64-bit
      _STATISTICS_WRITING_DATE_UTC-eng: 2018-08-26 11:20:53
      _STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
    Stream #0:10(eng): Subtitle: subrip
    Metadata:
      title           : full
      BPS-eng         : 45
      DURATION-eng    : 02:10:36.988000000
      NUMBER_OF_FRAMES-eng: 1463
      NUMBER_OF_BYTES-eng: 44102
      _STATISTICS_WRITING_APP-eng: mkvmerge v25.0.0 ('Prog Noir') 64-bit
      _STATISTICS_WRITING_DATE_UTC-eng: 2018-08-26 11:20:53
      _STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
    Stream #0:11(eng): Subtitle: subrip
    Metadata:
      title           : SDH
      BPS-eng         : 49
      DURATION-eng    : 02:10:39.324000000
      NUMBER_OF_FRAMES-eng: 1670
      NUMBER_OF_BYTES-eng: 48602
      _STATISTICS_WRITING_APP-eng: mkvmerge v25.0.0 ('Prog Noir') 64-bit
      _STATISTICS_WRITING_DATE_UTC-eng: 2018-08-26 11:20:53
      _STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
    Stream #0:12(eng): Subtitle: subrip
    Metadata:
      title           : SDH-Colored
      BPS-eng         : 60
      DURATION-eng    : 02:10:39.324000000
      NUMBER_OF_FRAMES-eng: 1670
      NUMBER_OF_BYTES-eng: 59535
      _STATISTICS_WRITING_APP-eng: mkvmerge v25.0.0 ('Prog Noir') 64-bit
      _STATISTICS_WRITING_DATE_UTC-eng: 2018-08-26 11:20:53
      _STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
    Stream #0:13: Video: mjpeg (Progressive), yuvj444p(pc, bt470bg/unknown/unknown), 398x500 [SAR 300:300 DAR 199:250], 90k tbr, 90k tbn, 90k tbc (attached pic)
    Metadata:
      filename        : poster.jpg
      mimetype        : image/jpeg
Only '-vf format=nv12|vaapi,hwupload,scale_vaapi=w=426:h=238' read, ignoring remaining -vf options: Use ',' to separate filters
Only '-af volume=2' read, ignoring remaining -af options: Use ',' to separate filters
Stream mapping:
  Stream #0:0 -> #0:0 (hevc (native) -> h264 (h264_vaapi))
  Stream #0:1 -> #0:1 (ac3 (native) -> aac (native))
Press [q] to stop, [?] for help
[h264_vaapi @ 0x562ffb77c2c0] No usable encoding profile found.
Error initializing output stream 0:0 -- Error while opening encoder for output stream #0:0 - maybe incorrect parameters such as bit_rate, rate, width or height
[aac @ 0x562ffb7a4f40] Qavg: 63699.516
[aac @ 0x562ffb7a4f40] 2 frames left in the queue on closing
Conversion failed!

Docker Logs

[21:05:12] [INF] /usr/lib/jellyfin-ffmpeg/ffmpeg -hwaccel vaapi -hwaccel_output_format vaapi -vaapi_device /dev/dri/renderD128 -i file:"/mnt/tcrypt/EN/Movies4K[EN]/Furious 7/Furious 7.2015.Extended Cut.UHD.BluRay.Remux.2160p.mkv" -map_metadata -1 -map_chapters -1 -threads 0 -map 0:0 -map 0:1 -map -0:s -codec:v:0 h264_vaapi  -b:v 272000 -maxrate 272000 -bufsize 544000 -profile:v high -level 41 -force_key_frames:0 "expr:gte(t,0+n_forced*3)" -vf "format=nv12|vaapi,hwupload,scale_vaapi=w=426:h=238" -copyts -vsync -1 -codec:a:0 aac -strict experimental -ac 2 -ab 128000 -af "volume=2" -f hls -max_delay 5000000 -avoid_negative_ts disabled -start_at_zero -hls_time 3 -individual_header_trailer 0 -hls_segment_type mpegts -start_number 0 -hls_segment_filename "/config/data/transcoding-temp/transcodes/e0dc924247802ffba89f44078f7d678f%d.ts" -hls_playlist_type vod -hls_list_size 0 -y "/config/data/transcoding-temp/transcodes/e0dc924247802ffba89f44078f7d678f.m3u8",
[21:05:13] [ERR] FFMpeg exited with code 1,
[21:05:14] [WRN] cannot serve /config/data/transcoding-temp/transcodes/e0dc924247802ffba89f44078f7d678f0.ts as transcoding quit before we got there,
[21:05:14] [ERR] Error processing request: Could not find file '/config/data/transcoding-temp/transcodes/e0dc924247802ffba89f44078f7d678f0.ts'.,

Not having this issue on plex.
btw this is my vainfo

vainfo
error: can't connect to X server!
libva info: VA-API version 1.1.0
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/i965_drv_video.so
libva info: Found init function __vaDriverInit_1_1
libva info: va_openDriver() returns 0
vainfo: VA-API version: 1.1 (libva 2.1.0)
vainfo: Driver version: Intel i965 driver for Intel(R) Coffee Lake - 2.1.0
vainfo: Supported profile and entrypoints
      VAProfileMPEG2Simple            : VAEntrypointVLD
      VAProfileMPEG2Simple            : VAEntrypointEncSlice
      VAProfileMPEG2Main              : VAEntrypointVLD
      VAProfileMPEG2Main              : VAEntrypointEncSlice
      VAProfileH264ConstrainedBaseline: VAEntrypointVLD
      VAProfileH264ConstrainedBaseline: VAEntrypointEncSlice
      VAProfileH264ConstrainedBaseline: VAEntrypointEncSliceLP
      VAProfileH264Main               : VAEntrypointVLD
      VAProfileH264Main               : VAEntrypointEncSlice
      VAProfileH264Main               : VAEntrypointEncSliceLP
      VAProfileH264High               : VAEntrypointVLD
      VAProfileH264High               : VAEntrypointEncSlice
      VAProfileH264High               : VAEntrypointEncSliceLP
      VAProfileH264MultiviewHigh      : VAEntrypointVLD
      VAProfileH264MultiviewHigh      : VAEntrypointEncSlice
      VAProfileH264StereoHigh         : VAEntrypointVLD
      VAProfileH264StereoHigh         : VAEntrypointEncSlice
      VAProfileVC1Simple              : VAEntrypointVLD
      VAProfileVC1Main                : VAEntrypointVLD
      VAProfileVC1Advanced            : VAEntrypointVLD
      VAProfileNone                   : VAEntrypointVideoProc
      VAProfileJPEGBaseline           : VAEntrypointVLD
      VAProfileJPEGBaseline           : VAEntrypointEncPicture
      VAProfileVP8Version0_3          : VAEntrypointVLD
      VAProfileVP8Version0_3          : VAEntrypointEncSlice
      VAProfileHEVCMain               : VAEntrypointVLD
      VAProfileHEVCMain               : VAEntrypointEncSlice
      VAProfileHEVCMain10             : VAEntrypointVLD
      VAProfileHEVCMain10             : VAEntrypointEncSlice
      VAProfileVP9Profile0            : VAEntrypointVLD
      VAProfileVP9Profile0            : VAEntrypointEncSlice
      VAProfileVP9Profile2            : VAEntrypointVLD

on linuxserver/emby also it gives me that issue it does software transcoding instead of hw

Kind Regards

Documentation should call out DLNA and auto-discovery ports as optonal

linuxserver.io

Expected Behavior

We should update the documentation to tell end users about optional available ports that add functionality to the application.

Current Behavior

Documentation does not currently tell users they can enable DLNA and service discovery per upstream documentation.

Steps to Reproduce

https://jellyfin.org/docs/general/networking/index.html

Environment

OS: NA
CPU architecture: NA
How docker service was installed: NA

Command used to create docker container (run/create/compose/screenshot)

NA

Docker logs

NA

Unable to add folders to library

Expected Behavior

Under Server > Libraries > Add Media Library > Folders, clicking the + button should prompt for a directory.

Current Behavior

The + button is unresponsive. All other elements on this screen are responsive.

Steps to Reproduce

  1. Fresh install of this docker image using CapRover. Settings below.
  2. In initial set-up wizard, try to create library (fails).
  3. Skip ahead without adding library. Log in, navigate to library settings and try again (fails).

Environment

OS: Ubuntu Linux
CPU architecture: Unsure (Digital Ocean Droplet)
How docker service was installed: Caprover

Command used to create docker container (run/create/compose/screenshot)

P.S. I tested redundantly mounting to both /data/ and /media as per #6 (according to @aptalca this shouldn't matter).

Screenshot from 2020-02-16 13-40-30

Screenshot from 2020-02-16 13-41-02

Docker logs


srv-captain--jellyfin.1.v1wduilwds6u@caprover-ubuntu-s-1vcpu-3gb-sfo2-01    | [s6-init] making user provided files available at /var/run/s6/etc...exited 0.
srv-captain--jellyfin.1.v1wduilwds6u@caprover-ubuntu-s-1vcpu-3gb-sfo2-01    | [s6-init] ensuring user provided files have correct perms...exited 0.
srv-captain--jellyfin.1.v1wduilwds6u@caprover-ubuntu-s-1vcpu-3gb-sfo2-01    | [fix-attrs.d] applying ownership & permissions fixes...
srv-captain--jellyfin.1.v1wduilwds6u@caprover-ubuntu-s-1vcpu-3gb-sfo2-01    | [fix-attrs.d] done.
srv-captain--jellyfin.1.v1wduilwds6u@caprover-ubuntu-s-1vcpu-3gb-sfo2-01    | [cont-init.d] executing container initialization scripts...
srv-captain--jellyfin.1.v1wduilwds6u@caprover-ubuntu-s-1vcpu-3gb-sfo2-01    | [cont-init.d] 01-envfile: executing... 
srv-captain--jellyfin.1.v1wduilwds6u@caprover-ubuntu-s-1vcpu-3gb-sfo2-01    | [cont-init.d] 01-envfile: exited 0.
srv-captain--jellyfin.1.v1wduilwds6u@caprover-ubuntu-s-1vcpu-3gb-sfo2-01    | [cont-init.d] 10-adduser: executing... 
srv-captain--jellyfin.1.v1wduilwds6u@caprover-ubuntu-s-1vcpu-3gb-sfo2-01    | 
srv-captain--jellyfin.1.v1wduilwds6u@caprover-ubuntu-s-1vcpu-3gb-sfo2-01    | -------------------------------------
srv-captain--jellyfin.1.v1wduilwds6u@caprover-ubuntu-s-1vcpu-3gb-sfo2-01    |           _         ()
srv-captain--jellyfin.1.v1wduilwds6u@caprover-ubuntu-s-1vcpu-3gb-sfo2-01    |          | |  ___   _    __
srv-captain--jellyfin.1.v1wduilwds6u@caprover-ubuntu-s-1vcpu-3gb-sfo2-01    |          | | / __| | |  /  \ 
srv-captain--jellyfin.1.v1wduilwds6u@caprover-ubuntu-s-1vcpu-3gb-sfo2-01    |          | | \__ \ | | | () |
srv-captain--jellyfin.1.v1wduilwds6u@caprover-ubuntu-s-1vcpu-3gb-sfo2-01    |          |_| |___/ |_|  \__/
srv-captain--jellyfin.1.v1wduilwds6u@caprover-ubuntu-s-1vcpu-3gb-sfo2-01    | 
srv-captain--jellyfin.1.v1wduilwds6u@caprover-ubuntu-s-1vcpu-3gb-sfo2-01    | 
srv-captain--jellyfin.1.v1wduilwds6u@caprover-ubuntu-s-1vcpu-3gb-sfo2-01    | Brought to you by linuxserver.io
srv-captain--jellyfin.1.v1wduilwds6u@caprover-ubuntu-s-1vcpu-3gb-sfo2-01    | We gratefully accept donations at:
srv-captain--jellyfin.1.v1wduilwds6u@caprover-ubuntu-s-1vcpu-3gb-sfo2-01    | https://www.linuxserver.io/donate/
srv-captain--jellyfin.1.v1wduilwds6u@caprover-ubuntu-s-1vcpu-3gb-sfo2-01    | -------------------------------------
srv-captain--jellyfin.1.v1wduilwds6u@caprover-ubuntu-s-1vcpu-3gb-sfo2-01    | GID/UID
srv-captain--jellyfin.1.v1wduilwds6u@caprover-ubuntu-s-1vcpu-3gb-sfo2-01    | -------------------------------------
srv-captain--jellyfin.1.v1wduilwds6u@caprover-ubuntu-s-1vcpu-3gb-sfo2-01    | 
srv-captain--jellyfin.1.v1wduilwds6u@caprover-ubuntu-s-1vcpu-3gb-sfo2-01    | User uid:    0
srv-captain--jellyfin.1.v1wduilwds6u@caprover-ubuntu-s-1vcpu-3gb-sfo2-01    | User gid:    0
srv-captain--jellyfin.1.v1wduilwds6u@caprover-ubuntu-s-1vcpu-3gb-sfo2-01    | -------------------------------------
srv-captain--jellyfin.1.v1wduilwds6u@caprover-ubuntu-s-1vcpu-3gb-sfo2-01    | 
srv-captain--jellyfin.1.v1wduilwds6u@caprover-ubuntu-s-1vcpu-3gb-sfo2-01    | [cont-init.d] 10-adduser: exited 0.
srv-captain--jellyfin.1.v1wduilwds6u@caprover-ubuntu-s-1vcpu-3gb-sfo2-01    | [cont-init.d] 30-config: executing... 
srv-captain--jellyfin.1.v1wduilwds6u@caprover-ubuntu-s-1vcpu-3gb-sfo2-01    | [cont-init.d] 30-config: exited 0.
srv-captain--jellyfin.1.v1wduilwds6u@caprover-ubuntu-s-1vcpu-3gb-sfo2-01    | [cont-init.d] 40-gid-video: executing... 
srv-captain--jellyfin.1.v1wduilwds6u@caprover-ubuntu-s-1vcpu-3gb-sfo2-01    | [cont-init.d] 40-gid-video: exited 0.
srv-captain--jellyfin.1.v1wduilwds6u@caprover-ubuntu-s-1vcpu-3gb-sfo2-01    | [cont-init.d] 99-custom-scripts: executing... 
srv-captain--jellyfin.1.v1wduilwds6u@caprover-ubuntu-s-1vcpu-3gb-sfo2-01    | [custom-init] no custom files found exiting...
srv-captain--jellyfin.1.v1wduilwds6u@caprover-ubuntu-s-1vcpu-3gb-sfo2-01    | [cont-init.d] 99-custom-scripts: exited 0.
srv-captain--jellyfin.1.v1wduilwds6u@caprover-ubuntu-s-1vcpu-3gb-sfo2-01    | [cont-init.d] done.
srv-captain--jellyfin.1.v1wduilwds6u@caprover-ubuntu-s-1vcpu-3gb-sfo2-01    | [services.d] starting services
srv-captain--jellyfin.1.v1wduilwds6u@caprover-ubuntu-s-1vcpu-3gb-sfo2-01    | [services.d] done.
srv-captain--jellyfin.1.v1wduilwds6u@caprover-ubuntu-s-1vcpu-3gb-sfo2-01    | [18:47:59] [INF] Jellyfin version: 10.4.3
srv-captain--jellyfin.1.v1wduilwds6u@caprover-ubuntu-s-1vcpu-3gb-sfo2-01    | [18:47:59] [INF] Arguments: ["/usr/lib/jellyfin/bin/jellyfin.dll", "--ffmpeg=/usr/lib/jellyfin-ffmpeg/ffmpeg"]
srv-captain--jellyfin.1.v1wduilwds6u@caprover-ubuntu-s-1vcpu-3gb-sfo2-01    | [18:47:59] [INF] Operating system: Linux
srv-captain--jellyfin.1.v1wduilwds6u@caprover-ubuntu-s-1vcpu-3gb-sfo2-01    | [18:47:59] [INF] Architecture: X64
srv-captain--jellyfin.1.v1wduilwds6u@caprover-ubuntu-s-1vcpu-3gb-sfo2-01    | [18:47:59] [INF] 64-Bit Process: True
srv-captain--jellyfin.1.v1wduilwds6u@caprover-ubuntu-s-1vcpu-3gb-sfo2-01    | [18:47:59] [INF] User Interactive: True
srv-captain--jellyfin.1.v1wduilwds6u@caprover-ubuntu-s-1vcpu-3gb-sfo2-01    | [18:47:59] [INF] Processor count: 4
srv-captain--jellyfin.1.v1wduilwds6u@caprover-ubuntu-s-1vcpu-3gb-sfo2-01    | [18:47:59] [INF] Program data path: /config/data
srv-captain--jellyfin.1.v1wduilwds6u@caprover-ubuntu-s-1vcpu-3gb-sfo2-01    | [18:47:59] [INF] Web resources path: /usr/lib/jellyfin/bin/jellyfin-web
srv-captain--jellyfin.1.v1wduilwds6u@caprover-ubuntu-s-1vcpu-3gb-sfo2-01    | [18:47:59] [INF] Application directory: /usr/lib/jellyfin/bin/
srv-captain--jellyfin.1.v1wduilwds6u@caprover-ubuntu-s-1vcpu-3gb-sfo2-01    | [18:47:59] [INF] Setting cache path to /config/cache
srv-captain--jellyfin.1.v1wduilwds6u@caprover-ubuntu-s-1vcpu-3gb-sfo2-01    | [18:47:59] [INF] Loading assemblies
srv-captain--jellyfin.1.v1wduilwds6u@caprover-ubuntu-s-1vcpu-3gb-sfo2-01    | [18:48:01] [INF] Kestrel listening on all interfaces
srv-captain--jellyfin.1.v1wduilwds6u@caprover-ubuntu-s-1vcpu-3gb-sfo2-01    | [18:48:01] [INF] Running startup tasks
srv-captain--jellyfin.1.v1wduilwds6u@caprover-ubuntu-s-1vcpu-3gb-sfo2-01    | [18:48:01] [INF] Daily trigger for Chapter image extraction set to fire at 02/17/2020 02:00, which is 7:11:58.6430558 from now.
srv-captain--jellyfin.1.v1wduilwds6u@caprover-ubuntu-s-1vcpu-3gb-sfo2-01    | [18:48:01] [INF] Found ffmpeg version 4.2.1
srv-captain--jellyfin.1.v1wduilwds6u@caprover-ubuntu-s-1vcpu-3gb-sfo2-01    | [18:48:01] [INF] Available decoders: ["h264", "h264_cuvid", "hevc", "hevc_cuvid", "mpeg2video", "aac", "ac3", "mp3"]
srv-captain--jellyfin.1.v1wduilwds6u@caprover-ubuntu-s-1vcpu-3gb-sfo2-01    | [18:48:01] [INF] Available encoders: ["libx264", "h264_nvenc", "h264_omx", "h264_v4l2m2m", "h264_vaapi", "libx265", "hevc_nvenc", "hevc_vaapi", "mpeg4", "msmpeg4", "aac", "ac3", "libmp3lame", "libopus", "libvorbis", "srt"]
srv-captain--jellyfin.1.v1wduilwds6u@caprover-ubuntu-s-1vcpu-3gb-sfo2-01    | [18:48:01] [INF] FFmpeg: SetByArgument: /usr/lib/jellyfin-ffmpeg/ffmpeg
srv-captain--jellyfin.1.v1wduilwds6u@caprover-ubuntu-s-1vcpu-3gb-sfo2-01    | [18:48:01] [INF] ServerId: c457ed9e44a04971abfde2a70c4201bd
srv-captain--jellyfin.1.v1wduilwds6u@caprover-ubuntu-s-1vcpu-3gb-sfo2-01    | [18:48:02] [INF] Executed all pre-startup entry points in 0:00:00.5706027
srv-captain--jellyfin.1.v1wduilwds6u@caprover-ubuntu-s-1vcpu-3gb-sfo2-01    | [18:48:02] [INF] Core startup complete
srv-captain--jellyfin.1.v1wduilwds6u@caprover-ubuntu-s-1vcpu-3gb-sfo2-01    | [18:48:02] [INF] Executed all post-startup entry points in 0:00:00.2524262
srv-captain--jellyfin.1.v1wduilwds6u@caprover-ubuntu-s-1vcpu-3gb-sfo2-01    | [18:48:04] [INF] StartupTrigger fired for task: Check for plugin updates
srv-captain--jellyfin.1.v1wduilwds6u@caprover-ubuntu-s-1vcpu-3gb-sfo2-01    | [18:48:04] [INF] Queueing task PluginUpdateTask
srv-captain--jellyfin.1.v1wduilwds6u@caprover-ubuntu-s-1vcpu-3gb-sfo2-01    | [18:48:04] [INF] Executing Check for plugin updates
srv-captain--jellyfin.1.v1wduilwds6u@caprover-ubuntu-s-1vcpu-3gb-sfo2-01    | [18:48:05] [INF] Check for plugin updates Completed after 0 minute(s) and 0 seconds
srv-captain--jellyfin.1.v1wduilwds6u@caprover-ubuntu-s-1vcpu-3gb-sfo2-01    | [18:48:05] [INF] ExecuteQueuedTasks
srv-captain--jellyfin.1.v1wduilwds6u@caprover-ubuntu-s-1vcpu-3gb-sfo2-01    | [18:48:07] [ERR] Error sending socket message from 10.255.75.93 to 239.255.255.250:1900
srv-captain--jellyfin.1.v1wduilwds6u@caprover-ubuntu-s-1vcpu-3gb-sfo2-01    | System.Net.Sockets.SocketException (0xFFFFFFFF): Unknown error -1
srv-captain--jellyfin.1.v1wduilwds6u@caprover-ubuntu-s-1vcpu-3gb-sfo2-01    |    at System.Net.Sockets.Socket.DoBeginSendTo(Byte[] buffer, Int32 offset, Int32 size, SocketFlags socketFlags, EndPoint endPointSnapshot, SocketAddress socketAddress, OverlappedAsyncResult asyncResult)
srv-captain--jellyfin.1.v1wduilwds6u@caprover-ubuntu-s-1vcpu-3gb-sfo2-01    |    at System.Net.Sockets.Socket.BeginSendTo(Byte[] buffer, Int32 offset, Int32 size, SocketFlags socketFlags, EndPoint remoteEP, AsyncCallback callback, Object state)
srv-captain--jellyfin.1.v1wduilwds6u@caprover-ubuntu-s-1vcpu-3gb-sfo2-01    |    at Emby.Server.Implementations.Net.UdpSocket.SendToAsync(Byte[] buffer, Int32 offset, Int32 size, IPEndPoint endPoint, CancellationToken cancellationToken)
srv-captain--jellyfin.1.v1wduilwds6u@caprover-ubuntu-s-1vcpu-3gb-sfo2-01    |    at Rssdp.Infrastructure.SsdpCommunicationsServer.SendFromSocket(ISocket socket, Byte[] messageData, IPEndPoint destination, CancellationToken cancellationToken)
srv-captain--jellyfin.1.v1wduilwds6u@caprover-ubuntu-s-1vcpu-3gb-sfo2-01    | [18:48:07] [ERR] Error sending socket message from 10.255.75.93 to 239.255.255.250:1900
srv-captain--jellyfin.1.v1wduilwds6u@caprover-ubuntu-s-1vcpu-3gb-sfo2-01    | System.Net.Sockets.SocketException (0xFFFFFFFF): Unknown error -1
srv-captain--jellyfin.1.v1wduilwds6u@caprover-ubuntu-s-1vcpu-3gb-sfo2-01    |    at System.Net.Sockets.Socket.DoBeginSendTo(Byte[] buffer, Int32 offset, Int32 size, SocketFlags socketFlags, EndPoint endPointSnapshot, SocketAddress socketAddress, OverlappedAsyncResult asyncResult)
srv-captain--jellyfin.1.v1wduilwds6u@caprover-ubuntu-s-1vcpu-3gb-sfo2-01    |    at System.Net.Sockets.Socket.BeginSendTo(Byte[] buffer, Int32 offset, Int32 size, SocketFlags socketFlags, EndPoint remoteEP, AsyncCallback callback, Object state)
srv-captain--jellyfin.1.v1wduilwds6u@caprover-ubuntu-s-1vcpu-3gb-sfo2-01    |    at Emby.Server.Implementations.Net.UdpSocket.SendToAsync(Byte[] buffer, Int32 offset, Int32 size, IPEndPoint endPoint, CancellationToken cancellationToken)
srv-captain--jellyfin.1.v1wduilwds6u@caprover-ubuntu-s-1vcpu-3gb-sfo2-01    |    at Rssdp.Infrastructure.SsdpCommunicationsServer.SendFromSocket(ISocket socket, Byte[] messageData, IPEndPoint destination, CancellationToken cancellationToken)
srv-captain--jellyfin.1.v1wduilwds6u@caprover-ubuntu-s-1vcpu-3gb-sfo2-01    | [18:48:07] [ERR] Error sending socket message from 10.255.75.93 to 239.255.255.250:1900
srv-captain--jellyfin.1.v1wduilwds6u@caprover-ubuntu-s-1vcpu-3gb-sfo2-01    | System.Net.Sockets.SocketException (0xFFFFFFFF): Unknown error -1
srv-captain--jellyfin.1.v1wduilwds6u@caprover-ubuntu-s-1vcpu-3gb-sfo2-01    |    at System.Net.Sockets.Socket.DoBeginSendTo(Byte[] buffer, Int32 offset, Int32 size, SocketFlags socketFlags, EndPoint endPointSnapshot, SocketAddress socketAddress, OverlappedAsyncResult asyncResult)
srv-captain--jellyfin.1.v1wduilwds6u@caprover-ubuntu-s-1vcpu-3gb-sfo2-01    |    at System.Net.Sockets.Socket.BeginSendTo(Byte[] buffer, Int32 offset, Int32 size, SocketFlags socketFlags, EndPoint remoteEP, AsyncCallback callback, Object state)
srv-captain--jellyfin.1.v1wduilwds6u@caprover-ubuntu-s-1vcpu-3gb-sfo2-01    |    at Emby.Server.Implementations.Net.UdpSocket.SendToAsync(Byte[] buffer, Int32 offset, Int32 size, IPEndPoint endPoint, CancellationToken cancellationToken)
srv-captain--jellyfin.1.v1wduilwds6u@caprover-ubuntu-s-1vcpu-3gb-sfo2-01    |    at Rssdp.Infrastructure.SsdpCommunicationsServer.SendFromSocket(ISocket socket, Byte[] messageData, IPEndPoint destination, CancellationToken cancellationToken)
srv-captain--jellyfin.1.v1wduilwds6u@caprover-ubuntu-s-1vcpu-3gb-sfo2-01    | [18:49:02] [INF] Authentication request for d has succeeded.
srv-captain--jellyfin.1.v1wduilwds6u@caprover-ubuntu-s-1vcpu-3gb-sfo2-01    | [18:49:02] [INF] Creating new access token for user d63992ed-3395-4a94-b833-932de23ddc92
srv-captain--jellyfin.1.v1wduilwds6u@caprover-ubuntu-s-1vcpu-3gb-sfo2-01    | [18:49:02] [ERR] Could not find handler for /socket
srv-captain--jellyfin.1.v1wduilwds6u@caprover-ubuntu-s-1vcpu-3gb-sfo2-01    | [18:49:02] [ERR] Error processing request: Unable to find the specified file.
srv-captain--jellyfin.1.v1wduilwds6u@caprover-ubuntu-s-1vcpu-3gb-sfo2-01    | [18:49:07] [ERR] Error sending socket message from 10.255.75.93 to 239.255.255.250:1900
srv-captain--jellyfin.1.v1wduilwds6u@caprover-ubuntu-s-1vcpu-3gb-sfo2-01    | System.Net.Sockets.SocketException (0xFFFFFFFF): Unknown error -1
srv-captain--jellyfin.1.v1wduilwds6u@caprover-ubuntu-s-1vcpu-3gb-sfo2-01    |    at System.Net.Sockets.Socket.DoBeginSendTo(Byte[] buffer, Int32 offset, Int32 size, SocketFlags socketFlags, EndPoint endPointSnapshot, SocketAddress socketAddress, OverlappedAsyncResult asyncResult)
srv-captain--jellyfin.1.v1wduilwds6u@caprover-ubuntu-s-1vcpu-3gb-sfo2-01    |    at System.Net.Sockets.Socket.BeginSendTo(Byte[] buffer, Int32 offset, Int32 size, SocketFlags socketFlags, EndPoint remoteEP, AsyncCallback callback, Object state)
srv-captain--jellyfin.1.v1wduilwds6u@caprover-ubuntu-s-1vcpu-3gb-sfo2-01    |    at Emby.Server.Implementations.Net.UdpSocket.SendToAsync(Byte[] buffer, Int32 offset, Int32 size, IPEndPoint endPoint, CancellationToken cancellationToken)
srv-captain--jellyfin.1.v1wduilwds6u@caprover-ubuntu-s-1vcpu-3gb-sfo2-01    |    at Rssdp.Infrastructure.SsdpCommunicationsServer.SendFromSocket(ISocket socket, Byte[] messageData, IPEndPoint destination, CancellationToken cancellationToken)
srv-captain--jellyfin.1.v1wduilwds6u@caprover-ubuntu-s-1vcpu-3gb-sfo2-01    | [18:49:07] [ERR] Error sending socket message from 10.255.75.93 to 239.255.255.250:1900
srv-captain--jellyfin.1.v1wduilwds6u@caprover-ubuntu-s-1vcpu-3gb-sfo2-01    | System.Net.Sockets.SocketException (0xFFFFFFFF): Unknown error -1
srv-captain--jellyfin.1.v1wduilwds6u@caprover-ubuntu-s-1vcpu-3gb-sfo2-01    |    at System.Net.Sockets.Socket.DoBeginSendTo(Byte[] buffer, Int32 offset, Int32 size, SocketFlags socketFlags, EndPoint endPointSnapshot, SocketAddress socketAddress, OverlappedAsyncResult asyncResult)
srv-captain--jellyfin.1.v1wduilwds6u@caprover-ubuntu-s-1vcpu-3gb-sfo2-01    |    at System.Net.Sockets.Socket.BeginSendTo(Byte[] buffer, Int32 offset, Int32 size, SocketFlags socketFlags, EndPoint remoteEP, AsyncCallback callback, Object state)
srv-captain--jellyfin.1.v1wduilwds6u@caprover-ubuntu-s-1vcpu-3gb-sfo2-01    |    at Emby.Server.Implementations.Net.UdpSocket.SendToAsync(Byte[] buffer, Int32 offset, Int32 size, IPEndPoint endPoint, CancellationToken cancellationToken)
srv-captain--jellyfin.1.v1wduilwds6u@caprover-ubuntu-s-1vcpu-3gb-sfo2-01    |    at Rssdp.Infrastructure.SsdpCommunicationsServer.SendFromSocket(ISocket socket, Byte[] messageData, IPEndPoint destination, CancellationToken cancellationToken)
srv-captain--jellyfin.1.v1wduilwds6u@caprover-ubuntu-s-1vcpu-3gb-sfo2-01    | [18:49:07] [ERR] Error sending socket message from 10.255.75.93 to 239.255.255.250:1900
srv-captain--jellyfin.1.v1wduilwds6u@caprover-ubuntu-s-1vcpu-3gb-sfo2-01    | System.Net.Sockets.SocketException (0xFFFFFFFF): Unknown error -1
srv-captain--jellyfin.1.v1wduilwds6u@caprover-ubuntu-s-1vcpu-3gb-sfo2-01    |    at System.Net.Sockets.Socket.DoBeginSendTo(Byte[] buffer, Int32 offset, Int32 size, SocketFlags socketFlags, EndPoint endPointSnapshot, SocketAddress socketAddress, OverlappedAsyncResult asyncResult)
srv-captain--jellyfin.1.v1wduilwds6u@caprover-ubuntu-s-1vcpu-3gb-sfo2-01    |    at System.Net.Sockets.Socket.BeginSendTo(Byte[] buffer, Int32 offset, Int32 size, SocketFlags socketFlags, EndPoint remoteEP, AsyncCallback callback, Object state)
srv-captain--jellyfin.1.v1wduilwds6u@caprover-ubuntu-s-1vcpu-3gb-sfo2-01    |    at Emby.Server.Implementations.Net.UdpSocket.SendToAsync(Byte[] buffer, Int32 offset, Int32 size, IPEndPoint endPoint, CancellationToken cancellationToken)
srv-captain--jellyfin.1.v1wduilwds6u@caprover-ubuntu-s-1vcpu-3gb-sfo2-01    |    at Rssdp.Infrastructure.SsdpCommunicationsServer.SendFromSocket(ISocket socket, Byte[] messageData, IPEndPoint destination, CancellationToken cancellationToken)
srv-captain--jellyfin.1.v1wduilwds6u@caprover-ubuntu-s-1vcpu-3gb-sfo2-01    | [18:49:42] [ERR] Error registering endpoint
srv-captain--jellyfin.1.v1wduilwds6u@caprover-ubuntu-s-1vcpu-3gb-sfo2-01    | System.OperationCanceledException: The operation was canceled.
srv-captain--jellyfin.1.v1wduilwds6u@caprover-ubuntu-s-1vcpu-3gb-sfo2-01    |    at System.Net.Http.HttpClient.HandleFinishSendAsyncError(Exception e, CancellationTokenSource cts)
srv-captain--jellyfin.1.v1wduilwds6u@caprover-ubuntu-s-1vcpu-3gb-sfo2-01    |    at System.Net.Http.HttpClient.FinishSendAsyncUnbuffered(Task`1 sendTask, HttpRequestMessage request, CancellationTokenSource cts, Boolean disposeCts)
srv-captain--jellyfin.1.v1wduilwds6u@caprover-ubuntu-s-1vcpu-3gb-sfo2-01    |    at Emby.Server.Implementations.HttpClientManager.HttpClientManager.SendAsyncInternal(HttpRequestOptions options, HttpMethod httpMethod)
srv-captain--jellyfin.1.v1wduilwds6u@caprover-ubuntu-s-1vcpu-3gb-sfo2-01    |    at Emby.Server.Implementations.HttpClientManager.HttpClientManager.SendAsync(HttpRequestOptions options, HttpMethod httpMethod)
srv-captain--jellyfin.1.v1wduilwds6u@caprover-ubuntu-s-1vcpu-3gb-sfo2-01    |    at Emby.Server.Implementations.ApplicationHost.IsIpAddressValidAsync(IPAddress address, CancellationToken cancellationToken)
srv-captain--jellyfin.1.v1wduilwds6u@caprover-ubuntu-s-1vcpu-3gb-sfo2-01    |    at Emby.Server.Implementations.ApplicationHost.GetLocalIpAddressesInternal(Boolean allowLoopback, Int32 limit, CancellationToken cancellationToken)
srv-captain--jellyfin.1.v1wduilwds6u@caprover-ubuntu-s-1vcpu-3gb-sfo2-01    |    at Emby.Dlna.Main.DlnaEntryPoint.RegisterServerEndpoints()
srv-captain--jellyfin.1.v1wduilwds6u@caprover-ubuntu-s-1vcpu-3gb-sfo2-01    |    at Emby.Dlna.Main.DlnaEntryPoint.StartDevicePublisher(DlnaOptions options)
srv-captain--jellyfin.1.v1wduilwds6u@caprover-ubuntu-s-1vcpu-3gb-sfo2-01    | [18:50:07] [ERR] Error sending socket message from 10.255.75.93 to 239.255.255.250:1900
srv-captain--jellyfin.1.v1wduilwds6u@caprover-ubuntu-s-1vcpu-3gb-sfo2-01    | System.Net.Sockets.SocketException (0xFFFFFFFF): Unknown error -1
srv-captain--jellyfin.1.v1wduilwds6u@caprover-ubuntu-s-1vcpu-3gb-sfo2-01    |    at System.Net.Sockets.Socket.DoBeginSendTo(Byte[] buffer, Int32 offset, Int32 size, SocketFlags socketFlags, EndPoint endPointSnapshot, SocketAddress socketAddress, OverlappedAsyncResult asyncResult)
srv-captain--jellyfin.1.v1wduilwds6u@caprover-ubuntu-s-1vcpu-3gb-sfo2-01    |    at System.Net.Sockets.Socket.BeginSendTo(Byte[] buffer, Int32 offset, Int32 size, SocketFlags socketFlags, EndPoint remoteEP, AsyncCallback callback, Object state)
srv-captain--jellyfin.1.v1wduilwds6u@caprover-ubuntu-s-1vcpu-3gb-sfo2-01    |    at Emby.Server.Implementations.Net.UdpSocket.SendToAsync(Byte[] buffer, Int32 offset, Int32 size, IPEndPoint endPoint, CancellationToken cancellationToken)
srv-captain--jellyfin.1.v1wduilwds6u@caprover-ubuntu-s-1vcpu-3gb-sfo2-01    |    at Rssdp.Infrastructure.SsdpCommunicationsServer.SendFromSocket(ISocket socket, Byte[] messageData, IPEndPoint destination, CancellationToken cancellationToken)
srv-captain--jellyfin.1.v1wduilwds6u@caprover-ubuntu-s-1vcpu-3gb-sfo2-01    | [18:50:07] [ERR] Error sending socket message from 10.255.75.93 to 239.255.255.250:1900
srv-captain--jellyfin.1.v1wduilwds6u@caprover-ubuntu-s-1vcpu-3gb-sfo2-01    | System.Net.Sockets.SocketException (0xFFFFFFFF): Unknown error -1
srv-captain--jellyfin.1.v1wduilwds6u@caprover-ubuntu-s-1vcpu-3gb-sfo2-01    |    at System.Net.Sockets.Socket.DoBeginSendTo(Byte[] buffer, Int32 offset, Int32 size, SocketFlags socketFlags, EndPoint endPointSnapshot, SocketAddress socketAddress, OverlappedAsyncResult asyncResult)
srv-captain--jellyfin.1.v1wduilwds6u@caprover-ubuntu-s-1vcpu-3gb-sfo2-01    |    at System.Net.Sockets.Socket.BeginSendTo(Byte[] buffer, Int32 offset, Int32 size, SocketFlags socketFlags, EndPoint remoteEP, AsyncCallback callback, Object state)
srv-captain--jellyfin.1.v1wduilwds6u@caprover-ubuntu-s-1vcpu-3gb-sfo2-01    |    at Emby.Server.Implementations.Net.UdpSocket.SendToAsync(Byte[] buffer, Int32 offset, Int32 size, IPEndPoint endPoint, CancellationToken cancellationToken)
srv-captain--jellyfin.1.v1wduilwds6u@caprover-ubuntu-s-1vcpu-3gb-sfo2-01    |    at Rssdp.Infrastructure.SsdpCommunicationsServer.SendFromSocket(ISocket socket, Byte[] messageData, IPEndPoint destination, CancellationToken cancellationToken)
srv-captain--jellyfin.1.v1wduilwds6u@caprover-ubuntu-s-1vcpu-3gb-sfo2-01    | [18:50:07] [ERR] Error sending socket message from 10.255.75.93 to 239.255.255.250:1900
srv-captain--jellyfin.1.v1wduilwds6u@caprover-ubuntu-s-1vcpu-3gb-sfo2-01    | System.Net.Sockets.SocketException (0xFFFFFFFF): Unknown error -1
srv-captain--jellyfin.1.v1wduilwds6u@caprover-ubuntu-s-1vcpu-3gb-sfo2-01    |    at System.Net.Sockets.Socket.DoBeginSendTo(Byte[] buffer, Int32 offset, Int32 size, SocketFlags socketFlags, EndPoint endPointSnapshot, SocketAddress socketAddress, OverlappedAsyncResult asyncResult)
srv-captain--jellyfin.1.v1wduilwds6u@caprover-ubuntu-s-1vcpu-3gb-sfo2-01    |    at System.Net.Sockets.Socket.BeginSendTo(Byte[] buffer, Int32 offset, Int32 size, SocketFlags socketFlags, EndPoint remoteEP, AsyncCallback callback, Object state)
srv-captain--jellyfin.1.v1wduilwds6u@caprover-ubuntu-s-1vcpu-3gb-sfo2-01    |    at Emby.Server.Implementations.Net.UdpSocket.SendToAsync(Byte[] buffer, Int32 offset, Int32 size, IPEndPoint endPoint, CancellationToken cancellationToken)
srv-captain--jellyfin.1.v1wduilwds6u@caprover-ubuntu-s-1vcpu-3gb-sfo2-01    |    at Rssdp.Infrastructure.SsdpCommunicationsServer.SendFromSocket(ISocket socket, Byte[] messageData, IPEndPoint destination, CancellationToken cancellationToken)

Cannot Enable Hardware Transcoding

linuxserver.io

If you are new to Docker or this application our issue tracker is ONLY used for reporting bugs or requesting features. Please use our discord server for general support.


Expected Behavior

The user can enable hardware transcoding out of the box.

Current Behavior

When trying to initially enable hardware transcoding, the user is presented with the error:

"There was an error processing your request. Please try again later."

In checking the logs, this is apparently caused because the transcodes folder isn't created in the default location.

Steps to Reproduce

  1. Create container from default template on docker hub
  2. Try the enable hardware transcoding
  3. The error is presented

Environment

OS: Ubuntu 18.04 LTS
CPU architecture: x64
How docker service was installed:
curl -fsSL https://get.docker.com -o get-docker.sh
sh get-docker.sh

Command used to create docker container (run/create/compose/screenshot)

docker create
--name=jellyfin
-e PUID=1000
-e PGID=1000
-e TZ=America/Toronto
-e UMASK_SET=022 #optional
-p 8096:8096
-p 8920:8920 #optional
-v /mnt/appdata/jellyfin:/config
-v /mnt:/data
--device /dev/dri:/dev/dri #optional
--restart unless-stopped
linuxserver/jellyfin

Docker logs

VAAPI and AMD AMF hardware transcoding doesn't work without these updates

Okay I figured out how to get VAAPI work in Jellyfin. There need to be some changes to the Jellyfin docker. You can not do VAAPI transcoding on Linux without Mesa 20.1+. The Mesa 20.1+ update must be installed in the docker image. I added this to docker and it started working for my RX550 video card.

apt-get update && apt-get upgrade -y
apt-get install -y gpg
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys F63F0F2B90935439
echo "deb http://ppa.launchpad.net/kisak/kisak-mesa/ubuntu bionic main" > /etc/apt/sources.list.d/kisak-ubuntu-kisak-mesa-bionic.list
apt-get update
apt-get upgrade -y

I also installed amdgpu-pro in the host OS as well. I suspect that Emby docker needs the same exact changes as well.
This is needed for AMD AMF as well. Plus for AMD AMF you must install amdgpu-pro on the host OS in Linux. Open source only does decoding on AMD AMF and not sure it does any HEVC. Thus the need for amdgpu-pro for AMD AMF transcoding.

All of this is required for HEVC transcoding. If you don't do this you are limited to H.264 and older transcoding.

Jellyfin fails to start on Fedora IoT with Podman and libseccomp2.5

linuxserver.io


Expected Behavior

Jellyfin should start normally since libseccomp 2.5 is installed.

Current Behavior

Jellyfin doesn't start after the install script ends. It shows the date as 1970.

Steps to Reproduce

  1. Install Fedora IoT
  2. Install Jellyfin with Podman
  3. Wait for Install Script to end
  4. Navigate to the web ui and notice that jellyfin doesn't start

Environment

OS: Fedora IoT
CPU architecture: arm32
How docker service was installed:
Podman was installed already on the base image and Jellyfin was pulled from Docker Hub.

Command used to create docker container (run/create/compose/screenshot)

podman run -d --security-opt label=disable --name=jellyfin -e PUID=1000 -e PGID=1000 -e TZ=Asia/Beirut -e UMASK_SET=022 -p 8096:8096 /home/user/.jellyfin:/config -v /home/user/media:/data/ --device /dev/vchiq:/dev/vchiq --restart unless-stopped ghcr.io/linuxserver/jellyfin

Docker logs

  GNU nano 5.3                                                                                                  /var/home/pi/jelly.log                                                                                                             
[s6-init] making user provided files available at /var/run/s6/etc...exited 0.
[s6-init] ensuring user provided files have correct perms...exited 0.
[fix-attrs.d] applying ownership & permissions fixes...
[fix-attrs.d] done.
[cont-init.d] executing container initialization scripts...
[cont-init.d] 01-envfile: executing...
[cont-init.d] 01-envfile: exited 0.
[cont-init.d] 10-adduser: executing...

-------------------------------------
          _         ()
         | |  ___   _    __
         | | / __| | |  /  \
         | | \__ \ | | | () |
         |_| |___/ |_|  \__/


Brought to you by linuxserver.io
-------------------------------------

To support the app dev(s) visit:
Jellyfin: https://opencollective.com/jellyfin

To support LSIO projects visit:
https://www.linuxserver.io/donate/
-------------------------------------
GID/UID
-------------------------------------

User uid:    1000
User gid:    1000
-------------------------------------

[cont-init.d] 10-adduser: exited 0.
[cont-init.d] 30-config: executing...
[cont-init.d] 30-config: exited 0.
[cont-init.d] 40-gid-video: executing...
[cont-init.d] 40-gid-video: exited 0.
[cont-init.d] 99-custom-scripts: executing...
[custom-init] no custom files found exiting...
[cont-init.d] 99-custom-scripts: exited 0.
[cont-init.d] done.
[services.d] starting services
[services.d] done.

Thank you!

I have no idea what the Jellyfin devs were thinking when they based the official Jellyfin Docker container on the Windows version and used dotnet to run it inside of it. Your Docker image, which obviously uses Jellyfin's native Linux version, runs so much better than theirs. My users have been coming to me all day telling me how much more responsive and snappy the web UI is all of the sudden and I can confirm their experience after navigating through the admin interface for a bit.

Thank you for giving this great piece of software an equally great Docker image!

Jellyfin Service not starting

edit:I was able to solve this issue by following the steps on https://docs.linuxserver.io/faq

Hello, I recently switched from rpi3 to rpi4(4gb) and installed Jellyfin on docker. If i use linuxserver/jellyfin jellyfin(service) wont start. The issue does not show up if i use jellyfin/jellyfin
Logs:

[s6-init] making user provided files available at /var/run/s6/etc...exited 0.,
[s6-init] ensuring user provided files have correct perms...exited 0.,
[fix-attrs.d] applying ownership & permissions fixes...,
[fix-attrs.d] done.,
[cont-init.d] executing container initialization scripts...,
[cont-init.d] 01-envfile: executing... ,
[cont-init.d] 01-envfile: exited 0.,
[cont-init.d] 10-adduser: executing... ,
,
-------------------------------------,
          _         (),
         | |  ___   _    __,
         | | / __| | |  /  \ ,
         | | \__ \ | | | () |,
         |_| |___/ |_|  \__/,
,
,
Brought to you by linuxserver.io,
-------------------------------------,
,
To support the app dev(s) visit:,
Jellyfin: https://opencollective.com/jellyfin,
,
To support LSIO projects visit:,
https://www.linuxserver.io/donate/,
-------------------------------------,
GID/UID,
-------------------------------------,
,
User uid:    0,
User gid:    0,
-------------------------------------,
,
[cont-init.d] 10-adduser: exited 0.,
[cont-init.d] 30-config: executing... ,
[cont-init.d] 30-config: exited 0.,
[cont-init.d] 40-gid-video: executing... ,
[cont-init.d] 40-gid-video: exited 0.,
[cont-init.d] 99-custom-scripts: executing... ,
[custom-init] no custom files found exiting...,
[cont-init.d] 99-custom-scripts: exited 0.,
[cont-init.d] done.,
[services.d] starting services,
[services.d] done.,

Container IP is announced in server discovery

When using server discovery the announced IP of the server is the container IP and not host IP.

After a lot of googling i have solved it by adding an envornrment variable:

services:
  jellyfin:
    image: linuxserver/jellyfin:latest
    container_name: jellyfin
    environment:
      - JELLYFIN_PublishedServerUrl=http://192.168.1.10:8096

Should that be added to the documentation?

Libreelec Raspberry openmax hw support

Hi...
I'm trying to deploy jellyfin docker container to support gpu hw transcoding in Raspberry Pi 4B. Following jellyfin/linuxserver.io guidelines it's necessary to mount OpenMax libraries (/opt/vc/lib) inside the container to make it working and here it's where it's failing due to a linking error. When I execute the following command to create the container:

docker run -d --name jellyfin --volume /storage/docker/jellyfin:/config --volume /opt/vc/lib:/opt/vc/lib -p 8096:8096 --device=/dev/vchiq:/dev/vchiq --restart=unless-stopped linuxserver/jellyfin

Jellyfin container logs report the following error not being able to start the app web server:

[cont-init.d] 40-gid-video: executing... 
[jellyfin-init] Pi Libs detected loading
/sbin/ldconfig.real: Can't link /opt/vc/lib/libfdt.so.1 to libfdt.so
[cont-init.d] 40-gid-video: exited 0.
[cont-init.d] 99-custom-scripts: executing... 
[cont-init.d] 99-custom-scripts: exited 267.
[cont-init.d] done.
[services.d] starting services
[services.d] done.

Library libftd.so is available in /opt/vc/lib in Libreelec filesystem:
-rwxr-xr-x 1 root root 26328 Nov 23 00:46 /opt/vc/lib/libfdt.so

Does anybody know what it's failing mapping /opt/vc/lib volume?.

Regards,

Recording fails with ports remapped

linuxserver.io

If you are new to Docker or this application our issue tracker is ONLY used for reporting bugs or requesting features. Please use our discord server for general support.


Expected Behavior

With Live TV tuner setup, and XMLTV listings imported, selecting an episode from the guide and choosing Series Recording should create a Series Recording.

Current Behavior

Following the steps above, clicking Series Recording results in no web response.

Steps to Reproduce

  1. Startup Jellyfin with port remapped e.g. ports: 9016:8096
  2. Enable Live TV. Enable guide.
  3. Create series recording. Observe silent failure.
  4. In Jellyfin Admin Dashboard Networking, edit HTTP port to 9016.
  5. Relaunch docker container with port mapping 9016:9016
  6. Create series recording successfully.

Environment

OS: Ubuntu 19.04 LTS
CPU architecture: x86_64
How docker service was installed:
Docker-compose using official docker repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu"

Command used to create docker container (run/create/compose/screenshot)

jellyfin:
image: linuxserver/jellyfin
container_name: jellyfin
runtime: nvidia
environment:
- TZ=${TZ}
- PUID=${PUID}
- PGID=${PGID}
- UMASK_SET=<022> #optional
- NVIDIA_VISIBLE_DEVICES=all
volumes:
- ${CONFIG}/emby:/config
- ${MOVIES}:/movies
- ${TV}:/tv
- ${PHOTOS}:/photos
- ${VIDEOS}:/videos
- ${MUSIC}:/music
- ${DOWNLOADS}/emby_tmp:/transcode
- ${DOCKER}/compress:/compress
ports:
- 9016:8096
- 8920:8920 #optional
labels:
- traefik.enable=false
- traefik.backend=jellyfin
- traefik.frontend.rule=Host:jellyfin.domain.tld
restart: unless-stopped

Docker logs

[20:12:27] [ERR] [54] Emby.Server.Implementations.HttpServer.HttpListenerHost: Error processing request. URL: http:/localIP:9016/LiveTv/Timers/Defaults?programId=HEX##
System.Collections.Generic.KeyNotFoundException: No service with the name '' can be found.
at Emby.Server.Implementations.LiveTv.LiveTvManager.GetService(String name)
at Emby.Server.Implementations.LiveTv.LiveTvManager.GetService(LiveTvChannel item)
at Emby.Server.Implementations.LiveTv.LiveTvManager.GetService(LiveTvProgram item)
at Emby.Server.Implementations.LiveTv.LiveTvManager.GetNewTimerDefaultsInternal(CancellationToken cancellationToken, LiveTvProgram program)
at Emby.Server.Implementations.LiveTv.LiveTvManager.GetNewTimerDefaults(String programId, CancellationToken cancellationToken)
at MediaBrowser.Api.LiveTv.LiveTvService.Get(GetDefaultTimer request)
at Emby.Server.Implementations.Services.ServiceExecGeneral.GetTaskResult(Task task)
at Emby.Server.Implementations.Services.ServiceHandler.ProcessRequestAsync(HttpListenerHost httpHost, IRequest httpReq, HttpResponse httpRes, ILogger logger, CancellationToken cancellationToken)
at Emby.Server.Implementations.HttpServer.HttpListenerHost.RequestHandler(IHttpRequest httpReq, String urlString, String host, String localPath, CancellationToken cancellationToken)

SQLitePCL.pretty.SQLiteException: database is locked when VolumeMount in k3s

Getting this error in k3s when I VolumeMount /config through PVC/PV on NFS. If I do not mount the directory, the container starts fine.

Brought to you by linuxserver.io
We gratefully accept donations at:
https://www.linuxserver.io/donate/
-------------------------------------
GID/UID
-------------------------------------

User uid:    1000
User gid:    1000
-------------------------------------

[cont-init.d] 10-adduser: exited 0.
[cont-init.d] 30-config: executing... 
chown: changing ownership of '/data/movies': Operation not permitted
chown: changing ownership of '/data/serien': Operation not permitted
[cont-init.d] 30-config: exited 1.
[cont-init.d] 40-gid-video: executing... 
[jellyfin-init] Pi Libs detected loading
[cont-init.d] 40-gid-video: exited 0.
[cont-init.d] 99-custom-scripts: executing... 
[custom-init] no custom files found exiting...
[cont-init.d] 99-custom-scripts: exited 0.
[cont-init.d] done.
[services.d] starting services
[services.d] done.
[22:25:25] [INF] [4] Main: Jellyfin version: 10.5.2
[22:25:25] [INF] [4] Main: Arguments: ["/usr/lib/jellyfin/bin/jellyfin.dll", "--ffmpeg=/usr/lib/jellyfin-ffmpeg/ffmpeg"]
[22:25:25] [INF] [4] Main: Operating system: Linux
[22:25:25] [INF] [4] Main: Architecture: Arm
[22:25:25] [INF] [4] Main: 64-Bit Process: False
[22:25:25] [INF] [4] Main: User Interactive: True
[22:25:25] [INF] [4] Main: Processor count: 4
[22:25:25] [INF] [4] Main: Program data path: /config/data
[22:25:25] [INF] [4] Main: Web resources path: /usr/lib/jellyfin/bin/jellyfin-web
[22:25:25] [INF] [4] Main: Application directory: /usr/lib/jellyfin/bin/
[22:25:38] [INF] [4] ServerConfigurationManager: Setting cache path: /config/cache
[22:25:38] [INF] [4] App: Loading assemblies
[22:25:50] [FTL] [4] Main: Error while starting server.
Busy: SQLitePCL.pretty.SQLiteException: database is locked
   at SQLitePCL.pretty.SQLiteException.Throw(Int32 rc, Int32 extended, String msg)
   at SQLitePCL.pretty.SQLiteException.CheckOk(sqlite3 db, Int32 rc)
   at SQLitePCL.pretty.SQLiteDatabaseConnection.PrepareStatement(String sql, String& tail)
   at SQLitePCL.pretty.DatabaseConnection.PrepareStatement(IDatabaseConnection This, String sql)
   at SQLitePCL.pretty.DatabaseConnection.Execute(IDatabaseConnection This, String sql)
   at Emby.Server.Implementations.Data.BaseSqliteRepository.GetConnection(Boolean _)
   at Emby.Server.Implementations.Security.AuthenticationRepository.Initialize()
   at Emby.Server.Implementations.ApplicationHost.GetAuthenticationRepository()
   at Emby.Server.Implementations.ApplicationHost.RegisterResources(IServiceCollection serviceCollection)
   at Emby.Server.Implementations.ApplicationHost.InitAsync(IServiceCollection serviceCollection)
   at Jellyfin.Server.Program.StartApp(StartupOptions options)
[22:25:50] [INF] [4] App: Disposing CoreAppHost
[22:25:50] [INF] [2] Main: Received a SIGTERM signal, shutting down

My jellyfin.yml

apiVersion: v1
kind: PersistentVolume
metadata:
  name: jellyfin-config
spec:
  capacity:
    storage: 250Gi
  storageClassName: fast
  mountOptions:
    - nfsvers=3
  volumeMode: Filesystem
  accessModes:
    - ReadWriteOnce
  persistentVolumeReclaimPolicy: Retain
  nfs:
    path: /mnt/aurum-storage/jellyfin
    server: 10.0.22.9
---
apiVersion: v1
kind: PersistentVolume
metadata:
  name: jellyfin-media-movies
spec:
  capacity:
    storage: 10Gi
  storageClassName: slow
  mountOptions:
    - nfsvers=3
  volumeMode: Filesystem
  accessModes:
    - ReadOnlyMany
  persistentVolumeReclaimPolicy: Retain
  nfs:
    path: /mnt/argentum-storage/Movies
    server: 10.0.22.16
---
apiVersion: v1
kind: PersistentVolume
metadata:
  name: jellyfin-media-serien
spec:
  capacity:
    storage: 10Gi
  storageClassName: slow
  mountOptions:
    - nfsvers=3
  volumeMode: Filesystem
  accessModes:
    - ReadOnlyMany
  persistentVolumeReclaimPolicy: Retain
  nfs:
    path: /mnt/argentum-storage/Serien
    server: 10.0.22.16
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: jellyfin-config
spec:
  accessModes:
    - ReadWriteOnce
  storageClassName: fast
  resources:
    requests:
      storage: 100Gi
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: jellyfin-media-movies
spec:
  accessModes:
    - ReadOnlyMany
  storageClassName: slow
  resources:
    requests:
      storage: 1Mi
  volumeName: jellyfin-media-movies
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: jellyfin-media-serien
spec:
  accessModes:
    - ReadOnlyMany
  storageClassName: slow
  resources:
    requests:
      storage: 1Mi
  volumeName: jellyfin-media-serien
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: jellyfin
spec:
  replicas: 1
  selector:
    matchLabels:
      app: jellyfin
  template:
    metadata:
      name: jellyfin
      labels:
        app: jellyfin
    spec:
      containers:
      - image: linuxserver/jellyfin:arm32v7-latest
        name: jellyfin
        ports:
        - containerPort: 8096
          protocol: TCP
        - containerPort: 8920
          protocol: TCP
        env:
        - name: PUID
          value: "1000"
        - name: PGID
          value: "1000"
        - name: TZ
          value: Europe/London
        volumeMounts:
        - mountPath: /dev/vchiq
          name: vchiq
        - mountPath: /opt/vc/lib
          name: vc
        - mountPath: /dev/video10
          name: video10
        - mountPath: /dev/video11
          name: video11
        - mountPath: /dev/video12
          name: video12
        - mountPath: /config
          name: jellyfin-config
        - mountPath: /data/movies
          name: jellyfin-media-movies
        - mountPath: /data/serien
          name: jellyfin-media-serien
        securityContext:
          privileged: true
        readinessProbe:
          periodSeconds: 60
          initialDelaySeconds: 30
          httpGet:
            path: /
            port: 8096
      volumes:
      - name: vchiq
        hostPath:
          path: /dev/vchiq
      - name: vc
        hostPath:
          path: /opt/vc/lib
      - name: video10
        hostPath:
          path: /dev/video10
      - name: video11
        hostPath:
          path: /dev/video11
      - name: video12
        hostPath:
          path: /dev/video12
      - name: jellyfin-config
        persistentVolumeClaim:
          claimName: jellyfin-config
      - name: jellyfin-media-movies
        persistentVolumeClaim:
          claimName: jellyfin-media-movies
      - name: jellyfin-media-serien
        persistentVolumeClaim:
          claimName: jellyfin-media-serien

My nfs /etc/exports
/mnt/aurum-storage/jellyfin *(rw,async,no_subtree_check,all_squash,insecure,anonuid=1000,anongid=1000)

Consider add ldconfig before starting the jellyfin server

linuxserver.io

If you are new to Docker or this application our issue tracker is ONLY used for reporting bugs or requesting features. Please use our discord server for general support.

When using NVENC for hw acceleration, container does not automatically create symlink inside. Users should manually run docker exec -it jellyfin ldconfig. This makes auto updating running container base image somewhat not that elegant.


Expected Behavior

Directly start container and hw acceleration will work normally.

Current Behavior

Manually create symlink inside the container.

Steps to Reproduce

  1. docker run xxx
  2. enable NVENC.
  3. play any vedio that needs transcoding.

Environment

OS: Linux omv 5.6.0-0.bpo.2-amd64 #1 SMP Debian 5.6.14-2~bpo10+1 (2020-06-09) x86_64 GNU/Linux
CPU architecture: arm64
How docker service was installed: docker run

Command used to create docker container (run/create/compose/screenshot)

docker run -d \
  --name=jellyfin \
  -e NVIDIA_VISIBLE_DEVICES=all \
  -e NVIDIA_DRIVER_CAPABILITIES=all \
  --gpus all \
  --restart unless-stopped \
  linuxserver/jellyfin

Docker logs

[00:17:28] [INF] [4] MediaBrowser.Api.Playback.MediaInfoService: User policy for bingzhang. EnablePlaybackRemuxing: True EnableVideoPlaybackTranscoding: True EnableAudioPlaybackTranscoding: True
[00:17:28] [INF] [4] MediaBrowser.Api.Playback.MediaInfoService: Not eligible for DirectPlay due to unsupported subtitles
[00:17:28] [INF] [4] MediaBrowser.Api.Playback.MediaInfoService: Not eligible for DirectStream due to unsupported subtitles
[00:17:28] [INF] [4] MediaBrowser.Api.Playback.MediaInfoService: Profile: Unknown Profile, Path: /data/AnimationMovies/天空之城 (1986)/天空之城 (1986) 1080p AC3.mkv, isEligibleForDirectPlay: False, isEligibleForDirectStream: False
[00:17:28] [INF] [36] MediaBrowser.Api.Playback.Hls.DynamicHlsService: Current HLS implementation doesn't support non-keyframe breaks but one is requested, ignoring that request
[00:17:28] [INF] [36] MediaBrowser.Api.Playback.Hls.DynamicHlsService: /usr/lib/jellyfin-ffmpeg/ffmpeg -c:v hevc_cuvid -resize 1920x1038 -i file:"/data/AnimationMovies/天空之城 (1986)/天空之城 (1986) 1080p AC3.mkv" -map_metadata -1 -map_chapters -1 -threads 0 -map 0:0 -map 0:1 -codec:v:0 h264_nvenc -pix_fmt yuv420p -preset default -b:v 22238398 -maxrate 22238398 -bufsize 44476796 -profile:v high  -g 72 -keyint_min 72 -sc_threshold 0 -filter_complex "[0:7]scale=1920x1038[sub];[0:0][sub]overlay" -start_at_zero -vsync -1 -codec:a:0 libmp3lame -ac 2 -ab 320000  -copyts -avoid_negative_ts disabled -f hls -max_delay 5000000 -hls_time 3 -individual_header_trailer 0 -hls_segment_type mpegts -start_number 0 -hls_segment_filename "/config/data/transcodes/14ea7f4315c8b96678b86b1d1051a600%d.ts" -hls_playlist_type vod -hls_list_size 0 -y "/config/data/transcodes/14ea7f4315c8b96678b86b1d1051a600.m3u8"
[00:17:28] [ERR] [4] MediaBrowser.Api.Playback.Hls.DynamicHlsService: FFMpeg exited with code 1
[00:17:28] [WRN] [28] MediaBrowser.Api.Playback.Hls.DynamicHlsService: cannot serve /config/data/transcodes/14ea7f4315c8b96678b86b1d1051a6000.ts as transcoding quit before we got there
[00:17:28] [ERR] [28] Emby.Server.Implementations.HttpServer.HttpListenerHost: Error processing request: Could not find file '/config/data/transcodes/14ea7f4315c8b96678b86b1d1051a6000.ts'. URL: http://***.****.com/videos/8ebcb1db-79fc-61e3-e555-df28dd99743a/hls1/main/0.ts?DeviceId=TW96aWxsYS81LjAgKFdpbmRvd3MgTlQgMTAuMDsgV2luNjQ7IHg2NCkgQXBwbGVXZWJLaXQvNTM3LjM2IChLSFRNTCwgbGlrZSBHZWNrbykgQ2hyb21lLzg0LjAuNDE0Ny44OSBTYWZhcmkvNTM3LjM2IEVkZy84NC4wLjUyMi40MHwxNTk1NjcyNTEzODcx&MediaSourceId=8ebcb1db79fc61e3e555df28dd99743a&VideoCodec=h264&AudioCodec=mp3,aac&AudioStreamIndex=1&SubtitleStreamIndex=7&VideoBitrate=139680000&AudioBitrate=320000&PlaySessionId=c3048a7ca5a44c7e9536403532087613&SubtitleMethod=Encode&TranscodingMaxAudioChannels=2&RequireAvc=false&Tag=09b7203dd481cc98265a12b6d9606b14&SegmentContainer=ts&MinSegments=1&BreakOnNonKeyFrames=True&h264-profile=high,main,baseline,constrainedbaseline,high10&h264-level=51&h264-deinterlace=true&TranscodeReasons=SubtitleCodecNotSupported&allowVideoStreamCopy=false&allowAudioStreamCopy=false,false
[00:17:28] [INF] [4] Emby.Server.Implementations.Session.SessionManager: Playback stopped reported by app Jellyfin Web 10.6.2 playing 天空之城. Stopped at 0 ms

502 Bad Gateway error

linuxserver.io


Expected Behavior

No 502 Bad Gateway error when opening Jellyfin, through the URL.
No ERR_CONNECTION_REFUSED when opening Jellyfin through ip address.

Current Behavior

I get a 502 Bad Gateway error when I visit through the URL.
I get a ERR_CONNECTION_REFUSED when opening Jellyfin through ip address.

Steps to Reproduce

  1. Go to url / ip address of my jellyfin instance
  2. Get error

Environment

OS: OMV
CPU architecture: arm32
How docker service was installed: From the docker repo

Command used to create docker container (run/create/compose/screenshot)

# Let's Encrypt
  letsencrypt:
    container_name: letsencrypt
    image: linuxserver/swag
    restart: always
    environment:
      - PUID=${PUID}
      - PGID=${PGID}
      - TZ=${TZ}
      - URL=${TLD}
      - SUBDOMAINS=${SUBS}
      - VALIDATION=${VAL}
      - EMAIL=${MAILADRES}
    volumes:
      - ${APPDATA}/Letsencrypt:/config
    networks:
      - jellyfin_net
    ports:
      - 446:443
      - 82:80
    cap_add:
      - NET_ADMIN

# Jellyfin
  jellyfin:
    container_name: jellyfin
    image: linuxserver/jellyfin
    restart: always
    environment:
      - PUID=${PUID}
      - PGID=${PGID}
      - TZ=${TZ}
    volumes:
      - ${APPDATA}/Jellyfin:/config
      - ${APPDATA}/Jellyfin/cache:/cache
      - ${MEDIA}:/media
      - ${DOWNLOADS}:/downloads
      - ${UPLOADMAP}:/uploads
      - ${PERSOONLIJK}:/persoonlijk
    ports:
      - 8096:8096
      - 8920:8920
      - 7359:7359/udp
      - 1900:1900/udp
    networks:
      - jellyfin_net

networks:
  jellyfin_net:
    driver: bridge

Docker logs

[cont-finish.d] executing container finish scripts...
[cont-finish.d] done.
[s6-finish] waiting for services.
[s6-finish] sending all processes the TERM signal.
[s6-finish] sending all processes the KILL signal and exiting.
[s6-init] making user provided files available at /var/run/s6/etc...exited 0.
[s6-init] ensuring user provided files have correct perms...exited 0.
[fix-attrs.d] applying ownership & permissions fixes...
[fix-attrs.d] done.
[cont-init.d] executing container initialization scripts...
[cont-init.d] 01-envfile: executing... 
[cont-init.d] 01-envfile: exited 0.
[cont-init.d] 10-adduser: executing... 
usermod: no changes

-------------------------------------
          _         ()
         | |  ___   _    __
         | | / __| | |  /  \ 
         | | \__ \ | | | () |
         |_| |___/ |_|  \__/


Brought to you by linuxserver.io
-------------------------------------

To support the app dev(s) visit:
Jellyfin: https://opencollective.com/jellyfin

To support LSIO projects visit:
https://www.linuxserver.io/donate/
-------------------------------------
GID/UID
-------------------------------------

User uid:    1000
User gid:    100
-------------------------------------

[cont-init.d] 10-adduser: exited 0.
[cont-init.d] 30-config: executing... 
[cont-init.d] 30-config: exited 0.
[cont-init.d] 40-gid-video: executing... 
[cont-init.d] 40-gid-video: exited 0.
[cont-init.d] 99-custom-scripts: executing... 
[custom-init] no custom files found exiting...
[cont-init.d] 99-custom-scripts: exited 0.
[cont-init.d] done.
[services.d] starting services
[services.d] done.

Also relevant

(Based on the config file provide here)

# make sure that your dns has a cname set for jellyfin
# if jellyfin is running in bridge mode and the container is named "jellyfin", the below config should work as is
# if not, replace the line "set $upstream_app jellyfin;" with "set $upstream_app <containername>;"
# or "set $upstream_app <HOSTIP>;" for host mode, HOSTIP being the IP address of jellyfin
# in jellyfin settings, under "Advanced/Networking" change the public https port to 443, leave the local ports as is,
# and set the "Secure connection mode" to "Handled by reverse proxy"

server {
    listen 443 ssl;
    listen [::]:443 ssl;

    server_name media.*;

    include /config/nginx/ssl.conf;

    client_max_body_size 0;

    location / {
        include /config/nginx/proxy.conf;
        resolver 127.0.0.11 valid=30s;
        set $upstream_app jellyfin;
        set $upstream_port 8096;
        set $upstream_proto http;
        proxy_pass $upstream_proto://$upstream_app:$upstream_port;

        proxy_set_header Range $http_range;
        proxy_set_header If-Range $http_if_range;
    }

    location ~ (/jellyfin)?/socket/ {
        include /config/nginx/proxy.conf;
        resolver 127.0.0.11 valid=30s;
        set $upstream_app jellyfin;
        set $upstream_port 8096;
        set $upstream_proto http;
        proxy_pass $upstream_proto://$upstream_app:$upstream_port;

        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection $http_connection;
   }
}

Attempting hevc (native) -> h264 (h264_omx) transcode automatically disables h264_mmal decode

linuxserver.io

If you are new to Docker or this application our issue tracker is ONLY used for reporting bugs or requesting features. Please use our discord server for general support.


Expected Behavior

hevc (native) -> h264 (h264_omx) transcodes should not automatically uncheck h264 hardware decoding.

Current Behavior

Transcoding a h264 -> h264 file right after enabling h264 hardware decoding works:

Stream mapping:
  Stream #0:0 -> #0:0 (h264 (h264_mmal) -> h264 (h264_omx))
  Stream #0:1 -> #0:1 (aac (native) -> mp3 (libmp3lame))

However, after attempting a hevc (native) -> h264 (h264_omx) transcode:

Stream mapping:
  Stream #0:0 -> #0:0 (hevc (native) -> h264 (h264_omx))
  Stream #0:1 -> #0:1 (opus (native) -> mp3 (libmp3lame))

h264 hardware decoding will be unchecked magically.

When trying the same h264 -> h264 transcode on the same file, we see this:

Stream mapping:
  Stream #0:0 -> #0:0 (h264 (native) -> h264 (h264_omx))
  Stream #0:1 -> #0:1 (aac (native) -> mp3 (libmp3lame))

Steps to Reproduce

  1. Enable h264 hardware decoding in Admin -> Playback -> OpenMax OMX
  2. Play any HEVC file from a device that does not support Direct Play (Chrome browser)
  3. Refresh Admin -> Playback -> OpenMax OMX
  4. See that h264 hardware decoding becomes unchecked

Environment

OS: Raspbian (RPi4B 4GB)
CPU architecture: arm32
How docker service was installed: Running k3s on cri-o

Command used to create docker container (run/create/compose/screenshot)

---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: jellyfin
  labels:
    app: jellyfin
spec:
  replicas: 1
  selector:
    matchLabels:
      app: jellyfin
  strategy:
    type: Recreate
  template:
    metadata:
      labels:
        app: jellyfin
    spec:
      containers:
      - image: linuxserver/jellyfin:v10.5.5-ls52
        imagePullPolicy: IfNotPresent
        name: jellyfin
        env:
        - name: PUID
          value: '1000'
        - name: PGID
          value: '1000'
        - name: TZ
          value: Asia/Singapore
        ports:
        - name: http
          containerPort: 8096
        readinessProbe:
          tcpSocket:
            port: http
          failureThreshold: 1
          initialDelaySeconds: 10
          periodSeconds: 10
          successThreshold: 1
          timeoutSeconds: 2
        livenessProbe:
          tcpSocket:
            port: http
          failureThreshold: 3
          initialDelaySeconds: 10
          periodSeconds: 10
          successThreshold: 1
          timeoutSeconds: 2
        resources:
          requests:
            memory: 384Mi
            cpu: 500m
          limits:
            memory: 512Mi
            cpu: 2000m
        securityContext:
          privileged: true
        volumeMounts:
        - mountPath: /config
          name: config
        - mountPath: /data
          name: media
          readOnly: true
        - mountPath: /archive
          name: archive
          readOnly: true
        - mountPath: /opt/vc/lib
          name: omx-libs
          readOnly: true
        - mountPath: /dev/vcsm
          name: omx-vcsm
        - mountPath: /dev/vchiq
          name: omx-vchiq
        - mountPath: /dev/video10
          name: v4l2-video10
        - mountPath: /dev/video11
          name: v4l2-video11
        - mountPath: /dev/video12
          name: v4l2-video12
      nodeSelector:
        kubernetes.io/hostname: l1
      restartPolicy: Always
      volumes:
      - name: config
        hostPath:
          path: /mnt/flash/persistent/jellyfin
          type: Directory
      - name: media
        hostPath:
          path: /mnt/hdd
          type: Directory
      - name: archive
        persistentVolumeClaim:
          claimName: nfs-media-archive
      - name: omx-libs
        hostPath:
          path: /opt/vc/lib
          type: Directory
      - name: omx-vcsm
        hostPath:
          path: /dev/vcsm
      - name: omx-vchiq
        hostPath:
          path: /dev/vchiq
      - name: v4l2-video10
        hostPath:
          path: /dev/video10
      - name: v4l2-video11
        hostPath:
          path: /dev/video11
      - name: v4l2-video12
        hostPath:
          path: /dev/video12

Docker logs

Nothing in the logs reflects why it happens.

Raspberry Pi 4 MMAL H264 hardware decoding breaks transcode playback

linuxserver.io

If you are new to Docker or this application our issue tracker is ONLY used for reporting bugs or requesting features. Please use our discord server for general support.


Expected Behavior

Media should play with hardware accelerated decoding for content in (H/x?)264. Works without hardware decoding. I have tried raising (V)RAM split, no dice.

Current Behavior

Media refuses to play and crashes out the playback completely.

Steps to Reproduce

  1. Setup Pi with DietPi with desired overclock and
  2. Install Docker through dietpi-software. (docker-compose through apt install docker-compose optional)
  3. Start the docker container with config below (change according to your own needs obviously)
  4. Enable hardware acceleration with OpenMAX and enable hardware decoding for H264 and MPEG2.
  5. Attempt to play H264 content that requires transcoding
  6. Fail.

Environment

OS: DietPi v6.28.0 based on Raspbian Lite buster
CPU architecture: arm64
How docker service was installed: Through dietpi-software, uses apt to fetch it from the rpi repos I think.

Command used to create docker container (run/create/compose/screenshot)

  jellyfin:
    image: linuxserver/jellyfin:latest
    container_name: jellyfin
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Europe/London
      - UMASK_SET=022 #optional
    volumes:
      - /mnt/drive/docker-data/jellyfin/config:/config
      - /mnt/drive/media/tv:/data/tv
      - /mnt/drive/media/movies:/data/movies
      - /opt/vc/lib:/opt/vc/lib #optional
      - /mnt/drive/dave/music:/data/dave/music
      - /mnt/drive/media/music:/data/music
    # ports:
    #   - 8096:8096
    #   - 8920:8920 #optional
    devices:
      - /dev/vc-mem:/dev/vc-mem # MMAL video decoding
      - /dev/vchiq:/dev/vchiq # OpenMax video encoding
    restart: unless-stopped

Docker logs

I have replaced a few personal details.

jellyfin       | [s6-init] making user provided files available at /var/run/s6/etc...exited 0.
jellyfin       | [s6-init] ensuring user provided files have correct perms...exited 0.
jellyfin       | [fix-attrs.d] applying ownership & permissions fixes...
jellyfin       | [fix-attrs.d] done.
jellyfin       | [cont-init.d] executing container initialization scripts...
jellyfin       | [cont-init.d] 01-envfile: executing... 
jellyfin       | [cont-init.d] 01-envfile: exited 0.
jellyfin       | [cont-init.d] 10-adduser: executing... 
jellyfin       | usermod: no changes
jellyfin       | 
jellyfin       | -------------------------------------
jellyfin       |           _         ()
jellyfin       |          | |  ___   _    __
jellyfin       |          | | / __| | |  /  \ 
jellyfin       |          | | \__ \ | | | () |
jellyfin       |          |_| |___/ |_|  \__/
jellyfin       | 
jellyfin       | 
jellyfin       | Brought to you by linuxserver.io
jellyfin       | -------------------------------------
jellyfin       | 
jellyfin       | To support the app dev(s) visit:
jellyfin       | Jellyfin: https://opencollective.com/jellyfin
jellyfin       | 
jellyfin       | To support LSIO projects visit:
jellyfin       | https://www.linuxserver.io/donate/
jellyfin       | -------------------------------------
jellyfin       | GID/UID
jellyfin       | -------------------------------------
jellyfin       | 
jellyfin       | User uid:    1000
jellyfin       | User gid:    1000
jellyfin       | -------------------------------------
jellyfin       | 
jellyfin       | [cont-init.d] 10-adduser: exited 0.
jellyfin       | [cont-init.d] 30-config: executing... 
jellyfin       | [cont-init.d] 30-config: exited 0.
jellyfin       | [cont-init.d] 40-gid-video: executing... 
jellyfin       | [cont-init.d] 40-gid-video: exited 0.
jellyfin       | [cont-init.d] 99-custom-scripts: executing... 
jellyfin       | [custom-init] no custom files found exiting...
jellyfin       | [cont-init.d] 99-custom-scripts: exited 0.
jellyfin       | [cont-init.d] done.
jellyfin       | [services.d] starting services
jellyfin       | [services.d] done.
jellyfin       | [11:21:54] [INF] [1] Main: Jellyfin version: 10.5.4
jellyfin       | [11:21:54] [INF] [1] Main: Arguments: ["/usr/lib/jellyfin/bin/jellyfin.dll", "--ffmpeg=/usr/lib/jellyfin-ffmpeg/ffmpeg"]
jellyfin       | [11:21:55] [INF] [1] Main: Operating system: Linux
jellyfin       | [11:21:55] [INF] [1] Main: Architecture: Arm
jellyfin       | [11:21:55] [INF] [1] Main: 64-Bit Process: False
jellyfin       | [11:21:55] [INF] [1] Main: User Interactive: True
jellyfin       | [11:21:55] [INF] [1] Main: Processor count: 4
jellyfin       | [11:21:55] [INF] [1] Main: Program data path: /config/data
jellyfin       | [11:21:55] [INF] [1] Main: Web resources path: /usr/lib/jellyfin/bin/jellyfin-web
jellyfin       | [11:21:55] [INF] [1] Main: Application directory: /usr/lib/jellyfin/bin/
jellyfin       | [11:21:57] [INF] [1] ServerConfigurationManager: Setting cache path: /config/cache
jellyfin       | [11:21:57] [INF] [1] App: Loading assemblies
jellyfin       | [11:21:57] [INF] [1] App: Loaded assembly Jellyfin.Plugin.PlaybackReporting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=null from /config/data/plugins/Playback Reporting/Jellyfin.Plugin.PlaybackReporting.dll
jellyfin       | [11:21:57] [INF] [1] App: Loaded assembly LiteDB, Version=4.1.4.0, Culture=neutral, PublicKeyToken=4ee40123013c9f27 from /config/data/plugins/Kodi Sync Queue/LiteDB.dll
jellyfin       | [11:21:57] [INF] [1] App: Loaded assembly Jellyfin.Plugin.KodiSyncQueue, Version=4.0.0.0, Culture=neutral, PublicKeyToken=null from /config/data/plugins/Kodi Sync Queue/Jellyfin.Plugin.KodiSyncQueue.dll
jellyfin       | [11:21:57] [INF] [1] App: Loaded assembly Jellyfin.Plugin.Reports, Version=6.0.0.0, Culture=neutral, PublicKeyToken=null from /config/data/plugins/Reports/Jellyfin.Plugin.Reports.dll
jellyfin       | [11:21:57] [INF] [1] App: Loaded assembly Trakt, Version=9.0.0.0, Culture=neutral, PublicKeyToken=null from /config/data/plugins/Trakt/Trakt.dll
jellyfin       | [11:24:44] [INF] [1] App: Jellyfin.Plugin.KodiSyncQueue IS NOW STARTING!!!
jellyfin       | [11:24:44] [INF] [1] App: Creating DB Repository...
jellyfin       | [11:24:45] [INF] [1] PlaybackReporting - UserActivityAPI: UserActivityAPI Loaded
jellyfin       | [11:24:45] [INF] [1] App: SyncAPI Created and Listening at "/Jellyfin.Plugin.KodiSyncQueue/{UserID}/GetItems?LastUpdateDT={LastUpdateDT}&format=json" - {LastUpdateDT} must be a UTC DateTime formatted as yyyy-MM-ddTHH:mm:ssZ
jellyfin       | [11:24:45] [INF] [1] App: The following parameters also exist to filter the results:
jellyfin       | [11:24:45] [INF] [1] App: filter=movies,tvshows,music,musicvideos,boxsets
jellyfin       | [11:24:45] [INF] [1] App: Results will be included by default and only filtered if added to the filter query...
jellyfin       | [11:24:45] [INF] [1] App: the filter query must be lowercase in both the name and the items...
jellyfin       | [11:24:48] [INF] [1] Main: Kestrel listening on all interfaces
jellyfin       | [11:24:50] [WRN] [1] Microsoft.AspNetCore.DataProtection.Repositories.EphemeralXmlRepository: Using an in-memory repository. Keys will not be persisted to storage.
jellyfin       | [11:24:50] [WRN] [1] Microsoft.AspNetCore.DataProtection.KeyManagement.XmlKeyManager: Neither user profile nor HKLM registry available. Using an ephemeral key repository. Protected data will be unavailable when application exits.
jellyfin       | [11:24:50] [WRN] [1] Microsoft.AspNetCore.DataProtection.KeyManagement.XmlKeyManager: No XML encryptor configured. Key {8f748cc8-dbb2-4d4a-8b24-5bd167662bf4} may be persisted to storage in unencrypted form.
jellyfin       | [11:24:50] [INF] [1] App: Running startup tasks
jellyfin       | [11:24:50] [INF] [1] PlaybackReporting - TaskCleanDb: TaskCleanDb Loaded
jellyfin       | [11:24:50] [INF] [1] PlaybackReporting - TaskCleanDb: TaskCleanDb Loaded
jellyfin       | [11:24:50] [INF] [1] App: Retention Task Scheduled!
jellyfin       | [11:24:51] [INF] [1] TaskManager: Daily trigger for Playback Reporting Trim Db set to fire at 04/20/2020 00:00, which is 12:35:08.4362269 from now.
jellyfin       | [11:24:51] [INF] [1] TaskManager: Daily trigger for Remove Old Sync Data set to fire at 04/20/2020 00:01, which is 12:36:08.3111441 from now.
jellyfin       | [11:24:51] [INF] [1] TaskManager: Daily trigger for Extract Chapter Images set to fire at 04/20/2020 02:00, which is 14:35:08.2406289 from now.
jellyfin       | [11:24:54] [INF] [14] TaskManager: StartupTrigger fired for task: Update Plugins
jellyfin       | [11:24:54] [INF] [14] TaskManager: Queueing task PluginUpdateTask
jellyfin       | [11:24:54] [INF] [12] TaskManager: Executing Update Plugins
jellyfin       | [11:24:58] [INF] [11] TaskManager: Update Plugins Completed after 0 minute(s) and 3 seconds
jellyfin       | [11:24:58] [INF] [11] TaskManager: ExecuteQueuedTasks
jellyfin       | [11:25:06] [INF] [1] MediaBrowser.MediaEncoding.Encoder.MediaEncoder: Found ffmpeg version 4.2.1
jellyfin       | [11:25:07] [INF] [1] MediaBrowser.MediaEncoding.Encoder.MediaEncoder: Available decoders: ["h264", "h264_mmal", "hevc", "mpeg2video", "mpeg2_mmal", "mpeg4_mmal", "vc1_mmal", "aac", "ac3", "mp3"]
jellyfin       | [11:25:07] [INF] [1] MediaBrowser.MediaEncoding.Encoder.MediaEncoder: Available encoders: ["libx264", "h264_amf", "h264_omx", "h264_v4l2m2m", "h264_vaapi", "libx265", "hevc_amf", "hevc_vaapi", "mpeg4", "msmpeg4", "aac", "ac3", "libmp3lame", "libopus", "libvorbis", "srt"]
jellyfin       | [11:25:07] [INF] [1] MediaBrowser.MediaEncoding.Encoder.MediaEncoder: FFmpeg: Custom: /usr/lib/jellyfin-ffmpeg/ffmpeg
jellyfin       | [11:25:07] [INF] [1] App: ServerId: 2ce9192a0c7241f78043a3d3e2fc7333
jellyfin       | [11:25:11] [INF] [1] App: Executed all pre-startup entry points in 0:00:03.7528688
jellyfin       | [11:25:11] [INF] [1] App: Core startup complete
jellyfin       | [11:25:11] [INF] [1] PlaybackReporting - EventMonitorEntryPoint: EventMonitorEntryPoint Running
jellyfin       | [11:25:11] [INF] [1] PlaybackReporting - EventMonitorEntryPoint: Sqlite version: 3.28.0
jellyfin       | [11:25:11] [INF] [1] PlaybackReporting - EventMonitorEntryPoint: Sqlite compiler options: COMPILER=gcc-5.4.0 20160609,DEFAULT_FOREIGN_KEYS,ENABLE_COLUMN_METADATA,ENABLE_FTS3_PARENTHESIS,ENABLE_FTS4,ENABLE_FTS5,ENABLE_JSON1,ENABLE_RTREE,THREADSAFE=1
jellyfin       | [11:25:11] [INF] [1] PlaybackReporting - EventMonitorEntryPoint: Default journal_mode for /config/data/data/playback_reporting.db is delete
jellyfin       | [11:25:11] [INF] [1] PlaybackReporting - EventMonitorEntryPoint: Initialize PlaybackActivity Repository
jellyfin       | [11:25:11] [INF] [1] PlaybackReporting - EventMonitorEntryPoint: PlaybackActivity table schema OK
jellyfin       | [11:25:11] [INF] [1] PlaybackReporting - EventMonitorEntryPoint: Expected : datecreated:datetime|userid:text|itemid:text|itemtype:text|itemname:text|playbackmethod:text|clientname:text|devicename:text|playduration:int
jellyfin       | [11:25:11] [INF] [1] PlaybackReporting - EventMonitorEntryPoint: Received : datecreated:datetime|userid:text|itemid:text|itemtype:text|itemname:text|playbackmethod:text|clientname:text|devicename:text|playduration:int
jellyfin       | [11:25:11] [INF] [1] App: LibrarySyncNotification Startup...
jellyfin       | [11:25:11] [INF] [1] App: UserSyncNotification Startup...
jellyfin       | [11:25:13] [INF] [13] Dlna: Registering publisher for urn:schemas-upnp-org:device:MediaServer:1 on 172.18.0.6
jellyfin       | [11:25:15] [ERR] [11] LibraryMonitor: Error in Directory watcher for: /data/tv
jellyfin       | System.IO.IOException: The configured user limit (8192) on the number of inotify watches has been reached, or the operating system failed to allocate a required resource.
jellyfin       | [11:25:15] [ERR] [13] LibraryMonitor: Error in Directory watcher for: /data/music
jellyfin       | System.IO.IOException: The configured user limit (8192) on the number of inotify watches has been reached, or the operating system failed to allocate a required resource.
jellyfin       | [11:25:15] [ERR] [16] LibraryMonitor: Error in Directory watcher for: /data/movies
jellyfin       | System.IO.IOException: The configured user limit (8192) on the number of inotify watches has been reached, or the operating system failed to allocate a required resource.
jellyfin       | [11:25:15] [ERR] [17] LibraryMonitor: Error in Directory watcher for: /data/AdminUser/music
jellyfin       | System.IO.IOException: The configured user limit (8192) on the number of inotify watches has been reached, or the operating system failed to allocate a required resource.
jellyfin       | [11:25:15] [INF] [16] LibraryMonitor: Stopping directory watching for path /data/movies
jellyfin       | [11:25:15] [INF] [13] LibraryMonitor: Stopping directory watching for path /data/music
jellyfin       | [11:25:15] [INF] [11] LibraryMonitor: Stopping directory watching for path /data/tv
jellyfin       | [11:25:15] [INF] [17] LibraryMonitor: Stopping directory watching for path /data/AdminUser/music
jellyfin       | [11:25:15] [INF] [11] LibraryMonitor: Watching directory /data/tv
jellyfin       | [11:25:15] [INF] [17] LibraryMonitor: Watching directory /data/AdminUser/music
jellyfin       | [11:25:15] [INF] [13] LibraryMonitor: Watching directory /data/music
jellyfin       | [11:25:15] [INF] [16] LibraryMonitor: Watching directory /data/movies
jellyfin       | [11:25:15] [INF] [1] App: Executed all post-startup entry points in 0:00:04.2974592
jellyfin       | [11:25:15] [INF] [1] Main: Startup complete 0:05:49.014302
jellyfin       | [11:25:52] [INF] [23] TaskManager: IntervalTrigger fired for task: Scan Media Library
jellyfin       | [11:25:52] [INF] [23] TaskManager: Queueing task RefreshMediaLibraryTask
jellyfin       | [11:25:52] [INF] [13] TaskManager: Executing Scan Media Library
jellyfin       | [11:25:52] [INF] [13] LibraryManager: Validating media library
jellyfin       | [11:29:59] [WRN] [33] Emby.Server.Implementations.HttpServer.HttpListenerHost: HTTP Response 200 to 192.168.0.221. Time (slow): 0:00:04.9836724. http://192.168.0.151/jellyfin/system/info/public?format=json
jellyfin       | [11:30:14] [WRN] [33] Emby.Server.Implementations.HttpServer.HttpListenerHost: HTTP Response 200 to 192.168.0.221. Time (slow): 0:00:11.34338. http://192.168.0.151/jellyfin/Users/Public?format=json
jellyfin       | [11:30:14] [WRN] [29] Emby.Server.Implementations.HttpServer.HttpListenerHost: HTTP Response 200 to 192.168.0.221. Time (slow): 0:00:03.507739. http://192.168.0.151/jellyfin/Users/Public?format=json
jellyfin       | [11:30:19] [ERR] [25] Emby.Server.Implementations.HttpServer.HttpListenerHost: Error processing request. URL: http://192.168.0.151/jellyfin/Users/92fca7b50a924906bcd868f7d4f01def/Images/Primary?MaxHeight=370&EnableImageEnhancers=true
jellyfin       | MediaBrowser.Common.Extensions.ResourceNotFoundException: User1 does not have an image of type Primary
jellyfin       |    at MediaBrowser.Api.Images.ImageService.GetImage(ImageRequest request, Guid itemId, BaseItem item, Boolean isHeadRequest)
jellyfin       |    at MediaBrowser.Api.Images.ImageService.Get(GetUserImage request)
jellyfin       |    at lambda_method(Closure , Object , Object )
jellyfin       |    at Emby.Server.Implementations.Services.ServiceExecGeneral.Execute(Type serviceType, IRequest request, Object instance, Object requestDto, String requestName)
jellyfin       |    at Emby.Server.Implementations.Services.ServiceController.Execute(HttpListenerHost httpHost, Object requestDto, IRequest req)
jellyfin       |    at Emby.Server.Implementations.Services.ServiceHandler.ProcessRequestAsync(HttpListenerHost httpHost, IRequest httpReq, HttpResponse httpRes, ILogger logger, CancellationToken cancellationToken)
jellyfin       |    at Emby.Server.Implementations.HttpServer.HttpListenerHost.RequestHandler(IHttpRequest httpReq, String urlString, String host, String localPath, CancellationToken cancellationToken)
jellyfin       | [11:30:19] [ERR] [31] Emby.Server.Implementations.HttpServer.HttpListenerHost: Error processing request. URL: http://192.168.0.151/jellyfin/Users/db73630b37c24595a900c1064cc513ff/Images/Primary?MaxHeight=370&EnableImageEnhancers=true
jellyfin       | MediaBrowser.Common.Extensions.ResourceNotFoundException: AdminUser does not have an image of type Primary
jellyfin       |    at MediaBrowser.Api.Images.ImageService.GetImage(ImageRequest request, Guid itemId, BaseItem item, Boolean isHeadRequest)
jellyfin       |    at MediaBrowser.Api.Images.ImageService.Get(GetUserImage request)
jellyfin       |    at lambda_method(Closure , Object , Object )
jellyfin       |    at Emby.Server.Implementations.Services.ServiceExecGeneral.Execute(Type serviceType, IRequest request, Object instance, Object requestDto, String requestName)
jellyfin       |    at Emby.Server.Implementations.Services.ServiceController.Execute(HttpListenerHost httpHost, Object requestDto, IRequest req)
jellyfin       |    at Emby.Server.Implementations.Services.ServiceHandler.ProcessRequestAsync(HttpListenerHost httpHost, IRequest httpReq, HttpResponse httpRes, ILogger logger, CancellationToken cancellationToken)
jellyfin       |    at Emby.Server.Implementations.HttpServer.HttpListenerHost.RequestHandler(IHttpRequest httpReq, String urlString, String host, String localPath, CancellationToken cancellationToken)
jellyfin       | [11:30:19] [ERR] [37] Emby.Server.Implementations.HttpServer.HttpListenerHost: Error processing request. URL: http://192.168.0.151/jellyfin/Users/92fca7b50a924906bcd868f7d4f01def/Images/Primary?MaxHeight=370&EnableImageEnhancers=true
jellyfin       | MediaBrowser.Common.Extensions.ResourceNotFoundException: User1 does not have an image of type Primary
jellyfin       |    at MediaBrowser.Api.Images.ImageService.GetImage(ImageRequest request, Guid itemId, BaseItem item, Boolean isHeadRequest)
jellyfin       |    at MediaBrowser.Api.Images.ImageService.Get(GetUserImage request)
jellyfin       |    at lambda_method(Closure , Object , Object )
jellyfin       |    at Emby.Server.Implementations.Services.ServiceExecGeneral.Execute(Type serviceType, IRequest request, Object instance, Object requestDto, String requestName)
jellyfin       |    at Emby.Server.Implementations.Services.ServiceController.Execute(HttpListenerHost httpHost, Object requestDto, IRequest req)
jellyfin       |    at Emby.Server.Implementations.Services.ServiceHandler.ProcessRequestAsync(HttpListenerHost httpHost, IRequest httpReq, HttpResponse httpRes, ILogger logger, CancellationToken cancellationToken)
jellyfin       |    at Emby.Server.Implementations.HttpServer.HttpListenerHost.RequestHandler(IHttpRequest httpReq, String urlString, String host, String localPath, CancellationToken cancellationToken)
jellyfin       | [11:30:18] [ERR] [33] Emby.Server.Implementations.HttpServer.HttpListenerHost: Error processing request. URL: http://192.168.0.151/jellyfin/Users/db73630b37c24595a900c1064cc513ff/Images/Primary?MaxHeight=370&EnableImageEnhancers=true
jellyfin       | MediaBrowser.Common.Extensions.ResourceNotFoundException: AdminUser does not have an image of type Primary
jellyfin       |    at MediaBrowser.Api.Images.ImageService.GetImage(ImageRequest request, Guid itemId, BaseItem item, Boolean isHeadRequest)
jellyfin       |    at MediaBrowser.Api.Images.ImageService.Get(GetUserImage request)
jellyfin       |    at lambda_method(Closure , Object , Object )
jellyfin       |    at Emby.Server.Implementations.Services.ServiceExecGeneral.Execute(Type serviceType, IRequest request, Object instance, Object requestDto, String requestName)
jellyfin       |    at Emby.Server.Implementations.Services.ServiceController.Execute(HttpListenerHost httpHost, Object requestDto, IRequest req)
jellyfin       |    at Emby.Server.Implementations.Services.ServiceHandler.ProcessRequestAsync(HttpListenerHost httpHost, IRequest httpReq, HttpResponse httpRes, ILogger logger, CancellationToken cancellationToken)
jellyfin       |    at Emby.Server.Implementations.HttpServer.HttpListenerHost.RequestHandler(IHttpRequest httpReq, String urlString, String host, String localPath, CancellationToken cancellationToken)
jellyfin       | [11:30:19] [ERR] [44] Emby.Server.Implementations.HttpServer.HttpListenerHost: Error processing request. URL: http://192.168.0.151/jellyfin/Users/1c6abbf29f86408ea8933714dcd6db7d/Images/Primary?MaxHeight=370&EnableImageEnhancers=true
jellyfin       | MediaBrowser.Common.Extensions.ResourceNotFoundException: User2 does not have an image of type Primary
jellyfin       |    at MediaBrowser.Api.Images.ImageService.GetImage(ImageRequest request, Guid itemId, BaseItem item, Boolean isHeadRequest)
jellyfin       |    at MediaBrowser.Api.Images.ImageService.Get(GetUserImage request)
jellyfin       |    at lambda_method(Closure , Object , Object )
jellyfin       |    at Emby.Server.Implementations.Services.ServiceExecGeneral.Execute(Type serviceType, IRequest request, Object instance, Object requestDto, String requestName)
jellyfin       |    at Emby.Server.Implementations.Services.ServiceController.Execute(HttpListenerHost httpHost, Object requestDto, IRequest req)
jellyfin       |    at Emby.Server.Implementations.Services.ServiceHandler.ProcessRequestAsync(HttpListenerHost httpHost, IRequest httpReq, HttpResponse httpRes, ILogger logger, CancellationToken cancellationToken)
jellyfin       |    at Emby.Server.Implementations.HttpServer.HttpListenerHost.RequestHandler(IHttpRequest httpReq, String urlString, String host, String localPath, CancellationToken cancellationToken)
jellyfin       | [11:30:29] [WRN] [44] Emby.Server.Implementations.HttpServer.HttpListenerHost: HTTP Response 404 to 192.168.0.221. Time (slow): 0:00:12.6057339. http://192.168.0.151/jellyfin/Users/1c6abbf29f86408ea8933714dcd6db7d/Images/Primary?MaxHeight=370&EnableImageEnhancers=true
jellyfin       | [11:30:29] [WRN] [31] Emby.Server.Implementations.HttpServer.HttpListenerHost: HTTP Response 404 to 192.168.0.221. Time (slow): 0:00:12.6057065. http://192.168.0.151/jellyfin/Users/db73630b37c24595a900c1064cc513ff/Images/Primary?MaxHeight=370&EnableImageEnhancers=true
jellyfin       | [11:30:29] [WRN] [37] Emby.Server.Implementations.HttpServer.HttpListenerHost: HTTP Response 404 to 192.168.0.221. Time (slow): 0:00:15.2745395. http://192.168.0.151/jellyfin/Users/92fca7b50a924906bcd868f7d4f01def/Images/Primary?MaxHeight=370&EnableImageEnhancers=true
jellyfin       | [11:30:29] [WRN] [25] Emby.Server.Implementations.HttpServer.HttpListenerHost: HTTP Response 404 to 192.168.0.221. Time (slow): 0:00:12.6076213. http://192.168.0.151/jellyfin/Users/92fca7b50a924906bcd868f7d4f01def/Images/Primary?MaxHeight=370&EnableImageEnhancers=true
jellyfin       | [11:30:29] [WRN] [33] Emby.Server.Implementations.HttpServer.HttpListenerHost: HTTP Response 404 to 192.168.0.221. Time (slow): 0:00:15.2680053. http://192.168.0.151/jellyfin/Users/db73630b37c24595a900c1064cc513ff/Images/Primary?MaxHeight=370&EnableImageEnhancers=true
jellyfin       | [11:30:32] [ERR] [37] Emby.Server.Implementations.Library.UserManager: Error authenticating with provider Default
jellyfin       | MediaBrowser.Controller.Authentication.AuthenticationException: Invalid username or password
jellyfin       |    at Emby.Server.Implementations.Library.DefaultAuthenticationProvider.Authenticate(String username, String password, User resolvedUser)
jellyfin       |    at Emby.Server.Implementations.Library.UserManager.AuthenticateWithProvider(IAuthenticationProvider provider, String username, String password, User resolvedUser)
jellyfin       | [11:30:33] [INF] [37] Emby.Server.Implementations.Library.UserManager: Authentication request for AdminUser has been denied.
jellyfin       | [11:30:38] [ERR] [37] Emby.Server.Implementations.HttpServer.HttpListenerHost: Error processing request: [192.168.0.221] Invalid username or password entered. URL: http://192.168.0.151/jellyfin/Users/AuthenticateByName?format=json
jellyfin       | [11:30:38] [WRN] [37] Emby.Server.Implementations.HttpServer.HttpListenerHost: HTTP Response 401 to 192.168.0.221. Time (slow): 0:00:06.7809001. http://192.168.0.151/jellyfin/Users/AuthenticateByName?format=json
jellyfin       | [11:30:40] [INF] [27] Emby.Server.Implementations.Library.UserManager: Authentication request for AdminUser has succeeded.
jellyfin       | [11:30:40] [INF] [27] Emby.Server.Implementations.Session.SessionManager: Reissuing access token: 4a2a2e425bbf469098277fd1617d9888
jellyfin       | [11:30:50] [INF] [37] Emby.Server.Implementations.Library.UserManager: Authentication request for AdminUser has succeeded.
jellyfin       | [11:30:50] [INF] [37] Emby.Server.Implementations.Session.SessionManager: Reissuing access token: 4a2a2e425bbf469098277fd1617d9888
jellyfin       | [11:30:56] [WRN] [27] Emby.Server.Implementations.HttpServer.HttpListenerHost: HTTP Response 200 to 192.168.0.221. Time (slow): 0:00:20.6949936. http://192.168.0.151/jellyfin/Users/AuthenticateByName?format=json
jellyfin       | [11:30:56] [INF] [33] App: WS http://192.168.0.151/jellyfin/socket?api_key=4a2a2e425bbf469098277fd1617d9888&deviceId=397830782247b5c1. UserAgent: 
jellyfin       | [11:31:00] [WRN] [37] Emby.Server.Implementations.HttpServer.HttpListenerHost: HTTP Response 200 to 192.168.0.221. Time (slow): 0:00:17.6509858. http://192.168.0.151/jellyfin/Users/AuthenticateByName?format=json
jellyfin       | [11:31:01] [WRN] [27] Emby.Server.Implementations.HttpServer.HttpListenerHost: HTTP Response 204 to 192.168.0.221. Time (slow): 0:00:04.9673296. http://192.168.0.151/jellyfin/Sessions/Capabilities/Full
jellyfin       | [11:31:01] [WRN] [27] Emby.Server.Implementations.HttpServer.HttpListenerHost: HTTP Response 200 to 192.168.0.221. Time (slow): 0:00:03.5597572. http://192.168.0.151/jellyfin/Playback/BitrateTest?Size=1000000
jellyfin       | [11:31:01] [WRN] [33] Emby.Server.Implementations.HttpServer.HttpListenerHost: HTTP Response 204 to 192.168.0.221. Time (slow): 0:00:00.8995969. http://192.168.0.151/jellyfin/Sessions/Capabilities/Full
jellyfin       | [11:31:01] [WRN] [44] Emby.Server.Implementations.HttpServer.HttpListenerHost: HTTP Response 200 to 192.168.0.221. Time (slow): 0:00:01.2777941. http://192.168.0.151/jellyfin/Users/db73630b37c24595a900c1064cc513ff/Views?format=json
jellyfin       | [11:31:01] [WRN] [29] Emby.Server.Implementations.HttpServer.HttpListenerHost: HTTP Response 200 to 192.168.0.221. Time (slow): 0:00:05.1336878. http://192.168.0.151/jellyfin/Users/db73630b37c24595a900c1064cc513ff/Views?format=json
jellyfin       | [11:31:14] [WRN] [33] Emby.Server.Implementations.HttpServer.HttpListenerHost: HTTP Response 200 to 192.168.0.221. Time (slow): 0:00:12.9622172. http://192.168.0.151/jellyfin/Playback/BitrateTest?Size=1000000
jellyfin       | [11:31:23] [WRN] [44] Emby.Server.Implementations.HttpServer.HttpListenerHost: HTTP Response 200 to 192.168.0.221. Time (slow): 0:00:05.8286412. http://192.168.0.151/jellyfin/LiveTv/Programs/Recommended?Limit=20&UserId=db73630b37c24595a900c1064cc513ff&IsAiring=true&EnableTotalRecordCount=false&ImageTypeLimit=1&Fields=Overview%2CPrimaryImageAspectRatio%2CChannelInfo&format=json
jellyfin       | [11:31:28] [WRN] [40] Emby.Server.Implementations.HttpServer.HttpListenerHost: HTTP Response 200 to 192.168.0.221. Time (slow): 0:00:10.5342613. http://192.168.0.151/jellyfin/Users/db73630b37c24595a900c1064cc513ff/Items?Filters=IsResumable&ImageTypeLimit=1&Fields=PrimaryImageAspectRatio%2COverview%2CItemCounts%2CDisplayPreferencesId&MediaTypes=Audio&EnableTotalRecordCount=false&recursive=true&ExcludeLocationTypes=Virtual&sortOrder=Descending&Limit=50&SortBy=DatePlayed&format=json
jellyfin       | [11:31:28] [WRN] [26] Emby.Server.Implementations.HttpServer.HttpListenerHost: HTTP Response 200 to 192.168.0.221. Time (slow): 0:00:11.2202139. http://192.168.0.151/jellyfin/Users/db73630b37c24595a900c1064cc513ff/Items?Filters=IsResumable&ImageTypeLimit=1&Fields=PrimaryImageAspectRatio%2COverview%2CItemCounts%2CDisplayPreferencesId&MediaTypes=Video&EnableTotalRecordCount=false&recursive=true&ExcludeLocationTypes=Virtual&sortOrder=Descending&Limit=50&SortBy=DatePlayed&format=json
jellyfin       | [11:31:28] [WRN] [36] Emby.Server.Implementations.HttpServer.HttpListenerHost: HTTP Response 200 to 192.168.0.221. Time (slow): 0:00:05.3048296. http://192.168.0.151/jellyfin/Users/db73630b37c24595a900c1064cc513ff/Items/Latest?Limit=50&Fields=PrimaryImageAspectRatio%2COverview&ParentId=f137a2dd21bbc1b99aa5c0f6bf02a805&GroupItems=true&format=json
jellyfin       | [11:31:28] [WRN] [33] Emby.Server.Implementations.HttpServer.HttpListenerHost: HTTP Response 200 to 192.168.0.221. Time (slow): 0:00:11.243239. http://192.168.0.151/jellyfin/Shows/NextUp?Limit=50&UserId=db73630b37c24595a900c1064cc513ff&ImageTypeLimit=1&Fields=PrimaryImageAspectRatio%2COverview&format=json
jellyfin       | [11:31:29] [ERR] [43] Emby.Server.Implementations.HttpServer.HttpListenerHost: Error processing request. URL: http://192.168.0.151/jellyfin/Items/d4b32560b157d00114936f44c1722dc9/Images/Primary?MaxHeight=300&EnableImageEnhancers=true
jellyfin       | MediaBrowser.Common.Extensions.ResourceNotFoundException: Music (Shared) does not have an image of type Primary
jellyfin       |    at MediaBrowser.Api.Images.ImageService.GetImage(ImageRequest request, Guid itemId, BaseItem item, Boolean isHeadRequest)
jellyfin       |    at lambda_method(Closure , Object , Object )
jellyfin       |    at Emby.Server.Implementations.Services.ServiceExecGeneral.Execute(Type serviceType, IRequest request, Object instance, Object requestDto, String requestName)
jellyfin       |    at Emby.Server.Implementations.Services.ServiceController.Execute(HttpListenerHost httpHost, Object requestDto, IRequest req)
jellyfin       |    at Emby.Server.Implementations.Services.ServiceHandler.ProcessRequestAsync(HttpListenerHost httpHost, IRequest httpReq, HttpResponse httpRes, ILogger logger, CancellationToken cancellationToken)
jellyfin       |    at Emby.Server.Implementations.HttpServer.HttpListenerHost.RequestHandler(IHttpRequest httpReq, String urlString, String host, String localPath, CancellationToken cancellationToken)
jellyfin       | [11:31:29] [WRN] [44] Emby.Server.Implementations.HttpServer.HttpListenerHost: HTTP Response 200 to 192.168.0.221. Time (slow): 0:00:00.5592357. http://192.168.0.151/jellyfin/Users/db73630b37c24595a900c1064cc513ff/Items?Filters=IsResumable&ImageTypeLimit=1&Fields=PrimaryImageAspectRatio%2COverview%2CItemCounts%2CDisplayPreferencesId&MediaTypes=Audio&EnableTotalRecordCount=false&recursive=true&ExcludeLocationTypes=Virtual&sortOrder=Descending&Limit=50&SortBy=DatePlayed&format=json
jellyfin       | [11:31:29] [WRN] [41] Emby.Server.Implementations.HttpServer.HttpListenerHost: HTTP Response 200 to 192.168.0.221. Time (slow): 0:00:00.5355119. http://192.168.0.151/jellyfin/LiveTv/Programs/Recommended?Limit=20&UserId=db73630b37c24595a900c1064cc513ff&IsAiring=true&EnableTotalRecordCount=false&ImageTypeLimit=1&Fields=Overview%2CPrimaryImageAspectRatio%2CChannelInfo&format=json
jellyfin       | [11:31:34] [WRN] [35] Emby.Server.Implementations.HttpServer.HttpListenerHost: HTTP Response 200 to 192.168.0.221. Time (slow): 0:00:04.1533528. http://192.168.0.151/jellyfin/Shows/NextUp?Limit=50&UserId=db73630b37c24595a900c1064cc513ff&ImageTypeLimit=1&Fields=PrimaryImageAspectRatio%2COverview&format=json
jellyfin       | [11:31:35] [WRN] [34] Emby.Server.Implementations.HttpServer.HttpListenerHost: HTTP Response 200 to 192.168.0.221. Time (slow): 0:00:06.0651073. http://192.168.0.151/jellyfin/Users/db73630b37c24595a900c1064cc513ff/Items/Latest?Limit=50&Fields=PrimaryImageAspectRatio%2COverview&ParentId=767bffe4f11c93ef34b805451a696a4e&GroupItems=true&format=json
jellyfin       | [11:31:36] [WRN] [27] Emby.Server.Implementations.HttpServer.HttpListenerHost: HTTP Response 200 to 192.168.0.221. Time (slow): 0:00:02.3259636. http://192.168.0.151/jellyfin/Users/db73630b37c24595a900c1064cc513ff/Items/Latest?Limit=50&Fields=PrimaryImageAspectRatio%2COverview&ParentId=767bffe4f11c93ef34b805451a696a4e&GroupItems=true&format=json
jellyfin       | [11:31:40] [WRN] [37] Emby.Server.Implementations.HttpServer.HttpListenerHost: HTTP Response 200 to 192.168.0.221. Time (slow): 0:00:04.0096172. http://192.168.0.151/jellyfin/Users/db73630b37c24595a900c1064cc513ff/Items/339151b97f0de9b06b8496719bb0084f?format=json
jellyfin       | [11:31:40] [ERR] [35] Emby.Server.Implementations.HttpServer.HttpListenerHost: Error processing request. URL: http://192.168.0.151/jellyfin/Items/f4bba8feae9da19233d9d1c38098964c/Images/Logo?MaxWidth=600&EnableImageEnhancers=true
jellyfin       | MediaBrowser.Common.Extensions.ResourceNotFoundException: Limmy's Homemade Show does not have an image of type Logo
jellyfin       |    at MediaBrowser.Api.Images.ImageService.GetImage(ImageRequest request, Guid itemId, BaseItem item, Boolean isHeadRequest)
jellyfin       |    at lambda_method(Closure , Object , Object )
jellyfin       |    at Emby.Server.Implementations.Services.ServiceExecGeneral.Execute(Type serviceType, IRequest request, Object instance, Object requestDto, String requestName)
jellyfin       |    at Emby.Server.Implementations.Services.ServiceController.Execute(HttpListenerHost httpHost, Object requestDto, IRequest req)
jellyfin       |    at Emby.Server.Implementations.Services.ServiceHandler.ProcessRequestAsync(HttpListenerHost httpHost, IRequest httpReq, HttpResponse httpRes, ILogger logger, CancellationToken cancellationToken)
jellyfin       |    at Emby.Server.Implementations.HttpServer.HttpListenerHost.RequestHandler(IHttpRequest httpReq, String urlString, String host, String localPath, CancellationToken cancellationToken)
jellyfin       | [11:31:41] [WRN] [34] Emby.Server.Implementations.HttpServer.HttpListenerHost: HTTP Response 200 to 192.168.0.221. Time (slow): 0:00:01.2219033. http://192.168.0.151/jellyfin/Shows/f4bba8feae9da19233d9d1c38098964c/Episodes?AdjacentTo=339151b97f0de9b06b8496719bb0084f&UserId=db73630b37c24595a900c1064cc513ff&format=json
jellyfin       | [11:31:43] [WRN] [40] Emby.Server.Implementations.HttpServer.HttpListenerHost: HTTP Response 200 to 192.168.0.221. Time (slow): 0:00:14.8587639. http://192.168.0.151/jellyfin/Users/db73630b37c24595a900c1064cc513ff/Items/Latest?Limit=50&Fields=PrimaryImageAspectRatio%2COverview&ParentId=fd8e7f462f6cb90826ceeddf511caff5&GroupItems=true&format=json
jellyfin       | [11:31:43] [WRN] [31] Emby.Server.Implementations.HttpServer.HttpListenerHost: HTTP Response 200 to 192.168.0.221. Time (slow): 0:00:11.7264376. http://192.168.0.151/jellyfin/Users/db73630b37c24595a900c1064cc513ff/Items/Latest?Limit=50&Fields=PrimaryImageAspectRatio%2COverview&ParentId=fd8e7f462f6cb90826ceeddf511caff5&GroupItems=true&format=json
jellyfin       | [11:31:43] [INF] [34] App: GetPostedPlaybackInfo profile: {"Name": "Android-VLC", "Id": null, "Identification": null, "FriendlyName": null, "Manufacturer": null, "ManufacturerUrl": null, "ModelName": null, "ModelDescription": null, "ModelNumber": null, "ModelUrl": null, "SerialNumber": null, "EnableAlbumArtInDidl": false, "EnableSingleAlbumArtLimit": false, "EnableSingleSubtitleLimit": false, "SupportedMediaTypes": "Audio,Photo,Video", "UserId": null, "AlbumArtPn": null, "MaxAlbumArtWidth": 0, "MaxAlbumArtHeight": 0, "MaxIconWidth": null, "MaxIconHeight": null, "MaxStreamingBitrate": 20000000, "MaxStaticBitrate": 30000000, "MusicStreamingTranscodingBitrate": 128000, "MaxStaticMusicBitrate": null, "SonyAggregationFlags": null, "ProtocolInfo": null, "TimelineOffsetSeconds": 0, "RequiresPlainVideoItems": false, "RequiresPlainFolders": false, "EnableMSMediaReceiverRegistrar": false, "IgnoreTranscodeByteRangeRequests": false, "XmlRootAttributes": [], "DirectPlayProfiles": [{"Container": "m4v,3gp,ts,mpegts,mov,xvid,vob,mkv,wmv,asf,ogm,ogv,m2v,avi,mpg,mpeg,mp4,webm,wtv", "AudioCodec": "aac,mp3,mp2,ac3,wma,wmav2,dca,dts,pcm,PCM_S16LE,PCM_S24LE,opus,flac,truehd", "VideoCodec": null, "Type": "Video", "$type": "DirectPlayProfile"}, {"Container": "flac,aac,mp3,mpa,wav,wma,mp2,ogg,oga,webma,ape", "AudioCodec": null, "VideoCodec": null, "Type": "Audio", "$type": "DirectPlayProfile"}, {"Container": "jpg,jpeg,png,gif", "AudioCodec": null, "VideoCodec": null, "Type": "Photo", "$type": "DirectPlayProfile"}], "TranscodingProfiles": [{"Container": "mkv", "Type": "Video", "VideoCodec": "h264", "AudioCodec": "aac,mp3", "Protocol": null, "EstimateContentLength": false, "EnableMpegtsM2TsMode": false, "TranscodeSeekInfo": "Auto", "CopyTimestamps": true, "Context": "Streaming", "EnableSubtitlesInManifest": false, "MaxAudioChannels": null, "MinSegments": 0, "SegmentLength": 0, "BreakOnNonKeyFrames": false, "$type": "TranscodingProfile"}, {"Container": "mp3", "Type": "Audio", "VideoCodec": null, "AudioCodec": "mp3", "Protocol": null, "EstimateContentLength": false, "EnableMpegtsM2TsMode": false, "TranscodeSeekInfo": "Auto", "CopyTimestamps": false, "Context": "Streaming", "EnableSubtitlesInManifest": false, "MaxAudioChannels": null, "MinSegments": 0, "SegmentLength": 0, "BreakOnNonKeyFrames": false, "$type": "TranscodingProfile"}], "ContainerProfiles": [{"Type": "Video", "Conditions": [{"Condition": "NotEquals", "Property": "VideoCodecTag", "Value": "xvid", "IsRequired": false, "$type": "ProfileCondition"}], "Container": "avi", "$type": "ContainerProfile"}], "CodecProfiles": [{"Type": "Video", "Conditions": [{"Condition": "NotEquals", "Property": "VideoProfile", "Value": "Main 10", "IsRequired": false, "$type": "ProfileCondition"}], "ApplyConditions": [], "Codec": "hevc", "Container": null, "$type": "CodecProfile"}, {"Type": "Video", "Conditions": [{"Condition": "EqualsAny", "Property": "VideoProfile", "Value": "high|main|baseline|constrained baseline", "IsRequired": false, "$type": "ProfileCondition"}, {"Condition": "LessThanEqual", "Property": "VideoLevel", "Value": "51", "IsRequired": false, "$type": "ProfileCondition"}, {"Condition": "GreaterThanEqual", "Property": "RefFrames", "Value": "2", "IsRequired": false, "$type": "ProfileCondition"}], "ApplyConditions": [], "Codec": "h264", "Container": null, "$type": "CodecProfile"}, {"Type": "VideoAudio", "Conditions": [{"Condition": "LessThanEqual", "Property": "AudioChannels", "Value": "6", "IsRequired": false, "$type": "ProfileCondition"}], "ApplyConditions": [], "Codec": null, "Container": null, "$type": "CodecProfile"}], "ResponseProfiles": [], "SubtitleProfiles": [{"Format": "srt", "Method": "External", "DidlMode": null, "Language": null, "Container": null, "$type": "SubtitleProfile"}, {"Format": "srt", "Method": "Embed", "DidlMode": null, "Language": null, "Container": null, "$type": "SubtitleProfile"}, {"Format": "subrip", "Method": "Embed", "DidlMode": null, "Language": null, "Container": null, "$type": "SubtitleProfile"}, {"Format": "ass", "Method": "Embed", "DidlMode": null, "Language": null, "Container": null, "$type": "SubtitleProfile"}, {"Format": "ssa", "Method": "Embed", "DidlMode": null, "Language": null, "Container": null, "$type": "SubtitleProfile"}, {"Format": "pgs", "Method": "Embed", "DidlMode": null, "Language": null, "Container": null, "$type": "SubtitleProfile"}, {"Format": "pgssub", "Method": "Embed", "DidlMode": null, "Language": null, "Container": null, "$type": "SubtitleProfile"}, {"Format": "dvdsub", "Method": "Embed", "DidlMode": null, "Language": null, "Container": null, "$type": "SubtitleProfile"}, {"Format": "vtt", "Method": "Embed", "DidlMode": null, "Language": null, "Container": null, "$type": "SubtitleProfile"}, {"Format": "sub", "Method": "Embed", "DidlMode": null, "Language": null, "Container": null, "$type": "SubtitleProfile"}, {"Format": "smi", "Method": "Embed", "DidlMode": null, "Language": null, "Container": null, "$type": "SubtitleProfile"}, {"Format": "idx", "Method": "Embed", "DidlMode": null, "Language": null, "Container": null, "$type": "SubtitleProfile"}], "$type": "DeviceProfile"}
jellyfin       | [11:31:43] [INF] [34] App: User policy for AdminUser. EnablePlaybackRemuxing: True EnableVideoPlaybackTranscoding: True EnableAudioPlaybackTranscoding: True
jellyfin       | [11:31:43] [INF] [34] App: Bitrate exceeds DirectStream limit: media bitrate: 5102780, max bitrate: 371338
jellyfin       | [11:31:43] [INF] [34] App: Profile: Android-VLC, Path: /data/tv/Limmy's Homemade Show/Season 1/Limmys.Homemade.Show.S01E01.INTERNAL.720p.WEB.h264-WEBTUBE[eztv].mkv, isEligibleForDirectPlay: True, isEligibleForDirectStream: False
jellyfin       | [11:31:44] [INF] [34] App: Profile: VideoCodecProfile, DirectPlay=false. Reason=Android-VLC.RefFrames Condition: GreaterThanEqual. ConditionValue: 2. IsRequired: False. Path: /data/tv/Limmy's Homemade Show/Season 1/Limmys.Homemade.Show.S01E01.INTERNAL.720p.WEB.h264-WEBTUBE[eztv].mkv
jellyfin       | [11:31:44] [INF] [34] App: Bitrate exceeds DirectStream limit: media bitrate: 5102780, max bitrate: 371338
jellyfin       | [11:31:44] [INF] [34] App: Profile: Android-VLC, Path: /data/tv/Limmy's Homemade Show/Season 1/Limmys.Homemade.Show.S01E01.INTERNAL.720p.WEB.h264-WEBTUBE[eztv].mkv, isEligibleForDirectPlay: True, isEligibleForDirectStream: False
jellyfin       | [11:31:44] [INF] [34] App: Profile: VideoCodecProfile, DirectPlay=false. Reason=Android-VLC.RefFrames Condition: GreaterThanEqual. ConditionValue: 2. IsRequired: False. Path: /data/tv/Limmy's Homemade Show/Season 1/Limmys.Homemade.Show.S01E01.INTERNAL.720p.WEB.h264-WEBTUBE[eztv].mkv
jellyfin       | [11:31:44] [INF] [34] App: Bitrate exceeds DirectStream limit: media bitrate: 5102780, max bitrate: 371338
jellyfin       | [11:31:44] [INF] [34] App: Profile: Android-VLC, Path: /data/tv/Limmy's Homemade Show/Season 1/Limmys.Homemade.Show.S01E01.INTERNAL.720p.WEB.h264-WEBTUBE[eztv].mkv, isEligibleForDirectPlay: True, isEligibleForDirectStream: False
jellyfin       | [11:31:44] [INF] [34] App: Profile: VideoCodecProfile, DirectPlay=false. Reason=Android-VLC.RefFrames Condition: GreaterThanEqual. ConditionValue: 2. IsRequired: False. Path: /data/tv/Limmy's Homemade Show/Season 1/Limmys.Homemade.Show.S01E01.INTERNAL.720p.WEB.h264-WEBTUBE[eztv].mkv
jellyfin       | [11:31:44] [WRN] [34] Emby.Server.Implementations.HttpServer.HttpListenerHost: HTTP Response 200 to 192.168.0.221. Time (slow): 0:00:00.9420942. http://192.168.0.151/jellyfin/Items/339151b97f0de9b06b8496719bb0084f/PlaybackInfo?format=json
jellyfin       | [11:31:44] [INF] [36] App: GetPostedPlaybackInfo profile: {"Name": "Android", "Id": null, "Identification": null, "FriendlyName": null, "Manufacturer": null, "ManufacturerUrl": null, "ModelName": null, "ModelDescription": null, "ModelNumber": null, "ModelUrl": null, "SerialNumber": null, "EnableAlbumArtInDidl": false, "EnableSingleAlbumArtLimit": false, "EnableSingleSubtitleLimit": false, "SupportedMediaTypes": "Audio,Photo,Video", "UserId": null, "AlbumArtPn": null, "MaxAlbumArtWidth": 0, "MaxAlbumArtHeight": 0, "MaxIconWidth": null, "MaxIconHeight": null, "MaxStreamingBitrate": 20000000, "MaxStaticBitrate": 30000000, "MusicStreamingTranscodingBitrate": 128000, "MaxStaticMusicBitrate": null, "SonyAggregationFlags": null, "ProtocolInfo": null, "TimelineOffsetSeconds": 0, "RequiresPlainVideoItems": false, "RequiresPlainFolders": false, "EnableMSMediaReceiverRegistrar": false, "IgnoreTranscodeByteRangeRequests": false, "XmlRootAttributes": [], "DirectPlayProfiles": [], "TranscodingProfiles": [{"Container": "mkv", "Type": "Video", "VideoCodec": "h264", "AudioCodec": "aac,mp3", "Protocol": null, "EstimateContentLength": false, "EnableMpegtsM2TsMode": false, "TranscodeSeekInfo": "Auto", "CopyTimestamps": true, "Context": "Streaming", "EnableSubtitlesInManifest": false, "MaxAudioChannels": null, "MinSegments": 0, "SegmentLength": 0, "BreakOnNonKeyFrames": false, "$type": "TranscodingProfile"}, {"Container": "mp3", "Type": "Audio", "VideoCodec": null, "AudioCodec": "mp3", "Protocol": null, "EstimateContentLength": false, "EnableMpegtsM2TsMode": false, "TranscodeSeekInfo": "Auto", "CopyTimestamps": false, "Context": "Streaming", "EnableSubtitlesInManifest": false, "MaxAudioChannels": null, "MinSegments": 0, "SegmentLength": 0, "BreakOnNonKeyFrames": false, "$type": "TranscodingProfile"}], "ContainerProfiles": [], "CodecProfiles": [], "ResponseProfiles": [], "SubtitleProfiles": [{"Format": "srt", "Method": "External", "DidlMode": null, "Language": null, "Container": null, "$type": "SubtitleProfile"}, {"Format": "subrip", "Method": "External", "DidlMode": null, "Language": null, "Container": null, "$type": "SubtitleProfile"}, {"Format": "ass", "Method": "Encode", "DidlMode": null, "Language": null, "Container": null, "$type": "SubtitleProfile"}, {"Format": "ssa", "Method": "Encode", "DidlMode": null, "Language": null, "Container": null, "$type": "SubtitleProfile"}, {"Format": "pgs", "Method": "Encode", "DidlMode": null, "Language": null, "Container": null, "$type": "SubtitleProfile"}, {"Format": "pgssub", "Method": "Encode", "DidlMode": null, "Language": null, "Container": null, "$type": "SubtitleProfile"}, {"Format": "dvdsub", "Method": "External", "DidlMode": null, "Language": null, "Container": null, "$type": "SubtitleProfile"}, {"Format": "vtt", "Method": "External", "DidlMode": null, "Language": null, "Container": null, "$type": "SubtitleProfile"}, {"Format": "sub", "Method": "External", "DidlMode": null, "Language": null, "Container": null, "$type": "SubtitleProfile"}, {"Format": "idx", "Method": "External", "DidlMode": null, "Language": null, "Container": null, "$type": "SubtitleProfile"}], "$type": "DeviceProfile"}
jellyfin       | [11:31:44] [INF] [36] App: User policy for AdminUser. EnablePlaybackRemuxing: True EnableVideoPlaybackTranscoding: True EnableAudioPlaybackTranscoding: True
jellyfin       | [11:31:44] [INF] [36] App: Bitrate exceeds DirectStream limit: media bitrate: 5102780, max bitrate: 371338
jellyfin       | [11:31:44] [INF] [36] App: Profile: Android, Path: /data/tv/Limmy's Homemade Show/Season 1/Limmys.Homemade.Show.S01E01.INTERNAL.720p.WEB.h264-WEBTUBE[eztv].mkv, isEligibleForDirectPlay: True, isEligibleForDirectStream: False
jellyfin       | [11:31:44] [INF] [36] App: Profile: Android, No direct play profiles found for Path: /data/tv/Limmy's Homemade Show/Season 1/Limmys.Homemade.Show.S01E01.INTERNAL.720p.WEB.h264-WEBTUBE[eztv].mkv
jellyfin       | [11:31:44] [INF] [36] App: Bitrate exceeds DirectStream limit: media bitrate: 5102780, max bitrate: 371338
jellyfin       | [11:31:44] [INF] [36] App: Profile: Android, Path: /data/tv/Limmy's Homemade Show/Season 1/Limmys.Homemade.Show.S01E01.INTERNAL.720p.WEB.h264-WEBTUBE[eztv].mkv, isEligibleForDirectPlay: True, isEligibleForDirectStream: False
jellyfin       | [11:31:44] [INF] [36] App: Profile: Android, No direct play profiles found for Path: /data/tv/Limmy's Homemade Show/Season 1/Limmys.Homemade.Show.S01E01.INTERNAL.720p.WEB.h264-WEBTUBE[eztv].mkv
jellyfin       | [11:31:44] [INF] [36] App: Bitrate exceeds DirectStream limit: media bitrate: 5102780, max bitrate: 371338
jellyfin       | [11:31:44] [INF] [36] App: Profile: Android, Path: /data/tv/Limmy's Homemade Show/Season 1/Limmys.Homemade.Show.S01E01.INTERNAL.720p.WEB.h264-WEBTUBE[eztv].mkv, isEligibleForDirectPlay: True, isEligibleForDirectStream: False
jellyfin       | [11:31:44] [INF] [36] App: Profile: Android, No direct play profiles found for Path: /data/tv/Limmy's Homemade Show/Season 1/Limmys.Homemade.Show.S01E01.INTERNAL.720p.WEB.h264-WEBTUBE[eztv].mkv
jellyfin       | [11:31:44] [ERR] [27] Emby.Server.Implementations.HttpServer.HttpListenerHost: Error processing request. URL: http://192.168.0.151/jellyfin/Items/f4bba8feae9da19233d9d1c38098964c/Images/Logo?MaxWidth=440&EnableImageEnhancers=true
jellyfin       | MediaBrowser.Common.Extensions.ResourceNotFoundException: Limmy's Homemade Show does not have an image of type Logo
jellyfin       |    at MediaBrowser.Api.Images.ImageService.GetImage(ImageRequest request, Guid itemId, BaseItem item, Boolean isHeadRequest)
jellyfin       |    at lambda_method(Closure , Object , Object )
jellyfin       |    at Emby.Server.Implementations.Services.ServiceExecGeneral.Execute(Type serviceType, IRequest request, Object instance, Object requestDto, String requestName)
jellyfin       |    at Emby.Server.Implementations.Services.ServiceController.Execute(HttpListenerHost httpHost, Object requestDto, IRequest req)
jellyfin       |    at Emby.Server.Implementations.Services.ServiceHandler.ProcessRequestAsync(HttpListenerHost httpHost, IRequest httpReq, HttpResponse httpRes, ILogger logger, CancellationToken cancellationToken)
jellyfin       |    at Emby.Server.Implementations.HttpServer.HttpListenerHost.RequestHandler(IHttpRequest httpReq, String urlString, String host, String localPath, CancellationToken cancellationToken)
jellyfin       | [11:31:44] [ERR] [38] Emby.Server.Implementations.HttpServer.HttpListenerHost: Error processing request. URL: http://192.168.0.151/jellyfin/Items/7a3d1bfda6b443a46fc54ca813d97764/Images/Primary?MaxHeight=600&EnableImageEnhancers=true
jellyfin       | MediaBrowser.Common.Extensions.ResourceNotFoundException: Season 1 does not have an image of type Primary
jellyfin       |    at MediaBrowser.Api.Images.ImageService.GetImage(ImageRequest request, Guid itemId, BaseItem item, Boolean isHeadRequest)
jellyfin       |    at lambda_method(Closure , Object , Object )
jellyfin       |    at Emby.Server.Implementations.Services.ServiceExecGeneral.Execute(Type serviceType, IRequest request, Object instance, Object requestDto, String requestName)
jellyfin       |    at Emby.Server.Implementations.Services.ServiceController.Execute(HttpListenerHost httpHost, Object requestDto, IRequest req)
jellyfin       |    at Emby.Server.Implementations.Services.ServiceHandler.ProcessRequestAsync(HttpListenerHost httpHost, IRequest httpReq, HttpResponse httpRes, ILogger logger, CancellationToken cancellationToken)
jellyfin       |    at Emby.Server.Implementations.HttpServer.HttpListenerHost.RequestHandler(IHttpRequest httpReq, String urlString, String host, String localPath, CancellationToken cancellationToken)
jellyfin       | [11:31:44] [ERR] [43] Emby.Server.Implementations.HttpServer.HttpListenerHost: Error processing request. URL: http://192.168.0.151/jellyfin/Studios/BBC+ALBA/Images/Primary?MaxHeight=60&EnableImageEnhancers=true
jellyfin       | System.ArgumentException: Invalid type (Parameter 'type')
jellyfin       |    at MediaBrowser.Api.BaseApiService.GetItemByName(String name, String type, ILibraryManager libraryManager, DtoOptions dtoOptions)
jellyfin       |    at MediaBrowser.Api.Images.ImageService.Get(GetItemByNameImage request)
jellyfin       |    at lambda_method(Closure , Object , Object )
jellyfin       |    at Emby.Server.Implementations.Services.ServiceExecGeneral.Execute(Type serviceType, IRequest request, Object instance, Object requestDto, String requestName)
jellyfin       |    at Emby.Server.Implementations.Services.ServiceController.Execute(HttpListenerHost httpHost, Object requestDto, IRequest req)
jellyfin       |    at Emby.Server.Implementations.Services.ServiceHandler.ProcessRequestAsync(HttpListenerHost httpHost, IRequest httpReq, HttpResponse httpRes, ILogger logger, CancellationToken cancellationToken)
jellyfin       |    at Emby.Server.Implementations.HttpServer.HttpListenerHost.RequestHandler(IHttpRequest httpReq, String urlString, String host, String localPath, CancellationToken cancellationToken)
jellyfin       | [11:31:45] [INF] [37] MediaBrowser.Api.Playback.Progressive.VideoService: /usr/lib/jellyfin-ffmpeg/ffmpeg -c:v h264_mmal  -i file:"/data/tv/Limmy's Homemade Show/Season 1/Limmys.Homemade.Show.S01E01.INTERNAL.720p.WEB.h264-WEBTUBE[eztv].mkv" -map 0:0 -map 0:1 -map -0:s -codec:v:0 h264_omx -force_key_frames "expr:gte(t,n_forced*5)" -vf "scale=trunc(min(max(iw\,ih*dar)\,426)/2)*2:trunc(ow/dar/2)*2" -copyts -avoid_negative_ts disabled -start_at_zero -b:v 243338 -maxrate 243338 -bufsize 486676 -vsync -1 -map_metadata -1 -map_chapters -1 -threads 0 -codec:a:0 aac -ac 2 -ab 128000  -y "/config/data/transcodes/dbe38e7f8f22e887b34b10cde4a2750c.mkv"
jellyfin       | [11:32:04] [WRN] [35] Emby.Server.Implementations.HttpServer.HttpListenerHost: HTTP Response 200 to 192.168.0.101. Time (slow): 0:00:04.190426. http://pi.local/jellyfin/web/index.html
jellyfin       | [11:32:11] [WRN] [27] Emby.Server.Implementations.HttpServer.HttpListenerHost: HTTP Response 200 to 192.168.0.101. Time (slow): 0:00:05.5188648. http://pi.local/jellyfin/web/scripts/apploader.js?v=10.5.4
jellyfin       | [11:32:14] [WRN] [27] Emby.Server.Implementations.HttpServer.HttpListenerHost: HTTP Response 200 to 192.168.0.101. Time (slow): 0:00:02.8208354. http://pi.local/jellyfin/web/libraries/alameda.js?v=10.5.4
jellyfin       | [11:32:16] [WRN] [36] Emby.Server.Implementations.HttpServer.HttpListenerHost: HTTP Response 200 to 192.168.0.101. Time (slow): 0:00:01.4026466. http://pi.local/jellyfin/web/scripts/browser.js?v=10.5.4
jellyfin       | [11:32:17] [WRN] [37] Emby.Server.Implementations.HttpServer.HttpListenerHost: HTTP Response 304 to 192.168.0.101. Time (slow): 0:00:01.0591232. http://pi.local/jellyfin/web/libraries/apiclient/events.js?v=10.5.4
jellyfin       | [11:32:18] [WRN] [43] Emby.Server.Implementations.HttpServer.HttpListenerHost: HTTP Response 200 to 192.168.0.101. Time (slow): 0:00:02.1179302. http://pi.local/jellyfin/web/libraries/apiclient/credentialprovider.js?v=10.5.4
jellyfin       | [11:32:19] [WRN] [47] Emby.Server.Implementations.HttpServer.HttpListenerHost: HTTP Response 200 to 192.168.0.101. Time (slow): 0:00:02.4113422. http://pi.local/jellyfin/web/libraries/apiclient/connectionmanager.js?v=10.5.4
jellyfin       | [11:32:19] [WRN] [47] Emby.Server.Implementations.HttpServer.HttpListenerHost: HTTP Response 200 to 192.168.0.101. Time (slow): 0:00:05.2105839. http://pi.local/jellyfin/web/components/require/requirecss.js?v=10.5.4
jellyfin       | [11:32:19] [WRN] [49] Emby.Server.Implementations.HttpServer.HttpListenerHost: HTTP Response 304 to 192.168.0.101. Time (slow): 0:00:02.6622011. http://pi.local/jellyfin/web/scripts/settings/userSettingsBuilder.js?v=10.5.4
jellyfin       | [11:32:20] [INF] [35] App: GetPostedPlaybackInfo profile: {"Name": "Android-VLC", "Id": null, "Identification": null, "FriendlyName": null, "Manufacturer": null, "ManufacturerUrl": null, "ModelName": null, "ModelDescription": null, "ModelNumber": null, "ModelUrl": null, "SerialNumber": null, "EnableAlbumArtInDidl": false, "EnableSingleAlbumArtLimit": false, "EnableSingleSubtitleLimit": false, "SupportedMediaTypes": "Audio,Photo,Video", "UserId": null, "AlbumArtPn": null, "MaxAlbumArtWidth": 0, "MaxAlbumArtHeight": 0, "MaxIconWidth": null, "MaxIconHeight": null, "MaxStreamingBitrate": 20000000, "MaxStaticBitrate": 30000000, "MusicStreamingTranscodingBitrate": 128000, "MaxStaticMusicBitrate": null, "SonyAggregationFlags": null, "ProtocolInfo": null, "TimelineOffsetSeconds": 0, "RequiresPlainVideoItems": false, "RequiresPlainFolders": false, "EnableMSMediaReceiverRegistrar": false, "IgnoreTranscodeByteRangeRequests": false, "XmlRootAttributes": [], "DirectPlayProfiles": [{"Container": "m4v,3gp,ts,mpegts,mov,xvid,vob,mkv,wmv,asf,ogm,ogv,m2v,avi,mpg,mpeg,mp4,webm,wtv", "AudioCodec": "aac,mp3,mp2,ac3,wma,wmav2,dca,dts,pcm,PCM_S16LE,PCM_S24LE,opus,flac,truehd", "VideoCodec": null, "Type": "Video", "$type": "DirectPlayProfile"}, {"Container": "flac,aac,mp3,mpa,wav,wma,mp2,ogg,oga,webma,ape", "AudioCodec": null, "VideoCodec": null, "Type": "Audio", "$type": "DirectPlayProfile"}, {"Container": "jpg,jpeg,png,gif", "AudioCodec": null, "VideoCodec": null, "Type": "Photo", "$type": "DirectPlayProfile"}], "TranscodingProfiles": [{"Container": "mkv", "Type": "Video", "VideoCodec": "h264", "AudioCodec": "aac,mp3", "Protocol": null, "EstimateContentLength": false, "EnableMpegtsM2TsMode": false, "TranscodeSeekInfo": "Auto", "CopyTimestamps": true, "Context": "Streaming", "EnableSubtitlesInManifest": false, "MaxAudioChannels": null, "MinSegments": 0, "SegmentLength": 0, "BreakOnNonKeyFrames": false, "$type": "TranscodingProfile"}, {"Container": "mp3", "Type": "Audio", "VideoCodec": null, "AudioCodec": "mp3", "Protocol": null, "EstimateContentLength": false, "EnableMpegtsM2TsMode": false, "TranscodeSeekInfo": "Auto", "CopyTimestamps": false, "Context": "Streaming", "EnableSubtitlesInManifest": false, "MaxAudioChannels": null, "MinSegments": 0, "SegmentLength": 0, "BreakOnNonKeyFrames": false, "$type": "TranscodingProfile"}], "ContainerProfiles": [{"Type": "Video", "Conditions": [{"Condition": "NotEquals", "Property": "VideoCodecTag", "Value": "xvid", "IsRequired": false, "$type": "ProfileCondition"}], "Container": "avi", "$type": "ContainerProfile"}], "CodecProfiles": [{"Type": "Video", "Conditions": [{"Condition": "NotEquals", "Property": "VideoProfile", "Value": "Main 10", "IsRequired": false, "$type": "ProfileCondition"}], "ApplyConditions": [], "Codec": "hevc", "Container": null, "$type": "CodecProfile"}, {"Type": "Video", "Conditions": [{"Condition": "EqualsAny", "Property": "VideoProfile", "Value": "high|main|baseline|constrained baseline", "IsRequired": false, "$type": "ProfileCondition"}, {"Condition": "LessThanEqual", "Property": "VideoLevel", "Value": "51", "IsRequired": false, "$type": "ProfileCondition"}, {"Condition": "GreaterThanEqual", "Property": "RefFrames", "Value": "2", "IsRequired": false, "$type": "ProfileCondition"}], "ApplyConditions": [], "Codec": "h264", "Container": null, "$type": "CodecProfile"}, {"Type": "VideoAudio", "Conditions": [{"Condition": "LessThanEqual", "Property": "AudioChannels", "Value": "6", "IsRequired": false, "$type": "ProfileCondition"}], "ApplyConditions": [], "Codec": null, "Container": null, "$type": "CodecProfile"}], "ResponseProfiles": [], "SubtitleProfiles": [{"Format": "srt", "Method": "External", "DidlMode": null, "Language": null, "Container": null, "$type": "SubtitleProfile"}, {"Format": "srt", "Method": "Embed", "DidlMode": null, "Language": null, "Container": null, "$type": "SubtitleProfile"}, {"Format": "subrip", "Method": "Embed", "DidlMode": null, "Language": null, "Container": null, "$type": "SubtitleProfile"}, {"Format": "ass", "Method": "Embed", "DidlMode": null, "Language": null, "Container": null, "$type": "SubtitleProfile"}, {"Format": "ssa", "Method": "Embed", "DidlMode": null, "Language": null, "Container": null, "$type": "SubtitleProfile"}, {"Format": "pgs", "Method": "Embed", "DidlMode": null, "Language": null, "Container": null, "$type": "SubtitleProfile"}, {"Format": "pgssub", "Method": "Embed", "DidlMode": null, "Language": null, "Container": null, "$type": "SubtitleProfile"}, {"Format": "dvdsub", "Method": "Embed", "DidlMode": null, "Language": null, "Container": null, "$type": "SubtitleProfile"}, {"Format": "vtt", "Method": "Embed", "DidlMode": null, "Language": null, "Container": null, "$type": "SubtitleProfile"}, {"Format": "sub", "Method": "Embed", "DidlMode": null, "Language": null, "Container": null, "$type": "SubtitleProfile"}, {"Format": "smi", "Method": "Embed", "DidlMode": null, "Language": null, "Container": null, "$type": "SubtitleProfile"}, {"Format": "idx", "Method": "Embed", "DidlMode": null, "Language": null, "Container": null, "$type": "SubtitleProfile"}], "$type": "DeviceProfile"}
jellyfin       | [11:32:20] [ERR] [43] MediaBrowser.Api.Playback.Progressive.VideoService: FFMpeg exited with code 1
jellyfin       | [11:32:20] [INF] [48] App: Deleting partial stream file(s) /config/data/transcodes/dbe38e7f8f22e887b34b10cde4a2750c.mkv

Here's the FFmpeg log.

http://192.168.0.151/jellyfin/videos/339151b9-7f0d-e9b0-6b84-96719bb0084f/stream.mkv?DeviceId=397830782247b5c1&MediaSourceId=339151b97f0de9b06b8496719bb0084f&VideoCodec=h264&AudioCodec=aac,mp3&AudioStreamIndex=1&VideoBitrate=139290&AudioBitrate=128000&PlaySessionId=4e5ffb916cb1492db9bf9700191d71df&api_key=4a2a2e425bbf469098277fd1617d9888&CopyTimestamps=true&RequireAvc=false&Tag=4fed327a3391188b8689643a29cf98e5&TranscodeReasons=ContainerNotSupported,VideoCodecNotSupported,AudioCodecNotSupported,ContainerBitrateExceedsLimit&allowVideoStreamCopy=false&allowAudioStreamCopy=false&allowAudioStreamCopy=false

{"Protocol":"File","Id":"339151b97f0de9b06b8496719bb0084f","Path":"/data/tv/Limmy's Homemade Show/Season 1/Limmys.Homemade.Show.S01E01.INTERNAL.720p.WEB.h264-WEBTUBE[eztv].mkv","Type":"Default","Container":"mkv,webm","Size":1074688020,"Name":"Limmys.Homemade.Show.S01E01.INTERNAL.720p.WEB.h264-WEBTUBE[eztv]","IsRemote":false,"ETag":"4fed327a3391188b8689643a29cf98e5","RunTimeTicks":17507410000,"ReadAtNativeFramerate":false,"IgnoreDts":false,"IgnoreIndex":false,"GenPtsInput":false,"SupportsTranscoding":true,"SupportsDirectStream":true,"SupportsDirectPlay":true,"IsInfiniteStream":false,"RequiresOpening":false,"RequiresClosing":false,"RequiresLooping":false,"SupportsProbing":true,"VideoType":"VideoFile","MediaStreams":[{"Codec":"h264","Language":"eng","TimeBase":"1/1000","CodecTimeBase":"1/100","VideoRange":"SDR","DisplayTitle":"720P H264","NalLengthSize":"4","IsInterlaced":false,"IsAVC":true,"BitRate":4910780,"BitDepth":8,"RefFrames":1,"IsDefault":true,"IsForced":false,"Height":720,"Width":1280,"AverageFrameRate":50,"RealFrameRate":50,"Profile":"High","Type":"Video","AspectRatio":"16:9","Index":0,"IsExternal":false,"IsTextSubtitleStream":false,"SupportsExternalStream":false,"PixelFormat":"yuv420p","Level":32},{"Codec":"aac","Language":"eng","TimeBase":"1/1000","CodecTimeBase":"1/48000","Title":"English","DisplayTitle":"Eng AAC stereo Default","IsInterlaced":false,"ChannelLayout":"stereo","BitRate":192000,"Channels":2,"SampleRate":48000,"IsDefault":true,"IsForced":false,"Profile":"LC","Type":"Audio","Index":1,"IsExternal":false,"IsTextSubtitleStream":false,"SupportsExternalStream":false,"Level":0},{"Codec":"subrip","Language":"eng","TimeBase":"1/1000","CodecTimeBase":"0/1","Title":"English","localizedUndefined":"Undefined","localizedDefault":"Default","localizedForced":"Forced","DisplayTitle":"English","IsInterlaced":false,"IsDefault":false,"IsForced":false,"Type":"Subtitle","Index":2,"IsExternal":false,"IsTextSubtitleStream":true,"SupportsExternalStream":true,"Level":0}],"MediaAttachments":[],"Formats":[],"Bitrate":5102780,"RequiredHttpHeaders":{}}

/usr/lib/jellyfin-ffmpeg/ffmpeg -c:v h264_mmal  -i file:"/data/tv/Limmy's Homemade Show/Season 1/Limmys.Homemade.Show.S01E01.INTERNAL.720p.WEB.h264-WEBTUBE[eztv].mkv" -map 0:0 -map 0:1 -map -0:s -codec:v:0 h264_omx -force_key_frames "expr:gte(t,n_forced*5)" -vf "scale=trunc(min(max(iw\,ih*dar)\,426)/2)*2:trunc(ow/dar/2)*2" -copyts -avoid_negative_ts disabled -start_at_zero -b:v 139290 -maxrate 139290 -bufsize 278580 -vsync -1 -map_metadata -1 -map_chapters -1 -threads 0 -codec:a:0 aac -ac 2 -ab 128000  -y "/config/data/transcodes/cf0283f9b00bfe8487099ad31ce989ca.mkv"


ffmpeg version 4.2.1 Copyright (c) 2000-2019 the FFmpeg developers
  built with gcc 7 (Ubuntu/Linaro 7.4.0-1ubuntu1~18.04.1)
  configuration: --toolchain=hardened --prefix=/usr --target-os=linux --enable-cross-compile --extra-cflags=--static --enable-gpl --enable-static --disable-doc --disable-ffplay --disable-shared --disable-libxcb --disable-sdl2 --disable-xlib --enable-libfontconfig --enable-fontconfig --enable-gmp --enable-gnutls --enable-libass --enable-libbluray --enable-libdrm --enable-libfreetype --enable-libfribidi --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libwebp --enable-libx264 --enable-libx265 --enable-libzvbi --enable-omx --enable-omx-rpi --enable-version3 --enable-vaapi --enable-vdpau --enable-mmal --enable-cross-compile --cross-prefix=/usr/bin/arm-linux-gnueabihf- --arch=armhf
  libavutil      56. 31.100 / 56. 31.100
  libavcodec     58. 54.100 / 58. 54.100
  libavformat    58. 29.100 / 58. 29.100
  libavdevice    58.  8.100 / 58.  8.100
  libavfilter     7. 57.100 /  7. 57.100
  libswscale      5.  5.100 /  5.  5.100
  libswresample   3.  5.100 /  3.  5.100
  libpostproc    55.  5.100 / 55.  5.100
Input #0, matroska,webm, from 'file:/data/tv/Limmy's Homemade Show/Season 1/Limmys.Homemade.Show.S01E01.INTERNAL.720p.WEB.h264-WEBTUBE[eztv].mkv':
  Metadata:
    encoder         : libebml v1.3.10 + libmatroska v1.5.2
    creation_time   : 2020-04-12T11:35:06.000000Z
  Duration: 00:29:10.74, start: 0.200000, bitrate: 4910 kb/s
    Stream #0:0(eng): Video: h264 (High), yuv420p(tv, bt709, progressive), 1280x720 [SAR 1:1 DAR 16:9], 50 fps, 50 tbr, 1k tbn, 100 tbc (default)
    Metadata:
      BPS-eng         : 4778855
      DURATION-eng    : 00:29:10.720000000
      NUMBER_OF_FRAMES-eng: 87536
      NUMBER_OF_BYTES-eng: 1045804794
      _STATISTICS_WRITING_APP-eng: mkvmerge v44.0.0 ('Domino') 64-bit
      _STATISTICS_WRITING_DATE_UTC-eng: 2020-04-12 11:35:06
      _STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
    Stream #0:1(eng): Audio: aac (LC), 48000 Hz, stereo, fltp (default)
    Metadata:
      title           : English
      BPS-eng         : 128000
      DURATION-eng    : 00:29:10.741000000
      NUMBER_OF_FRAMES-eng: 82066
      NUMBER_OF_BYTES-eng: 28011861
      _STATISTICS_WRITING_APP-eng: mkvmerge v44.0.0 ('Domino') 64-bit
      _STATISTICS_WRITING_DATE_UTC-eng: 2020-04-12 11:35:06
      _STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
    Stream #0:2(eng): Subtitle: subrip
    Metadata:
      title           : English
      BPS-eng         : 102
      DURATION-eng    : 00:28:38.088000000
      NUMBER_OF_FRAMES-eng: 581
      NUMBER_OF_BYTES-eng: 21935
      _STATISTICS_WRITING_APP-eng: mkvmerge v44.0.0 ('Domino') 64-bit
      _STATISTICS_WRITING_DATE_UTC-eng: 2020-04-12 11:35:06
      _STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
mmal: mmal_vc_shm_init: could not initialize vc shared memory service
mmal: mmal_vc_component_create: failed to initialise shm for 'vc.ril.video_decode' (7:EIO)
mmal: mmal_component_create_core: could not create component 'vc.ril.video_decode' (7)
Stream mapping:
  Stream #0:0 -> #0:0 (h264 (h264_mmal) -> h264 (h264_omx))
  Stream #0:1 -> #0:1 (aac (native) -> aac (native))
Error while opening decoder for input stream #0:0 : Unknown error occurred

Transcoding fails: libmmal_core.so missing on ARM-hf image

linuxserver.io

If you are new to Docker or this application our issue tracker is ONLY used for reporting bugs or requesting features. Please use our discord server for general support.


Expected Behavior

I should be able to transcode media via Jellyfin.

Current Behavior

Transcoding media fails.

Steps to Reproduce

  1. Attempt to cast video to Chromecast
  2. Cast will fail, check logs for output below

Environment

OS: Linux
CPU architecture: arm32
How docker service was installed: Docker Swarm

Command used to create docker container (run/create/compose/screenshot)

Docker logs

/usr/lib/jellyfin-ffmpeg/ffmpeg -i file:"myfile.mp4" -sn -codec:v:0 libx264 -force_key_frames "expr:gte(t,n_forced*5)" -vf "scale=trunc(min(max(iw\,ih*dar)\,1920)/2)*2:trunc(ow/dar/2)*2" -pix_fmt yuv420p -preset superfast -crf 28 -maxrate 10808000 -bufsize 21616000 -profile:v high -level 4.1 -x264opts:0 subme=0:me_range=4:rc_lookahead=10:me=dia:no_chroma_me:8x8dct=0:partitions=none -flags -global_header -vsync -1 -map_metadata -1 -map_chapters -1 -threads 0 -codec:a:0 aac -strict experimental -ac 2 -ab 192000  -y "/config/transcoding-tmp/transcodes/964bde3581489e5bb81663fb40b8c524.mkv"


/usr/lib/jellyfin-ffmpeg/ffmpeg: error while loading shared libraries: libmmal_core.so: cannot open shared object file: No such file or directory

PATH discrepancies between images

linuxserver.io

If you are new to Docker or this application our issue tracker is ONLY used for reporting bugs or requesting features. Please use our discord server for general support.


If shifting between jellyfin/jellyfin and linuxserver images, the internal paths don't match causing end users to mv host folders and readd libraries for their media.

layout

jellyfin/config/* -> linuxserver/
jellyfin/data     -> linuxserver/data/data
jellyfin/metadata -> linuxserver/data/metadata
jellyfin/root     -> linuxserver/data/root

https://github.com/jellyfin/jellyfin/issues/2560#issuecomment-597318273

Expected Behavior

since they're different images, it's understandable that they wouldn't work together. Also, any changes made could have possible backwards compatibility issues.

VAAPI FFMPEG process hangs with uninterruptible status when HEVC 10-BIT HW decoding is enabled

linuxserver.io

If you are new to Docker or this application our issue tracker is ONLY used for reporting bugs or requesting features. Please use our discord server for general support.


Expected Behavior

Video should play with VAAPI HEVC HW decode enabled

Current Behavior

HEVC Video spins indefinitely, hangs FFMPEG processes. Only solution is to reboot the server and disable HW 10-BIT decode. Only exibits this behavior with 4K inputs and versions after 10.6.2

Steps to Reproduce

  1. Enable VAAPI Hardware encode
  2. Enable all check boxes for encode/decode
  3. Play a 4K HEVC-10 bit file

Environment

OS: *OMV - Debian Buster"
CPU architecture: x86_64-AMD 240GE
How docker service was installed:

Command used to create docker container (run/create/compose/screenshot)

docker create --name=jellyfin2 -e PUID=1000 -e PGID=1000 -e TZ=Europe/London -e UMASK_SET=022 #optional -p 8096:8096 -p 8920:8920 #optional -v /zfspool/docker/containerdata/jellyfin/config/:/config -v /zfspool/multimedia:/data/ -v /zfspool/docker/containerdata/jellyfin/transcode/:/transcode #optional --device /dev/dri:/dev/dri --restart unless-stopped linuxserver/jellyfin:latest

Docker logs

Error 522 at login screen

linuxserver.io

If you are new to Docker or this application our issue tracker is ONLY used for reporting bugs or requesting features. Please use our discord server for general support.

When going to my url for jellyfin I expect to get the login page, but about 25% of the time I get error 522 (Connection Timed Out). It seems that the page loads too slow.


Expected Behavior

I expect the page to load fairly quickly.

Current Behavior

25% of the time I get a 522 error

Steps to Reproduce

  1. go to jellyfin url
  2. wait for login screen to load (screen is black at this point)
  3. I get the error 522.

Environment

OS:
Ubuntu 18.04
CPU architecture: 64bit
How docker service was installed:
docker file

Command used to create docker container (run/create/compose/screenshot)

docker create
--name=jellyfin
--runtime=nvidia
-e PUID=1000
-e PGID=1000
-e TZ=America/New_York
-e UMASK_SET=022 #optional
-e NVIDIA_VISIBLE_DEVICES=all
-e NVIDIA_DRIVER_CAPABILITIES=compute,video,utility
-p 8096:8096
-p 8920:8920
-v /opt/jellyfin/config:/config
-v /media/1.5TB/Shows/:/data/tvshows
-v /media/2TB/movies:/data/movies
-v /media/1.5TB/jellyfintc:/transcode
-v /media/1.5TB/:/media/1.5TB
-v /media/2TB/:/media/2TB/
-l 'traefik.enable=true'
-l 'traefik.http.middlewares.jellyfin-redirect.redirectscheme.scheme=https'
-l 'traefik.http.routers.jellyfin-redirect.entrypoints=web'
-l 'traefik.http.routers.jellyfin-redirect.middlewares=jellyfin-redirect'
-l 'traefik.http.routers.jellyfin-redirect.rule=Host(jellyfin.mydomain.org)'
-l 'traefik.http.routers.jellyfin.entrypoints=websecure'
-l 'traefik.http.routers.jellyfin.rule=Host(jellyfin.mydomain.org)'
-l 'traefik.http.routers.jellyfin.tls.certresolver=letsencrypt'
-l 'traefik.http.services.jellyfin.loadbalancer.server.port=8096'
--restart unless-stopped
--device=/dev/dri:/dev/dri
linuxserver/jellyfin:latest

Docker logs

[15:06:12] [INF] [44] TaskManager: IntervalTrigger fired for task: Scan Media Library,
[15:06:12] [INF] [44] TaskManager: Queueing task RefreshMediaLibraryTask,
[15:06:12] [INF] [32] TaskManager: Executing Scan Media Library,
[15:06:12] [INF] [32] LibraryMonitor: Stopping directory watching for path /media/2TB/movies,
[15:06:12] [INF] [32] LibraryMonitor: Stopping directory watching for path /media/2TB/audiobooks,
[15:06:12] [INF] [32] LibraryMonitor: Stopping directory watching for path /media/1.5TB/Shows,
[15:06:12] [INF] [32] LibraryMonitor: Stopping directory watching for path /media/2TB/audiobooks_kids,
[15:06:12] [INF] [32] LibraryMonitor: Stopping directory watching for path /media/2TB/shows,
[15:06:12] [INF] [32] LibraryMonitor: Stopping directory watching for path /config/data/data/livetv/recordings,
[15:06:12] [INF] [32] LibraryManager: Validating media library,
[15:06:18] [ERR] [44] App: Error in DummySeasonProvider,
TvDbSharper.TvDbServerException: The given series ID does not exist; No results for your query: map[],
   at TvDbSharper.Infrastructure.Parser.Parse[T](ApiResponse response, IReadOnlyDictionary`2 errorMap),
   at TvDbSharper.Clients.SeriesClient.GetEpisodesAsync(Int32 seriesId, Int32 page, EpisodeQuery query, CancellationToken cancellationToken),
   at MediaBrowser.Providers.TV.TheTVDB.TvDbClientManager.TryGetValue[T](String key, String language, Func`1 resultFactory),
   at MediaBrowser.Providers.TV.TheTVDB.TvDbClientManager.GetAllEpisodesAsync(Int32 tvdbId, String language, CancellationToken cancellationToken),
   at MediaBrowser.Providers.TV.MissingEpisodeProvider.Run(Series series, Boolean addNewItems, CancellationToken cancellationToken),
   at MediaBrowser.Providers.TV.SeriesMetadataService.AfterMetadataRefresh(Series item, MetadataRefreshOptions refreshOptions, CancellationToken cancellationToken),
[15:06:18] [ERR] [43] App: Error in DummySeasonProvider,
TvDbSharper.TvDbServerException: The given series ID does not exist; No results for your query: map[],
   at TvDbSharper.Infrastructure.Parser.Parse[T](ApiResponse response, IReadOnlyDictionary`2 errorMap),
   at TvDbSharper.Clients.SeriesClient.GetEpisodesAsync(Int32 seriesId, Int32 page, EpisodeQuery query, CancellationToken cancellationToken),
   at MediaBrowser.Providers.TV.TheTVDB.TvDbClientManager.TryGetValue[T](String key, String language, Func`1 resultFactory),
   at MediaBrowser.Providers.TV.TheTVDB.TvDbClientManager.GetAllEpisodesAsync(Int32 tvdbId, String language, CancellationToken cancellationToken),
   at MediaBrowser.Providers.TV.MissingEpisodeProvider.Run(Series series, Boolean addNewItems, CancellationToken cancellationToken),
   at MediaBrowser.Providers.TV.SeriesMetadataService.AfterMetadataRefresh(Series item, MetadataRefreshOptions refreshOptions, CancellationToken cancellationToken),
[15:06:19] [INF] [32] App: Starting Library Sync...,
[15:06:19] [INF] [32] App: "LIBRARYSYNC" Added 5 items:  ea3f334ae0a6b938b33f23b13cc20b1a,86345e0f39ece6b1382b989124b7753b,f2ec7229a55b823dea4ecf7e43023983,349b905aa98935a06d47a278e1238816,757fae4b175670def016d97f76322db3,
[15:06:19] [INF] [32] App: "LIBRARYSYNC" Updated 0 items:  ,
[15:06:19] [INF] [32] App: "LIBRARYSYNC" Removed 0 items:  ,
[15:06:19] [INF] [32] App: Finished Library Sync Taking 00:00:00.1746199,
[15:06:25] [INF] [32] App: Starting Library Sync...,
[15:06:25] [INF] [32] App: "LIBRARYSYNC" Added 0 items:  ,
[15:06:25] [INF] [32] App: "LIBRARYSYNC" Updated 4 items:  86345e0f39ece6b1382b989124b7753b,f2ec7229a55b823dea4ecf7e43023983,349b905aa98935a06d47a278e1238816,757fae4b175670def016d97f76322db3,
[15:06:25] [INF] [32] App: "LIBRARYSYNC" Removed 0 items:  ,
[15:06:25] [INF] [32] App: Finished Library Sync Taking 00:00:00.1537446,
[15:06:31] [INF] [8] PlaybackReporting - EventMonitorEntryPoint: Processing playback tracker : c794943b9c7a3ce7-72476da2d2be43389e4518dd09bdbe14-35cb844717853245da58df2d9fca9ecc,
[15:06:31] [INF] [44] LibraryManager: Deleting item, Type: Episode, Name: TBA, Path: , Id: f54b70ba-de16-3e95-a454-122af0c4718d,
[15:06:36] [INF] [6] App: Starting Library Sync...,
[15:06:36] [INF] [6] App: "LIBRARYSYNC" Added 0 items:  ,
[15:06:37] [INF] [6] App: "LIBRARYSYNC" Updated 1 items:  ea3f334ae0a6b938b33f23b13cc20b1a,
[15:06:37] [INF] [6] App: "LIBRARYSYNC" Removed 0 items:  ,
[15:06:37] [INF] [6] App: Finished Library Sync Taking 00:00:00.1279077,
[15:06:38] [INF] [8] TaskManager: Scan Media Library Completed after 0 minute(s) and 25 seconds,
[15:06:38] [INF] [8] TaskManager: ExecuteQueuedTasks,
[15:06:38] [INF] [18] LibraryMonitor: Watching directory /config/data/data/livetv/recordings,
[15:06:38] [INF] [44] LibraryMonitor: Watching directory /media/2TB/audiobooks_kids,
[15:06:38] [INF] [8] LibraryMonitor: Watching directory /media/2TB/shows,
[15:06:38] [INF] [32] LibraryMonitor: Watching directory /media/1.5TB/Shows,
[15:06:38] [INF] [43] LibraryMonitor: Watching directory /media/2TB/audiobooks,
[15:06:38] [INF] [6] LibraryMonitor: Watching directory /media/2TB/movies,
[15:06:51] [INF] [44] PlaybackReporting - EventMonitorEntryPoint: Processing playback tracker : c794943b9c7a3ce7-72476da2d2be43389e4518dd09bdbe14-35cb844717853245da58df2d9fca9ecc,
[15:07:11] [INF] [43] PlaybackReporting - EventMonitorEntryPoint: Processing playback tracker : c794943b9c7a3ce7-72476da2d2be43389e4518dd09bdbe14-35cb844717853245da58df2d9fca9ecc,
[15:07:31] [INF] [6] PlaybackReporting - EventMonitorEntryPoint: Processing playback tracker : c794943b9c7a3ce7-72476da2d2be43389e4518dd09bdbe14-35cb844717853245da58df2d9fca9ecc,
[15:07:51] [INF] [32] PlaybackReporting - EventMonitorEntryPoint: Processing playback tracker : c794943b9c7a3ce7-72476da2d2be43389e4518dd09bdbe14-35cb844717853245da58df2d9fca9ecc,
[15:08:11] [INF] [18] PlaybackReporting - EventMonitorEntryPoint: Processing playback tracker : c794943b9c7a3ce7-72476da2d2be43389e4518dd09bdbe14-35cb844717853245da58df2d9fca9ecc,
[15:08:32] [INF] [38] PlaybackReporting - EventMonitorEntryPoint: Processing playback tracker : c794943b9c7a3ce7-72476da2d2be43389e4518dd09bdbe14-35cb844717853245da58df2d9fca9ecc,
[15:08:52] [INF] [16] PlaybackReporting - EventMonitorEntryPoint: Processing playback tracker : c794943b9c7a3ce7-72476da2d2be43389e4518dd09bdbe14-35cb844717853245da58df2d9fca9ecc,
[15:09:12] [INF] [32] PlaybackReporting - EventMonitorEntryPoint: Processing playback tracker : c794943b9c7a3ce7-72476da2d2be43389e4518dd09bdbe14-35cb844717853245da58df2d9fca9ecc,
[15:09:32] [INF] [32] PlaybackReporting - EventMonitorEntryPoint: Processing playback tracker : c794943b9c7a3ce7-72476da2d2be43389e4518dd09bdbe14-35cb844717853245da58df2d9fca9ecc,
[15:09:43] [WRN] [48] Emby.Server.Implementations.HttpServer.HttpListenerHost: HTTP Response 206 to 10.0.2.19. Time (slow): 0:45:06.4388618. http://10.0.2.93:8096/Videos/35cb844717853245da58df2d9fca9ecc/stream.mkv?DeviceId=c794943b9c7a3ce7&MediaSourceId=35cb844717853245da58df2d9fca9ecc&Static=true&Tag=7c654503e2c3a7348b9061edd04f2523,
[15:09:52] [INF] [6] PlaybackReporting - EventMonitorEntryPoint: Processing playback tracker : c794943b9c7a3ce7-72476da2d2be43389e4518dd09bdbe14-35cb844717853245da58df2d9fca9ecc,
[15:10:12] [INF] [41] PlaybackReporting - EventMonitorEntryPoint: Processing playback tracker : c794943b9c7a3ce7-72476da2d2be43389e4518dd09bdbe14-35cb844717853245da58df2d9fca9ecc,
[15:10:32] [INF] [6] PlaybackReporting - EventMonitorEntryPoint: Processing playback tracker : c794943b9c7a3ce7-72476da2d2be43389e4518dd09bdbe14-35cb844717853245da58df2d9fca9ecc,
[15:10:52] [INF] [38] PlaybackReporting - EventMonitorEntryPoint: Processing playback tracker : c794943b9c7a3ce7-72476da2d2be43389e4518dd09bdbe14-35cb844717853245da58df2d9fca9ecc,
[15:11:02] [INF] [38] Emby.Server.Implementations.Session.SessionManager: Playback stopped reported by app AndroidTV 0.10.2a playing Zoey's Extraordinary Mother. Stopped at 2530673 ms,
[15:11:02] [INF] [48] PlaybackReporting - EventMonitorEntryPoint: Playback stop tracker found, processing stop : c794943b9c7a3ce7-72476da2d2be43389e4518dd09bdbe14-35cb844717853245da58df2d9fca9ecc,
[15:11:02] [INF] [48] PlaybackReporting - EventMonitorEntryPoint: PlaybackTracker : Adding Stop Event : 04/27/2020 15:11:02,
[15:11:02] [INF] [48] PlaybackReporting - EventMonitorEntryPoint: Saving playback tracking activity in DB,
[15:11:03] [INF] [48] App: Starting User Changes Sync...,
[15:11:03] [INF] [48] App: "USERSYNC" User 72476da2d2be43389e4518dd09bdbe14(katelyn) posted 2 Updates: 35cb844717853245da58df2d9fca9ecc,023df2441cf19224e1fb94748dfbf1ba,
[15:11:03] [INF] [48] App: User Changes Sync Finished Taking 00:00:00.0097871,
[15:11:03] [ERR] [48] Emby.Server.Implementations.HttpServer.HttpListenerHost: Error processing request. URL: http://10.0.2.93:8096/Items/4243162fee8bdba31f7b40132e8b93bf/Images/Logo?MaxWidth=600&EnableImageEnhancers=true,
MediaBrowser.Common.Extensions.ResourceNotFoundException: Zoey's Extraordinary Playlist does not have an image of type Logo,
   at MediaBrowser.Api.Images.ImageService.GetImage(ImageRequest request, Guid itemId, BaseItem item, Boolean isHeadRequest),
   at Emby.Server.Implementations.Services.ServiceExecGeneral.Execute(Type serviceType, IRequest request, Object instance, Object requestDto, String requestName),
   at Emby.Server.Implementations.Services.ServiceController.Execute(HttpListenerHost httpHost, Object requestDto, IRequest req),
   at Emby.Server.Implementations.Services.ServiceHandler.ProcessRequestAsync(HttpListenerHost httpHost, IRequest httpReq, HttpResponse httpRes, ILogger logger, CancellationToken cancellationToken),
   at Emby.Server.Implementations.HttpServer.HttpListenerHost.RequestHandler(IHttpRequest httpReq, String urlString, String host, String localPath, CancellationToken cancellationToken),
[21:23:53] [INF] [32] TaskManager: IntervalTrigger fired for task: Update Plugins,
[21:23:53] [INF] [32] TaskManager: Queueing task PluginUpdateTask,
[21:23:53] [INF] [32] TaskManager: Executing Update Plugins,
[21:23:53] [INF] [40] TaskManager: Update Plugins Completed after 0 minute(s) and 0 seconds,
[21:23:53] [INF] [40] TaskManager: ExecuteQueuedTasks,
[21:26:02] [WRN] [40] Emby.Server.Implementations.HttpServer.HttpListenerHost: HTTP Response 200 to 162.158.74.249. Time (slow): 0:00:00.5948638. http://jellyfin.mydomain.org/web/bundle.js?v=10.5.5,
[21:26:39] [INF] [15] App: WS http://jellyfin.mydomain.org/socket?api_key=13b93da7fd1c4be6831a78f03d5102f1&deviceId=TW96aWxsYS81LjAgKE1hY2ludG9zaDsgSW50ZWwgTWFjIE9TIFggMTBfMTVfNCkgQXBwbGVXZWJLaXQvNTM3LjM2IChLSFRNTCwgbGlrZSBHZWNrbykgQ2hyb21lLzgwLjAuMzk4Ny4xNDkgU2FmYXJpLzUzNy4zNnwxNTg2MTM0ODgzMDIw. UserAgent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.122 Safari/537.36,
[21:26:47] [WRN] [32] Emby.Server.Implementations.HttpServer.HttpListenerHost: HTTP Response 200 to 162.158.74.91. Time (slow): 0:00:00.8969866. http://jellyfin.mydomain.org/Items/92616fe4901b9f9941a1aee12b6e51f2/Images/Backdrop/0?tag=f9e575c06d5a9d759564c337e062183c&maxWidth=2880&quality=70,
[21:26:49] [WRN] [40] Emby.Server.Implementations.HttpServer.HttpListenerHost: HTTP Response 200 to 162.158.74.91. Time (slow): 0:00:03.4404202. http://jellyfin.mydomain.org/Playback/BitrateTest?Size=3000000,
[21:26:52] [INF] [40] App: Starting Library Sync...,
[21:26:52] [INF] [40] App: "LIBRARYSYNC" Added 0 items:  ,
[21:26:52] [INF] [40] App: "LIBRARYSYNC" Updated 1 items:  92616fe4901b9f9941a1aee12b6e51f2,
[21:26:52] [INF] [40] App: "LIBRARYSYNC" Removed 0 items:  ,
[21:26:52] [INF] [40] App: Finished Library Sync Taking 00:00:00.1309476,
[21:36:54] [INF] [38] App: WS http://jellyfin.mydomain.org/socket?api_key=13b93da7fd1c4be6831a78f03d5102f1&deviceId=TW96aWxsYS81LjAgKE1hY2ludG9zaDsgSW50ZWwgTWFjIE9TIFggMTBfMTVfNCkgQXBwbGVXZWJLaXQvNTM3LjM2IChLSFRNTCwgbGlrZSBHZWNrbykgQ2hyb21lLzgwLjAuMzk4Ny4xNDkgU2FmYXJpLzUzNy4zNnwxNTg2MTM0ODgzMDIw. UserAgent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.122 Safari/537.36,
[21:37:00] [INF] [32] App: Starting Library Sync...,
[21:37:00] [INF] [32] App: "LIBRARYSYNC" Added 0 items:  ,
[21:37:00] [INF] [32] App: "LIBRARYSYNC" Updated 1 items:  5822528845bc650fee7ae804f34bce49,
[21:37:00] [INF] [32] App: "LIBRARYSYNC" Removed 0 items:  ,
[21:37:00] [INF] [32] App: Finished Library Sync Taking 00:00:00.1276501,
[21:37:03] [WRN] [38] Emby.Server.Implementations.HttpServer.HttpListenerHost: HTTP Response 200 to 162.158.74.91. Time (slow): 0:00:03.0564804. http://jellyfin.mydomain.org/Playback/BitrateTest?Size=3000000,

How to get the latest version 10.7.0-rc1

Expected Behavior

I would like to access the latest version of jellyfin

Current Behavior

The latest version is the latest stable one

Description

According to jellyfin/jellyfin-plugin-ldapauth#56 (comment)

I am using the Linux server version of jellyfin: https://hub.docker.com/r/linuxserver/jellyfin
While the official version is: https://hub.docker.com/r/jellyfin/jellyfin/tags?page=1&ordering=last_updated

Jellyfin 10.7 is currently in RC1, and available in the official container image jellyfin/jellyfin:10.7.0-rc1

I did not pay attention because I tough the linuxserver image was a better quality with a better concept, how can we get the latest version of jellyfin using your image?

Webserver wont boot

Since the last Updates the Webserver of Jellyfin dont start any more.
The Last functional Version was the jellyfin:10.6.4-1-ls82. Any Version after this wont work.
i use an RBP4 with OMV 5.x

Regards ans thx

Small typo in readme

Parameters section of Readme.md

| -e UMASK_SET=<022> | for umask setting of Emby, default if left unset is 022. |
Should be.
| -e UMASK_SET=<022> | for umask setting of Jellyfin, default if left unset is 022. |

20200524-ls67 fails to launch the jellyfin server

The 20200524-ls67 tag fails to start the Jellyfin server with the following error:

jellyfin         | [10:32:26] [INF] [1] Main: Jellyfin version: 10.6.0
jellyfin         | [10:32:26] [INF] [1] Main: Environment Variables: ["[JELLYFIN_CACHE_DIR, /config/cache]", "[JELLYFIN_DATA_DIR, /config/data]", "[JELLYFIN_CONFIG_DIR, /config]", "[JELLYFIN_LOG_DIR, /config/log]"]
jellyfin         | [10:32:26] [INF] [1] Main: Arguments: ["/usr/lib/jellyfin/bin/jellyfin.dll", "--ffmpeg=/usr/lib/jellyfin-ffmpeg/ffmpeg"]
jellyfin         | [10:32:26] [INF] [1] Main: Operating system: Linux
jellyfin         | [10:32:26] [INF] [1] Main: Architecture: X64
jellyfin         | [10:32:26] [INF] [1] Main: 64-Bit Process: True
jellyfin         | [10:32:26] [INF] [1] Main: User Interactive: True
jellyfin         | [10:32:26] [INF] [1] Main: Processor count: 4
jellyfin         | [10:32:26] [INF] [1] Main: Program data path: /config/data
jellyfin         | [10:32:26] [INF] [1] Main: Web resources path: /usr/lib/jellyfin/bin/jellyfin-web
jellyfin         | [10:32:26] [INF] [1] Main: Application directory: /usr/lib/jellyfin/bin/
jellyfin         | [10:32:26] [INF] [1] ServerConfigurationManager: Setting cache path: /config/cache
jellyfin         | [10:32:26] [FTL] [1] Main: Error while starting server.
jellyfin         | System.InvalidOperationException: The server is expected to host the web client, but the provided content directory is either invalid or empty: /usr/lib/jellyfin/bin/jellyfin-web. If you do not want to host the web client with the server, you may set the '--nowebclient' command line flag, or set'hostwebclient=false' in your config settings.
jellyfin         |    at Jellyfin.Server.Program.StartApp(StartupOptions options)
jellyfin         | [10:32:26] [INF] [1] Emby.Server.Implementations.ApplicationHost: Disposing CoreAppHost
jellyfin         | [10:32:26] [INF] [2] Main: Received a SIGTERM signal, shutting down

According to the log Jellyfin looks for the directory with web files at /usr/lib/jellyfin/bin/jellyfin-web which does not exist.

Transcoding issues with docker

Hi,

I currently have a little bit problems with the hardware acceleration feature. My CPU has an integrated graphics unit and is also supporting VA API.

The problem now occurs when I try to watch a HEVC 10 bit file. The video never plays and shows the loading spinner all the time.

My system:
CPU: Ryzen 2200G
OS: Ubuntu Server 18.04 LTS

Output of the container:
[20:35:54] [INF] /usr/lib/jellyfin-ffmpeg/ffmpeg -hwaccel vaapi -hwaccel_output_format vaapi -vaapi_device /dev/dri/renderD128 -i file:"/media/anime movies/No Game No Life Zero.mkv" -map_metadata -1 -map_chapters -1 -threads 0 -map 0:1 -map 0:2 -map -0:s -codec:v:0 h264_vaapi -b:v 139616000 -maxrate 139616000 -bufsize 279232000 -profile:v high -level 41 -force_key_frames "expr:gte(t,n_forced*3)" -vf "format=nv12|vaapi,hwupload" -copyts -vsync -1 -codec:a:0 aac -strict experimental -ac 2 -ab 384000 -af "volume=2" -f segment -max_delay 5000000 -avoid_negative_ts disabled -start_at_zero -segment_time 3 -individual_header_trailer 0 -segment_format mpegts -segment_list_type m3u8 -segment_start_number 0 -segment_list "/config/data/transcoding-temp/eba010b6d4ae5bbc705e928f52aab244.m3u8" -y "/config/data/transcoding-temp/eba010b6d4ae5bbc705e928f52aab244%d.ts"

Output of vainfo on host:

error: XDG_RUNTIME_DIR not set in the environment.
error: can't connect to X server!
libva info: VA-API version 1.1.0
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/radeonsi_drv_video.so
libva info: Found init function __vaDriverInit_1_1
libva info: va_openDriver() returns 0
vainfo: VA-API version: 1.1 (libva 2.1.0)
vainfo: Driver version: Mesa Gallium driver 19.0.2 for AMD RAVEN (DRM 3.23.0, 4.                       15.0-55-generic, LLVM 8.0.0)
vainfo: Supported profile and entrypoints
      VAProfileMPEG2Simple            : VAEntrypointVLD
      VAProfileMPEG2Main              : VAEntrypointVLD
      VAProfileVC1Simple              : VAEntrypointVLD
      VAProfileVC1Main                : VAEntrypointVLD
      VAProfileVC1Advanced            : VAEntrypointVLD
      VAProfileH264ConstrainedBaseline: VAEntrypointVLD
      VAProfileH264ConstrainedBaseline: VAEntrypointEncSlice
      VAProfileH264Main               : VAEntrypointVLD
      VAProfileH264Main               : VAEntrypointEncSlice
      VAProfileH264High               : VAEntrypointVLD
      VAProfileH264High               : VAEntrypointEncSlice
      VAProfileHEVCMain               : VAEntrypointVLD
      VAProfileHEVCMain               : VAEntrypointEncSlice
      VAProfileHEVCMain10             : VAEntrypointVLD
      VAProfileJPEGBaseline           : VAEntrypointVLD
      VAProfileVP9Profile0            : VAEntrypointVLD
      VAProfileVP9Profile2            : VAEntrypointVLD
      VAProfileNone                   : VAEntrypointVideoProc

My Docker-Compose:
version: "2"

services:
  jellyfin:
    image: linuxserver/jellyfin
    container_name: jellyfin
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Europe/Berlin
    volumes:
      - /mnt/sdc1/docker/jellyfin/config:/config
      - /mnt/sdb1/jellyfin/:/media
      - /mnt/sdb1/jellyfin/transcode:/transcode
    ports:
      - 8096:8096
    devices:
      - /dev/dri:/dev/dri
    restart: always
    privileged: true

Notice: Also tried for the devices parameter:

/dev/dri/renderD128:/dev/dri/renderD128
/dev/dri/renderD128:/dev/dri

I was also trying to execute vainfo in the docker shell but the command is not recognized at all. Do you have any idea to fix this problem?

Kind Regards,
Daniel

Fix small typo in README

9ec829a

If this is a fix for a typo in code or documentation in the README please file an issue and let us sort it out we do not need a PR

letting you sort it out

Hardware acceleration isn't working properly

Expected Behavior

Enabling VAAPI hardware acceleration in Jellyfin should work in its default configuration.

Current Behavior

First issue is with the default transcode directory.
As it does not exist and Jellyfin doesn't create it, it's impossible to use the default configuration.

Secondly, once the devices are setup according to my host, the default user is not able to access them.
Any transcode attempt leads to the following error message:

/usr/lib/jellyfin-ffmpeg/ffmpeg -hwaccel vaapi -hwaccel_output_format vaapi -vaapi_device /dev/dri/renderD128 -i file:"/jellyfin/media/12 Angry Men (1957)/12 Angry Men (1957) Bluray-1080p.mkv" -map_metadata -1 -map_chapters -1 -threads 0 -map 0:0 -map 0:1 -map -0:s -codec:v:0 h264_vaapi  -b:v 10201576 -maxrate 10201576 -bufsize 20403152 -profile:v high -level 41  -force_key_frames:0 "expr:gte(t,0+n_forced*3)" -vf "format=nv12|vaapi,hwupload,scale_vaapi=format=nv12" -copyts -vsync -1 -codec:a:0 aac -strict experimental -ac 1 -ab 192000  -f hls -max_delay 5000000 -avoid_negative_ts disabled -start_at_zero -hls_time 3 -individual_header_trailer 0 -hls_segment_type mpegts -start_number 0 -hls_segment_filename "/config/cache/temp/69e65dd7670476af5b32268cf32dcb6f%d.ts" -hls_playlist_type vod -hls_list_size 0 -y "/config/cache/temp/69e65dd7670476af5b32268cf32dcb6f.m3u8"


ffmpeg version 4.2.1 Copyright (c) 2000-2019 the FFmpeg developers
  built with gcc 7 (Ubuntu 7.4.0-1ubuntu1~18.04.1)
  configuration: --toolchain=hardened --prefix=/usr --target-os=linux --enable-cross-compile --extra-cflags=--static --enable-gpl --enable-static --disable-doc --disable-ffplay --disable-shared --disable-libxcb --disable-sdl2 --disable-xlib --enable-libfontconfig --enable-fontconfig --enable-gmp --enable-gnutls --enable-libass --enable-libbluray --enable-libdrm --enable-libfreetype --enable-libfribidi --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libwebp --enable-libx264 --enable-libx265 --enable-libzvbi --enable-omx --enable-omx-rpi --enable-version3 --enable-vaapi --enable-vdpau --arch=amd64 --enable-nvenc --enable-nvdec --enable-amf
  libavutil      56. 31.100 / 56. 31.100
  libavcodec     58. 54.100 / 58. 54.100
  libavformat    58. 29.100 / 58. 29.100
  libavdevice    58.  8.100 / 58.  8.100
  libavfilter     7. 57.100 /  7. 57.100
  libswscale      5.  5.100 /  5.  5.100
  libswresample   3.  5.100 /  3.  5.100
  libpostproc    55.  5.100 / 55.  5.100
[AVHWDeviceContext @ 0x563fc93af5c0] No VA display found for device /dev/dri/renderD128.
Device creation failed: -22.
Failed to set value '/dev/dri/renderD128' for option 'vaapi_device': Invalid argument
Error parsing global options: Invalid argument

When running the same exact command through a root shell to the docker, it works as expected and transcoding works.

I've tried adding the abc user to the video group, doesn't change anything.

Same thing for running the docker container as high privilege.

I wanted to try running the service as root but I can't find what is starting the service nor where I can configure this. I got lost in /etc/s6 as I'm completely unfamiliar with it.

Steps to Reproduce

  1. Enable VAAPI transcoding in Playback options and save the settings
  2. Notice that it gives an error concerning the transcode directory
  3. Re-enable VAAPI and change the directory to something existing, such as /config/cache/temp/ and save the settings
  4. Try playing anything needing transcode

Environment

OS:

Synology DSM 6.2.2-24922 Update 4

CPU architecture:

INTEL Celeron J3455

How docker service was installed:

Docker was installed through Synology store. Same for the image.
Since it does not support custom configuration, especially the devices, I had to import the following configuration file to make it work:

{
   "cap_add" : null,
   "cap_drop" : null,
   "cmd" : "",
   "cpu_priority" : 50,
   "devices" :  [
	   { 
		   "CgroupPermissions": "rwm", 
		   "PathInContainer": "/dev/dri/renderD128", 
		   "PathOnHost": "/dev/dri/renderD128" 
	   },
	   { 
		   "CgroupPermissions": "rwm", 
		   "PathInContainer": "/dev/dri/card0", 
		   "PathOnHost": "/dev/dri/card0" 
	   }
   ],
   "enable_publish_all_ports" : false,
   "enable_restart_policy" : false,
   "enabled" : false,
   "entrypoint_default" : "/init",
   "env_variables" : [
      {
         "key" : "PATH",
         "value" : "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
      },
      {
         "key" : "HOME",
         "value" : "/root"
      },
      {
         "key" : "LANGUAGE",
         "value" : "en_US.UTF-8"
      },
      {
         "key" : "LANG",
         "value" : "en_US.UTF-8"
      },
      {
         "key" : "TERM",
         "value" : "xterm"
      },
      {
         "key" : "NVIDIA_DRIVER_CAPABILITIES",
         "value" : "compute,video,utility"
      },
      {
         "key" : "PGID",
         "value" : "101"
      },
      {
         "key" : "PUID",
         "value" : "1026"
      }
   ],
   "exporting" : false,
   "id" : "851b673d1b03caae27ad79561568172a9b7b8525bd01687582b85927686deef3",
   "image" : "linuxserver/jellyfin:latest",
   "is_ddsm" : false,
   "is_package" : false,
   "links" : [],
   "memory_limit" : 0,
   "name" : "linuxserver-jellyfin-latest",
   "network" : [
      {
         "driver" : "bridge",
         "name" : "bridge"
      }
   ],
   "network_mode" : "bridge",
   "port_bindings" : [
      {
         "container_port" : 8096,
         "host_port" : 0,
         "type" : "tcp"
      },
      {
         "container_port" : 8920,
         "host_port" : 0,
         "type" : "tcp"
      }
   ],
   "privileged" : false,
   "shortcut" : {
      "enable_shortcut" : false
   },
   "use_host_network" : false,
   "volume_bindings" : [
      {
         "host_volume_file" : "/test",
         "mount_point" : "/jellyfin/media",
         "type" : "rw"
      }
   ]
}

Command used to create docker container (run/create/compose/screenshot)

image

The previously mentioned configuration pretty much maps to a docker compose command.

I'd be glad if you could provide a tip in changing the user running the Jellyfin service from abc to root as a quick fix, as everything I've tried didn't work.

Jellyfin on open media vault via docker error

I'm trying to enable video acceleration but i'm getting this error: Error response from daemon: error gathering device information while adding custom device "/dev/vcsm": no such file or directory. I´m running a Rpi 4 with raspberry os 64 bits and omv install on it

Jellyfin fails to start on Portainer

linuxserver.io


Expected Behavior

Start Jellyfin with the web UI (:8096)

Current Behavior

Jellyfin doesn't start

Steps to Reproduce

1.My stack from portainer:

version: "2.1"
services:
jellyfin:
image: ghcr.io/linuxserver/jellyfin
container_name: jellyfin
environment:
- PUID=998
- PGID=100
- TZ=Europe/Berlin
- UMASK_SET=<022> #optional
volumes:
- /srv/dev-disk-by-uuid-f86e6539-21f2-4566-87ae-907f1a6e5eb9/Test/Config:/config
- /srv/dev-disk-by-uuid-f86e6539-21f2-4566-87ae-907f1a6e5eb9/Test/Movies:/data/movies
ports:
- 8096:8096
restart: unless-stopped

Environment

**OS: Rasperian Light OS
How docker service was installed:
Installed on Open Media Vault

Command used to create docker container (run/create/compose/screenshot)

Docker logs

./run: line 10: umask: <': invalid symbolic mode operator, ./run: line 10: umask: <': invalid symbolic mode operator,
./run: line 10: umask: <': invalid symbolic mode operator, ./run: line 10: umask: <': invalid symbolic mode operator,
./run: line 10: umask: <': invalid symbolic mode operator, ./run: line 10: umask: <': invalid symbolic mode operator,
./run: line 10: umask: <': invalid symbolic mode operator, ./run: line 10: umask: <': invalid symbolic mode operator,
./run: line 10: umask: <': invalid symbolic mode operator, ./run: line 10: umask: <': invalid symbolic mode operator,
./run: line 10: umask: <': invalid symbolic mode operator, ./run: line 10: umask: <': invalid symbolic mode operator,
./run: line 10: umask: <': invalid symbolic mode operator, ./run: line 10: umask: <': invalid symbolic mode operator,
./run: line 10: umask: <': invalid symbolic mode operator, ./run: line 10: umask: <': invalid symbolic mode operator,
./run: line 10: umask: <': invalid symbolic mode operator, ./run: line 10: umask: <': invalid symbolic mode operator,
./run: line 10: umask: <': invalid symbolic mode operator, ./run: line 10: umask: <': invalid symbolic mode operator,
./run: line 10: umask: <': invalid symbolic mode operator, ./run: line 10: umask: <': invalid symbolic mode operator,
./run: line 10: umask: <': invalid symbolic mode operator, ./run: line 10: umask: <': invalid symbolic mode operator,
./run: line 10: umask: <': invalid symbolic mode operator, ./run: line 10: umask: <': invalid symbolic mode operator,
./run: line 10: umask: <': invalid symbolic mode operator, ./run: line 10: umask: <': invalid symbolic mode operator,
./run: line 10: umask: <': invalid symbolic mode operator, ./run: line 10: umask: <': invalid symbolic mode operator,
./run: line 10: umask: <': invalid symbolic mode operator, ./run: line 10: umask: <': invalid symbolic mode operator,
./run: line 10: umask: <': invalid symbolic mode operator, ./run: line 10: umask: <': invalid symbolic mode operator,
./run: line 10: umask: <': invalid symbolic mode operator, ./run: line 10: umask: <': invalid symbolic mode operator,
./run: line 10: umask: <': invalid symbolic mode operator, ./run: line 10: umask: <': invalid symbolic mode operator,
./run: line 10: umask: <': invalid symbolic mode operator, ./run: line 10: umask: <': invalid symbolic mode operator,
./run: line 10: umask: <': invalid symbolic mode operator, ./run: line 10: umask: <': invalid symbolic mode operator,
./run: line 10: umask: <': invalid symbolic mode operator, ./run: line 10: umask: <': invalid symbolic mode operator,
./run: line 10: umask: <': invalid symbolic mode operator, ./run: line 10: umask: <': invalid symbolic mode operator,
./run: line 10: umask: <': invalid symbolic mode operator, ./run: line 10: umask: <': invalid symbolic mode operator,
./run: line 10: umask: <': invalid symbolic mode operator, ./run: line 10: umask: <': invalid symbolic mode operator,
./run: line 10: umask: <': invalid symbolic mode operator, ./run: line 10: umask: <': invalid symbolic mode operator,
./run: line 10: umask: <': invalid symbolic mode operator, ./run: line 10: umask: <': invalid symbolic mode operator,
./run: line 10: umask: <': invalid symbolic mode operator, ./run: line 10: umask: <': invalid symbolic mode operator,
./run: line 10: umask: <': invalid symbolic mode operator, ./run: line 10: umask: <': invalid symbolic mode operator,
./run: line 10: umask: <': invalid symbolic mode operator, ./run: line 10: umask: <': invalid symbolic mode operator,
./run: line 10: umask: <': invalid symbolic mode operator, ./run: line 10: umask: <': invalid symbolic mode operator,
./run: line 10: umask: <': invalid symbolic mode operator, ./run: line 10: umask: <': invalid symbolic mode operator,
./run: line 10: umask: <': invalid symbolic mode operator, ./run: line 10: umask: <': invalid symbolic mode operator,
./run: line 10: umask: <': invalid symbolic mode operator, ./run: line 10: umask: <': invalid symbolic mode operator,
./run: line 10: umask: <': invalid symbolic mode operator, ./run: line 10: umask: <': invalid symbolic mode operator,
./run: line 10: umask: <': invalid symbolic mode operator, ./run: line 10: umask: <': invalid symbolic mode operator,
./run: line 10: umask: <': invalid symbolic mode operator, ./run: line 10: umask: <': invalid symbolic mode operator,
./run: line 10: umask: <': invalid symbolic mode operator, ./run: line 10: umask: <': invalid symbolic mode operator,
./run: line 10: umask: <': invalid symbolic mode operator, ./run: line 10: umask: <': invalid symbolic mode operator,
./run: line 10: umask: <': invalid symbolic mode operator, ./run: line 10: umask: <': invalid symbolic mode operator,
./run: line 10: umask: <': invalid symbolic mode operator, ./run: line 10: umask: <': invalid symbolic mode operator,
./run: line 10: umask: <': invalid symbolic mode operator, ./run: line 10: umask: <': invalid symbolic mode operator,
./run: line 10: umask: <': invalid symbolic mode operator, ./run: line 10: umask: <': invalid symbolic mode operator,
./run: line 10: umask: <': invalid symbolic mode operator, ./run: line 10: umask: <': invalid symbolic mode operator,
./run: line 10: umask: <': invalid symbolic mode operator, ./run: line 10: umask: <': invalid symbolic mode operator,
./run: line 10: umask: <': invalid symbolic mode operator, ./run: line 10: umask: <': invalid symbolic mode operator,
./run: line 10: umask: <': invalid symbolic mode operator, ./run: line 10: umask: <': invalid symbolic mode operator,
./run: line 10: umask: <': invalid symbolic mode operator, ./run: line 10: umask: <': invalid symbolic mode operator,
./run: line 10: umask: <': invalid symbolic mode operator, ./run: line 10: umask: <': invalid symbolic mode operator,
./run: line 10: umask: <': invalid symbolic mode operator, ./run: line 10: umask: <': invalid symbolic mode operator,

Latest release doesn't work on Raspberry Pi, manually using a previous one does work

linuxserver.io


Expected Behavior

The application starts in port 8096

Current Behavior

Log shows no errors and progresses to

[services.d] starting services,
[services.d] done.,

No more log messages and the application is not available no matter how long one waits for it to start.

An older image (linuxserver/jellyfin:20200722.17-unstable-ls92) works as expected.

Steps to Reproduce

  1. Use the docker-compose configuration as displayed in the instructions at the Docker Hub page in a yml file
  2. docker-compose up -d jellyfin

Environment

OS: Raspbian Buster / OpenMediaVault 5.5.17-3
CPU architecture: arm32
How docker service was installed: OpenMediaVault Extras to install docker and docker-compose, yml file edited by hand

Command used to create docker container (run/create/compose/screenshot)

jellyfin:
image: linuxserver/jellyfin
hostname: ${DOCKERHOSTNAME}
ports:
- 8096:8096
- 8920:8920
- 7359:7359/udp #optional
- 1900:1900/udp #optional
container_name: jellyfin
environment:
- PGID=${PGID}
- PUID=${PUID}
- TZ=${TZ}
logging:
driver: json-file
options:
max-file: ${DOCKERLOGGING_MAXFILE}
max-size: ${DOCKERLOGGING_MAXSIZE}
restart: unless-stopped
volumes:
- /etc/localtime:/etc/localtime:ro
- /home/pi/docker/config/jellyfin:/config
- /home/pi/docker/shared:/shared
- /home/pi/docker/storage:/storage
- /home/pi/docker/jellyfin/transcode:/transcode
- /home/pi/docker/jellyfin/movies:/data/movies
- /home/pi/docker/jellyfin/movies:/movies
- /home/pi/docker/jellyfin/music:/data/music
- /home/pi/docker/jellyfin/music:/music
- /home/pi/docker/jellyfin/tv:/data/tvshows
- /home/pi/docker/jellyfin/tv:/tv
devices:
- /dev/dri:/dev/dri #optional
- /dev/vcsm:/dev/vcsm #optional
- /dev/vchiq:/dev/vchiq #optional
- /dev/video10:/dev/video10 #optional
- /dev/video11:/dev/video11 #optional
- /dev/video12:/dev/video12 #optional

Docker logs

[s6-init] making user provided files available at /var/run/s6/etc...exited 0.
[s6-init] ensuring user provided files have correct perms...exited 0.
[fix-attrs.d] applying ownership & permissions fixes...
[fix-attrs.d] done.
[cont-init.d] executing container initialization scripts...
[cont-init.d] 01-envfile: executing...
[cont-init.d] 01-envfile: exited 0.
[cont-init.d] 10-adduser: executing...


      _         ()
     | |  ___   _    __
     | | / __| | |  /  \ 
     | | \__ \ | | | () |
     |_| |___/ |_|  \__/

Brought to you by linuxserver.io

To support the app dev(s) visit:
Jellyfin: https://opencollective.com/jellyfin

To support LSIO projects visit:
https://www.linuxserver.io/donate/

GID/UID

User uid: 1000
User gid: 100

[cont-init.d] 10-adduser: exited 0.
[cont-init.d] 30-config: executing...
[cont-init.d] 30-config: exited 0.
[cont-init.d] 40-gid-video: executing...
[cont-init.d] 40-gid-video: exited 0.
[cont-init.d] 99-custom-scripts: executing...
[custom-init] no custom files found exiting...
[cont-init.d] 99-custom-scripts: exited 0.
[cont-init.d] done.
[services.d] starting services
[services.d] done.

RPI4 Hardware Acceleration Fix

linuxserver.io

If you are new to Docker or this application our issue tracker is ONLY used for reporting bugs or requesting features. Please use our discord server for general support.


Expected Behavior

HWA should work.

Current Behavior

HWA fails to work.

Steps to Reproduce

I wrote this guide for HWA. In order to get HWA working, I had to make a few hacks and would like to pass on what I learned to the lsio team.

version: "3.7"

services:
  jellyfin:
    image: linuxserver/jellyfin
    devices:
      - /dev/vchiq:/dev/vchiq ##HWA Chip
    container_name: jellyfin
    network_mode: host
    environment:
      PUID: 0
      PGID: 0
      TZ: ${TZ}
      UMASK_SET: "022"
    volumes:
      - /data/brick/jellyfin:/config
      - /media:/media
      - /dev/shm:/config/data/transcoding-temp/transcodes
      - /opt/vc/lib:/opt/vc/lib   ## OpenMax Libraries
      - /etc/ld.so.conf.d/00-vmcs.conf:/etc/ld.so.conf.d/00-vmcs.conf ## Path needed for libraries
    restart: always

I also needed to install the library libomxil-bellagio-dev

This installed libomxil-bellagio0, libomxil-bellagio-bin and libomxil-bellagio-dev. I'm not sure which were essential but -dev installed all 3. I also had to run the container as root, but that might have been due to the Path hacks or permissions else where, I'm not sure.

Environment

OS: Raspbian
CPU architecture: x86_64/arm32/arm64 Rpi4
How docker service was installed:

Command used to create docker container (run/create/compose/screenshot)

Docker logs

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.