jellyfin / jellyfin-android

Android Client for Jellyfin
https://jellyfin.org
GNU General Public License v2.0
1.33k stars 223 forks source link

Only DirectPlay hardware-accelerated video codecs for ExoPlayer #1391

Open levogevo opened 1 month ago

levogevo commented 1 month ago

Changes

Issues AV1 playback can range from great to unplayable depending on the bitrate/encode settings of the video and device playing it back. Android Jellyfin users already have options to attempt directplay, by either using the web client/external players or alternative clients like Findroid. We do not have an option for playing back videos that need transcoding help. The trick of lowering the internet bandwidth doesn't work if the av1 encode is already pretty low bitrate (10-15) but due to things like film-grain synthesis and low(er) preset encoding, are still very resource intensive to decode, causing many many dropped frames.

I am not an android developer at all, nor believe this is the best option. I am hoping if it is (at least) not a passable option, it can still highlight a need for change. Ideally, a dialog/dropdown to allow the client to select the encoder on server-side but that was more complicated than to get this at least working as intended. Thank you for reading.