Skip to content

Survey Results

Ian Walton edited this page Aug 21, 2020 · 5 revisions

Charts

Platform & Operation Modes

Operating System

Install Method

User Interfaces

Use Cases

Player Backends

Why do you use MPV Shim?

Reasons Used

Something about this diagram feels really Web 2.0. Regardless, I'm happy the client works for so many people!

Features

Used Features

Settings

Changed Defaults

Changed Settings

Issues

Reported Issues

Manual Responses

I have tried to respond to every issue someone noted here. A decent number of them are addressed in the latest release, but some need logs or just a lot of time to address.

Feature Requests

Mouse support on Main Menu 'c' overlay?

This was added in 1.8.0!

Would be nice to have a simple console to set shortcuts? This way we could see what the current key bindings are and change them easily. Like the key settings in mpc-hc, but I guess this is just not how mpv was designed in mind so no need to put much effort on this.

I have greatly improved the usability of the menu, but I do see this as a potential pain point, especially with so many options only being in the config and not the menu. I don't have anything planned yet though.

Auto update

I have implemented update notifications. Auto update is a lot more involved and dangerous, so implementing it needs to be carefully considered.

Select/change server from a list.

Shim mode allows you to connect to as many servers as you want at a given time, although not a single server as multiple users. There is an issue for that with Jellyfin here. As for the web client, I'm bundling upstream with minimal changes, so it would need to get into jellyfin-web.

Playback in Desktop Mode without starting Shim Mode

Sounds like something is broken for you. Unless you mean it opening MPV when you play something, in which case there is no plan to change that at this time.

10 foot mode (TV Mode)

Perhaps a TV mode/Theatre Mode/auto launch for HTPC setups or the like?

You can run the desktop client (which is jellyfin-web) in TV mode, which makes it easier to control with a remote control. You can also use display mirroring mode, which shows previews of what you're about to play from another device like a Chromecast.

Only feature I really want is a system tray icon so I can cast to mpv whenever I wish. However I think i read that this is not possible because of some technical limitation with the desktop client.

Right now the desktop client works slightly differently to authorize the client, so they are mutually exclusive.

Option to show music album art in mpv when playing a song. There is no queue when you play music

Right now music playback isn't really supported. The player isn't designed for music, so while it sort of works, a lot of changes are needed to make it work well. (For instance: gapless Playback, proper playlist support, shuffle, and repeat.)

Fail more gracefully if there is no network by waiting for network rather than asking for credentials

This has been added as an option you can enable in the config in 1.8.0.

Display two subtitles at once, not sure if possible with MPV

I don't believe it is.

Sub font family

You can set advanced subtitle styles and fonts with the MPV Config file.

Less buggy builds for 64 and 32 bit

I've been working on improving stability of the player as I find issues, but I'm only one person. So many configurations are supported that solving every issue is difficult.

Maybe a flag to allow for self signed certificates (for ppl who want to use HTTPS internally too), but not necessary.

This has been (somewhat reluctantly) added in 1.8.0. I would suggest looking into Let's Encrypt, but I understand it is a pain to set up on a LAN not exposed to the internet.

MPRIS controls

Media keys are optionally supported. MPRIS is more of a music thing, which isn't really supported by MPV Shim. I'd suggest looking at other Jellyfin clients dedicated to music.

CEC, platform support such as Android and firetv

Offline download/playback support

Sorry, I just don't have the resources to implement these right now. Maybe try to get more developers involved?

A more user friendly way to open the menu because I keep forgetting which key to press.

The menu itself is more friendly now, but a better way to open it would involve modifying the MPV on-screen controller. I haven't gotten brave enough to try to do that yet...

Would love to see a possibility to change display refresh rate when starting a movie (like kodi does)

I have an MPV script that I personally use for that on Linux. This stuff is hard to do, and there is no platform independent way. (You also have to unlock your graphics card framerate and configure custom modes on Linux.) I'd look for MPV scripts for your platform. I may be able to help you tweak it.

Official Jellyfin player skin

As with a better way to open the menu, it involves changing the MPV OSC, which will probably be painful to change.

Goes full screen on playing next file in a series would want it to stay at previous window size

This has been fixed in 1.8.0. It will now remember if you leave it in windowed mode after casting, despite not changing the setting.

Madvr

This isn't supported by MPV. If someone wants to start a shim project for a DirectShow-based player, I can provide some assistance with Jellyfin-related API integration.

Better volume control on MPV shim. Currently there only seems to be mute/unmute controls, whereas the web UI has proper proper volume controls. I have to use windows sound settings to adjust volume presently.

You can control the volume through the casting app. MPV has keybinds for volume, and you can also use the scroll wheel while hovering over the volume icon in the on-screen controller.

Easy macOS X install

I'd need help with that. I don't have an OSX device I can use for this project, nor the funding to justify it. (It doesn't help that the app signing story on OSX means you also owe them $100/yr on top of hardware costs.)

I had problems with some subtitles and couldn't find a way to adjust the offset

You can adjust subtitle offset using the MPV keyboard shortcuts. I also encourage looking at scripts like ffsubsync which can do it before hand.

Integration with "open subtitles" and other subtitling services.

I think you can add subtitles from open subtitles through a Jellyfin plugin?

Ability to load external subtitles.

You can load external subtitles through the application menu or the casting application. The MPV OSC doesn't support loading external subtitles.

Graphic menu for the main settings of the player.

I added mouse support. I'm not sure how complicated a fully graphical menu would be, as I'd have to move all of the menu code to an MPV lua script.

More personalization in subtitles (styles, fonts, background, thick border)

You can set advanced subtitle styles through the MPV config file.

More icons/images/posters/lists resizing options.

I think that would be a request for jellyfin-web.

More intuitive key mapping

You can rebind most keybinds through the config file.

gnome-appindicator support?

The systray icon is supported through the pystray library, which implements appindicator. As far as I know GNOME has completely removed appindicator and requires plugins for integration now.

Update: The flatpak version also had appindicator broken for a while, but it has been fixed for some environments. Some GNOME instances still fail with Flatpak and not the PIP version even if you have a plugin that adds systray support.

PLEASE add Google Drive integration

I would suggest using rclone with the Jellyfin server.

Settings-related Requests

Is it possible to make MPV shim get its input.conf and and mpv.conf directly from the external MPV's configuration instead of having to create new configuration files / copy your original configuration files?

This has been added as an optional setting in 1.8.0 for external MPV players only.

Highly disagree on content over 10mbps defaulting to trying to transcode, as I have video transcoding disabled it mainly just causes subtitles to not work (no idea why). Bit of a PITA having to guide my friends and family to change the setting.

yes the option to change remote transcode quality to maximum in the settings menu without having to change it through the config file. Would make it easier to intruduce mpv shim to friends while still avoiding transcoding or to have to give a lot of instructions of how to change it in the config file.

I have improved the UX surrounding this in 1.8.0. It now:

  • Warns users when a transcode happens and tells them to open the menu.
  • The menu now supports the mouse.
  • You can now completely disable remote transcode bandwidth requirements from the menu.

I understand the frustration with this default, but many internet connections struggle to handle anything over 1080p 10 mbps. (And that is kind of high already. Plex defaults to 720p 2 mbps.)

Syncplay settings cannot be accessed from menu if not playing something.

Hopefully the UX for SyncPlay will be improved when there is proper cast-level API support.

Maybe a better UI for settings with switch

I've improved the menu by adding mouse support in 1.8.0.

Not enough settings concerning the audio part on desktop version

I'm not sure what this means. For things like audio pass-through, that needs to be configured using the MPV config file. I have instructions in the README.

Would be nice to have comments in settings

This is mostly a result of JSON being the way it is. I do extensively explain everything in the README.

Didn't know they existed

Hopefully the new README introduction helps with that!

There is no volume control out of the box... The trick with the mouse wheel should be default.

The MPV on-screen controller and keybinds do offer a volume control, although it is admittedly not obvious.

Specific Issues

On Windows, it keeps showing that the played movie is being transcoded, but it's not actually true.

This would be Jellyfin serving media via HLS without transcoding it. There really isn't a way for me to tell on my end if I request transcoding and don't get a transcode. For preventing remote transcoding, see the comments earlier.

The desktop mode opens to an empty window for me.

This probably means you don't have the web client. For AUR you need to install extra optional packages. For manual install make sure to run gen_pkg.sh before installing.

If I close the player any other way than by pressing u, w or q, it won't close properly. I'll have to end the process manually and restart it.

The mpv window fails to close if you press the close window button when playing a video using fedora 32 wayland.

sometimes there's a crash if the player window is closed via the "x" button

This should have been fixed ages ago. If you have logs, please send them, as I have never seen this happen after the fix back in version 1.1.0.

There's this small bug where I have to resize(re-full screen) the client to show the contents properly.

launching the application sometimes has it appear offscreen with no size even with desktop_remember_pos false

Occasionally ui will not display unless maximised and posters are all low res when this happens. Simple close and relaunch seems to fix it.

Sometimes on startup the main window doesn't show up and I have to delete a config file layout.json & restart to restore it. I have multiple displays so maybe that's the issue.

One time, my window opened really tiny, and I need to maximize it to see

The feature where the desktop client would remember the position also caused all sorts of terrible problems. I have disabled it by default for all users in 1.8.0. If problems persist after this release, please report them.

External subtitles. I cast to the Shim from Firefox on Windows. Shim is not able to see external subtitles. I need to (on Firefox) click on the currently playing bar at the bottom of the browser which takes me to a page with what is currently playing and a time line with play buttons. On this page I can manually enable external subtitles, and Shim automatically shows them.

You can only load external subtitles using the built-in menu or the casting application. You can't use MPV's on-screen controller to do it, as external subtitles have to be loaded into MPV separately.

The built-in shader packs feature is not working for me so I had to just manually set the shaders from within mpv.conf.

The shader packs feature is sensitive to graphics hardware. It may simply just not work on your computer. You may be able to use the log files to get some more diagnostic information. If you're really unlucky, you'll have to disable the feature in the config (set shader_pack_profile to null) to restore basic functionality. If you find the solution for your case, please send me any information you can provide, as every test case helps.

Desktop Mode extreme lag after left in background for long time.

the desktop mode lags to much to use (2s delay on every click). KDE/Manjaro flatpack

Electron is super buggy - the shim crashes randomly while browsing larger collections

Verry lagy ans somme crash on ubuntu

This could be a memory leak in MPV or just a bad version of webkit on whatever platform you are on. It is hard to tell. Shim mode is more lightweight and you can cast from your web browser you'd normally use. If you have better diagnostic information or an underlying cause, please let me know.

On my multi monitor setup, the external MPV player opens full screen on the wrong monitor. I move it to the correct monitor each time, then it opens on the wrong one the next time.

Please see the Tips & Tricks section for configuring what monitor MPV opens on.

MPV and chrome global media shortcuts are disabled when casting.

I added an option in 1.8.0 to disable MPV binding to media key shortcuts, which is likely interfering with something.

The systemtray fails to display in fedora 32 with the tray extension enabled using either pip or flatpak version.

pystray/systray icon doesn't work at all for me with latest Fedora and wayland :(

If you are using GNOME, I heard they removed support for appindicator.

Update: The flatpak version also had appindicator broken for a while, but it has been fixed for some environments. Some GNOME instances still fail with Flatpak and not the PIP version even if you have a plugin that adds systray support.

Mirror mode can't display non English characters (Windows 10)

Not sure. Probably some issue with fonts.

Malwarebytes once registered MPV Shim as spyware (this was version 1.5.9 I believe)

I use a bundler for Python called pyinstaller, which is known to sometimes be detected by AV scanners. I have rebuilt the bootloader for pyinstaller myself, which appears to have made it detect on fewer scanners. Naturally there isn't much more I can do about this, unless someone wants to play whack-a-mole with AV providers for me...

Windows defender reports application as malware.

Windows defender has a component called SmartScreen that creates warnings for all applications that don't have a ton of downloads and aren't signed by an application signing certificate. MPV Shim is a small application, so naturally it doesn't get enough downloads to make the warning go away. As for the signing certs, they're too expensive and you need an EV one to bypass the file reputation requirement.

Yes, with MPV not launching and getting the "no proper format" or whatever issue

I have added a warning in 1.8.0 that specifically targets this so people aren't running the web player in a slow webview. As for the cause... It could be a lot of things. The most frequent one in my experience is misconfigured reverse proxies that don't forward websocket traffic.

After a while, the play/remote menu on my phone no longer tracks the video time or if it is paused or playing (appears as paused). Buttons and seeking still work.

This is probably the client you are using losing the websocket connection to the server, as if the connection dies on my end, you can't control it at all.

Mpv doesnt work anymore after latest windows 10 update

It works for me on the latest Windows 10 version. If you send logs I can look at it.

Sometimes when transcoding audio the player can become completely unresponsive

Depending on the nature of this, it could be an MPV issue. I'd need logs with MPV diagnostics to be sure.

I can only switch audio tracks, when video transcoding is enabled on the server.

So you can't switch audio tracks if video transcoding is not enabled. I'd need logs with MPV diagnostics for this one.

Raw Data

You can view the raw data (minus contact info) here.