2024-11-29, 02:21 AM
Hello Jellyfin forums,
I'm having issues with hardware transcoding on my Jellyfin server.
I've tried getting some help on Discord, but the people there couldn't really assist (they tried, but didn't have much experience with intel GPUs), so I thought I should try the forums.
Here is some info on my setup:
CPU: Intel 4790K
GPU: Intel A310
OS: Debian with backported kernel (6.11.5+bpo-amd64)
Jellyfin deployment: Docker, deployed with a compose YAML through Portainer (see my YAML at the end)
Jellyfin version: v10.10.3
What currently happens when HW transcoding is turned on is that my CPU no longer spikes in usage, but the GPU spikes, as seen when trying to play this 4K HEVC HDR10 video file:
https://imgur.com/XzvNzfr
After buffering for a bit, I get the following error:
Playback Error
A fatal error was encountered in the HLS stream.
This event creates, as far as I can tell, three log files. I assume these are three attempts to start the transcode.
Log 1: https://pastebin.com/sHA0AupU
Log 2: https://pastebin.com/W2RQi1HK
Log 3: https://pastebin.com/LWBfw5sH
When HWA transcoding is turned off, the movie starts buffering, and my CPU quickly hits 100% usage (which is expected since it's 10 years old). With lower-resolution movies, it will start playing eventually (e.g., 720p footage). So, I assume the issue is unrelated to permissions for my media files (all folders/files are owned by the same user:group mapped to the container).
Following are screenshots of my current test settings inside of Jellyfin:
https://imgur.com/Ffnjjy7
https://imgur.com/PrkmRkt
https://imgur.com/aeVGrFW
https://imgur.com/9Sx6py4
Lastly, here is some extra info on my driver/hardware situation on my server:
$ inxi -b
System:
Host: OfficeDeb1 Kernel: 6.11.5+bpo-amd64 arch: x86_64 bits: 64 Console: pty pts/0 Distro: Debian
GNU/Linux 12 (bookworm)
Machine:
Type: Desktop Mobo: ASRock model: Z97X Killer serial: <superuser required>
UEFI-[Legacy]: American Megatrends v: P2.60 date: 03/06/2018
CPU:
Info: quad core Intel Core i7-4790K [MT MCP] speed (MHz): avg: 1080 min/max: 800/4400
Graphics:
Device-1: Intel DG2 [Arc A310] driver: i915 v: kernel
Display: server: No display server data found. Headless machine? tty: 116x72
API: OpenGL Message: GL data unavailable in console. Try -G --display
Network:
Device-1: Qualcomm Atheros Killer E220x Gigabit Ethernet driver: alx
Drives:
Local Storage: total: raw: 476.95 GiB usable: 238.35 GiB used: 17.59 GiB (7.4%)
Info:
Processes: 370 Uptime: 12h 10m Memory: 15.57 GiB used: 4.12 GiB (26.5%) Init: systemd
target: graphical (5) Shell: Bash inxi: 3.3.26
$ ls /dev/dri/
by-path card0 renderD128
getent group render | cut -d: -f3
105
The following is the YAML I used in portainer
services:
jellyfin:
image: jellyfin/jellyfin:latest
container_name: jellyfin
user: 1000:1000
group_add:
- "105"
network_mode: 'host'
volumes:
- /docker/jellyfin/config:/config
- /docker/jellyfin/cache:/cache
- /mnt/nas/data/data/media:/media (note: yes the /data/data/ is intentional)
- /docker/jellyfin/fonts:/usr/local/share/fonts/custom
devices:
- /dev/dri/renderD128:/dev/dri/renderD128
ports:
- 8096:8096
- 8920:8920
- 7359:7359/udp
- 1900:1900/udp
restart: 'unless-stopped'
# Optional - alternative address used for autodiscovery
#environment:
#- JELLYFIN_PublishedServerUrl=http://example.com
# Optional - may be necessary for docker healthcheck to pass if running in host network mode
#extra_hosts:
#- 'host.docker.internal:host-gateway'
I hope you can help me find a solution to my issue. I've been working on this for almost two weeks now, and I just want it to work. It's been using up a lot of my time and energy.
If you need any extra information, please feel free to ask.
Thank you in advance,
aeto
I'm having issues with hardware transcoding on my Jellyfin server.
I've tried getting some help on Discord, but the people there couldn't really assist (they tried, but didn't have much experience with intel GPUs), so I thought I should try the forums.
Here is some info on my setup:
CPU: Intel 4790K
GPU: Intel A310
OS: Debian with backported kernel (6.11.5+bpo-amd64)
Jellyfin deployment: Docker, deployed with a compose YAML through Portainer (see my YAML at the end)
Jellyfin version: v10.10.3
What currently happens when HW transcoding is turned on is that my CPU no longer spikes in usage, but the GPU spikes, as seen when trying to play this 4K HEVC HDR10 video file:
https://imgur.com/XzvNzfr
After buffering for a bit, I get the following error:
Playback Error
A fatal error was encountered in the HLS stream.
This event creates, as far as I can tell, three log files. I assume these are three attempts to start the transcode.
Log 1: https://pastebin.com/sHA0AupU
Log 2: https://pastebin.com/W2RQi1HK
Log 3: https://pastebin.com/LWBfw5sH
When HWA transcoding is turned off, the movie starts buffering, and my CPU quickly hits 100% usage (which is expected since it's 10 years old). With lower-resolution movies, it will start playing eventually (e.g., 720p footage). So, I assume the issue is unrelated to permissions for my media files (all folders/files are owned by the same user:group mapped to the container).
Following are screenshots of my current test settings inside of Jellyfin:
https://imgur.com/Ffnjjy7
https://imgur.com/PrkmRkt
https://imgur.com/aeVGrFW
https://imgur.com/9Sx6py4
Lastly, here is some extra info on my driver/hardware situation on my server:
$ inxi -b
System:
Host: OfficeDeb1 Kernel: 6.11.5+bpo-amd64 arch: x86_64 bits: 64 Console: pty pts/0 Distro: Debian
GNU/Linux 12 (bookworm)
Machine:
Type: Desktop Mobo: ASRock model: Z97X Killer serial: <superuser required>
UEFI-[Legacy]: American Megatrends v: P2.60 date: 03/06/2018
CPU:
Info: quad core Intel Core i7-4790K [MT MCP] speed (MHz): avg: 1080 min/max: 800/4400
Graphics:
Device-1: Intel DG2 [Arc A310] driver: i915 v: kernel
Display: server: No display server data found. Headless machine? tty: 116x72
API: OpenGL Message: GL data unavailable in console. Try -G --display
Network:
Device-1: Qualcomm Atheros Killer E220x Gigabit Ethernet driver: alx
Drives:
Local Storage: total: raw: 476.95 GiB usable: 238.35 GiB used: 17.59 GiB (7.4%)
Info:
Processes: 370 Uptime: 12h 10m Memory: 15.57 GiB used: 4.12 GiB (26.5%) Init: systemd
target: graphical (5) Shell: Bash inxi: 3.3.26
$ ls /dev/dri/
by-path card0 renderD128
getent group render | cut -d: -f3
105
The following is the YAML I used in portainer
services:
jellyfin:
image: jellyfin/jellyfin:latest
container_name: jellyfin
user: 1000:1000
group_add:
- "105"
network_mode: 'host'
volumes:
- /docker/jellyfin/config:/config
- /docker/jellyfin/cache:/cache
- /mnt/nas/data/data/media:/media (note: yes the /data/data/ is intentional)
- /docker/jellyfin/fonts:/usr/local/share/fonts/custom
devices:
- /dev/dri/renderD128:/dev/dri/renderD128
ports:
- 8096:8096
- 8920:8920
- 7359:7359/udp
- 1900:1900/udp
restart: 'unless-stopped'
# Optional - alternative address used for autodiscovery
#environment:
#- JELLYFIN_PublishedServerUrl=http://example.com
# Optional - may be necessary for docker healthcheck to pass if running in host network mode
#extra_hosts:
#- 'host.docker.internal:host-gateway'
I hope you can help me find a solution to my issue. I've been working on this for almost two weeks now, and I just want it to work. It's been using up a lot of my time and energy.
If you need any extra information, please feel free to ask.
Thank you in advance,
aeto