Jellyfin Forum
hevc sdr video transcode issues - Printable Version

+- Jellyfin Forum (https://forum.jellyfin.org)
+-- Forum: Support (https://forum.jellyfin.org/f-support)
+--- Forum: Troubleshooting (https://forum.jellyfin.org/f-troubleshooting)
+--- Thread: hevc sdr video transcode issues (/t-hevc-sdr-video-transcode-issues)



hevc sdr video transcode issues - KingPin - 2025-03-02

hi when i try to play HEVC SDR videos I get a playback error, would appreciate any tips / info
Info: 
Ubuntu 220.04
docker linuxservers container (lscr.io/linuxserver/jellyfin:latest)
i have a nvidia gpu and intel igpu, I would prefer to only use the intel igpu on this jellyfin docker install.
Model name:            11th Gen Intel® Core™ i7-11800H @ 2.30GHz 

my docker compose has the following : 
    devices:
      - /dev/dri/renderD128:/dev/dri/renderD128
      - /dev/dri/card0:/dev/dri/card0
    group_add:
      - "44"  # video group
      - "109" # render group


my transcode settingsareattached to this post 


here is my ffmprg log  :

Quote:
/usr/lib/jellyfin-ffmpeg/ffmpeg -analyzeduration 200M -probesize 1G -f matroska -init_hw_device vaapi=va:/dev/dri/renderD128,driver=iHD -init_hw_device qsv=qs@va -filter_hw_device qs -i file:"/library/movies/some-video/some-video.mkv" -map_metadata -1 -map_chapters -1 -threads 0 -map 0:0 -map 0:1 -map -0:s -codec:v:0 av1_qsv -preset veryfast -b:v 7483610 -maxrate 7483610 -bufsize 14967220 -profile:v:0 main -level 53 -g:v:0 72 -keyint_min:v:0 72 -vf "setparams=color_primaries=bt709:color_trc=bt709:colorspace=bt709,scale=trunc(min(max(iw\,ih*a)\,min(1920\,816*a))/2)*2:trunc(min(max(iw/a\,ih)\,min(1920/a\,816))/2)*2,format=nv12" -codec:a:0 libfdk_aac -ac 2 -ab 256000 -af "volume=2" -copyts -avoid_negative_ts disabled -max_muxing_queue_size 2048 -f hls -max_delay 5000000 -hls_time 3 -hls_segment_type fmp4 -hls_fmp4_init_filename "1f9f67dc696b08a054da0e038e7651a0-1.mp4" -start_number 0 -hls_segment_filename "/transcode/1f9f67dc696b08a054da0e038e7651a0%d.mp4" -hls_playlist_type vod -hls_list_size 0 -y "/transcode/1f9f67dc696b08a054da0e038e7651a0.m3u8"
ffmpeg version 7.0.2-Jellyfin Copyright © 2000-2024 the FFmpeg developers
  built with gcc 13 (Ubuntu 13.3.0-6ubuntu2~24.04)
  configuration: --prefix=/usr/lib/jellyfin-ffmpeg --target-os=linux --extra-version=Jellyfin --disable-doc --disable-ffplay --disable-ptx-compression --disable-static --disable-libxcb --disable-sdl2 --disable-xlib --enable-lto=auto --enable-gpl --enable-version3 --enable-shared --enable-gmp --enable-gnutls --enable-chromaprint --enable-opencl --enable-libdrm --enable-libxml2 --enable-libass --enable-libfreetype --enable-libfribidi --enable-libfontconfig --enable-libharfbuzz --enable-libbluray --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libopenmpt --enable-libdav1d --enable-libsvtav1 --enable-libwebp --enable-libvpx --enable-libx264 --enable-libx265 --enable-libzvbi --enable-libzimg --enable-libfdk-aac --arch=amd64 --enable-libshaderc --enable-libplacebo --enable-vulkan --enable-vaapi --enable-amf --enable-libvpl --enable-ffnvcodec --enable-cuda --enable-cuda-llvm --enable-cuvid --enable-nvdec --enable-nvenc
  libavutil      59.  8.100 / 59.  8.100
  libavcodec    61.  3.100 / 61.  3.100
  libavformat    61.  1.100 / 61.  1.100
  libavdevice    61.  1.100 / 61.  1.100
  libavfilter    10.  1.100 / 10.  1.100
  libswscale      8.  1.100 /  8.  1.100
  libswresample  5.  1.100 /  5.  1.100
  libpostproc    58.  1.100 / 58.  1.100
DRM_IOCTL_VERSION, unsupported drm device by media driver: nvid
DRM_IOCTL_VERSION, unsupported drm device by media driver: nvid
[AVHWDeviceContext @ 0x6344b0deae80] libva: /usr/lib/jellyfin-ffmpeg/lib/dri/iHD_drv_video.so init failed
[AVHWDeviceContext @ 0x6344b0deae80] Failed to initialise VAAPI connection: 18 (invalid parameter).
Device creation failed: -5.
Failed to set value 'vaapi=va:/dev/dri/renderD128,driver=iHD' for option 'init_hw_device': Input/output error
Error parsing global options: Input/output error



RE: hevc sdr video transcode issues - TheDreadPirate - 2025-03-03

You checked "Allow encoding in AV1 format", which your iGPU does not support. It only supports AV1 decoding (the AV1 checkbox at the top).


RE: hevc sdr video transcode issues - KingPin - 2025-03-03

(2025-03-03, 12:39 PM)TheDreadPirate Wrote: You checked "Allow encoding in AV1 format", which your iGPU does not support.  It only supports AV1 decoding (the AV1 checkbox at the top).

hi thank you for the tip, I have now disabled it but same video still refuses to play, heres new log snippet and screenshot of settings. : 

Quote:/usr/lib/jellyfin-ffmpeg/ffmpeg -analyzeduration 200M -probesize 1G -f matroska -init_hw_device vaapi=va:/dev/dri/renderD128,driver=iHD -init_hw_device qsv=qs@va -filter_hw_device qs -hwaccel qsv -hwaccel_output_format qsv -noautorotate -c:v hevc_qsv -i file:"/library/movies/Shaun of the Dead (2004) {imdb-tt0365748}/Shaun of the Dead (2004) {imdb-tt0365748}.mkv" -noautoscale -map_metadata -1 -map_chapters -1 -threads 0 -map 0:0 -map 0:1 -map -0:s -codec:v:0 h264_qsv -low_power 1 -preset veryfast -b:v 12472683 -maxrate 12472683 -bufsize 24945366 -profile:v:0 high -level 51 -g:v:0 72 -keyint_min:v:0 72 -vf "setparams=color_primaries=bt709:color_trc=bt709:colorspace=bt709,vpp_qsv=format=nv12" -codec:a:0 libfdk_aac -ac 2 -ab 256000 -af "volume=2" -copyts -avoid_negative_ts disabled -max_muxing_queue_size 2048 -f hls -max_delay 5000000 -hls_time 3 -hls_segment_type fmp4 -hls_fmp4_init_filename "7e0edf99dc91456e334be6c365964b4c-1.mp4" -start_number 0 -hls_segment_filename "/transcode/7e0edf99dc91456e334be6c365964b4c%d.mp4" -hls_playlist_type vod -hls_list_size 0 -y "/transcode/7e0edf99dc91456e334be6c365964b4c.m3u8"

ffmpeg version 7.0.2-Jellyfin Copyright © 2000-2024 the FFmpeg developers
  built with gcc 13 (Ubuntu 13.3.0-6ubuntu2~24.04)
  configuration: --prefix=/usr/lib/jellyfin-ffmpeg --target-os=linux --extra-version=Jellyfin --disable-doc --disable-ffplay --disable-ptx-compression --disable-static --disable-libxcb --disable-sdl2 --disable-xlib --enable-lto=auto --enable-gpl --enable-version3 --enable-shared --enable-gmp --enable-gnutls --enable-chromaprint --enable-opencl --enable-libdrm --enable-libxml2 --enable-libass --enable-libfreetype --enable-libfribidi --enable-libfontconfig --enable-libharfbuzz --enable-libbluray --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libopenmpt --enable-libdav1d --enable-libsvtav1 --enable-libwebp --enable-libvpx --enable-libx264 --enable-libx265 --enable-libzvbi --enable-libzimg --enable-libfdk-aac --arch=amd64 --enable-libshaderc --enable-libplacebo --enable-vulkan --enable-vaapi --enable-amf --enable-libvpl --enable-ffnvcodec --enable-cuda --enable-cuda-llvm --enable-cuvid --enable-nvdec --enable-nvenc
  libavutil      59.  8.100 / 59.  8.100
  libavcodec    61.  3.100 / 61.  3.100
  libavformat    61.  1.100 / 61.  1.100
  libavdevice    61.  1.100 / 61.  1.100
  libavfilter    10.  1.100 / 10.  1.100
  libswscale      8.  1.100 /  8.  1.100
  libswresample  5.  1.100 /  5.  1.100
  libpostproc    58.  1.100 / 58.  1.100
DRM_IOCTL_VERSION, unsupported drm device by media driver: nvid
DRM_IOCTL_VERSION, unsupported drm device by media driver: nvid
[AVHWDeviceContext @ 0x63936aa3bf80] libva: /usr/lib/jellyfin-ffmpeg/lib/dri/iHD_drv_video.so init failed
[AVHWDeviceContext @ 0x63936aa3bf80] Failed to initialise VAAPI connection: 18 (invalid parameter).
Device creation failed: -5.
Failed to set value 'vaapi=va:/dev/dri/renderD128,driver=iHD' for option 'init_hw_device': Input/output error
Error parsing global options: Input/output error



RE: hevc sdr video transcode issues - TheDreadPirate - 2025-03-04

I see you have low power encoding enabled. Did you make the additional configuration changes needed to enable that?

https://jellyfin.org/docs/general/administration/hardware-acceleration/intel/#configure-and-verify-lp-mode-on-linux

It is optional for your CPU. Can you try unchecking both low power encoding boxes to see if it works without them?

I also see this.

Code:
DRM_IOCTL_VERSION, unsupported drm device by media driver: nvid

I'm assuming this laptop has an Nvidia GPU in it?

Let's also try a could things. Change your docker compose for the GPU passthrough to just pass in the entire /dev/dri directory.

Code:
devices:
      - /dev/dri/renderD128:/dev/dri/renderD128
      - /dev/dri/card0:/dev/dri/card0

Then remove /dev/dri/renderD128 from the Jellyfin transcoding config. The Intel Quick Sync driver will automatically find and use the first available Intel GPU. This setting really only matters if you have multiple Intel GPUs.


RE: hevc sdr video transcode issues - KingPin - 2025-03-04

hi, thank you the new tips Smiling-face

I switched to passing in the whole /dev/dri dir.
i disabled low power encodes.
removed the device from transcodes.
pulled latest image.

yes it does have a nvidia 3060 on this mini-pc

the error has changed now : 

Quote:
/usr/lib/jellyfin-ffmpeg/ffmpeg -analyzeduration 200M -probesize 1G -f matroska -init_hw_device vaapi=va:,vendor_id=0x8086,driver=iHD -init_hw_device qsv=qs@va -filter_hw_device qs -hwaccel qsv -hwaccel_output_format qsv -noautorotate -c:v hevc_qsv -i file:"/library/movies/Shaun of the Dead (2004) {imdb-tt0365748}/Shaun of the Dead (2004) {imdb-tt0365748}.mkv" -noautoscale -map_metadata -1 -map_chapters -1 -threads 0 -map 0:0 -map 0:1 -map -0:s -codec:v:0 h264_qsv -preset veryfast -b:v 12472683 -maxrate 12472683 -bufsize 24945366 -profile:v:0 high -level 51 -g:v:0 72 -keyint_min:v:0 72 -vf "setparams=color_primaries=bt709:color_trc=bt709:colorspace=bt709,vpp_qsv=format=nv12" -codec:a:0 libfdk_aac -ac 2 -ab 256000 -af "volume=2" -copyts -avoid_negative_ts disabled -max_muxing_queue_size 2048 -f hls -max_delay 5000000 -hls_time 3 -hls_segment_type fmp4 -hls_fmp4_init_filename "21677e8b6452b4f037934f5798bd0580-1.mp4" -start_number 0 -hls_segment_filename "/transcode/21677e8b6452b4f037934f5798bd0580%d.mp4" -hls_playlist_type vod -hls_list_size 0 -y "/transcode/21677e8b6452b4f037934f5798bd0580.m3u8"
ffmpeg version 7.0.2-Jellyfin Copyright © 2000-2024 the FFmpeg developers
  built with gcc 13 (Ubuntu 13.3.0-6ubuntu2~24.04)
  configuration: --prefix=/usr/lib/jellyfin-ffmpeg --target-os=linux --extra-version=Jellyfin --disable-doc --disable-ffplay --disable-ptx-compression --disable-static --disable-libxcb --disable-sdl2 --disable-xlib --enable-lto=auto --enable-gpl --enable-version3 --enable-shared --enable-gmp --enable-gnutls --enable-chromaprint --enable-opencl --enable-libdrm --enable-libxml2 --enable-libass --enable-libfreetype --enable-libfribidi --enable-libfontconfig --enable-libharfbuzz --enable-libbluray --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libopenmpt --enable-libdav1d --enable-libsvtav1 --enable-libwebp --enable-libvpx --enable-libx264 --enable-libx265 --enable-libzvbi --enable-libzimg --enable-libfdk-aac --arch=amd64 --enable-libshaderc --enable-libplacebo --enable-vulkan --enable-vaapi --enable-amf --enable-libvpl --enable-ffnvcodec --enable-cuda --enable-cuda-llvm --enable-cuvid --enable-nvdec --enable-nvenc
  libavutil      59.  8.100 / 59.  8.100
  libavcodec    61.  3.100 / 61.  3.100
  libavformat    61.  1.100 / 61.  1.100
  libavdevice    61.  1.100 / 61.  1.100
  libavfilter    10.  1.100 / 10.  1.100
  libswscale      8.  1.100 /  8.  1.100
  libswresample  5.  1.100 /  5.  1.100
  libpostproc    58.  1.100 / 58.  1.100
Device creation failed: -542398533.
Failed to set value 'vaapi=va:,vendor_id=0x8086,driver=iHD' for option 'init_hw_device': Generic error in an external library
Error parsing global options: Generic error in an external library



RE: hevc sdr video transcode issues - TheDreadPirate - 2025-03-04

Does your laptop disable the iGPU when the Nvidia GPU is active?

Perhaps just use NVENC? The codec support is about the same as is the quality, but Nvidia requires a bit more configuration when used with Docker.

https://jellyfin.org/docs/general/administration/hardware-acceleration/nvidia#configure-with-linux-virtualization


RE: hevc sdr video transcode issues - KingPin - 2025-03-04

i will look into using nvidia, thank you for all your help!