Jellyfin Forum
Jellyfin transcoding with AMD iGPU - 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: Jellyfin transcoding with AMD iGPU (/t-jellyfin-transcoding-with-amd-igpu)



Jellyfin transcoding with AMD iGPU - pwetzor - 2023-11-04

Hi Everyone,

I recently acquired a mini PC with an AMD Ryzen 5 5625U processor and set up Jellyfin within a container on TrueNAS Scale, running on a Proxmox server Smiling-face
I've successfully passed through my AMD iGPU and enabled hardware acceleration. The setup is working well overall, but I'm facing issues with certain videos not playing.

When attempting to play these files, I encounter the following message: 
"This client isn't compatible with the media, and the server isn't sending a compatible media format." 

I've experimented with different transcoding options, toggling various checkboxes, trying both AMD AMF and VAAPI, and even encoding in HEVC format. However, I haven't been able to find the right settings that allow all of my files to play.
A quick note: If I disable hardware acceleration in Jellyfin, the problematic files play without any issues. Therefore, it's not an inherent problem with the files themselves.

I am a beginner in video transcoding, so I would greatly appreciate your help and insights regarding the appropriate configuration for my case and the reasons behind it.

Thank you for your help.

[Image: 61EA5myT06L._AC_SL1500_.jpg]

Promox 8.0.4
TrueNAS-SCALE-22.12.3.3
Jellyfin/Container version (10.8.11_1.1.1)


RE: Jellyfin transcoding with AMD iGPU - nyanmisaka - 2023-11-04

Can you share the transcoding log?

They can be found in Dashboard->Logs->FFmpeg.Transcode*.log


RE: Jellyfin transcoding with AMD iGPU - pwetzor - 2023-11-04

Sure here is one with VAAPI :

/videos/4dbadae5-3203-d93a-5129-3b6241c79ed4/hls1/main/0.ts

{"Protocol":0,"Id":"4dbadae53203d93a51293b6241c79ed4","Path":"/mnt/medicenter/Series EN/Rick \u0026 Morty/Season 01/Rick.And.Morty.S01E01.Pilot.MaChO@zone-telechargement.com.avi","EncoderPath":null,"EncoderProtocol":null,"Type":0,"Container":"avi","Size":223461392,"Name":"Rick.And.Morty.S01E01.Pilot.MaChO@zone-telechargement.com","IsRemote":false,"ETag":"9f7ebf6d2074b2541c00ea55805d43ca","RunTimeTicks":13485159424,"ReadAtNativeFramerate":false,"IgnoreDts":false,"IgnoreIndex":false,"GenPtsInput":false,"SupportsTranscoding":true,"SupportsDirectStream":true,"SupportsDirectPlay":true,"IsInfiniteStream":false,"RequiresOpening":false,"OpenToken":null,"RequiresClosing":false,"LiveStreamId":null,"BufferMs":null,"RequiresLooping":false,"SupportsProbing":true,"VideoType":0,"IsoType":null,"Video3DFormat":null,"MediaStreams":[{"Codec":"mpeg4","CodecTag":"XVID","Language":null,"ColorRange":null,"ColorSpace":null,"ColorTransfer":null,"ColorPrimaries":null,"DvVersionMajor":null,"DvVersionMinor":null,"DvProfile":null,"DvLevel":null,"RpuPresentFlag":null,"ElPresentFlag":null,"BlPresentFlag":null,"DvBlSignalCompatibilityId":null,"Comment":null,"TimeBase":"104271/2500000","CodecTimeBase":null,"Title":null,"VideoRange":"SDR","VideoRangeType":"SDR","VideoDoViTitle":null,"LocalizedUndefined":null,"LocalizedDefault":null,"LocalizedForced":null,"LocalizedExternal":null,"DisplayTitle":"404p MPEG4 SDR","NalLengthSize":null,"IsInterlaced":false,"IsAVC":null,"ChannelLayout":null,"BitRate":1188162,"BitDepth":8,"RefFrames":1,"PacketLength":null,"Channels":null,"SampleRate":null,"IsDefault":false,"IsForced":false,"Height":404,"Width":720,"AverageFrameRate":23.975986,"RealFrameRate":23.975986,"Profile":"Advanced Simple Profile","Type":1,"AspectRatio":"16:9","Index":0,"Score":null,"IsExternal":false,"DeliveryMethod":null,"DeliveryUrl":null,"IsExternalUrl":null,"IsTextSubtitleStream":false,"SupportsExternalStream":false,"Path":null,"PixelFormat":"yuv420p","Level":5,"IsAnamorphic":null},{"Codec":"mp3","CodecTag":null,"Language":null,"ColorRange":null,"ColorSpace":null,"ColorTransfer":null,"ColorPrimaries":null,"DvVersionMajor":null,"DvVersionMinor":null,"DvProfile":null,"DvLevel":null,"RpuPresentFlag":null,"ElPresentFlag":null,"BlPresentFlag":null,"DvBlSignalCompatibilityId":null,"Comment":null,"TimeBase":"1/16000","CodecTimeBase":null,"Title":null,"VideoRange":null,"VideoRangeType":null,"VideoDoViTitle":null,"LocalizedUndefined":null,"LocalizedDefault":null,"LocalizedForced":null,"LocalizedExternal":null,"DisplayTitle":"MP3 - Stereo","NalLengthSize":null,"IsInterlaced":false,"IsAVC":null,"ChannelLayout":"stereo","BitRate":128000,"BitDepth":null,"RefFrames":null,"PacketLength":null,"Channels":2,"SampleRate":44100,"IsDefault":false,"IsForced":false,"Height":null,"Width":null,"AverageFrameRate":null,"RealFrameRate":null,"Profile":null,"Type":0,"AspectRatio":null,"Index":1,"Score":null,"IsExternal":false,"DeliveryMethod":null,"DeliveryUrl":null,"IsExternalUrl":null,"IsTextSubtitleStream":false,"SupportsExternalStream":false,"Path":null,"PixelFormat":null,"Level":0,"IsAnamorphic":null}],"MediaAttachments":[],"Formats":[],"Bitrate":1325672,"Timestamp":null,"RequiredHttpHeaders":{},"TranscodingUrl":null,"TranscodingSubProtocol":null,"TranscodingContainer":null,"AnalyzeDurationMs":null,"DefaultAudioStreamIndex":null,"DefaultSubtitleStreamIndex":null}

/usr/lib/jellyfin-ffmpeg/ffmpeg -analyzeduration 200M -init_hw_device vaapi=vaConfused-facedev/dri/renderD128 -filter_hw_device va -autorotate 0 -i file:"/mnt/medicenter/Series EN/Rick & Morty/Season 01/Rick.And.Morty.S01E01.Pilot.MaChO@zone-telechargement.com.avi" -map_metadata -1 -map_chapters -1 -threads 0 -map 0:0 -map 0:1 -map -0:s -codec:v:0 h264_vaapi -rc_mode VBR -b:v 5940810 -maxrate 5940810 -bufsize 11881620 -force_key_frames:0 "expr:gte(t,0+n_forced*3)" -vf "setparams=color_primaries=bt709:color_trc=bt709:colorspace=bt709,scale=trunc(min(max(iw\,ih*a)\,min(720\,404*a))/2)*2:trunc(min(max(iw/a\,ih)\,min(720/a\,404))/2)*2,format=nv12,hwupload=derive_device=vaapi" -codec:a:0 libmp3lame -ac 2 -ab 128000 -ar 44100 -copyts -avoid_negative_ts disabled -max_muxing_queue_size 2048 -f hls -max_delay 5000000 -hls_time 3 -hls_segment_type mpegts -start_number 0 -hls_segment_filename "/config/transcodes/ad7e91c05a780b07e46a6fb485138677%d.ts" -hls_playlist_type vod -hls_list_size 0 -y "/config/transcodes/ad7e91c05a780b07e46a6fb485138677.m3u8"


ffmpeg version 5.1.3-Jellyfin Copyright © 2000-2022 the FFmpeg developers
built with gcc 10 (Debian 10.2.1-6)
configuration: --prefix=/usr/lib/jellyfin-ffmpeg --target-os=linux --extra-libs=-lfftw3f --extra-version=Jellyfin --disable-doc --disable-ffplay --disable-ptx-compression --disable-static --disable-libxcb --disable-sdl2 --disable-xlib --enable-lto --enable-gpl --enable-version3 --enable-shared --enable-gmp --enable-gnutls --enable-chromaprint --enable-libdrm --enable-libass --enable-libfreetype --enable-libfribidi --enable-libfontconfig --enable-libbluray --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libopenmpt --enable-libdav1d --enable-libwebp --enable-libvpx --enable-libx264 --enable-libx265 --enable-libzvbi --enable-libzimg --enable-libfdk-aac --arch=amd64 --enable-libsvtav1 --enable-libshaderc --enable-libplacebo --enable-vulkan --enable-opencl --enable-vaapi --enable-amf --enable-libmfx --enable-ffnvcodec --enable-cuda --enable-cuda-llvm --enable-cuvid --enable-nvdec --enable-nvenc
libavutil 57. 28.100 / 57. 28.100
libavcodec 59. 37.100 / 59. 37.100
libavformat 59. 27.100 / 59. 27.100
libavdevice 59. 7.100 / 59. 7.100
libavfilter 8. 44.100 / 8. 44.100
libswscale 6. 7.100 / 6. 7.100
libswresample 4. 7.100 / 4. 7.100
libpostproc 56. 6.100 / 56. 6.100
[AVHWDeviceContext @ 0x56095900a900] No VA display found for device /dev/dri/renderD128.
Device creation failed: -22.
Failed to set value 'vaapi=vaConfused-facedev/dri/renderD128' for option 'init_hw_device': Invalid argument
Error parsing global options: Invalid argument



one with AMD AMF:
/videos/4dbadae5-3203-d93a-5129-3b6241c79ed4/hls1/main/0.ts

{"Protocol":0,"Id":"4dbadae53203d93a51293b6241c79ed4","Path":"/mnt/medicenter/Series EN/Rick \u0026 Morty/Season 01/Rick.And.Morty.S01E01.Pilot.MaChO@zone-telechargement.com.avi","EncoderPath":null,"EncoderProtocol":null,"Type":0,"Container":"avi","Size":223461392,"Name":"Rick.And.Morty.S01E01.Pilot.MaChO@zone-telechargement.com","IsRemote":false,"ETag":"9f7ebf6d2074b2541c00ea55805d43ca","RunTimeTicks":13485159424,"ReadAtNativeFramerate":false,"IgnoreDts":false,"IgnoreIndex":false,"GenPtsInput":false,"SupportsTranscoding":true,"SupportsDirectStream":true,"SupportsDirectPlay":true,"IsInfiniteStream":false,"RequiresOpening":false,"OpenToken":null,"RequiresClosing":false,"LiveStreamId":null,"BufferMs":null,"RequiresLooping":false,"SupportsProbing":true,"VideoType":0,"IsoType":null,"Video3DFormat":null,"MediaStreams":[{"Codec":"mpeg4","CodecTag":"XVID","Language":null,"ColorRange":null,"ColorSpace":null,"ColorTransfer":null,"ColorPrimaries":null,"DvVersionMajor":null,"DvVersionMinor":null,"DvProfile":null,"DvLevel":null,"RpuPresentFlag":null,"ElPresentFlag":null,"BlPresentFlag":null,"DvBlSignalCompatibilityId":null,"Comment":null,"TimeBase":"104271/2500000","CodecTimeBase":null,"Title":null,"VideoRange":"SDR","VideoRangeType":"SDR","VideoDoViTitle":null,"LocalizedUndefined":null,"LocalizedDefault":null,"LocalizedForced":null,"LocalizedExternal":null,"DisplayTitle":"404p MPEG4 SDR","NalLengthSize":null,"IsInterlaced":false,"IsAVC":null,"ChannelLayout":null,"BitRate":1188162,"BitDepth":8,"RefFrames":1,"PacketLength":null,"Channels":null,"SampleRate":null,"IsDefault":false,"IsForced":false,"Height":404,"Width":720,"AverageFrameRate":23.975986,"RealFrameRate":23.975986,"Profile":"Advanced Simple Profile","Type":1,"AspectRatio":"16:9","Index":0,"Score":null,"IsExternal":false,"DeliveryMethod":null,"DeliveryUrl":null,"IsExternalUrl":null,"IsTextSubtitleStream":false,"SupportsExternalStream":false,"Path":null,"PixelFormat":"yuv420p","Level":5,"IsAnamorphic":null},{"Codec":"mp3","CodecTag":null,"Language":null,"ColorRange":null,"ColorSpace":null,"ColorTransfer":null,"ColorPrimaries":null,"DvVersionMajor":null,"DvVersionMinor":null,"DvProfile":null,"DvLevel":null,"RpuPresentFlag":null,"ElPresentFlag":null,"BlPresentFlag":null,"DvBlSignalCompatibilityId":null,"Comment":null,"TimeBase":"1/16000","CodecTimeBase":null,"Title":null,"VideoRange":null,"VideoRangeType":null,"VideoDoViTitle":null,"LocalizedUndefined":null,"LocalizedDefault":null,"LocalizedForced":null,"LocalizedExternal":null,"DisplayTitle":"MP3 - Stereo","NalLengthSize":null,"IsInterlaced":false,"IsAVC":null,"ChannelLayout":"stereo","BitRate":128000,"BitDepth":null,"RefFrames":null,"PacketLength":null,"Channels":2,"SampleRate":44100,"IsDefault":false,"IsForced":false,"Height":null,"Width":null,"AverageFrameRate":null,"RealFrameRate":null,"Profile":null,"Type":0,"AspectRatio":null,"Index":1,"Score":null,"IsExternal":false,"DeliveryMethod":null,"DeliveryUrl":null,"IsExternalUrl":null,"IsTextSubtitleStream":false,"SupportsExternalStream":false,"Path":null,"PixelFormat":null,"Level":0,"IsAnamorphic":null}],"MediaAttachments":[],"Formats":[],"Bitrate":1325672,"Timestamp":null,"RequiredHttpHeaders":{},"TranscodingUrl":null,"TranscodingSubProtocol":null,"TranscodingContainer":null,"AnalyzeDurationMs":null,"DefaultAudioStreamIndex":null,"DefaultSubtitleStreamIndex":null}

/usr/lib/jellyfin-ffmpeg/ffmpeg -analyzeduration 200M -i file:"/mnt/medicenter/Series EN/Rick & Morty/Season 01/Rick.And.Morty.S01E01.Pilot.MaChO@zone-telechargement.com.avi" -map_metadata -1 -map_chapters -1 -threads 0 -map 0:0 -map 0:1 -map -0:s -codec:v:0 h264_amf -quality speed -rc cbr -qmin 0 -qmax 32 -b:v 5940810 -maxrate 5940810 -bufsize 11881620 -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(720\,404*a))/2)*2:trunc(min(max(iw/a\,ih)\,min(720/a\,404))/2)*2,format=yuv420p" -codec:a:0 libmp3lame -ac 2 -ab 128000 -ar 44100 -copyts -avoid_negative_ts disabled -max_muxing_queue_size 2048 -f hls -max_delay 5000000 -hls_time 3 -hls_segment_type mpegts -start_number 0 -hls_segment_filename "/config/transcodes/de692dc269488eed453aea41971791f1%d.ts" -hls_playlist_type vod -hls_list_size 0 -y "/config/transcodes/de692dc269488eed453aea41971791f1.m3u8"


ffmpeg version 5.1.3-Jellyfin Copyright © 2000-2022 the FFmpeg developers
built with gcc 10 (Debian 10.2.1-6)
configuration: --prefix=/usr/lib/jellyfin-ffmpeg --target-os=linux --extra-libs=-lfftw3f --extra-version=Jellyfin --disable-doc --disable-ffplay --disable-ptx-compression --disable-static --disable-libxcb --disable-sdl2 --disable-xlib --enable-lto --enable-gpl --enable-version3 --enable-shared --enable-gmp --enable-gnutls --enable-chromaprint --enable-libdrm --enable-libass --enable-libfreetype --enable-libfribidi --enable-libfontconfig --enable-libbluray --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libopenmpt --enable-libdav1d --enable-libwebp --enable-libvpx --enable-libx264 --enable-libx265 --enable-libzvbi --enable-libzimg --enable-libfdk-aac --arch=amd64 --enable-libsvtav1 --enable-libshaderc --enable-libplacebo --enable-vulkan --enable-opencl --enable-vaapi --enable-amf --enable-libmfx --enable-ffnvcodec --enable-cuda --enable-cuda-llvm --enable-cuvid --enable-nvdec --enable-nvenc
libavutil 57. 28.100 / 57. 28.100
libavcodec 59. 37.100 / 59. 37.100
libavformat 59. 27.100 / 59. 27.100
libavdevice 59. 7.100 / 59. 7.100
libavfilter 8. 44.100 / 8. 44.100
libswscale 6. 7.100 / 6. 7.100
libswresample 4. 7.100 / 4. 7.100
libpostproc 56. 6.100 / 56. 6.100
Input #0, avi, from 'fileConfused-facemnt/medicenter/Series EN/Rick & Morty/Season 01/Rick.And.Morty.S01E01.Pilot.MaChO@zone-telechargement.com.avi':
Metadata:
software : VirtualDubMod 1.5.10.2 (build 2542/release)
Duration: 00:22:28.52, start: 0.000000, bitrate: 1325 kb/s
Stream #0:0: Video: mpeg4 (Advanced Simple Profile) (XVID / 0x4449565Nerd-face, yuv420p, 720x404 [SAR 1:1 DAR 180:101], 1188 kb/s, 23.98 fps, 23.98 tbr, 23.98 tbn
Stream #0:1: Audio: mp3 (U[0][0][0] / 0x0055), 44100 Hz, stereo, fltp, 128 kb/s
Stream mapping:
Stream #0:0 -> #0:0 (mpeg4 (native) -> h264 (h264_amf))
Stream #0:1 -> #0:1 (mp3 (mp3float) -> mp3 (libmp3lame))
Press [q] to stop, [?] for help
[mpeg4 @ 0x555a1bae4340] Video uses a non-standard and wasteful way to store B-frames ('packed B-frames'). Consider using the mpeg4_unpack_bframes bitstream filter without encoding but stream copy to fix it.
[h264_amf @ 0x555a1baebb40] DLL libamfrt64.so.1 failed to open
double free or corruption (fasttop)


RE: Jellyfin transcoding with AMD iGPU - nyanmisaka - 2023-11-04

Quote:[AVHWDeviceContext @ 0x56095900a900] No VA display found for device /dev/dri/renderD128.
Device creation failed: -22.

It seems to be a permission issue.

Please check our docs to set the correct --group-add option for /dev/dri/renderD128.

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