A free, open source, and cross-platform media player for PC!

MPV Player (64-bit)

MPV Player (64-bit)

  -  30.66 MB  -  Open Source
  • Latest Version

    MPV Player 0.39.0 (64-bit) LATEST

  • Review by

    Sophia Jones

  • Operating System

    Windows 7 64 / Windows 8 64 / Windows 10 64 / Windows 11

  • User Rating

    Click to vote
  • Author / Product

    MPV Player Team / External Link

  • Filename

    mpv-0.39.0-x86_64.7z

  • MD5 Checksum

    cedb7213e558b4799d29e87196702307

MPV Player 64bit is a lightweight, open-source, cross-platform media player for Windows known for its clean design and powerful performance.

Originally developed as a fork of the MPlayer project, MPV Player has since evolved into a feature-rich player that prioritizes simplicity and high-quality playback.

It caters to both casual users and power users who appreciate deep customization.

Features

Wide Format Support: MPV plays virtually any audio or video format without needing extra codecs.

High-Quality Output: Supports advanced video rendering through OpenGL, Vulkan, and D3D11, including HDR, color management, and interpolation.

Scripting Capabilities: Users can automate and extend the software using Lua scripts and integrations.

On-Screen Controller (OSC): Offers basic playback controls when interacting with the mouse.

Hardware Acceleration: Supports GPU decoding for smooth, resource-efficient playback.

User Interface

MPV Player takes a minimalistic approach to its UI. There are no menus or buttons crowding the screen—only the video is front and center.

An on-screen controller appears when you move the mouse, giving access to basic playback functions like play/pause, seek, and volume. Most operations rely on keyboard shortcuts or command-line input.

Installation and Setup
  • Download the Windows build from MPV’s official site.
  • Extract the files from the downloaded archive. No installation required.
  • Run the executable directly to start watching media.
  • Optional Configuration: You can tweak settings using a simple mpv.conf file for custom behavior.
How to Use

Drag and drop media files onto the MPV icon to start playback.

Use keyboard shortcuts like Space to play/pause, arrow keys to seek, and F to toggle fullscreen.

For advanced use, launch MPV from the command prompt and specify playback options.

FAQs

How do I add subtitles?
Place the subtitle file in the same folder as the video with the same name. MPV will auto-load it.

Can I stream online videos?
Yes, it supports streaming when combined with tools like yt-dlp.

Is there a GUI?
MPV is primarily keyboard and command-line driven, but it includes a minimal on-screen controller.

Can I customize settings?
Yes. Create or edit mpv.conf for playback tweaks, such as default volume or video renderer.

Does it support hardware acceleration?
Yes, it supports GPU decoding to reduce CPU load and enhance performance.

Alternatives

VLC Media Player: A full-featured, GUI-rich media player with broad format support.

PotPlayer: A Windows-focused player with a wide array of features and advanced settings.

KMPlayer: It offers advanced features like subtitle support, 3D playback, VR mode, and hardware acceleration.

System Requirements

OS: Windows 11, 10, 8 or 7

CPU: Modern processor

RAM: 512 MB minimum

Graphics: GPU with OpenGL, Vulkan, or D3D11 support

PROS
  • Lightweight and portable
  • Broad codec and format support
  • Excellent video output quality
  • Customizable via config and scripts
  • Hardware acceleration available
CONS
  • Minimal user interface
  • No media library or playlist manager
Conclusion

MPV Player 64bit is a no-frills media player that gets straight to the point. If you value clean design, high performance, and complete control over playback, MPV is an outstanding choice. While not ideal for users who prefer GUI-based interactions or built-in media libraries, it excels as a fast, reliable, and highly customizable player.

Note: MPV has no official GUI.

Also Available: MPV Player (32-bit) and MPV Player for Mac

  • MPV Player 0.39.0 (64-bit) Screenshots

    The images below have been resized. Click on them to view the screenshots in full size.

    MPV Player 0.39.0 (64-bit) Screenshot 1
  • MPV Player 0.39.0 (64-bit) Screenshot 2
  • MPV Player 0.39.0 (64-bit) Screenshot 3

What's new in this version:

Key highlights:
- A new select.lua script, allowing users to easily choose files from playlists, tracks, chapters, output devices, and more
- A native replacement for autoload.lua has been implemented. See --autocreate-playlist in the manual.
- NVIDIA RTX and Intel VSR scaling are now supported via the d3d11va filter
- Media controls are now supported on Windows
- Track selection has been improved, especially for multi-component languages like fr-CA
- A new fifth page has been added to stats.lua, displaying track information
- Compatibility with dmabuf-wayland has been significantly enhanced
- Multi-touch support has been introduced

Features:
New:
- vf_d3d11vpp: add support for Intel VSR and NVIDIA RTX scaling modes
- demux: add --autocreate-playlist
- audio: add pitch-shifting feature
- win32: add Media Control support
- various: allow changing GPU API options at runtime
- vo_gpu_next: support --gamma-factor
- vf_vapoursynth: upgrade to VapourSynth API v4
- select.lua: add this script
- console.lua: implement a command parser to complete more things
- demux_mkv: demux Block Additional Mappings
- cocoa-cb: add support for macOS color space transformation (EDR/HDR)
- powershell-completion: add PowerShell command line completion
- input: implement VO dragging deadzone
- win32: support multitouch
- wayland_common: support multitouch
- demux/packet: add support for ITU T.35 metadata in Matroska
- demux: support VVC Matroska demux
- terminal-win: support mouse input events
- x11_common: detect wm support for _NET_WM_STATE_SKIP_TASKBAR

Changed:
- loadfile: improve the format of terminal track information
- options: add secondary-{sid,sub-delay} to watch_later_options
- input: map Num 5 to distinct value when numlock is off
- input.conf: make Alt+BS reset panscan
- msg: don't use bold colors and instead use bright ones

Options and Commands:
Added:
- sub: add ass-video-aspect-override option
- input/keycodes: add KP_ADD/SUBTRACT/MULTIPLY/DIVIDE keycodes
- demux_playlist: use --directory-filter-types for --autocreate-playlist
- options: add --{video,audio,image}-exts
- player: don't decrement --ab-loop-count=N and add remaining-ab-loops
- player: don't decrement --loop-file=N and add remaining-file-loops
- sub: add (sub/osd)-border-style; renaming sub options
- input.conf: add zoom, pan, scale and rotate keybinds for numpad
- wayland: add a --wayland-present option
- mac/menu: add option to disable default shortcuts
- stats.lua: display file tags
- osc.lua: add option to use display fps for update interval
- osc.lua: add option to make rendering smoother
- opengl: add --egl-output-format, --egl-config-id
- vf_vapoursynth: add parameter to pass arbitrary string to script
- options: add --osd-playlist-entry
- {osc,stats}.lua: add 'auto' value to vidscale option
- input/cmd: add nonrepeatable prefix
- player: add option-info/<name>/expects-file
- command: add dolby-vision-profile and dolby-vision-level to track-list
- scripting: add mp.input.select()
- command: add normalize-path command
- OSC: implemented user configurable colors
- ao_wasapi: add --wasapi-exclusive-buffer option
- stats.lua: add option to disable scale with video size
- stats.lua: add option to control plot border width
- player/command: add track-list/N/decoder
- sd_ass: add sub-vsfilter-bidi-compat to enable vsfilter bidi compat
- {x11,w32}_common: implement --show-in-taskbar option

Changed:
- sub: merge vsfilter-aspect and vsfilter-blur-compat options
- input.conf: swap the positions of values for ctrl+h binding
- video/csputils: remove space from choice option for chroma loc
- input.conf: add KP_DIVIDE/KP_MULTIPLY key bindings
- external_files: allow specifying --cover-art-whitelist filenames
- x11_common: handle runtime keepaspect/keepaspect-window change
- video/out/gpu/context: convert --gpu-api to object settings list
- playlist: let playlist-next go to first item if player is idle
- playlist: let playlist-prev go to last item in playlist
- options: remove deprecated auto choice for --mute
- player/command: alias playback-time to time-pos
- input.conf: change 'u' binding to cycle between 'force' and default
- options: make sub-ass-override default to 'scale'
- sd_ass: only set sub-scale for 'scale', 'force' or 'strip'
- player/command: mark sub-text-ass as deprecated
- player/command: add sub-text/ass-full sub-property
- player/command: move sub-text-ass to a sub-property

Removed:
- command: remove deprecated packet-*-bitrate properties
- console.lua: remove the scale script-opt
- osc.lua: remove scaleforcedwindow
- Fixes and Minor Enhancements:
- wayland: fix vertical resizing
- stats.lua: don't use ASS tags when use_ass is false
- video/out/wayland_common: set key state only on keyboard_enter keys
- input: add MP_KEY_STATE_SET_ONLY
- vo_gpu: use fallback colorspace for Dolby Vision
- video/out/wayland_common: don't pass mouse inputs on resizing edges
- hwdec_vulkan: allow using multiple decoding family queues
- hwdec_vulkan: update to new libavutil queue family API
- drm_prime: fix use of formats with modifiers
- build: bump minimum Windows version to 10
- input/ipc-win: support fd:// for --input-ipc-client
- player/command: fix --force-window=yes acting like immediate
- sd_ass: fix margin y scale with font size
- sd_ass: fix sub scale with window when use_margins is enabled
- loadfile,select.lua: print bitrates of tracks
- wayland: avoid potential floating point errors while scaling
- vo_dmabuf_wayland: don't use -ve margins in window size calculation
- ytdl_hook.lua: allow changing try_ytdl_first during runtime
- wayland: fix missed int -> double conversion for cursor scaling
- player/loadfile: enable streams in order of types when loading file
- misc/natural_sort: avoid implementation-defined behavior in comparison
- demux: allow refresh seek for non-video streams
- demux_edl: fix infinite loop on empty EDL files
- d3d11: return minimum bitdepth for display output and swapchain
- stats.lua: add page 5 for currently selected tracks information
- autoload.lua: fix options update
- input: prevent MBTN_LEFT conflict with VO dragging
- TOOLS/autoload.lua: fix directory_mode and ext options
- player/video: fix incorrect VO frame duration and frame drops
- x11: correct position coordinates if mpv was launched with --fs
- vo_vaapi: fix use-after-free when quitting
- vo_vaapi: fix use-after-free of current frame
- playloop: don't loop when seeking to the end of cover art while paused
- build: dynamically generate mpv.desktop file protocols
- wayland: use wl->callback_surface for idle inhibitor creation
- wayland: cap xdg_wm_base at 4 if wm_capabilities aren't supported
- {options,player}: fix stream leaks
- console.lua: increase margins from the bottom-left corner
- external_files: detect language tags with hyphens
- player/loadfile: match language and subcodes
- player: normalize paths for resuming playback
- demux_mkv: fix image detection
- demux_mkv: make V_QUICKTIME codec detection generic
- osd: show left arrow when playing backwards
- wayland: set wl->scaling if there is no wl->current_output yet
- sub/osd: fix rounding when rescaling bitmap subtitle rects
- zsh-completion: complete --gpu-context
- stats.lua: show osd-dimensions property
- sub/lavc_conv: don't override style of converted teletext pages
- mac: make display-names unique to allow specific selection
- vo_dmabuf_wayland: use wl_fixed_from_int when setting viewport source
- vo_dmabuf_wayland: fix scaling for subsurface positioning
- demux: also read "CUESHEET" tag from stream metadata
- stats.lua: filter input bindings by typing them
- vo_{tct,sixel,kitty}: implement mouse support
- terminal-unix: ignore unhandled mouse CSI sequences
- terminal-unix: support mouse escape codes
- sd_ass: fix margins for all styles when overriding PlayResX
- stats.lua: inherit OSD styles
- options: fix runtime update of teletext-page
- ytdl_hook: add some more yt-dlp tags
- vulkan: don't tolerate suboptimal swapchain configurations
- vd_lavc: add Vulkan hardware decoding to autoprobe
- sub/osd: add log if osd rendering takes too long time
- vo_gpu_next: allow setting antiring value for cscale
- f_auto_filters: don't set interlaced-only for userdeint
- vo_dmabuf_wayland: reject formats not supported by the GPU
- ytdl_hook: make path and json available to other scripts