August 17th, 2024

mpv a free, open-source, and cross-platform media player

mpv is a free, open-source command-line media player supporting various formats and codecs, featuring high-quality video output, GPU decoding, and customization through scripting, with active community development.

Read original articleLink Icon
AppreciationEnthusiasmSatisfaction
mpv a free, open-source, and cross-platform media player

mpv is a free and open-source media player designed for command-line use, supporting a wide range of media formats, codecs, and subtitle types. It features powerful scripting capabilities, allowing users to customize functionality through a variety of user scripts available on its wiki. Although mpv does not have a traditional graphical user interface, it includes a minimal on-screen controller for basic video playback control. The player is known for its high-quality video output, utilizing OpenGL, Vulkan, and D3D11 technologies to provide advanced features such as video scaling, color management, frame timing, interpolation, and HDR support. Additionally, mpv supports GPU video decoding across various platforms, enabling hardware acceleration as needed. It is designed to be embeddable, with a straightforward C API for integration into other applications. The project is actively developed, with ongoing efforts in code refactoring and feature enhancement, encouraging community contributions through patches and feature requests.

- mpv is a command-line media player that supports various formats and codecs.

- It offers powerful scripting capabilities for customization.

- The player provides high-quality video output with advanced features.

- GPU video decoding is supported for enhanced performance.

- Active development allows for community contributions and feature requests.

AI: What people are saying
The comments highlight various aspects and features of the mpv media player, showcasing user experiences and preferences.
  • Users appreciate mpv's performance, minimalistic design, and ability to handle various media formats effectively.
  • Many users value the customization options, including scripting capabilities and keyboard shortcuts for enhanced control.
  • mpv's ability to play videos without stuttering and its superior HDR support are frequently mentioned as key advantages over other players like VLC.
  • Some users express frustration with the lack of a user interface and the complexity of configuration for advanced features.
  • There are recommendations for companion tools and frontends, such as IINA for macOS, to improve user experience.
Link Icon 76 comments
By @etra0 - 2 months
A fantastic mediaplayer, quite minimalistic and performant; it does what it's supposed to do!

Also has a fantastic commit where the author rants about locales: https://github.com/mpv-player/mpv/commit/1e70e82baa9193f6f02... worth a read for some chuckles.

By @entropie - 2 months
I started to use it on linux a few years ago.

Now its on every device, even on my android tablet. Its perfect. Minimalistic, sane defaults, fast and just works.

It can even play natively over ssh. Its awesome

> mpv sftp://mit@nyx/home/mit/Work/merged.mp4

Recently I needed a hotkey to rotate a video (which seems not like any player can easily do this; for mpv it was a 'r cycle_values video-rotate "90" "180" "270" "0"' in the in input.conf)

By @Venn1 - 2 months
If you're on Linux, don't forget to enable hardware acceleration by adding hwdec=auto to mpv.conf. Works with AMD/Intel/NVIDIA.

https://interfacinglinux.com/2024/01/10/hardware-acceleratio...

By @gorgoiler - about 2 months
This is an extremely venerable project, formerly known as mplayer. There are half a million commits going back to 2001, and that’s just from when the CVS repo was converted to Subversion.

streamlink and mpv on a fanless Minix z100 running Ubuntu was a nigh-on perfect Olympics experience.

https://streamlink.github.io/

https://www.minix.com.hk/products/z100-0db-fanless-n100-mini...

By @ksdnjweusdnkl21 - about 2 months
It sounds stupid but the killer feature for me is possibility to have multiple subtitles visible, all easily configurable with a few keybinds (track, offset, position, size etc). No streaming service provides this, and they actively omit subtitle languages that aren't "relevant" to your geolocation. I cannot respect a service like that.
By @jwells89 - 2 months
This has always worked well for me, handling anything that’s thrown at it with ease.

Things may have changed since then, but when I first encountered the project several years ago it seemed like the thing that made this project stand out compared to other player projects was a big emphasis on correctness and accurate playback. There have files I’ve encountered that for example VLC will play with quirks (color reproduction is not quite right, etc) that mpv plays perfectly.

By @gioo - 2 months
mpv is awesome. Shout-out, in no particular order, to:

- Seeds of Might/JySzE's base `mpv.conf`[1]

- uosc, a feature-rich but still minimalist UI[2]

- thumbfast, a fast thumbnailer to be used with uosc or another custom UI[3]

- Eisa01's SmartSkip, which allows to skip intros & more (audio-based)[4]

[1] Windows: https://gist.github.com/JySzE/db4149cad726b3b6955dca8d47a197..., macOS: https://gist.github.com/JySzE/34ee131da3974811a9469e1e3b7d4d... [2] https://github.com/tomasklaen/uosc [3] https://github.com/po5/thumbfast [4] https://github.com/Eisa01/mpv-scripts#smartskip

By @blfr - 2 months
The best media player in existence: superb minimalist UI, makes use of hardware accelaration, and just plays videos.

Its continued excellence is one of the reasons why I will probably remain a pirate for life. Streaming services spend millions on their players and don't come close.

By @coppsilgold - 2 months
MPV has versatile scripts. For example you can cut and crop a video you are watching[1].

You can also introduce hotkeys for functionalities I have never seen in another player.

I use this (input.conf) sometimes to normalize the brightness and colors of a scene I'm watching (may not work when using hardware decoding):

    n vf toggle normalize=smoothing=100
Or rotate a video:

    Ctrl+r no-osd cycle-values video-rotate "90" "180" "270" "0"
[1] <https://github.com/occivink/mpv-scripts>
By @amlib - 2 months
My favorite feature of mpv so far is being able to apply CRT shaders in real time to content. This solution also handles properly downscaling HD videos into actual 240p buffers that then gets upscaled to your screen resolution by the shader.

https://i.imgur.com/akmgzxX.png

https://github.com/hhirtz/mpv-retro-shaders

By @dither8 - 2 months
In my input.conf file I've created filter keyboard shortcuts:

  F1 af toggle "acompressor=ratio=4,loudnorm"
  F2 vf toggle "bwdif"
First one is an alright dynamic range compressor (makes the loud parts quieter and quieter parts loud). Second is a deinterlace at default settings. These are standard ffmpeg filters and mpv let's you turn these on in real time.
By @thegeomaster - 2 months
Joining the praise in this thread. Extremely reliable, fast, versatile, plays anything.

What I haven't seen mentioned is that it has 1- or 2-key keyboard shortcuts for almost everything, down to adjusting audio/video delay, subtitle size and offset, etc etc.

Once you've had the experience of adjusting the video just how you like it in 5 seconds with a series of keypresses without having to pause or disrupt the playback, you'll never want to go back.

By @Agingcoder - 2 months
I didn’t know mplayer had been forked - this looks good to me. The primary reason why I used mplayer in the early 2000s was performance, both in terms of cpu and for lack of a better word ‘ smoothness ‘.

Basically all other players seemed to produce choppy videos ( including regular dvd players ) but mplayer didn’t ( and there was no motion interpolation). A friend of mine told me that mplayer was very accurate ( ie each frame lasted exactly the same duration), unlike most players on the market at the time and this explained the ‘smooth’ feeling.

Is this smoothness advantage still the case ? Would anyone know why it felt like that years ago ?

By @Thaxll - about 2 months
MPV is great for powerusers, for the vast majority of people just use VLC.

I used both over the year and there are still things that are really annoying in mpv:

- you can't render on a Chromecast

- opening a file that does not work does nothing, you don't know what's happening, is the file corrupted, is the codec not supported ??

- the no ui idea is nice for opening a single file, but then you go to the rabbithole of millions of settings / config to do anything more complicated, playlists? ( why can't I drag and drop on the window )

- it's hard to compile, so it's up to you to find up to date version on your distro

By @tbeseda - 2 months
If anyone is looking for the mpv core with a GUI on macOS, take a look at IINA https://github.com/iina/iina
By @foresto - 2 months
It's excellent with companion tools as well. For example...

Streamlink, for watching live streams without a web browser:

https://streamlink.github.io/

Syncplay, for remote movie parties:

https://syncplay.pl/about/syncplay/

By @adamomada - 2 months
Mac users can get a very nice front end to mpv with https://iina.io

Bonus trivia: Plex Media Player uses mpv as the video player

By @Gormo - about 2 months
One of the nice things about MPV is that you can apply FFMpeg filters at playback, allowing you to use a wide range of transformations on a source video without having to re-render it for each variation.

We're using inexpensive industrial mini-PCs, Alpine Linux, and MPV as a custom digital signage solution at my company, and centrally managing them via Ansible.

By @HPsquared - 2 months
Can it do smooth scrubbing (i.e. scrolling the progress bar)?

So many media players only show the key frames when scrubbing, making it a much less pleasant experience. Some mobile phones (Apple, Samsung) built-in media players seem to do it nicely, but I've never found a desktop media player that does it (VLC can't).

Probably would require a lot of extra decoding behind the scenes to extract all the frames, but worth it on a modern machine.

By @dsp_person - about 2 months
I love their section on how to embed mpv in other apps [1]. Too bad there's not an XEmbed equivalent for Wayland [2].

[1] https://github.com/mpv-player/mpv-examples/blob/master/libmp...

[2] https://github.com/mpv-player/mpv/issues/9654

By @FrostKiwi - about 2 months
Cannot recommend --video-sync=display-resample enough. The one reason I use mpv on every OS over every other media player
By @palata - 2 months
I have been using mpv on Linux for like 10 years, it's simply amazing. No complaint, it just works.

Highly recommended.

By @mysteria - about 2 months
One cool thing about mpv is that it can transcode audio encoded in different surround sound formats (AAC, FLAC, Atmos, etc.) into regular Dolby Digital for use with old pre HDMI AVRs using SPDIF. AFAIK it's the only player that can do this natively without any additional work on the OS level.

I'll just add this here but if you want this kind of transcoding for the entire system rather than just mpv you can use dcaenc with its virtual 6 channel input encoding everything to DTS. I send the encoded audio to the AVR using a cheap TI PCM27XX sound card with optical output.

By @lights0123 - 2 months
libmpv is also amazing. It's a simple C API that allows you to render each frame into an OpenGL framebuffer or pixel array, using a fully hardware-accelerated path for the former.
By @iwishiknewlisp - about 2 months
What I like most about mpv is how you can control it through its socket. Often times I will play a movie or tv show on a separate monitor, so being able to pause or rewind or change volume without switching workspaces is important. I have in my i3 config, keybindings so I can easily control mpv with my keyboard: https://github.com/ediw8311xht/dotfiles/blob/6a765910ab5ac17...

Additionally, mpv has a powerful script system. One of my favorite scripts is fast foward through intro, which is crucial for watching a tv show. https://github.com/rui-ddc/skip-intro. Another nice script is https://github.com/familyfriendlymikey/mpv-cut, which enables creating clips in mpv. There are a ton of other useful scripts, and its not difficult to create a custom script yourself using lua.

Mpv automatically resuming is also nice for watching tv shows or movies. Only problem is that if you shutdown mpv through killing the window then automatically resuming from history gets messed up.

By @w4rh4wk5 - 2 months
Is this worth a look when you are pretty happy with VLC already?
By @ashconnor - about 2 months
Love the message when attempting to open a multi-volume rar video.

[libarchive] This appears to be a multi-volume archive.

[libarchive] Support is not very good due to libarchive limitations.

[libarchive] There are known cases of libarchive crashing mpv on these.

[libarchive] This is also an excessively inefficient and stupid way to distribute

[libarchive] media files. People creating them should rethink this.

By @loeg - 2 months
mpv is the most active fork/evolution of the historical "mplayer" player of yesteryear. I've been using this program in one form or another for probably 20 years now. It's great; highly recommend.
By @natrys - about 2 months
This is S tier software. I remember using this on a laptop with 2gb RAM years ago. The combo of mpv and youtube-dl could deal with large number of sites (not just youtube), when even the browser struggled.
By @ho_schi - about 2 months
You can use mpv on the framebuffer-terminal.

Pass the option —vo=drm and it works flawlessly with free drivers for AMD, Intel or Nvidia.

By @iLemming - 2 months
What's cool that you can control it from your editor. It feels so nice managing YouTube video playback from Emacs, makes the note-taking so easy. elfeed-tube/elfeed-tube-fetch command lets you follow the transcript, while ignoring commercial bits. You can basically search through the text and play it from that point.
By @omeid2 - about 2 months
The MPV of images for linux is IMV: https://sr.ht/~exec64/imv/
By @matricaria - 2 months
On macOS there is IINA which uses mpv under the hood but with a more native GUI.
By @pentagrama - 2 months
Happy VLC user here, but might give this a try, I want to find a better UX with the player controls, like a way to pin the controls bar when full screen (it disappears after some seconds), a 10s forward/backwards control, bigger buttons, less bloated settings, less features that I don't use like radio and other stuff.

But one thing that confused me seeing that homepage is that it shows a player UI screenshot, but it says " mpv is a free (as in freedom) media player for the command line", isn't just for the command line right? I assume you can install it as an app and it has an UI like VLC. (I'm on the phone rn will check it on my PC later).

By @slmjkdbtl - about 2 months
Love the scripting system. I spend 100% my time to write scripts for mpv and vim and 0% for actual work.
By @pahn - about 2 months
Mpv is great! And also the only player I found to be externally controlable, e.g. through a hardware jog/shuttle or an Arduino. This might be outdated (from 2018), but for reference (me talking to myself ;): https://softwarerecs.stackexchange.com/questions/53208/video...
By @t-3 - 2 months
My favorite thing about mpv is that it works under the console using framebuffer or drm. This can be used with configuration or scripting for image viewing, reading pdfs, and more without needing needing a lot of specialized tools, especially on non-linux platforms where graphical framebuffer tools aren't available. Tmux +(e)links + mpv can nearly completely obviate the need for a graphical environment and removes a lot of distracting things from view.
By @Brosper - about 2 months
This kind of project always lacks better UI/UX. I wonder if there is a way to bring more UI/UX people to Open-Source projects.
By @_V_ - about 2 months
I switched to MPV years ago - for some reason VLC started to stutter when opening a file, which is quite annoying. It does not matter whether it is local ol remote file, format does not matter - every open and every seek will trigger this few-second long stutter.

MPV does not do this, so over the years I began to use it as my daily driver.

By @npteljes - about 2 months
My default player is VLC, because it's a great generalist for video, audio and video inputs, but I appreciate mpv very much too. Especially useful on CPU limited devices, I get more performance out of it than any other player.
By @feverzsj - about 2 months
Libmpv also has a much better api than libvlc.
By @janandonly - about 2 months
Mplayer, or MPV was my go-to program, next to VLC player, when I still used Windows and had loose mp4 files to play. Nowadays I’m just streaming on my Mac.

Those good old days. [/ dream]

By @bentt - about 2 months
Technically superior with a bit of a learning curve, but really worth it. If they surfaced more of their functionality better, it would gain a lot of users.
By @Perroboc - about 2 months
If using KDE, I recommend Haruna as a frontend. Really easy to use!
By @flanked-evergl - about 2 months
I use it as a backend for smplayer: https://www.smplayer.info/en/mpv
By @ctenb - about 2 months
I love mpv. But when I pause and resume the video, the first few seconds are jittery. I've not encountered that on other players. Does anyone know why this is?
By @shpx - 2 months
On my Macbook Air, mpv adds an orange tint to videos so I hate when I have to use it because it's the only player that can play a file I downloaded.
By @opan - about 2 months
mpv is one of my favorite pieces of software, incredibly useful and high quality, enjoyable to use. Right up there with (neo)vim, openssh, tmux.
By @haunter - about 2 months
No DVD or BD menu support as I've tried now
By @syngrog66 - about 2 months
chiming in to say VLC is the best audio clip player I've found. every time in past I surveyed the space all other options I tried had one or more showstoppers like too buggy or not the right API. VLC (and driving it via either Golang or CLi) has been reliable, decently documented and ultra configurable.
By @mathfailure - 2 months
The best media player available on linux. The worst GUI (none) out of the box. Bearable after tinkering a bit with configs.
By @ailurooo - 2 months
i used to be able to go frame by frame with quicktime.. is there any modern video player that can actually do this?
By @devwastaken - about 2 months
The only player that has proper HDR playback support and proper HDR to SDR conversion plus GPU accel.
By @solegrammarian - about 2 months
Licensed on a GNU General Public License (GPLv2+) except for the /video/out files which appear to be either unidentifiable or proprietary code rewritten from nVidia, and another unnamed company's repository.
By @newsclues - 2 months
I started using it after the latest Ubuntu version broke VLC, and am quite pleased
By @lossolo - about 2 months
Does anyone else have a problem with it on Mac when trying to open videos using the 'Open With' dialog in Finder? I see it start for a second, and then it just quits. It works properly from the command line
By @thrusong - about 2 months
mpv is a key part of my home theatre automation I wrote in PHP.

It runs on a Pi 4. PHP assembles playlists with a Dolby ad, a vintage dancing hot dog ad, trailers, and the feature. It runs mpv through proc_open.

It monitors the progress and controls mpv through a socket to know when to dim or raise the lights, open or close the curtain, etc.

https://www.youtube.com/watch?v=Q7YEVGWJjvI

By @YuccaGloriosa - 2 months
I added a hotkeys for change subtitles scale...well worth it
By @xwall - 2 months
Does anyone here know more features that MPV offers that VLC and MPC don't, considering they are all free and open-source?
By @cranberryturkey - about 2 months
For a web media platform checkout https://zymo.tv
By @varenc - about 2 months
I absolutely love mpv. And if you have a Mac check out IINA. It’s just a relatively thin GUI over the mpv core.
By @Simon_ORourke - about 2 months
Awesome, any open-source cross-platform media player is always welcome in my setup!
By @actinium226 - about 2 months
We have free, open-source, cross-platform media player at home [vlc].
By @preisschild - 2 months
Love the use of one of the best Kubrick scenes IMO on the main site
By @markwong - about 2 months
I am using it for listening to the online radio in terminal.
By @tobyhinloopen - about 2 months
MPV can play stuff VLC can’t, and it’s HDR support is superior
By @dbcooper - 2 months
What are the best upscalers for MPV these days?
By @cranberryturkey - about 2 months
another good one in development is http://zymo.tv
By @kinibha - about 2 months
Using for last couple of years, its best.
By @lairv - 2 months
I use it to inspect video frames by frames, particularly being able to go back one frame. VLC doesn't support it, this thread about the feature is hilarious https://forum.videolan.org/viewtopic.php?t=120627
By @factorialboy - 2 months
Goat