2023-07-13, 04:21 PM
(This post was last modified: 2023-07-13, 04:24 PM by dekomoon. Edited 2 times in total.)
(2023-07-13, 03:13 PM)TheDreadPirate Wrote: It sounds like something with the M1's decoder since it played back fine on the 3060. I'm assuming "flawlessly" also meant the quality was good in addition to it playing smoothly. I've heard mixed things about video quality from the M1.
Jellyfin Media Player is using my CPU to decode whether it is a AVC, HEVC or AV1 video (also Videotoolkit does not support AV1 hardware decoding, only AVC and HEVC).
I tested one of my HEVC videos on my Mac's MPV with --hwdec flag (to enable hardware decoding) and it worked flawlessly. Quality was good and most importantly, there was no stutter or lag. it played smoothly. The same HEVC video stuttered and lagged on the Jellyfin Media Player.
(2023-07-13, 03:13 PM)TheDreadPirate Wrote: In Windows, the task manager (or HWInfo64) breaks down what parts of the GPU are being used. 3D, encode, decode, etc. Does MacOS has an equivalent? I'm curious if it is decoding in software and not hardware. If it is decoding in software, that would be an appropriate issue to submit to the server git since the web UI is part of the server code.
The web version is smooth when my Mac decode AVC so I am assuming it is using Videotoolkit hardware decoder. Only major problem is that the color is flushed out for 10-bit videos (plus quality sucks as it is only 35mpbs). It seems like there are problems with both client front-facing interfaces on M1 Macs...
I am not sure if such a software exists and would love to check it out if anyone knows of a software like that
(2023-07-13, 03:13 PM)TheDreadPirate Wrote: As for the version of ffmpeg. Jellyfin does not use an old version, but there are newer versions that will be packaged with Jellyfin when 10.9.0 is released. You can manually install the latest version and Jellyfin 10.8.10 should not care. But since that is on the server side, and we already determined that is transcodes ok when you played content in Ubuntu, upgrading ffmpeg probably won't make a difference. But it can't hurt to try.
My apologies. I meant the FFmpeg on the client-side, or the desktop application. Both MPV and Jellyfin Media Player have FFmpeg decoders (correct me if I am wrong). MPV is more up to date on AV1 decoder than Jellyfin Media Player so the performance difference is understandable. For an issue like this, I will have to probably compile Jellyfin Media Player from source for the latest dav1d software decoder (assuming the desktop app have been updated for that already). The bigger problem is that not only does Jellyfin Media Player not use my GPU, it also doesn't take advantage of my CPU either. It seems to be single-threaded as it only ever uses 50% of a core (M1 has 8 cores) no matter if I am playing HEVC or AV1... so I am assuming this is the reason why Jellyfin Media Player always stutters and lags no matter what codec I use.
(edit: It could also be that the Jellyfin Media Player is using the GPU for decode, but just doing it poorly because it is super unoptimized. I am not sure if there is a way to check if the desktop app is using CPU or GPU, but MPV works well with either CPU or GPU)