Closed Felamande closed 4 weeks ago
I think LP mode is required on N95, can you try enable it?
@gnattu are you sure? The encoder used in the attached logs is libx264 and not QSV
I don't know what's the problem then. QSV just segfaults and providing no info for debug. Enable prefer OS native decoder might help but maybe not.
@gnattu Hi, update jellyfin to 10.10.0 and ffmpeg to 7.0.2, open LP mode and enable prefer OS native decoder, get segfault and backtrace:
Reading symbols from /usr/lib/jellyfin-ffmpeg/ffmpeg...
(No debugging symbols found in /usr/lib/jellyfin-ffmpeg/ffmpeg)
(gdb) r
Starting program: /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 -canvas_size 1920x1080 -i file:/media/Movies/Venom.Let.There.Be.Carnage.2021.2160p.UHD.BluRay.HDR.x265.Atmos.TrueHD7.1-HDChina/Venom.Let.There.Be.Carnage.2021.2160p.UHD.BluRay.HDR.x265.Atmos.TrueHD7.1-HDChina.mkv -noautoscale -map_metadata -1 -map_chapters -1 -threads 0 -map 0:0 -map 0:1 -map -0:0 -codec:v:0 h264_qsv -low_power 1 -preset veryfast -b:v 49138173 -maxrate 49138173 -bufsize 98276346 -profile:v:0 high -level 51 -g:v:0 72 -keyint_min:v:0 72 -filter_complex \[0:4\]scale,scale=-1:1080:fast_bilinear,crop,pad=max\(1998\\,iw\):max\(1080\\,ih\):\(ow-iw\)/2:\(oh-ih\)/2:black@0,crop=1998:1080,format=bgra,hwupload=derive_device=qsv:extra_hw_frames=64\[sub\]\;\[0:0\]setparams=color_primaries=bt709:color_trc=bt709:colorspace=bt709,vpp_qsv=format=nv12\[main\]\;\[main\]\[sub\]overlay_qsv=eof_action=pass:repeatlast=0:w=3840:h=2076 -start_at_zero -codec:a:0 libfdk_aac -ac 6 -ab 640000 -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 99d6f1855c6fb13b9da193f6107cdbb7-1.mp4 -start_number 0 -hls_segment_filename /cache/transcodes/99d6f1855c6fb13b9da193f6107cdbb7%d.mp4 -hls_playlist_type vod -hls_list_size 0 -y /cache/transcodes/99d6f1855c6fb13b9da193f6107cdbb7.m3u8
warning: Error disabling address space randomization: Operation not permitted
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
ffmpeg version 7.0.2-Jellyfin Copyright (c) 2000-2024 the FFmpeg developers
built with gcc 12 (Debian 12.2.0-14)
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
[New Thread 0x7fd7a32006c0 (LWP 14913)]
[New Thread 0x7fd7a28006c0 (LWP 14914)]
[Thread 0x7fd7a32006c0 (LWP 14913) exited]
[Thread 0x7fd7a28006c0 (LWP 14914) exited]
[New Thread 0x7fd7a28006c0 (LWP 14915)]
[New Thread 0x7fd7a32006c0 (LWP 14916)]
[Thread 0x7fd7a32006c0 (LWP 14916) exited]
[Thread 0x7fd7a28006c0 (LWP 14915) exited]
libva info: VA-API version 1.22.0
libva info: Trying to open /usr/lib/jellyfin-ffmpeg/lib/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_22
libva info: va_openDriver() returns 0
Thread 1 "ffmpeg" received signal SIGSEGV, Segmentation fault.
0x00007fd7a45fbff5 in ?? () from /usr/lib/jellyfin-ffmpeg/lib/dri/iHD_drv_video.so
(gdb) bt
#0 0x00007fd7a45fbff5 in ?? () from /usr/lib/jellyfin-ffmpeg/lib/dri/iHD_drv_video.so
#1 0x00007fd7a460a0ce in ?? () from /usr/lib/jellyfin-ffmpeg/lib/dri/iHD_drv_video.so
#2 0x00007fd7a4614eea in ?? () from /usr/lib/jellyfin-ffmpeg/lib/dri/iHD_drv_video.so
#3 0x00007fd7a47a9dba in ?? () from /usr/lib/jellyfin-ffmpeg/lib/dri/iHD_drv_video.so
#4 0x00007fd7a47a0ced in ?? () from /usr/lib/jellyfin-ffmpeg/lib/dri/iHD_drv_video.so
#5 0x00007fd7a47a9189 in ?? () from /usr/lib/jellyfin-ffmpeg/lib/dri/iHD_drv_video.so
#6 0x00007fd7a47ae472 in ?? () from /usr/lib/jellyfin-ffmpeg/lib/dri/iHD_drv_video.so
#7 0x00007fd7a47adc0f in ?? () from /usr/lib/jellyfin-ffmpeg/lib/dri/iHD_drv_video.so
#8 0x00007fd7a47ae09a in ?? () from /usr/lib/jellyfin-ffmpeg/lib/dri/iHD_drv_video.so
#9 0x00007fd7a97d6d10 in CmDevice_RT::OSALExtensionExecute(unsigned int, void*, unsigned int, void**, unsigned int)
() from /usr/lib/jellyfin-ffmpeg/lib/libigfxcmrt.so.7
#10 0x00007fd7a97d6b61 in CmDevice_RT::CreateDeviceInUmd() () from /usr/lib/jellyfin-ffmpeg/lib/libigfxcmrt.so.7
#11 0x00007fd7a97d6a18 in CmDevice_RT::Initialize(bool, unsigned int) ()
from /usr/lib/jellyfin-ffmpeg/lib/libigfxcmrt.so.7
#12 0x00007fd7a97d63f2 in CmDevice_RT::Create(void*&, CmDevice_RT*&, unsigned int) ()
from /usr/lib/jellyfin-ffmpeg/lib/libigfxcmrt.so.7
#13 0x00007fd7a97d8411 in CreateCmDeviceEx () from /usr/lib/jellyfin-ffmpeg/lib/libigfxcmrt.so.7
#14 0x00007fd7a1b7f804 in ?? () from /usr/lib/jellyfin-ffmpeg/lib/libmfx-gen.so.1.2.13
#15 0x00007fd7a172ad83 in ?? () from /usr/lib/jellyfin-ffmpeg/lib/libmfx-gen.so.1.2.13
#16 0x00007fd7a172b475 in ?? () from /usr/lib/jellyfin-ffmpeg/lib/libmfx-gen.so.1.2.13
#17 0x00007fd7a17243e0 in ?? () from /usr/lib/jellyfin-ffmpeg/lib/libmfx-gen.so.1.2.13
#18 0x00007fd7a16d0fc1 in ?? () from /usr/lib/jellyfin-ffmpeg/lib/libmfx-gen.so.1.2.13
#19 0x00007fd7a16d1cea in ?? () from /usr/lib/jellyfin-ffmpeg/lib/libmfx-gen.so.1.2.13
#20 0x00007fd7ab7affd3 in ?? () from /usr/lib/jellyfin-ffmpeg/lib/libvpl.so.2
#21 0x00007fd7ab7b2a8c in ?? () from /usr/lib/jellyfin-ffmpeg/lib/libvpl.so.2
#22 0x00007fd7ab7acfb7 in MFXEnumImplementations () from /usr/lib/jellyfin-ffmpeg/lib/libvpl.so.2
#23 0x00007fd7ac63b315 in ?? () from /usr/lib/jellyfin-ffmpeg/lib/libavutil.so.59
#24 0x00007fd7ac6bb012 in ?? () from /usr/lib/jellyfin-ffmpeg/lib/libavutil.so.59
#25 0x00007fd7ac638261 in av_hwdevice_ctx_create_derived_opts () from /usr/lib/jellyfin-ffmpeg/lib/libavutil.so.59
#26 0x00005607b9f3c79e in ?? ()
#27 0x00005607b9f3a990 in ?? ()
#28 0x00005607b9f3c279 in ?? ()
#29 0x00005607b9f0d674 in ?? ()
#30 0x00007fd7ac44624a in __libc_start_call_main (main=main@entry=0x5607b9f0b8f0, argc=argc@entry=91,
argv=argv@entry=0x7ffee61db6b8) at ../sysdeps/nptl/libc_start_call_main.h:58
#31 0x00007fd7ac446305 in __libc_start_main_impl (main=0x5607b9f0b8f0, argc=91, argv=0x7ffee61db6b8,
init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffee61db6a8)
at ../csu/libc-start.c:360
#32 0x00005607b9f0ed81 in ?? ()
(gdb)
Debian 12 (Linux 6.1) comes with no ADL-N (intel N100/N95) support, which requires Linux 6.2. But the required i915 firmware may be missing even though you got the 6.10 kernel from the backport repo. Use sudo dmesg | grep i915
to get more information.
@nyanmisaka
root@tzhmedia:~# sudo dmesg | grep i915
[ 3.687132] i915 0000:00:02.0: [drm] VT-d active for gfx access
[ 3.687138] i915 0000:00:02.0: vgaarb: deactivate vga console
[ 3.687196] i915 0000:00:02.0: [drm] Using Transparent Hugepages
[ 3.691841] i915 0000:00:02.0: vgaarb: VGA decodes changed: olddecodes=io+mem,decodes=io+mem:owns=io+mem
[ 3.691893] i915 0000:00:02.0: firmware: failed to load i915/adlp_dmc.bin (-2)
[ 3.691900] i915 0000:00:02.0: firmware: failed to load i915/adlp_dmc.bin (-2)
[ 3.691901] i915 0000:00:02.0: Direct firmware load for i915/adlp_dmc.bin failed with error -2
[ 3.691909] i915 0000:00:02.0: firmware: failed to load i915/adlp_dmc_ver2_16.bin (-2)
[ 3.691914] i915 0000:00:02.0: firmware: failed to load i915/adlp_dmc_ver2_16.bin (-2)
[ 3.691916] i915 0000:00:02.0: Direct firmware load for i915/adlp_dmc_ver2_16.bin failed with error -2
[ 3.691917] i915 0000:00:02.0: [drm] Failed to load DMC firmware i915/adlp_dmc.bin (-ENOENT). Disabling runtime power management.
[ 3.691919] i915 0000:00:02.0: [drm] DMC firmware homepage: https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git
[ 3.695465] i915 0000:00:02.0: firmware: failed to load i915/tgl_guc_70.bin (-2)
[ 3.695474] i915 0000:00:02.0: firmware: failed to load i915/tgl_guc_70.bin (-2)
[ 3.695482] i915 0000:00:02.0: firmware: failed to load i915/tgl_guc_70.1.1.bin (-2)
[ 3.695487] i915 0000:00:02.0: firmware: failed to load i915/tgl_guc_70.1.1.bin (-2)
[ 3.695493] i915 0000:00:02.0: firmware: failed to load i915/tgl_guc_69.0.3.bin (-2)
[ 3.695499] i915 0000:00:02.0: firmware: failed to load i915/tgl_guc_69.0.3.bin (-2)
[ 3.695500] i915 0000:00:02.0: [drm] *ERROR* GT0: GuC firmware i915/tgl_guc_70.bin: fetch failed -ENOENT
[ 3.695506] i915 0000:00:02.0: [drm] GT0: GuC firmware(s) can be downloaded from https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/tree/i915
[ 3.698208] i915 0000:00:02.0: [drm] GT0: GuC firmware i915/tgl_guc_70.bin version 0.0.0
[ 3.698283] i915 0000:00:02.0: [drm] *ERROR* GT0: GuC initialization failed -ENOENT
[ 3.698289] i915 0000:00:02.0: [drm] *ERROR* GT0: Enabling uc failed (-5)
[ 3.698292] i915 0000:00:02.0: [drm] *ERROR* GT0: Failed to initialize GPU, declaring it wedged!
[ 3.699149] i915 0000:00:02.0: [drm:add_taint_for_CI [i915]] CI tainted:0x9 by intel_gt_init+0xb7/0x350 [i915]
[ 3.802056] [drm] Initialized i915 1.6.0 20230929 for 0000:00:02.0 on minor 0
[ 3.834794] i915 0000:00:02.0: [drm] Cannot find any crtc or sizes
[ 3.850810] i915 0000:00:02.0: [drm] Cannot find any crtc or sizes
[ 3.850819] snd_hda_intel 0000:00:1f.3: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])
@Felamande you are missing the required i915 firmware. Please follow instructions here https://jellyfin.org/docs/general/administration/hardware-acceleration/intel#low-power-encoding
Closing this issue as this is a configuration issue and not a Jellyfin bug. Please head to our forum or chat rooms for help if you encounter further issues. https://jellyfin.org/contact
Thank you, this solved my problem, It may be the upgrade from Debian 11 to Debian 12 that broke something in my system.
This issue respects the following points:
Description of the bug
play transcode video in web client, and ffmpeg returns exit code 139, and get playback error in web browser client. my transcode configuration:
Reproduction steps
set hardware acceleration to QSV play transcode video get playback error
What is the current bug behavior?
get playback error
What is the expected correct behavior?
playback smoothly
Jellyfin Server version
Older*
Specify commit id
No response
Specify unstable release number
No response
Specify version number
10.9.11
Specify the build version
10.9.11
Environment
Jellyfin logs
FFmpeg logs
Client / Browser logs
No response
Relevant screenshots or videos
No response
Additional information
No response