mpv is a free (as in freedom) media player for the command line. It supports a wide variety of media file formats, audio and video codecs, and subtitle types.
Scripting
Powerful scripting capabilities can make the player do almost anything. There is a large selection of user scripts on the wiki.
On Screen Controller
While mpv strives for minimalism and provides no real GUI, it has a small controller on top of the video for basic control.
High quality video output
mpv has an OpenGL, Vulkan, and D3D11 based video output that is capable of many features loved by videophiles, such as video scaling with popular high quality algorithms, color management, frame timing, interpolation, HDR, and more.
GPU video decoding
mpv can leverage most hardware decoding APIs on all platforms. Hardware decoding can be enabled at runtime on demand.
Embeddable
A straightforward C API was designed from the ground up to make mpv usable as a library and facilitate easy integration into other applications.
Homepage
Download
Recent Releases
0.38.018 Apr 2024 01:27
major feature:
New
scripting: add mp.input()
player: add an option to automatically turn on deinterlacing
mac: add more Now Playing information and functionality
osxbundle: automatically include MoltenVK to enable Vulkan support
input.conf: bind Ctrl+WHEEL_UP/DOWN to video-zoom
ao_avfoundation: initial support for AVFoundation audio driver (macOS)
vo: add context menu support on win32
Changed
osc: allow disabling special mouse wheel behavior
mac: add support for dynamic change of geometry, autofit
x11_common: allow DPI scale in unit of 0.5 and prefer the value from Xft.dpi
vo_gpu_next: save cache to separate files
mac: large amounts of refactoring, internal improvements and cleanups
builtin.conf: remove debanding from the high-quality profile
Removed
player: remove legacy, non-standard Raspberry Pi-specific support code
0.37.030 Jan 2024 12:26
major feature:
This release requires FFmpeg 4.4 or newer and libplacebo 6.338.0 or newer.
This is the first release to unconditionally require libplacebo, but note that the new improved renderer (vo_gpu_next) is not yet the default.
Features
New
ao_oss: add SPDIF passthrough support
hwtransfer: implement support for HW- HW format conversions
stream/dvbin: add support for delivery system ISDB-T
audio/chmap: support up to 64 channels (including 22.2 layout)
libmpv: add mpv_time_ns()
vo_gpu, vo_gpu_next: add Vulkan support for macOS
meson: make libplacebo a required dependency
hwdec: support videotoolbox hwdec with libplacebo
Changed
msg: print warning and error messages to stderr
options: restore old default subtitle selection behavior
input.conf: swap wheel up/down with wheel left/right
Removed
waf: remove waf as a build system
osc.lua: remove toggle for forced only subpictures (appeared as F )
mac: remove runtime checks and compatibility for macOS older than 10.15
cocoa: remove deprecated OpenGL cocoa backend
Options and Commands
Added
vo_gpu_next: add --hdr-peak-percentile
player: add --term-remaining-playtime option
x11: add --x11-wid-title option
vo_gpu_next: add --libplacebo-opts
player: add --subs-match-os-language option (replaces 'auto' option)
vo: add --video-crop
win32: add --window-corners, --window-affinity, --title-bar, --backdrop-type
sub: add --sub-stretch-durations option
Changed
builtin.conf: add --hdr-peak-percentile=99.995 to gpu-hq profile
player: add 'always' option to --subs-fallback-forced
demux_playlist: default to --directory-mode=lazy
builtin.conf: add --allow-delayed-peak-detect=no to gpu-hq profile
vo_gpu, vo_gpu_next: support --icc-3dlut-size=auto
demux: prepend some cache options with --demuxer-
builtin.conf: modernize internal profiles for higher quality rendering by default,
rename 'gpu-hq' profile to 'high-quality',