I also greatly prefer mpv, but I wouldn't recommend it to most people for the same reason I wouldn't recommend emacs to most people. To get the most out of it, you need to be able and inclined towards extending it. But if you are, it really kicks ass.
It has the JSON-IPC interface, which is much better than vlc's telnet interface (which is barely documented at all.) The pseudo-gui is written as a lua script and can be swapped out with your own to suit your personal whims. It comes with builtin support for youtube-dl/yt-dlp (which work on a wider range of sites than vlc's equivalent feature), which can be modified to allow changing the format/quality on the fly. Relating to that, scripts can add new protocol support for things like torrent files, magnet links, etc. With the right scripts and configuration, you can turn it into a capable image viewer suitable for reading comic books (cbz files).
I have a gallery view (for the playlist) and a contact sheet view (for the current file) that both have thumbnails. For the life of me I can't figure out how to get this in VLC (surely there must be a way, right? But the documentation is crap and I can't find it anywhere in the menus or preferences window. All I can find is the playlist view that doesn't have thumbnails.)
But the big differences which enable everything else is better documentation, particularly for the scripting and IPC interfaces. If you can find the documentation for VLC's Lua interface please let me know, because as far as I can tell that documentation is nonexistent. It's certainly not in the manpage, nor the worthless F1 window, nor can I find it on the VLC wiki). It's difficult to figure out what VLC's Lua interface is even capable of, but if you go by the addons listed on VLC's website the sole advantage of VLC's Lua scripting seems to be the ability to create basic GUIs.
loads instantaneously, simple config, fully-keyboard driven, vim-like bindings, great to use from the command line or terminal-based file managers like ranger.
I've never encountered a case where VLC did not load "instantaneously". Unless you're using a baked potato this should always be the case. If you have proper benchmarks for different video files and different hardware, cite them. "Instantaneously" doesn't mean a thing.
Your other points are equally subjective and meaningless. Especially vim bindings, really? That is now considered a feature? And I don't get how directly changing the configuration from the GUI where each option is explained in detail is simpler than a error-prone process of modifying a text configuration.
My comment was not meant as a slight on VLC. If I was incorrect about load time that does not invalidate the other points. The concept of a "feature" is subjective and if someone finds them valuable, then they are valuable features by definition.
It certainly does not. You can launch mpv by clicking/doubleclicking on any media file in your file manager, the same as any other. You can also drag media files to your mpv icon, or drag media files to a running mpv instance.
Edit: Also I don't know where you found that "migaku" guide, but it's crap. Why is guide written in english telling people to download a config file that sets Japanese as the default audio and subtitle language? Why the hell is it turning hardware decoding off by default? Also, sudo to curl into usr/local/bin/youtube-dl when you could just put yt-dlp/youtube-dl in the regular mpv configuration directory? Fucking... why?
Do yourself a favor and read the official documentation if you really want to give mpv a try.
If I want to change the speed in VLC, I can find the menu easily. There is a minimal GUI on MPV that doesn't show me anything for changing speed, it changes A-V delay when I try a -/+ command with CTRL, there is no right click menu, there is accessibility to helpful shortcuts that I shouldn't need to memorize keys for. Its minimalist for no good reason, has poor accessibility, and if I can't even find the help menu, what is the benefit of the design?
> There is a minimal GUI on MPV that doesn't show me anything for changing speed, it changes A-V delay when I try a -/+ command with CTRL, there is no right click menu, there is accessibility to helpful shortcuts that I shouldn't need to memorize keys for.
It is true that mpv usually doesn't have a GUI menu for this (I believe it does on MacOS, but lets ignore that.) However it's not true that doing so requires using a command line. Speed is changed using the [ and ] keys, which is documented in the manual. Obviously this is not friendly to novices, but it certainly does not require using the command line.
> Its minimalist for no good reason
It's minimal for a very good reason: because some people like it that way. Obviously it's not for everybody, and there is nothing wrong with that. I would never consider recommending it for everybody, but I object to the implicit assertion that all software must aspire to be good for everybody.
> what is the benefit of the design?
To you? Probably none. So I don't recommend it to you.
>However it's not true that doing so requires using a command line.
Its very much like learning CLI, except you need to memorize the keys on a GUI medial player.
>It's minimal for a very good reason: because some people like it that way. Obviously it's not for everybody, and there is nothing wrong with that. I would never consider recommending it for everybody, but I object to the implicit assertion that all software must aspire to be good for everybody.
Its minimalist enough to not have a help menu or list of commands, where is the manual for it even? Even in shells I can type man. What is the benefit of not having a right click menu or something like F1 not bringing up help. I am not against learning how to use tools, but who do you recommend this player to? People who want to memorize keys for their media player? Is that not like a CLI user?
> Its very much like learning CLI, except you need to memorize the keys on a GUI medial player.
It's very much like learning to play a piano by the same twisted logic.
> where is the manual for it even?
Here: https://mpv.io/manual/ Linked from straight from the mpv homepage. Also linked from the github page. You can also read it here: https://github.com/mpv-player/mpv/blob/master/DOCS/man/mpv.r... Or you can read the local manpage on your computer using the manpage reader of your choice (I prefer KHelpCenter, but you can use `man` if you like that more...) If you have trouble finding the manpage, then you've definitely taken a wrong turn somewhere and should
> What is the benefit of not having a right click menu
The mpv psuedo-gui is drawn using the libass subtitle rendering library. There are advantages and disadvantages to this. It's cross platform, so the same psuedo-gui code works the same on every platform (unlike the MacOS specific menu code.) It can be modified, extended, replaced or supplemented using Lua or JS user-scripts using the same libass techniques (the psuedo-gui mpv ships with is implemented as a builtin Lua script.) The biggest downsides to this are being limited to doing things subtitles can do (which doesn't include right-click menus) and the fundamental weirdness of using a subtitle library to render a GUI in the first place (personally I think it's endearing, but I acknowledge that it's weird.)
> People who want to memorize keys for their media player? Is that not like a CLI user?
No? Shortcut-focused GUIs and command line interfaces are not the same thing. Incidentally, mpv does have a embedded REPL if you do want to control it using a commandline interface. You can access it by pressing `. It is useful in some scenarios but you'll soon find it's a hell of a lot more convenient to use keyboard shortcuts instead. I virtually never use it except for testing when I'm writing mpv user-scripts.
> but who do you recommend this player to?
Only to people who are able and eager to hack on their media player. Suppose you want to control your media player from another application; vlc can support this with the telnet interface, but it's very limited and poorly documented. mpv's IPC interface is extremely powerful and well documented.
That's just the manpage in html format, are you kidding? We're not in the era of text terminals, there are so many tools for writing good documentation that this is just inexcusable. Take a look at VLC documentation (https://wiki.videolan.org/Documentation:User_Guide/), that's a proper documentation with screenshots that looks like someone actually put some effort into writing that so that it is understandable to new users instead of plugging words into a troff file.
Except for the edge case of controlling a media player from another application you've put no convincing use case for using mpv over vlc. So it's a personal preference not that mpv is superior to vlc in anyway (actually far inferior for most use cases).
Trust me, I have. Extensively. The mpv manpage (which is actually written in the reStructuredText markup lanugage) is comprehensive and easy to read. Era of text terminals? Give me a break, I just gave you a link for reading it in your browser, just like the VLC wiki, except the mpv manual is very comprehensive and up to date, while the VLC manual is scattered, sparse, and frequently out of date. I practice terminal emulator avoidance; I don't edit text in a terminal emulator, I don't read manpages in a terminal emulator, and I almost never start mpv from a terminal emulator either.
> So it's a personal preference not that mpv is superior to vlc [...] most use cases [...]
I have been upfront about that. I recommend VLC to the vast majority of users, including all of my family and most of my friends.
You completely missed the point about man pages. It doesn't matter what the man page was written in, it's still a man page, optimized for viewing in text terminal. It makes no sense to use this format for web browser. Vlc also had a man page, but the developers know the difference between a man page and proper documentation. It's completely unsuitable for new users using any sufficiently complex application like a video player.
What it was "optimized for" is irrelevant if it's legible and has good information. The mpv manual read in a web browser is both of those. The VLC manual is a mediawiki (if we're talking about subjective appearances, mediawiki has always been fugly) that's both sparse and out of date. Changes to mpv make it into the manual because they're both in the same repo and people making changes to the code are expected by community convention to have the corresponding updates to the manual in their pull request. This doesn't happen with VLC.
The only upside of the VLC manual is that only one in a thousand VLC users will ever need to look at it in the first place. mpv's manual is necessary but high quality, while VLC's manual is low quality but extraneous.
> What it was "optimized for" is irrelevant if it's legible and has good information.
It's not having good information that is important, what's critical is finding relevant information quickly, tagging and linking it to other parts of the document and external sources. Also information does not have to be limited to text format, especially for manuals a graphic or a small video can be worth more than thousand written words. Welcome to 21st century. All information you'll ever need is present in the source code, then why even bother creating a documentation? Manpage is limited for even text terminals, texinfo is so much better.
I agree regarding the need to keep the documentation updated. However, it's quite easy to get support from the community and putting a request to update an outdated article or section.
I asked not because I can't google them, but to open it from the player, is that at all possible or do I have to go online to the homepage, github, and open my terminal to find out how to change settings in MPV?
>There are advantages and disadvantages to this. It's cross platform, so the same psuedo-gui code works the same on every platform
I can't find it on iOS anyway but VLC is there, I don't know the benefit of having the same UI on mobile and desktop so its probably lost on me. Having a manual in the program or it bringing up a text file in the program can't be that against MPV sensibilities can it?
>No? Shortcut-focused GUIs and command line interfaces are not the same thing.
I agree, I can use shortcuts on VLC as well, but it has a GUI and help file, but MPV is like starting a program in your shell with no man files.
>Suppose you want to control your media player from another application
> but MPV is like starting a program in your shell with no man files.
I can start virtually any program in a shell if I want to, VLC included. And I can't imagine what you mean by "with no man files" since mpv has a superb manpage.
> I can control through d-bus
Extremely limited. As far as I've been able to tell it doesn't allow you to run arbitrary commands or observe arbitrary properties, making it barely more capable than an old IR remote control. If my VLC lua scripts can send arbitrary messages across that interface, I haven't been able to find it documented anywhere.
> ncurses
I've controlled ncurses interfaces before using Tcl/Expect. It's a world of hurt. Besides, I thought you hated terminal emulators (frankly, I do...)
>I can start virtually any program in a shell if I want to, VLC included. And I can't imagine what you mean by "with no man files" since mpv has a superb manpage.
Can I open help from the program's GUI? Is it done on purpose to make it hard to learn from the application, and if not, what practical use is it?
>Extremely limited. As far as I've been able to tell it doesn't allow you to run arbitrary commands or observe arbitrary properties, making it barely more capable than an old IR remote control.
>I've controlled ncurses interfaces before using Tcl/Expect. It's a world of hurt. Besides, I thought you hated terminal emulators (frankly, I do...)
What problems does that have? What arbitrary commands do you have? I have a BT keyboard I can use too, so I don't even use app remote control, just saying that you can if you wanted to. Maybe I don't appreciate it because I don't know about how to use it properly, what does it do that VLC can't?
I don't hate CLI, I hate having a GUI that is more complex than a GUI for playing videos. I can map CLI controls to a GUI on my phone, I don't like how MPV is like a a CLI because it has poor accessibility as a feature, is there a practical reason to not have F1 invoke the shortcuts or it can't display them without an external application?
I guess the F1 screen is really important to you, but I'm looking at VLC's F1 screen right now and it looks worthless to me. It's just some links to online materials. Could mpv have that? In principle, yes. Is it worth the development effort and technical debt? I doubt it. If you're the sort of user who balks at this, it will be the least of your worries anyway and you should almost certainly use VLC instead. I think VLC is a very good program (albeit with very poor documentation) and I recommend VLC to almost everybody who asks me for a recommendation. The reason VLC's poor documentation doesn't stop me from recommending VLC is because I think most users will never need to consult the documentation in the first place.
But, if somebody is the sort of user who might find themselves wanting to consult the VLC documentation, say because they are trying to write their own extension to VLC, recommending mpv instead is a no brainer for me. mpv doesn't give you an F1 window with a clickable URL to the manual, but anybody who's capable and inclined to write scripts to extend their video editor will not be hung up by such a minor omission. And when they do manage to land on the documentation for either editor, mpv's documentation has a much better chance of actually having the information they're looking for.
> What problems does that have? What arbitrary commands do you have?
Concrete example: I control mpv from a media library application on my desktop. I can load a playlist of files from that media library into mpv. When mpv starts playing the next file, it can send a message to the media library notifying it of this. VLC can do all of that too; so far so good. In addition to playing the playlist, from within mpv I can also select files (without playing them), tag them, or delete them. When my mpv scripts do these things, they send events to the library application over the same interface that the library application is using to control mpv. As far as I've been able to determine, there is no VLC equivalent so I would need to open another communication channel between the two (instead of doing this, I decided to drop VLC support entirely.)
> I don't hate CLI, I hate having a GUI that is more complex than a GUI for playing videos
I'm starting to think we're having a fundamental communication breakdown here, because this seems completely backwards to me. VLC is the one with a complex GUI, not mpv. mpv has a very simple GUI; too simple to a fault [from the perspective of most users, who are better served by VLC.] If your needs are solely to play a file, just drag and drop the file into mpv and it will play just fine. It only gets more unfriendly when you want to change parameters and configuration, which VLC has very complicated GUIs for while mpv does not.
> Is there a practical reason to not have F1 invoke the shortcuts
In principle it could display shortcuts in the psuedo-GUI. Displaying the shortcuts in another window or in another application would require platform-specific code to be maintained for this, and I'm guessing that none of the mpv developers think that is worth their effort.