Direct Play failing after moving to ARC 380 - kurt hardee - 2024-05-31
I just got an Intel Arc 380, and after following the hardware encoding setup guide for Ubuntu 22.04 LTS. I can successfully transcode high resolution rips down to lower resolutions and play them (e.g. 4k to 1080p) but all direct playing of media seems to fail now, and even transcoding low resolution (e.g. 480p DVD rips) completely fails. Id really appreciate if someone could give me some insight, even my best googling brings up nothing but a failed regression test ticket from ffmpeg that they couldnt reproduce
Looking into the ffmpeg logs, I see a very strange error:
Code: ffmpeg version 6.0.1-Jellyfin Copyright (c) 2000-2023 the FFmpeg developers
built with gcc 11 (Ubuntu 11.4.0-1ubuntu1~22.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 --enable-gpl --enable-version3 --enable-shared --enable-gmp --enable-gnutls --enable-chromaprint --enable-opencl --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-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 58. 2.100 / 58. 2.100
libavcodec 60. 3.100 / 60. 3.100
libavformat 60. 3.100 / 60. 3.100
libavdevice 60. 1.100 / 60. 1.100
libavfilter 9. 3.100 / 9. 3.100
libswscale 7. 1.100 / 7. 1.100
libswresample 4. 10.100 / 4. 10.100
libpostproc 57. 1.100 / 57. 1.100
libva info: VA-API version 1.21.0
libva info: Trying to open /usr/lib/jellyfin-ffmpeg/lib/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_21
libva info: va_openDriver() returns 0
libva info: VA-API version 1.21.0
libva info: Trying to open /usr/lib/jellyfin-ffmpeg/lib/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_21
libva info: va_openDriver() returns 0
Input #0, matroska,webm, from 'file:/media/kdavidhardee/WD 1/NAS/Movies/Sky High/Sky High.mkv':
Metadata:
encoder : libmakemkv v1.17.4 (1.3.10/1.5.2) win(x64-release)
creation_time : 2023-10-08T01:48:59.000000Z
Duration: 01:39:29.96, start: 0.000000, bitrate: 6871 kb/s
Chapters:
Chapter #0:0: start 0.000000, end 414.747667
Metadata:
title : Chapter 01
Chapter #0:1: start 414.747667, end 1020.519500
Metadata:
title : Chapter 02
Chapter #0:2: start 1020.519500, end 1358.690667
Metadata:
title : Chapter 03
Chapter #0:3: start 1358.690667, end 1678.877200
Metadata:
title : Chapter 04
Chapter #0:4: start 1678.877200, end 2252.283367
Metadata:
title : Chapter 05
Chapter #0:5: start 2252.283367, end 2662.660000
Metadata:
title : Chapter 06
Chapter #0:6: start 2662.660000, end 3246.576667
Metadata:
title : Chapter 07
Chapter #0:7: start 3246.576667, end 3661.824833
Metadata:
title : Chapter 08
Chapter #0:8: start 3661.824833, end 4371.984283
Metadata:
title : Chapter 09
Chapter #0:9: start 4371.984283, end 4912.607700
Metadata:
title : Chapter 10
Chapter #0:10: start 4912.607700, end 5640.801833
Metadata:
title : Chapter 11
Chapter #0:11: start 5640.801833, end 5969.964000
Metadata:
title : Chapter 12
Stream #0:0(eng): Video: mpeg2video (Main), yuv420p(tv, progressive), 720x480 [SAR 8:9 DAR 4:3], 29.97 fps, 29.97 tbr, 1k tbn
Metadata:
BPS-eng : 5573550
DURATION-eng : 01:39:29.964000000
NUMBER_OF_FRAMES-eng: 143136
NUMBER_OF_BYTES-eng: 4159237152
SOURCE_ID-eng : 0100E0
_STATISTICS_WRITING_APP-eng: MakeMKV v1.17.4 win(x64-release)
_STATISTICS_WRITING_DATE_UTC-eng: 2023-10-08 01:48:59
_STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES SOURCE_ID
Side data:
cpb: bitrate max/min/avg: 9800000/0/0 buffer size: 1835008 vbv_delay: N/A
Stream #0:1(eng): Audio: ac3, 48000 Hz, 5.1(side), fltp, 448 kb/s (default)
Metadata:
title : Surround 5.1
BPS-eng : 448000
DURATION-eng : 01:39:29.920000000
NUMBER_OF_FRAMES-eng: 186560
NUMBER_OF_BYTES-eng: 334315520
SOURCE_ID-eng : 0180BD
_STATISTICS_WRITING_APP-eng: MakeMKV v1.17.4 win(x64-release)
_STATISTICS_WRITING_DATE_UTC-eng: 2023-10-08 01:48:59
_STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES SOURCE_ID
Stream #0:2(fre): Audio: ac3, 48000 Hz, 5.1(side), fltp, 448 kb/s
Metadata:
title : Surround 5.1
BPS-eng : 448000
DURATION-eng : 01:39:29.920000000
NUMBER_OF_FRAMES-eng: 186560
NUMBER_OF_BYTES-eng: 334315520
SOURCE_ID-eng : 0181BD
_STATISTICS_WRITING_APP-eng: MakeMKV v1.17.4 win(x64-release)
_STATISTICS_WRITING_DATE_UTC-eng: 2023-10-08 01:48:59
_STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES SOURCE_ID
Stream #0:3(spa): Audio: ac3, 48000 Hz, 5.1(side), fltp, 384 kb/s
Metadata:
title : Surround 5.1
BPS-eng : 384000
DURATION-eng : 01:39:29.920000000
NUMBER_OF_FRAMES-eng: 186560
NUMBER_OF_BYTES-eng: 286556160
SOURCE_ID-eng : 0182BD
_STATISTICS_WRITING_APP-eng: MakeMKV v1.17.4 win(x64-release)
_STATISTICS_WRITING_DATE_UTC-eng: 2023-10-08 01:48:59
_STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES SOURCE_ID
Stream #0:4(eng): Subtitle: dvd_subtitle, 720x480 (default)
Metadata:
BPS-eng : 6172
DURATION-eng : 01:34:07.968333333
NUMBER_OF_FRAMES-eng: 1607
NUMBER_OF_BYTES-eng: 4357800
SOURCE_ID-eng : 0120BD
_STATISTICS_WRITING_APP-eng: MakeMKV v1.17.4 win(x64-release)
_STATISTICS_WRITING_DATE_UTC-eng: 2023-10-08 01:48:59
_STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES SOURCE_ID
Stream #0:5(fre): Subtitle: dvd_subtitle, 720x480
Metadata:
BPS-eng : 5744
DURATION-eng : 01:33:31.531722222
NUMBER_OF_FRAMES-eng: 1478
NUMBER_OF_BYTES-eng: 4029148
SOURCE_ID-eng : 0121BD
_STATISTICS_WRITING_APP-eng: MakeMKV v1.17.4 win(x64-release)
_STATISTICS_WRITING_DATE_UTC-eng: 2023-10-08 01:48:59
_STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES SOURCE_ID
Stream #0:6(fre): Subtitle: dvd_subtitle, 720x480
Metadata:
BPS-eng : 78
DURATION-eng : 01:33:17.417622222
NUMBER_OF_FRAMES-eng: 22
NUMBER_OF_BYTES-eng: 55224
SOURCE_ID-eng : 0122BD
_STATISTICS_WRITING_APP-eng: MakeMKV v1.17.4 win(x64-release)
_STATISTICS_WRITING_DATE_UTC-eng: 2023-10-08 01:48:59
_STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES SOURCE_ID
Stream #0:7(spa): Subtitle: dvd_subtitle, 720x480
Metadata:
BPS-eng : 44
DURATION-eng : 01:33:38.137277777
NUMBER_OF_FRAMES-eng: 13
NUMBER_OF_BYTES-eng: 31480
SOURCE_ID-eng : 0123BD
_STATISTICS_WRITING_APP-eng: MakeMKV v1.17.4 win(x64-release)
_STATISTICS_WRITING_DATE_UTC-eng: 2023-10-08 01:48:59
_STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES SOURCE_ID
Stream #0:8(eng): Subtitle: subrip
Metadata:
BPS-eng : 138
DURATION-eng : 01:36:45.181000000
NUMBER_OF_FRAMES-eng: 1767
NUMBER_OF_BYTES-eng: 100174
SOURCE_ID-eng : 0100E0
_STATISTICS_WRITING_APP-eng: MakeMKV v1.17.4 win(x64-release)
_STATISTICS_WRITING_DATE_UTC-eng: 2023-10-08 01:48:59
_STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES SOURCE_ID
Stream mapping:
Stream #0:0 (mpeg2video) -> setparams:default (graph 0)
Stream #0:4 (dvdsub) -> scale:default (graph 0)
overlay_qsv:default (graph 0) -> Stream #0:0 (h264_qsv)
Stream #0:1 -> #0:1 (ac3 (native) -> ac3 (native))
Press [q] to stop, [?] for help
[matroska,webm @ 0x583742a29ec0] sub2video: using 720x480 canvas
libva info: VA-API version 1.21.0
libva info: Trying to open /usr/lib/jellyfin-ffmpeg/lib/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_21
libva info: va_openDriver() returns 0
libva info: VA-API version 1.21.0
libva info: Trying to open /usr/lib/jellyfin-ffmpeg/lib/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_21
libva info: va_openDriver() returns 0
Output #0, hls, to '/var/cache/jellyfin/transcodes/d284a28ce86faf1b229d5cd7cf0ed460.m3u8':
Metadata:
encoder : Lavf60.3.100
Stream #0:0: Video: h264, qsv(progressive), 720x480 [SAR 8:9 DAR 4:3], q=2-31, 6871 kb/s, 29.97 fps, 90k tbn
Metadata:
encoder : Lavc60.3.100 h264_qsv
Side data:
cpb: bitrate max/min/avg: 6871458/0/6871458 buffer size: 13742916 vbv_delay: N/A
Stream #0:1: Audio: ac3, 48000 Hz, stereo, fltp, 256 kb/s (default)
Metadata:
encoder : Lavc60.3.100 ac3
frame= 0 fps=0.0 q=0.0 size=N/A time=00:00:00.00 bitrate=N/A speed= 0x
[Parsed_overlay_qsv_11 @ 0x583742b4ac00] Error running VPP: undefined behavior (-16)
Error while filtering: Internal bug, should not have happened
Failed to inject frame into filter network: Internal bug, should not have happened
Error while processing the decoded data for stream #0:0
Conversion failed!
RE: Direct Play failing after moving to ARC 380 - bitmap - 2024-05-31
What does your hardware acceleration page look like? What are your server specs, OS, etc...? If you're on Linux, what distro and kernel are you running?
RE: Direct Play failing after moving to ARC 380 - kurt hardee - 2024-05-31
Jellyfin 10.9.3, Ubuntu 22.04.4 LTS, Kernel 6.5, Intel i7 6700, 16GB RAM. Direct play worked with no dgpu before adding the Arc A380.
My HW accel page is all defaults except setting the HW acceleration to Intel QuickSync (QSV), enabling hw decoding for H264, HEVC, MPEG2, VP9, AV1, and all three Hardware encoding options are checked.
In addition, transcoding (when it works e.g. 4k HEVC down to 1080p H264) does work on the gpu, Ive manually verified this with intel_gpu_top, so the GPU is at least somewhat set up correctly.
RE: Direct Play failing after moving to ARC 380 - kurt hardee - 2024-05-31
As more context, I might have slightly misidentified the issue as being just with Direct Playback, but I am unsure, so Ill just post my observations here:
Windows Jellyfin Client:
I see failures when trying to direct play 480p MPEG2, and based on intel_gpu_top, it then tries to transcode to play them, it loops and fails and locks up the client entirely. Even leaving it for a couple of hours still never loads and it fails with the ffmpeg log I posted originally.
1080p H264 doesnt direct play and instead transcodes 1080p H264 to... 1080p H264? It gives the reason as "There was an error starting direct playback"
4K HEVC transcodes to 1080p H264 with the same reason
Jellyfin Android App:
480p wont direct play and tries to transcode as well, and fails similarly
1080p actually direct plays just fine
4K tries to direct play, but I dont actually think my phone screen is 4K, so it gets weird, but transcoding to 1080p works fine
Findroid Android App:
480p, 1080p, and 4K appear to just direct play based on gpu top, but I cant find an overlay to tell for sure
RE: Direct Play failing after moving to ARC 380 - kurt hardee - 2024-05-31
Okay so the issue on Windows for only wanting to transcode and never direct play is now solved, turns out I had somehow checked "Always Force Transcode" in the web player, and unchecking it there fixes things for windows. Findroid still works just fine.
However, there still seems to be an issue regarding transcoding 480p MPEG2, and I cant figure out how to direct play it via the Jellyfin Android App at all, and considering the ffmpeg logs I posted, I think it might be an issue with ffmpeg itself, since the regression failure I posted uses a similar 480p MPEG2 video clip and fails with the same -16 error.
Should I mark this thread as solved, since technically the Direct Play issue is fixed for everything but the android app? What should I do about the ffmpeg 480p failures?
RE: Direct Play failing after moving to ARC 380 - TheDreadPirate - 2024-05-31
MPEG2 is an old codec and devices are starting to drop support for it. Its such a simple codec that CPU decoding isn't much of an issue, but the server always prefers to transcode to a codec the device can hardware accelerate.
RE: Direct Play failing after moving to ARC 380 - kurt hardee - 2024-06-01
Cool, Ill just disable hardware decoding of MPEG2 then and mark this thread as solved. Apologies for making noise about something that was my own misconfiguration
|