Wyse 5070 - How to enable transcoding? - nkkfs0 - 2023-12-09
Hello,
Recently, I've started to use Jellyfin locally hosted on Proxmox and Dell Wyse 5070 with Intel® Pentium® Silver J5005 processor.
Everything seems to be good but... whenever I want to watch something on Apple TV with Infuse or Swiftfin client, I'm getting only "Direct Play" feature and my CPU usage jumps to around 25-95% (with assigned 2 cores for container).
I've tried with 720p H264, 4K HEVC. Sometimes Im getting notification like: "This client does not support this media format and the server does not send the format."
When I watched logs, I saw something like:
Quote:[2023-12-09 14:10:43.583 +01:00] [ERR] FFmpeg exited with code 1
[2023-12-09 14:10:43.588 +01:00] [ERR] Error processing request. URL "GET" "/videos/50416cb7-4691-9612-eb99-3f0d5429ca63/hls1/main/0.ts".
Here is FFMpeg log (probably):
https://pastebin.com/szrS7KPP
In Settings -> Playback I have:
Hardware acceleration: Intel QSV
and checked: H264, HEVC, HEVC 10bit, VP9 10 bit.
Am I configured something wrong? Can someone help me with configure this to get low cpu usage on many devices? Generally I'll use Apple TV with Infuse or Swiftfin player.
RE: Wyse 5070 - How to enable transcoding? - TheDreadPirate - 2023-12-09
Did you setup GPU passthrough for your Jellyfin?
Can you describe how you are running Jellyfin? In a VM or a LXC container?
RE: Wyse 5070 - How to enable transcoding? - TheDreadPirate - 2023-12-09
Also, the times when you are seeing high CPU usage when the video is not transcoding, it's likely that the AUDIO is transcoding.
RE: Wyse 5070 - How to enable transcoding? - nkkfs0 - 2023-12-09
(2023-12-09, 01:55 PM)TheDreadPirate Wrote: Did you setup GPU passthrough for your Jellyfin?
Can you describe how you are running Jellyfin? In a VM or a LXC container?
I didn't set any GPU passthrough in Proxmox for Jellyfin. I use only intergrated GPU if asking I mean, I'm not using any external GPU.
I'm running Jellyfin as LXC Container.
(2023-12-09, 01:55 PM)TheDreadPirate Wrote: Also, the times when you are seeing high CPU usage when the video is not transcoding, it's likely that the AUDIO is transcoding.
Whoa. I didn't know that.
Generally, Am I able to decrease it any way?
RE: Wyse 5070 - How to enable transcoding? - TheDreadPirate - 2023-12-09
The iGPU is what you would be passing into the container. Your J5005 does have Quick Sync. There has to be an option to have the container use the iGPU. AFAIK, Proxmox does not do that automatically. But I don't use Proxmox so what do I know.
Also, since you are not using the official docker image, I think you need to make sure that the Proxmox host has all the Intel drivers installed. So you would have to follow the bare metal Debian instructions here. Proxmox is Debian, right?
https://jellyfin.org/docs/general/administration/hardware-acceleration/intel/#configure-on-linux-host
RE: Wyse 5070 - How to enable transcoding? - nkkfs0 - 2023-12-09
(2023-12-09, 05:43 PM)TheDreadPirate Wrote: The iGPU is what you would be passing into the container. Your J5005 does have Quick Sync. There has to be an option to have the container use the iGPU. AFAIK, Proxmox does not do that automatically. But I don't use Proxmox so what do I know.
Also, since you are not using the official docker image, I think you need to make sure that the Proxmox host has all the Intel drivers installed. So you would have to follow the bare metal Debian instructions here. Proxmox is Debian, right?
https://jellyfin.org/docs/general/administration/hardware-acceleration/intel/#configure-on-linux-host
Proxmox is probably Debian but my container uses Ubuntu 22.04
Generally everything seems to be good.
There are inputs from commands:
Quote:jellyfin-ffmpeg5 is already the newest version (5.1.4-2-jammy).
jellyfin-ffmpeg5 set to manually installed.
0 upgraded, 0 newly installed, 0 to remove and 10 not upgraded.
Quote:$ apt policy intel-opencl-icd
intel-opencl-icd:
Installed: 22.14.22890-1
Candidate: 22.14.22890-1
Version table:
*** 22.14.22890-1 500
500 http://archive.ubuntu.com/ubuntu jammy/universe amd64 Packages
100 /var/lib/dpkg/status
root@jellyfin:~# sudo /usr/lib/jellyfin-ffmpeg/vainfo --display drm --device /dev/dri/renderD128
Trying display: drm
libva info: VA-API version 1.20.0
libva info: Trying to open /usr/lib/jellyfin-ffmpeg/lib/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_20
libva info: va_openDriver() returns 0
vainfo: VA-API version: 1.20 (libva 2.20.0)
vainfo: Driver version: Intel iHD driver for Intel® Gen Graphics - 23.4.0 (05e4d0d)
vainfo: Supported profile and entrypoints
VAProfileNone : VAEntrypointVideoProc
VAProfileNone : VAEntrypointStats
VAProfileMPEG2Simple : VAEntrypointVLD
VAProfileMPEG2Main : VAEntrypointVLD
VAProfileH264Main : VAEntrypointVLD
VAProfileH264Main : VAEntrypointEncSlice
VAProfileH264Main : VAEntrypointFEI
VAProfileH264Main : VAEntrypointEncSliceLP
VAProfileH264High : VAEntrypointVLD
VAProfileH264High : VAEntrypointEncSlice
VAProfileH264High : VAEntrypointFEI
VAProfileH264High : VAEntrypointEncSliceLP
VAProfileVC1Simple : VAEntrypointVLD
VAProfileVC1Main : VAEntrypointVLD
VAProfileVC1Advanced : VAEntrypointVLD
VAProfileJPEGBaseline : VAEntrypointVLD
VAProfileJPEGBaseline : VAEntrypointEncPicture
VAProfileH264ConstrainedBaseline: VAEntrypointVLD
VAProfileH264ConstrainedBaseline: VAEntrypointEncSlice
VAProfileH264ConstrainedBaseline: VAEntrypointFEI
VAProfileH264ConstrainedBaseline: VAEntrypointEncSliceLP
VAProfileVP8Version0_3 : VAEntrypointVLD
VAProfileVP8Version0_3 : VAEntrypointEncSlice
VAProfileHEVCMain : VAEntrypointVLD
VAProfileHEVCMain : VAEntrypointEncSlice
VAProfileHEVCMain : VAEntrypointFEI
VAProfileHEVCMain10 : VAEntrypointVLD
VAProfileHEVCMain10 : VAEntrypointEncSlice
VAProfileVP9Profile0 : VAEntrypointVLD
VAProfileVP9Profile2 : VAEntrypointVLD
Quote:$ sudo /usr/lib/jellyfin-ffmpeg/ffmpeg -v verbose -init_hw_device vaapi=vadev/dri/renderD128 -init_hw_device opencl@va
ffmpeg version 5.1.4-Jellyfin Copyright © 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-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 @ 0x557fac8954c0] libva: VA-API version 1.20.0
[AVHWDeviceContext @ 0x557fac8954c0] libva: Trying to open /usr/lib/jellyfin-ffmpeg/lib/dri/iHD_drv_video.so
[AVHWDeviceContext @ 0x557fac8954c0] libva: Found init function __vaDriverInit_1_20
[AVHWDeviceContext @ 0x557fac8954c0] libva: va_openDriver() returns 0
[AVHWDeviceContext @ 0x557fac8954c0] Initialised VAAPI connection: version 1.20
[AVHWDeviceContext @ 0x557fac8954c0] VAAPI driver: Intel iHD driver for Intel® Gen Graphics - 23.4.0 (05e4d0d).
[AVHWDeviceContext @ 0x557fac8954c0] Driver not found in known nonstandard list, using standard behaviour.
[AVHWDeviceContext @ 0x557fac8b8d40] 0.0: Intel® OpenCL HD Graphics / Intel® UHD Graphics 605 [0x3184]
[AVHWDeviceContext @ 0x557fac8b8d40] Intel QSV to OpenCL mapping function found (clCreateFromVA_APIMediaSurfaceINTEL).
[AVHWDeviceContext @ 0x557fac8b8d40] Intel QSV in OpenCL acquire function found (clEnqueueAcquireVA_APIMediaSurfacesINTEL).
[AVHWDeviceContext @ 0x557fac8b8d40] Intel QSV in OpenCL release function found (clEnqueueReleaseVA_APIMediaSurfacesINTEL).
Hyper fast Audio and Video encoder
usage: ffmpeg [options] [[infile options] -i infile]... {[outfile options] outfile}...
RE: Wyse 5070 - How to enable transcoding? - TheDreadPirate - 2023-12-09
https://pve.proxmox.com/wiki/PCI_Passthrough
RE: Wyse 5070 - How to enable transcoding? - nkkfs0 - 2023-12-09
I don't know, really. All time I cannot wake-up my GPU. Using usage stays on 0%.
I've tried to add jellyfin to video group, set chmod 666 on /dev/dri files, enable iommu, still im unable to get rid of or "direct playback" or "This client does not support this media format and the server does not send the format" notification.
And all time i'm getting this ffmpeg log:
Code: [AVHWDeviceContext @ 0x560c85f69d40] No VA display found for device /dev/dri/renderD128.
Device creation failed: -22.
Failed to set value 'vaapi=va:/dev/dri/renderD128' for option 'init_hw_device': Invalid argument
Error parsing global options: Invalid argument
RE: Wyse 5070 - How to enable transcoding? - TheDreadPirate - 2023-12-09
https://forum.proxmox.com/threads/hardware-acceleration-on-jellyfin-lxc-for-intel-i9-10th-gen.132282/
RE: Wyse 5070 - How to enable transcoding? - nkkfs0 - 2023-12-10
I gave up and just reinstalled Jellyfin container with default settings. It seems to work properly now.
|