Hi. I’m pretty new to Ubuntu, Docker and all that. I’ve just set up my media server running Ubuntu Server, and installed Jellyfin using the LIO docker image.
I don’t believe that hardware acceleration is working. Looks like Ffmpeg is using 30–45% CPU.
The processor in my mini PC is an Intel Core i5-12450H so QSV should work, right?
Here’s my docker compose:
version: '3.5'
services:
jellyfin:
image: lscr.io/linuxserver/jellyfin:latest
container_name: jellyfin
environment:
- PUID=1000
- PGID=1000
- TZ=America/Los_Angeles
- DOCKER_MODS=linuxserver/mods:jellyfin-opencl-intel
- JELLYFIN_PublishedServerUrl=192.168.50.XXX #optional
volumes:
- /REDACTED/appdata/jellyfin:/config
- /mnt/video/data/media/tv:/data/tvshows
- /mnt/video/data/media/movies:/data/movies
devices:
- /dev/dri:/dev/dri
ports:
- 8096:8096
- 8920:8920 #optional
- 7359:7359/udp #optional
- 1900:1900/udp #optional
restart: unless-stopped
In Jellyfin, I’ve just selected Intel QuickSync and left the defaults. What else do I need to do?
Thank you for the help.
ffmpeg uses a lot of CPU on my system even when hardware transcoding. You could use something like Tautilli which will show you a “hw” indicator if hardware transcoding is working. You could also use intel_gpu_top
to check the status of your GPU when Plex is transcoding.
Thank you. I just installed intel-gpu-tools
and checked. All the engines are at 0.00%
Does the Plex web UI show that transcoding is happening when you test? I had forgotten that Plex itself shows if hardware transcoding is being used, no need for Tautulli. I start playing something and change the quality to force transcoding and see this in the Plex dashboard:
Video
SD (H.264) (hw)
SD (H264)—Transcode (hw)
And intel_gpu_top
looks like this, with the “Render/3D” and “Video” bars going up and down:
intel-gpu-top: Intel Cometlake (Gen9) @ /dev/dri/card0 - 474/ 474 MHz; 62% RC6
2.01/10.97 W; 3710 irqs/s
IMC reads: 2074 MiB/s
IMC writes: 1036 MiB/s
ENGINES BUSY MI_SEMA MI_WAIT
Render/3D 23.54% |████████▎ | 8% 0%
Blitter 0.00% | | 0% 0%
Video 27.61% |█████████▊ | 0% 0%
VideoEnhance 0.00% | | 0% 0%
Are there any messages in the container log that say anything about the hardware device? Mine look like:
───────────────────────────────────────
██╗ ███████╗██╗ ██████╗
██║ ██╔════╝██║██╔═══██╗
██║ ███████╗██║██║ ██║
██║ ╚════██║██║██║ ██║
███████╗███████║██║╚██████╔╝
╚══════╝╚══════╝╚═╝ ╚═════╝
Brought to you by linuxserver.io
───────────────────────────────────────
To support LSIO projects visit:
https://www.linuxserver.io/donate/
───────────────────────────────────────
GID/UID
───────────────────────────────────────
User UID: 1000
User GID: 1000
───────────────────────────────────────
Setting permissions on /transcode
**** Server already claimed ****
**** permissions for /dev/dri/renderD128 are good ****
**** permissions for /dev/dri/card0 are good ****
No update required
[custom-init] No custom files found, skipping...
Starting Plex Media Server. . . (you can ignore the libusb_init error)
[ls.io-init] done.
Critical: libusb_init failed
You also might want to check the Plex forum to see what Plex logs to check to see if you can find if Plex is reporting what’s wrong.
Sorry, all of this and I’m missing that you’re using Jellyfin and I’m talking Plex. I don’t use Jellyfin, so my last message probably won’t help.
I found this in the log:
───────────────────────────────────────
██╗ ███████╗██╗ ██████╗
██║ ██╔════╝██║██╔═══██╗
██║ ███████╗██║██║ ██║
██║ ╚════██║██║██║ ██║
███████╗███████║██║╚██████╔╝
╚══════╝╚══════╝╚═╝ ╚═════╝
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
───────────────────────────────────────
**** permissions for /dev/dri/card0 are good ****
**** permissions for /dev/dri/renderD128 are good ****
**** Opencl-intel already installed ****
So it seems as though the hardware is seen.