2023-08-28, 04:22 AM
(This post was last modified: 2023-08-28, 04:23 AM by bitmap. Edited 1 time in total.)
Different (not new in my cycle of trials) behavior:
Same behavior if I omit the -qsv_device option and let ffmpeg decide (it likely tries for my iGPU instead of the A380). I'm guessing I have something misconfigured, missing, or extra in the loop that's gumming things up here.
The extra options from the Jellyfin log are initializations that, as far as I can tell, are not needed when encoding in a simple system. They do, however, allow you to specify that the correct drivers are in use, which on my system, I've already verified and septuple checked. You can see from the repeated messages I included that both VA-API and QSV initializations are successful.
The error messages from ffmpeg are red herrings, as I don't have a ratecontrol mode set, frame rate is 23.98 FPS which is absolutely supported, it's 4K which is supported, p010le is the only 10-bit pixel format supported with QSV (yuv420p10le is not supported with QSV). I have no unsupported parameters in this ffmpeg command, so the issue lies somewhere else.
Code:
bitmap@server:$ ffmpeg -init_hw_device vaapi=va:,driver=iHD,kernel_driver=i915 -init_hw_device qsv=qs@va -filter_hw_device qs -hwaccel_output_format qsv -qsv_device /dev/dri/renderD129 \
-i "file.mkv" \
-map 0:v -map 0:m:language:eng \
-c:v av1_qsv -pix_fmt p010le \
-preset slower -global_quality:v 18 -c:a libopus -ac 2 \
-af "pan=stereo|FL<FC+0.30*FL+0.30*BL|FR<FC+0.30*FR+0.30*BR" \
-b:a 256k -c:s copy "file.mkv"
[REMOVED REPEATED INFORMATION]
libva info: VA-API version 1.17.0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_17
libva info: va_openDriver() returns 0
libva info: VA-API version 1.17.0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_17
libva info: va_openDriver() returns 0
libva info: VA-API version 1.17.0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_17
libva info: va_openDriver() returns 0
libva info: VA-API version 1.17.0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_17
libva info: va_openDriver() returns 0
[av1_qsv @ 0x56047b07a5c0] Selected ratecontrol mode is unsupported
[av1_qsv @ 0x56047b07a5c0] Current frame rate is unsupported
[av1_qsv @ 0x56047b07a5c0] Current picture structure is unsupported
[av1_qsv @ 0x56047b07a5c0] Current resolution is unsupported
[av1_qsv @ 0x56047b07a5c0] Current pixel format is unsupported
[av1_qsv @ 0x56047b07a5c0] some encoding parameters are not supported by the QSV runtime. Please double check the input parameters.
[vost#0:0/av1_qsv @ 0x56047ad37a80] Error while opening encoder - maybe incorrect parameters such as bit_rate, rate, width or height.
Error while filtering: Function not implemented
[out#0/matroska @ 0x56047af4be40] Nothing was written into output file, because at least one of its streams received no packets.
frame= 0 fps=0.0 q=0.0 Lsize= 0kB time=00:00:00.61 bitrate= 0.0kbits/s speed= 3x
Conversion failed!
Same behavior if I omit the -qsv_device option and let ffmpeg decide (it likely tries for my iGPU instead of the A380). I'm guessing I have something misconfigured, missing, or extra in the loop that's gumming things up here.
The extra options from the Jellyfin log are initializations that, as far as I can tell, are not needed when encoding in a simple system. They do, however, allow you to specify that the correct drivers are in use, which on my system, I've already verified and septuple checked. You can see from the repeated messages I included that both VA-API and QSV initializations are successful.
The error messages from ffmpeg are red herrings, as I don't have a ratecontrol mode set, frame rate is 23.98 FPS which is absolutely supported, it's 4K which is supported, p010le is the only 10-bit pixel format supported with QSV (yuv420p10le is not supported with QSV). I have no unsupported parameters in this ffmpeg command, so the issue lies somewhere else.
Jellyfin 10.10.0 LSIO Docker | Ubuntu 24.04 LTS | i7-13700K | Arc A380 6 GB | 64 GB RAM | 79 TB Storage