jarnedemeulemeester / findroid

Third-party native Jellyfin Android app
GNU General Public License v3.0
2.66k stars 165 forks source link

[Feature Request] A prompt to quick switch to exoplayer in case of HDR videos if the default player is MPV. #582

Open realFPS opened 12 months ago

realFPS commented 12 months ago

MPV is my go-to player for its ASS styling support. But that's just my use case, I have heard that it is the best player any media app could have in android because of its extensive codecs support, but it has one problem. It cannot play true HDR, thats why I am requesting this. If the video is HDR (HDR, HDR10+, DV) then it should prompt the user to quickly switch to Exoplayer. The user can either ignore and play with MPV or accept and play with exoplayer enjoying proper HDR. After playing that video, the preferred player will be back to MPV. This will give a seamless experience to all users who use HDR.

BartemX commented 12 months ago

And maybe for the TV version we should have it the other way around, exoplayer as standard and mpv as backup, as most TV's these days are HDR

sjiawjbssj commented 12 months ago

A setting to skip the prompt and always switch would be nice too. You could show a toast to let the user know the player was switched.

peerless2012 commented 11 months ago

Or maybe use mpv only ?

realFPS commented 11 months ago

Or maybe use mpv only ?

Why would one choose tonemapping over native HDR? Sure if the device in question doesn't support hdr then mpv is good but nowadays even all midrange androids have basic hdr support. Who wouldn't want true colors reproduction?

peerless2012 commented 11 months ago

If mpv not work fir hdr or dv, you might be right. As i know, ffmpeg support dv already, why mpv not support dv or hdr?

Jcuhfehl commented 11 months ago

Ffmpeg isn't a video player. I'm not sure it can actually properly encode/decode dovi, but it isn't particularly relevant to mpv, because its problem is that it can't communicate the correct color space to your device. It can only tonemap the hdr video to the sdr it can actually display. Exoplayer can play hdr because it's more closely integrated with the android os (it's literally developed by google) Edit: no ffmpeg can't properly handle dovi because it's a proprietary codec (someone should ban dolby from developing that useless stuff)

realFPS commented 3 weeks ago

Something I would like to add.

There should just be a HDR mode in the app which automatically turns itself on whenever HDR Videos are played on compatible devices. What it will do is,

  1. Switch the video player to Exoplayer
  2. Max out the Brightness

First because MPV does not support true HDR as mentioned above. Second is pretty self explanatory. To get the true HDR experience with bright highlights the device should be able to display the peak brightness. If the brightness is capped at something like 250 nits by the app or adaptive brightness, then the more brighter scenes will also be capped at that 250 nits brightness.

Alternative is to do this manually every time you start to watch something but who is really going to remember to do that. Netflix app already does this, I think this should too.