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 articlempv 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.
Related
How Video Works
The site explains video playback intricacies, including subtitles, adaptive streaming, HLS, DASH technologies, and player selection for optimal streaming experience. Fast delivery and adaptive bitrate enhance viewing quality.
Ask HN: Share your FFmpeg settings for video hosting
A user is developing a video hosting site allowing MP4 uploads, utilizing H.264 for video and Opus for audio. They seek advice on encoding settings and challenges faced in the process.
Real Player Mode Now on Melpa
Real Player Mode, a new feature on MELPA for Emacs, allows users to open and preview media files easily. It supports various playback options and customization, along with media thumbnails and metadata rendering. The author is also launching a blogging service at lmno.lol for single-file blog creation. Early adopters can inquire for details.
- 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.
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.
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)
https://interfacinglinux.com/2024/01/10/hardware-acceleratio...
streamlink and mpv on a fanless Minix z100 running Ubuntu was a nigh-on perfect Olympics experience.
https://www.minix.com.hk/products/z100-0db-fanless-n100-mini...
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.
- 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
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.
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> 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.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.
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 ?
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
Streamlink, for watching live streams without a web browser:
Syncplay, for remote movie parties:
Bonus trivia: Plex Media Player uses mpv as the video player
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.
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.
[1] https://github.com/mpv-player/mpv-examples/blob/master/libmp...
Highly recommended.
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.
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.
[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.
Pass the option —vo=drm and it works flawlessly with free drivers for AMD, Intel or Nvidia.
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).
MPV does not do this, so over the years I began to use it as my daily driver.
Those good old days. [/ dream]
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.
Related
How Video Works
The site explains video playback intricacies, including subtitles, adaptive streaming, HLS, DASH technologies, and player selection for optimal streaming experience. Fast delivery and adaptive bitrate enhance viewing quality.
Ask HN: Share your FFmpeg settings for video hosting
A user is developing a video hosting site allowing MP4 uploads, utilizing H.264 for video and Opus for audio. They seek advice on encoding settings and challenges faced in the process.
Real Player Mode Now on Melpa
Real Player Mode, a new feature on MELPA for Emacs, allows users to open and preview media files easily. It supports various playback options and customization, along with media thumbnails and metadata rendering. The author is also launching a blogging service at lmno.lol for single-file blog creation. Early adopters can inquire for details.