跳转到内容

mpv:一个播放器的极简哲学

大多数播放器先比拼界面颜值,mpv 思路完全相反:原生几乎没有操作界面,但深耕底层播放十余年,画质、格式兼容性、自定义拓展能力全部拉满,是影视爱好者、动漫党、剪辑工作者公认的终极播放器。


2000 年 MPlayer 诞生,是早期跨平台万能播放器,但长期迭代后代码臃肿冗余。

2010 年社区分叉出 mplayer2,清理老旧代码,但仍存在架构缺陷。

2012 年开发者 wm4 再次分叉重构,全新项目命名 mpv,核心设计理念只有一句话:播放器只专注解码播放,UI、美化、附加功能全部交给用户自定义拓展。

2013 年 mpv 0.1.0 正式发布,由全球社区长期维护,底层依赖 FFmpeg 解码,Windows / macOS / Linux / Android 配置文件通用。

在播放器圈子里,mpv 的地位如同编辑器里的 Vim:上手有学习成本,调教完成后几乎不会再换别的播放器。


1. 全格式原生兼容 依托 FFmpeg 内核,AV1、HEVC、杜比视界、HDR10+、MKV、FLV、WebM 等全部直接播放,无需额外安装解码器。

2. 专业级画面渲染 内置高精度色彩管理、HDR 自动色调映射、运动帧插值,同一段视频对比 VLC 和普通播放器,色彩与流畅度肉眼可见。

3. 强大 Lua 脚本生态 社区海量成熟脚本,实现进度预览、自动字幕、弹幕、片段截取、播放记录等功能,可按需自由加装。

4. 轻量化无后台 启动秒开、内存占用极低,无后台驻留进程,无广告,无任何上传行为。


三、为什么不推荐用 Scoop / winget 安装 mpv

Section titled “三、为什么不推荐用 Scoop / winget 安装 mpv”

Scoop 和 winget 安装的 mpv 存在几个实际问题:

  • 路径深且复杂:Scoop 默认安装到 %USERPROFILE%\scoop\apps\mpv\current\,配置文件跟随版本目录,更新后路径变动,自定义配置容易丢失。
  • 便携模式不生效:Scoop 管理的应用走自己的 shim 机制,portable_config 目录识别经常出问题,导致配置不生效。
  • 右键菜单注册麻烦:官方的 mpv-install.bat 对非标准路径支持不好,Scoop 用户经常遇到右键菜单注册失败的情况。
  • 着色器、脚本路径混乱:着色器和脚本依赖 ~~/ 相对路径,Scoop 的 shim 层会导致路径解析出错。

绿色便携安装一步解决上述所有问题,路径固定、配置保留、更新无痛。


推荐 shinichiro 构建包,官方社区维护,兼容性最好,自带右键注册脚本。

下载地址:https://github.com/shinchiro/mpv-winbuild-cmake/releases

包名区分规则:

包名特征说明
mpv-x86_64-日期-git-xxx.7z正确,64 位主程序包
❌ 带 dev 字样开发调试包,不稳定
❌ 带 i686 字样32 位专用,现代系统不需要
❌ 带 ffmpeg 字样独立 FFmpeg 库分包
❌ 带 aarch64 字样ARM 架构专用

下载后用 7-Zip 解压到无中文、固定路径,推荐:

D:\Tools\mpv\

2. 一键注册右键菜单(官方批处理)

Section titled “2. 一键注册右键菜单(官方批处理)”

解压根目录自带 installer 文件夹,无需手动写注册表:

  1. 打开 D:\Tools\mpv\installer\
  2. 右键 mpv-install.bat以管理员身份运行
  3. 注册成功后效果:
    • 所有视频文件右键出现「Play with mpv」
    • 文件夹空白处右键可直接启动 mpv
    • Windows 默认应用列表中可将 mpv 设为全局视频播放器

迁移或卸载前,先以管理员身份运行同目录的 mpv-uninstall.bat,清除全部注册表关联,避免右键菜单失效。

3. 启用便携模式(配置永久保存)

Section titled “3. 启用便携模式(配置永久保存)”

在 mpv 根目录新建文件夹:

D:\Tools\mpv\portable_config\

mpv 检测到此文件夹后,所有配置、脚本、着色器、字体全部从这里读取。后续更新 mpv 只需覆盖压缩包内容,portable_config 完全不动,所有自定义内容原样保留。

完整目录结构:

D:\Tools\mpv\
├─ mpv.exe
├─ installer\
│ ├─ mpv-install.bat
│ └─ mpv-uninstall.bat
└─ portable_config\
├─ mpv.conf # 主配置:画质、音频、字幕
├─ input.conf # 自定义快捷键
├─ scripts\ # Lua 脚本
├─ script-opts\ # 各脚本独立配置
├─ shaders\ # 画质增强着色器
└─ fonts\ # 自定义字体

# ====== 画质渲染核心 ======
profile=high-quality
vo=gpu-next
video-sync=display-resync
interpolation=yes
tscale=oversample
# 硬件解码(自动识别显卡,N卡/A卡/Intel核显均可)
hwdec=auto-safe
# ====== 音频设置 ======
volume=100
volume-max=150
audio-normalize-downmix=yes
# ====== 字幕全局设置 ======
sub-auto=fuzzy
sub-font=Noto Sans CJK SC
sub-font-size=44
sub-color=1.0/1.0/1.0
sub-border-color=0.0/0.0/0.0
sub-border-size=3
sub-shadow-offset=1
sub-margin-y=36
sub-ass-force-margins=yes
# ====== 截图设置 ======
screenshot-format=png
screenshot-high-bit-depth=yes
screenshot-directory=./screenshot
# ====== 窗口与播放记忆 ======
keep-open=yes
save-position-on-quit=yes
autofit=90%x90%
osc=no # 关闭原生简陋控制条,使用 uosc 皮肤替代
border=no # 无边框现代化窗口
# 快速进退 60 秒
Ctrl+RIGHT seek 60
Ctrl+LEFT seek -60
# 无字幕截图
Alt+s screenshot video
# Anime4K 动画画质增强开关
CTRL+1 no-osd change-list glsl-shaders set "~~/shaders/Anime4K_Clamp_Highlights.glsl:~~/shaders/Anime4K_Restore_CNN_M.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_M.glsl"; show-text "Anime4K 动画高清增强:开启"
CTRL+0 no-osd change-list glsl-shaders clr ""; show-text "画质着色器:已关闭"

所有脚本解压后放入 portable_config/scripts/

GitHub:tomasklaen/uosc · Releases 下载

原生 OSC 控制条简陋到难以实用,uosc 是目前最完善的替代方案:进度条悬浮预览、音量滑块、音轨/字幕切换、播放列表面板全部一体化,且与其余脚本完美兼容。

安装:下载 uosc.zip,将压缩包内 scriptsfonts 文件夹直接合并进 portable_config

portable_config/mpv.conf 中加入border=no这行代码,可以隐藏标题栏。

thumbfast(必装,进度条缩略预览)

Section titled “thumbfast(必装,进度条缩略预览)”

GitHub:po5/thumbfast · 直接下载 thumbfast.lua

鼠标悬停进度条时实时弹出视频帧预览,和主流商业播放器体验一致,原生适配 uosc。单文件脚本,下载后直接放入 scripts/ 即可。

GitHub:AssrtOSS/mpv-assrt · Releases 下载

国内字幕源,一键匹配本地影片自动下载 ASS 字幕,匹配度远高于海外字幕网站,看剧基本不用手动找字幕。按 a 键呼出字幕搜索菜单。

GitHub:Tony15246/uosc_danmaku · Releases 下载

调用弹弹 play API 拉取弹幕,支持 B 站、巴哈姆特等来源,uosc 控制栏内置弹幕开关、延迟调节、繁简转换,追番必备。注意:Release 版可能因弹弹 play 接口更新而失效,若出现搜索无结果,直接下载 main 分支最新源码使用。

GitHub:Arieleg/mpv-copyTime · 直接下载 copy-time.lua

快捷键一键复制当前播放时间戳到剪贴板,做剪辑或标记片段非常顺手。单文件脚本,下载后放入 scripts/ 即可。

GitHub:dyphire/mpv-scripts

视频内置章节在 uosc 中可视化展示,鼠标点击快速跳转,看电影、纪录片体验大幅提升。从仓库中下载 chapter-list.lua 放入 scripts/

GitHub:aerobounce/trim.lua · 直接下载 trim.lua

无需重新转码,调用 FFmpeg 直接裁剪片段,快速保存名场面。按 h 从当前位置截到末尾,按 k 从片头截到当前位置,再次按键确认输出。Windows 用户需在脚本开头将 ffmpeg_bin 改为 FFmpeg 完整路径。


着色器文件放入 portable_config/shaders/

低分辨率动漫高清修复,强化线条、消除模糊,分轻量/高性能双模式,轻薄笔记本也能流畅运行。上方 input.conf 已绑定 Ctrl+1 / Ctrl+0 开关。

下载:https://github.com/bloc97/Anime4K/releases

实拍电影、纪录片 AI 超分,人像肤色自然还原,GPU 资源占用比 Anime4K 更低,适合写实类内容。

下载:https://github.com/Artoriuz/ArtCNN

轻微提升画面细节,不会产生锯齿、噪点,老电影修复常用。


按键功能
空格播放 / 暂停
/ 后退 / 前进 5 秒
Shift+← / Shift+→后退 / 前进 1 秒
/ 音量增减
f全屏切换
m静音
s截图(含字幕)
S截图(不含字幕)
[ / ]播放速度 ±0.1
`查看视频编码、分辨率、帧率信息
l设置 A-B 循环片段
q退出
Q退出并保存播放进度

mpv 内置 yt-dlp 支持,可直接播放网络视频链接:

  1. 下载 yt-dlp.exe,放到 mpv 根目录(与 mpv.exe 同级),https://github.com/yt-dlp/yt-dlp/releases ,不要下别的,只下 yt-dlp.exe;
  2. 将视频网页链接直接拖拽到 mpv 窗口即可在线播放;
  3. mpv.conf 中加入以下配置,默认拉取 1080P 画质:
ytdl-format=bestvideo[height<=1080]+bestaudio/best[height<=1080]
  1. 一键更新 yt-dlp(以后新版本不用重新下) 在 mpv 同级目录打开 PowerShell,执行:
.\yt-dlp.exe -U

自动升级到最新版,解决网站接口失效、解析失败问题。

Section titled “自动升级到最新版,解决网站接口失效、解析失败问题。”
  1. FFmpeg必装!Scoop 会自动把 ffmpeg.exe / ffprobe.exe 写入用户 PATH,安装完所有程序(mpv、yt-dlp、终端)都能全局调用,不用手动复制 exe 到 mpv 文件夹,也不用手动改系统 Path。

A-B 循环:按 l 设起点、再按 l 设终点,反复循环该片段,学外语或剪辑标记专用。

内置控制台:按 ` 打开控制台,可实时修改音量、跳转进度、调试配置,无需重启。

批量播放:直接把整个视频文件夹拖进 mpv,自动生成播放列表,< / > 切换上下集。

无痛更新:下载新版 7z 压缩包,直接覆盖解压到 D:\Tools\mpv\不要删除或覆盖 portable_config 目录,所有配置、脚本、着色器全部保留。