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.
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.
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.