Jellyfin Forum
Wyse 5070 - How to enable transcoding? - Printable Version

+- Jellyfin Forum (https://forum.jellyfin.org)
+-- Forum: Support (https://forum.jellyfin.org/f-support)
+--- Forum: Troubleshooting (https://forum.jellyfin.org/f-troubleshooting)
+--- Thread: Wyse 5070 - How to enable transcoding? (/t-wyse-5070-how-to-enable-transcoding)



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. Slightly-frowning-face
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=vaConfused-facedev/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
Code:
intel_gpu_top
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.