Skip to content

mpv

Open-source media player built on MPlayer and mplayer2 with a minimal interface.

Self-hostedNot yet verified
Report issueDemo online
MIT★ 36524

Open the official app on mpv.io

This tool is hosted by its maintainers. Click below to open mpv.io in a new tab — it's their official demo.

Browse image & tools tools →

What's next with mpv?

Choose how you want to get started.

Use it free

Open the official tool or demo — no account needed.

Free

Self-host it

Run the open-source version on your own infrastructure.

Open

What is mpv?

mpv is a free and open-source media player designed for command-line use, offering cross-platform support across Windows, macOS, and Linux. It serves as a versatile tool for playing a wide range of audio and video formats, leveraging hardware decoding and advanced video output features to deliver high-quality playback. Targeted at developers, power users, and multimedia enthusiasts, mpv addresses the challenge of handling diverse media codecs and formats without relying on proprietary software. Its minimalist design and extensibility through scripting make it ideal for users seeking precise control over playback and integration into custom workflows. The tool excels in scenarios requiring media processing capabilities, such as transcoding, subtitle synchronization, and hardware-accelerated decoding. By prioritizing flexibility and performance, mpv caters to users who need reliable playback for both everyday media consumption and specialized tasks like video editing or streaming. Its open-source nature and active development community ensure continuous improvements, making it a go-to choice for those prioritizing customization and technical depth over graphical interfaces.

How it works

mpv is a command-line media player that supports over 100 video and audio codecs, including AV1, HEVC, and VP9, along with multiple subtitle formats like SSA/ASS and SRT. It is designed for users who require precise control over playback settings and media processing. The player emphasizes cross-platform compatibility, with builds available for Windows, macOS, and Linux. Its minimalistic approach avoids unnecessary GUI elements, focusing instead on raw media handling and scripting capabilities. mpv supports OpenGL, Vulkan, and D3D11 video output for features like high-quality scaling, color management, HDR, and frame interpolation. Hardware decoding is available via APIs like VA API, VAAPI, and DXVA, with runtime enablement for optimal performance.

How to use it

  1. 1Clone the repository: `git clone https://github.com/mpv-player/mpv.git`.
  2. 2Build from source using the provided CMake scripts or package managers like Scoop (`scoop install mpv`) or Chocolatey (`choco install mpv`).
  3. 3Launch mpv via CLI with `mpv [file or URL]` to play media.
  4. 4Use keyboard shortcuts or scripts for advanced controls. Practical tips: Leverage hardware decoding with `--hwdec=vaapi` for Linux, or enable Vulkan output via `--vo=vulkan`. Scripts from the wiki can automate tasks like subtitle loading or playback speed adjustments.

What it can do

  • media player

Use cases

Assumptions and limitations

Assumptions

  • source: https://github.com/mpv-player/mpv
  • license: GPL-2.0 — free to use
  • privacy: Self-hosted — you control your data

Limitations

  • Lacks a traditional graphical user interface (GUI) for novice users
  • Scripting capabilities require familiarity with Lua and the API
  • Depends on system-specific codecs and hardware decoding support
  • Limited built-in media organization features compared to GUI players
  • Community-driven development may result in slower feature adoption

Understanding the result

Open-source media player built on MPlayer and mplayer2 with a minimal interface.

Tool details

  • Clearly flagged when a network request is needed.
  • No account, no sign-up, and no tracking of your content.
  • Powered by (MIT).
Built with
(mpv-player/mpv)
License
MIT
Runs locally
No — requires a network request
Verification
Not yet verified
Input
Query
Output
Text
Open-source source & license

Built with mpv-player/mpv. OpenToolVault provides the discovery and browser interface while crediting the original project maintainers.

Built with
License
MIT
View source on GitHub

Open-source project

OpenToolVault is an independent directory. We are not affiliated with or endorsed by this project.

References

Frequently asked

How do I install mpv on Windows?

Use third-party builds from shinchiro or zhongfly on GitHub, or install via Scoop (`scoop install mpv`) or Chocolatey (`choco install mpv`). Verify hardware decoding support with `--hwdec=vaapi` or `--hwdec=dxva2` depending on your system.

How does mpv handle hardware decoding?

mpv dynamically leverages hardware decoding APIs like VA API (Linux), VAAPI (Linux), DXVA (Windows), and VDPAU (Linux) at runtime. Enable specific decoders via command-line flags (e.g., `--hwdec=vaapi`) to offload decoding to GPU, reducing CPU usage and improving performance.

How do I play a video with subtitles?

Use the command `mpv --sub=srt example.mp4` to load an SRT subtitle file. For automatic subtitle detection, add `--auto-sub-enable` to the configuration. Adjust subtitle timing with `--sub-delay=+50` for playback synchronization.

How does mpv compare to VLC?

mpv focuses on lightweight, scriptable media playback with advanced video output options, while VLC offers a more comprehensive GUI and broader format support. mpv excels in customization and performance for technical users, whereas VLC is better for general-purpose playback with minimal setup.

How do I fix a 'no video decoder found' error?

Ensure hardware decoding is supported by your system. Try `--hwdec=vaapi` for Linux or `--hwdec=dxva2` for Windows. If unavailable, use software decoding with `--no-hwdec`. Install missing codec packs or update drivers for GPU-specific decoders.

Spotted something wrong with mpv, or want to maintain it? See how to help.