Request: Please use MPV for Android as well, just like it is for iOS

Why MPV for Android?

Better Buffering for Remote Streaming

Rewinding during remote streaming often causes buffering to restart. This is because Plex on Android uses ExoPlayer, which doesn’t cache rewind data. MPV handles caching more efficiently, preventing unnecessary buffering and ensuring smoother playback.

Improved Subtitle Support

ExoPlayer on Android has limited subtitle styling options. This has been an unresolved issue since 2021. MPV provides much more flexibility and customization. Link to the ExoPlayer issue: Support SSA/ASS styling · Issue #8435 · google/ExoPlayer · GitHub

Better Codec Support

MPV avoids unnecessary transcoding, such as converting audio to Opus without reason. This saves resources and improves playback quality.

Improved Dolby Vision Support

MPV offers superior handling of Dolby Vision. This ensures better color accuracy and HDR playback compared to ExoPlayer.

5 Likes

I second this.

1 Like

Our version of ExoPlayer is closer to MPV than the standard ExoPlayer, we use FFmpeg as a demuxer in the client which standard ExoPlayer does not use. By leveraging ExoPlayer in this way, we work on a lot more devices as the Google team handles all of the quirks of the different hardware decoders that exist on all the different devices. In comparison MPV’s support is limited to the native API’s, which isn’t available everywhere and doesn’t handle all the quirks.

We buffer content for rewinding, however we don’t use an infinite buffer so larger files won’t be able to hold much data for rewinding, this would be similar to MPV.

We have full support for ASS subtitles (via libass) with ExoPlayer. I’m curious what other styling options you would like? This is also something that isn’t in base ExoPlayer.

We have full codec support on Android via ExoPlayer and our software decoders via FFmpeg, if we used MPV we would have the same codec support.

Dolby Vision and HDR playback is handled by the device itself, not via ExoPlayer or MPV. Only standard HDR would be improved with MPV, if playing on an SDR device that doesn’t support HDR as it has better HDR → SDR conversion.

I won’t say it won’t ever happen, but it’s unlikely that we will switch to MPV as it would be a downgrade for us.

4 Likes

my reddit response

Thanks for the detailed response! I initially thought the rewind issue was due to ExoPlayer because I tested it on my device. In the Plex video player, it buffers when rewinding remotely, but it works fine locally. I didn’t face this issue with MPV or VLC, so I assumed it was caused by ExoPlayer.

Please allow cache for rewind on remote.

Regarding subtitles, I’ve noticed that Plex sometimes transcodes ASS subtitles. After some research, I found that ExoPlayer doesn’t support all ASS styling.

Thanks again for the clarification! As for Dolby Vision, I noticed it works better on iOS, and I assumed it was because of MPV. Clearly, I’ve made a lot of assumptions

But there is no buffer currently for rewind. I understand the large file issue, but having to wait a few seconds for every rewind is painful, if not annoying at worst. I really hope Plex fixes this in the new client. I just tested it on remote, home Wi-Fi, and remote+MPV, and on remote, it takes a few seconds to rewind each time.

remote+mpv

remote+native

local+native

As you can see, on remote streaming, the rewind issue significantly worsens the experience. This issue needs to be addressed.

I’d hardly call this an issue or a bug… a little buffering for like half a second

It takes half a second on local, but on remote, Plex takes a minimum of 3 seconds. Here’s another example: the rewind issue is inconsistent; sometimes it takes even longer. In this video, it takes 8 seconds to rewind 10 seconds.

Remote+Native

remote+mpv

1 Like

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.