Skip to content

Only DirectPlay hardware-accelerated video codecs for ExoPlayer #1391

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 6 commits into from

Conversation

levogevo
Copy link

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.

@jellyfin-bot jellyfin-bot added this to the v2.7.0 milestone May 19, 2024
@nielsvanvelzen nielsvanvelzen removed this from the v2.7.0 milestone May 10, 2025
@satmandu
Copy link

Would this still be a good thing?

Obviously direct play by default with exoplayer doesn't make sense if the client hardware can't support hardware decoding?

@nielsvanvelzen
Copy link
Member

I don't think this is a good idea. Whenever the device reports it can play a certain codec we should be able to trust that. There's a lot of video codecs that decode perfectly fine on CPU.

@levogevo
Copy link
Author

Av1 on older devices does not.

@nielsvanvelzen
Copy link
Member

Closing this as unwanted. As mentioned before, a lot of devices can efficiently playback with software decoders. Additionally, hardcoding various codec names is not maintainable in the long-term.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants