How to setup Hardware Encoding in Jellyfin and ErsatzTV

Ralphshep

Dabbler
Joined
Apr 28, 2020
Messages
45
Hello all,

I'm thinking I need to enable hardware encoding on Jellyfin and ErsatzTV. With Jellyfin, it takes a couple of minutes for HD content to load when the quality settings are set to auto. Alternativly it loads quicker on 720p - 8Mbps which isn't an ideal quality. Most of my content is encoded in h.264 and h.265. At the same time I have ErsatzTV broadcasting four channels on the regular basis. I have the qualities of the stream set to 720p although I would much perfer it to be at 1080p. I then have the M3U linked to Jellyfin. Here, I have the problem of the livestreams stopping as if they are timing out after a couple of minunets causing me to have to restart the stream to get the video to play again. As this server is also my file service and more I want to optomize the server and it's apps to the best of my ability.

I think this is where Hardware Encoding comes into the picture. I don't have a dedicated GPU (at least not yet). But, I want to take advantange of Intel's Quick Sync built into my i5-10400. I also want to set up so that the content is transcoded by the server and sent to my computer where it is decoded if this is possible. But I can't seem to pass the GPU into the Docker Containers neither server app has directions on how to pass a GPU into a container.

So far I have tried going to the GPU Configuration of the container configuration and allocated "Allocate 1 gpu.intel.com/i915 GPU" to each of the containers. I also read an article that said that the containter needed permission to access the GPU so I added the supplemental groups 107, and 44. Then I continued to follow the guide where it gives directions on how to confirm the GPU has been passed into the container.

I have no name!@jellyfin-6bb7c68b6f-j8dqr:/$ /usr/lib/jellyfin-ffmpeg/vainfo --display drm --device /dev/dri/renderD128 Trying display: drm libva info: VA-API version 1.16.0 libva info: Trying to open /usr/lib/jellyfin-ffmpeg/lib/dri/iHD_drv_video.so libva info: Found init function __vaDriverInit_1_16 libva info: va_openDriver() returns 0 vainfo: VA-API version: 1.16 (libva 2.16.0) vainfo: Driver version: Intel iHD driver for Intel(R) Gen Graphics - 22.5.4 (e461c05) vainfo: Supported profile and entrypoints VAProfileNone : VAEntrypointVideoProc VAProfileNone : VAEntrypointStats VAProfileMPEG2Simple : VAEntrypointVLD VAProfileMPEG2Simple : VAEntrypointEncSlice VAProfileMPEG2Main : VAEntrypointVLD VAProfileMPEG2Main : VAEntrypointEncSlice 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

However, Jellyfin get's longer loading times and and ErsatzTV reporting that it couldn't find the transcoding device /dev/dri/renderD128 so I don't think it's working correctly. Any suggestions? I have also attached logs from Jellyfin for the record.
 

Attachments

  • log part1.txt
    147 KB · Views: 74
  • log part2.txt
    147.6 KB · Views: 68
  • FFmpeg.Transcode-2023-09-18_20-35-43_7f5acd154b71643603158b5d75faecaf_164905b9.txt
    48.9 KB · Views: 69
Top