Jellyfin Forum
Jellyfin unaware that it's 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: Jellyfin unaware that it's transcoding (/t-jellyfin-unaware-that-it-s-transcoding)



Jellyfin unaware that it's transcoding - Ayg - 2024-01-04

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!


RE: Jellyfin unaware that it's transcoding - niels - 2024-01-04

A client is responsible to report to the server that the server is transcoding the file. So if the dashboard says "direct play" but you're sure ffmpeg is running that would be a bug in the client.
Do note there is also "direct stream" which uses ffmpeg for remuxing.


RE: Jellyfin unaware that it's transcoding - Ayg - 2024-01-04

Thank you for all your hard work on the Android TV client by the way, I use it the Shield, and while it has bugs, it's generally solid. I know you're literally the only person working on it!

I know Apple TV is actually encoding because the video quality is worse than when playing direct play and also I can see the ffmpeg options when listing the processes on my debian server.

I still think it's better for the server to not trust the clients but display its own, since the server itself is launching ffmpeg so it knows which files it's transcoding or encoding, with which exact options as well. Especially since most clients don't have the feature of showing stream information.

As a new father, time is tight at the moment but I will apply to join the development efforts when I have more time as I really love the efficiency of the server, it blows Plex out of the water, especially for those of us who watch with subtitles.

Thank you.