Open esmorun opened 3 years ago
can confirm, there's weird lag/choppiness with it enabled
Maybe it has something to do with how it is rendered behind the web client. I'm unfortunately not really sure how to troubleshoot this. There's always using MPV Shim as a workaround but it's obviously less ideal than fixing the issue.
Perhaps the issue is decode.copy
and vaapi-copy
. Copying might make decoding slow, as far as I understand. Setting decode.enable
might help in principle, but probably it will still fall back to vaapi-copy
and nothing changes in the performance. At least I haven't been able to use vaapi
, just vaapi-copy
. I don't know how to fix that.
You could try running JMP as:
QT_XCB_GL_INTEGRATION="xcb_egl" jellyfinmediaplayer
and set hardware decoding to "enabled", not "copy".
Does that help? See: https://github.com/jellyfin/jellyfin-media-player/issues/231#issuecomment-1293408450
You could try running JMP as:
QT_XCB_GL_INTEGRATION="xcb_egl" jellyfinmediaplayer
and set hardware decoding to "enabled", not "copy".
Does that help? See: #231 (comment)
Thank you for the suggestion, it doesn't seem to make a difference to me. I see this in the log:
2022-10-31 10:01:58 [ DEBUG ] PlayerComponent.cpp @ 588 - libmpv_render: Loading hwdec driver 'vaapi-egl'
2022-10-31 10:01:58 [ DEBUG ] PlayerComponent.cpp @ 588 - libmpv_render/vaapi-egl: VAAPI hwdec only works with OpenGL or Vulkan backends.
2022-10-31 10:01:58 [ DEBUG ] PlayerComponent.cpp @ 588 - libmpv_render: Loading failed.
And later in the log it seems it falls back to vaapi-copy
2022-10-31 10:03:22 [ DEBUG ] PlayerComponent.cpp @ 588 - vd: Opening decoder h264
2022-10-31 10:03:22 [ DEBUG ] PlayerComponent.cpp @ 588 - vd: Looking at hwdec h264-nvdec...
2022-10-31 10:03:22 [ DEBUG ] PlayerComponent.cpp @ 588 - vd: Could not create device.
2022-10-31 10:03:22 [ DEBUG ] PlayerComponent.cpp @ 588 - vd: Looking at hwdec h264-vaapi...
2022-10-31 10:03:22 [ DEBUG ] PlayerComponent.cpp @ 588 - vd: Could not create device.
2022-10-31 10:03:22 [ DEBUG ] PlayerComponent.cpp @ 588 - vd: Looking at hwdec h264-vdpau...
2022-10-31 10:03:22 [ DEBUG ] PlayerComponent.cpp @ 588 - vd: Could not create device.
2022-10-31 10:03:22 [ DEBUG ] PlayerComponent.cpp @ 588 - vd: Looking at hwdec h264-nvdec-copy...
2022-10-31 10:03:22 [ ERROR ] PlayerComponent.cpp @ 594 - ffmpeg: AVHWDeviceContext: Cannot load libcuda.so.1
2022-10-31 10:03:22 [ ERROR ] PlayerComponent.cpp @ 594 - ffmpeg: AVHWDeviceContext: Could not dynamically load CUDA
2022-10-31 10:03:22 [ DEBUG ] PlayerComponent.cpp @ 588 - vd: Could not create device.
2022-10-31 10:03:22 [ DEBUG ] PlayerComponent.cpp @ 588 - vd: Looking at hwdec h264-vaapi-copy...
2022-10-31 10:03:22 [ DEBUG ] PlayerComponent.cpp @ 588 - libmpv_render: Window size: 2560x1440 (Borders: l=0 t=0 r=0 b=0)
2022-10-31 10:03:22 [ DEBUG ] PlayerComponent.cpp @ 588 - libmpv_render: Video source: 0x0 (0:0)
2022-10-31 10:03:22 [ DEBUG ] PlayerComponent.cpp @ 588 - libmpv_render: Video display: (0, 0) 1x1 -> (0, 0) 2560x1440
2022-10-31 10:03:22 [ DEBUG ] PlayerComponent.cpp @ 588 - libmpv_render: Video scale: 2560.000000/1440.000000
2022-10-31 10:03:22 [ DEBUG ] PlayerComponent.cpp @ 588 - libmpv_render: OSD borders: l=-1073740544 t=0 r=-1073740544 b=0
2022-10-31 10:03:22 [ DEBUG ] PlayerComponent.cpp @ 588 - libmpv_render: Video borders: l=0 t=0 r=0 b=0
2022-10-31 10:03:22 [ DEBUG ] PlayerComponent.cpp @ 588 - vaapi: Initialized VAAPI: version 1.14
2022-10-31 10:03:22 [ DEBUG ] PlayerComponent.cpp @ 588 - vd: Trying hardware decoding via h264-vaapi-copy. 2022-10-31 10:03:22 [ DEBUG ] PlayerComponent.cpp @ 588 - vd: Selected codec: h264 (H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10)
2022-10-31 10:03:22 [ DEBUG ] PlayerComponent.cpp @ 588 - vf: User filter list:
2022-10-31 10:03:22 [ DEBUG ] PlayerComponent.cpp @ 588 - vf: (empty)
2022-10-31 10:03:22 [ DEBUG ] PlayerComponent.cpp @ 588 - ad: Codec list:
2022-10-31 10:03:22 [ DEBUG ] PlayerComponent.cpp @ 588 - ad: aac - AAC (Advanced Audio Coding)
2022-10-31 10:03:22 [ DEBUG ] PlayerComponent.cpp @ 588 - ad: aac - AAC (Advanced Audio Coding)
2022-10-31 10:03:22 [ DEBUG ] PlayerComponent.cpp @ 588 - ad: aac_fixed (aac) - AAC (Advanced Audio Coding)
2022-10-31 10:03:22 [ DEBUG ] PlayerComponent.cpp @ 588 - ad: Opening decoder aac
2022-10-31 10:03:22 [ DEBUG ] PlayerComponent.cpp @ 588 - ad: Requesting 1 threads for decoding.
2022-10-31 10:03:22 [ DEBUG ] PlayerComponent.cpp @ 588 - ad: Selected codec: aac (AAC (Advanced Audio Coding))
2022-10-31 10:03:22 [ DEBUG ] PlayerComponent.cpp @ 588 - af: User filter list:
2022-10-31 10:03:22 [ DEBUG ] PlayerComponent.cpp @ 588 - af: (empty)
2022-10-31 10:03:22 [ DEBUG ] PlayerComponent.cpp @ 588 - cplayer: Starting playback...
Ok.. I had the same issue and that was fixed by launching JMP as I suggested. Could it be something similar but you need something else than Qt-related environment variable? I really don't know. But this discussion might be somewhat useful: https://github.com/mpv-player/mpv/issues/10424 Or maybe ask help from MPV team?
Hardware: Intel Pentium Silver J5005 / Intel® UHD Graphics 605 OS: Ubuntu 20.04
Steps to reproduce:
Observed behavior: The video plays at about 1-10fps depending on resolution/quality. System monitor shows that one of the CPU cores is always maxed out at 100%. Sometimes the UI freezes completely. Jellyfinmediaplayer.log seem to indicate that vaapi is working:
2021-09-05 13:19:02 [ INFO ] PlayerComponent.cpp @ 587 - vd: Using hardware decoding (vaapi-copy).
Expected behavior: The video should play smoothly with low CPU usage like it does in the standalone version of MPV, even high quality ones such as h265 @4k resolution.
Notes: Wayland or X11 doesn't matter. Vaapi is working fine in MPV, Firefox and Kodi on the same system. I also have a more powerful system with a Ryzen processor and Nvidia GPU. Playback is smooth, but when looking at the system monitor I also see one cpu core spiking to 100%. Seems like a single thread is locking up the UI on lower end hardware?