2024-01-04, 01:07 PM
Hello, this is an interesting bug I've found in the Jellyfin admin panel where it shows the clients, what they're playing, and whether it's transcoding.
I have a test video I use to evaluate performance, it's a 4K HDR10 rip of a blu-ray I own that also has Dolby TrueHD Atmos and PGS subtitles.
Now this video is unable to be transcoded on plex unless on a Nvidia Shield which can direct play all the formats, any other player I'd tested on Plex would not be able to keep up with encoding the subtitles, including the web browser. My server is a i5-8400 with hardware transcoding enabled, running on Debian bookworm.
So when I was evaluating Jellyfin, I played the same file on the browser, where it transcoded the video, audio, and subtitles, while using only 45% out of 600% cpu resources with at most 24% of a single core, which immediately amazed me and I started phasing out Plex for Jellyfin.
Besides the shield which can direct play literally everything, I also have an Apple TV so I wanted to test out Swiftfin. While playing the same file on Swiftfin, the encoding is visibly lower quality and drops frames. This I will attribute to the lack of development of that client and not the point of this post. The problem is when I check the server, it says it's direct playing, but it obviously isn't (top shows ffmpeg working hard and there are transcoding logs).
My guess is Jellyfin asks the client whether it's direct play or transcode etc, and swiftfin doesn't support it so it reports back direct play. It would be a better idea for the server itself to know what it's doing and not incorrectly report transcodes as direct play.
Thank you for this client and please keep up the good work!
I have a test video I use to evaluate performance, it's a 4K HDR10 rip of a blu-ray I own that also has Dolby TrueHD Atmos and PGS subtitles.
Now this video is unable to be transcoded on plex unless on a Nvidia Shield which can direct play all the formats, any other player I'd tested on Plex would not be able to keep up with encoding the subtitles, including the web browser. My server is a i5-8400 with hardware transcoding enabled, running on Debian bookworm.
So when I was evaluating Jellyfin, I played the same file on the browser, where it transcoded the video, audio, and subtitles, while using only 45% out of 600% cpu resources with at most 24% of a single core, which immediately amazed me and I started phasing out Plex for Jellyfin.
Besides the shield which can direct play literally everything, I also have an Apple TV so I wanted to test out Swiftfin. While playing the same file on Swiftfin, the encoding is visibly lower quality and drops frames. This I will attribute to the lack of development of that client and not the point of this post. The problem is when I check the server, it says it's direct playing, but it obviously isn't (top shows ffmpeg working hard and there are transcoding logs).
My guess is Jellyfin asks the client whether it's direct play or transcode etc, and swiftfin doesn't support it so it reports back direct play. It would be a better idea for the server itself to know what it's doing and not incorrectly report transcodes as direct play.
Thank you for this client and please keep up the good work!