mpv 是一个命令行播放器,没有完整的图形界面,画面上只有一条播放控制条。解码、渲染、字幕、脚本全部做成可配置项,改一个文本文件就能换掉它的行为。当前稳定版 0.42.0 于 2026 年 11 月上旬发布,Windows、Linux、macOS 都有构建。它和站内整理过的终端命令行工具一样,靠纯文本配置扩展能力,适合愿意花十分钟读配置的人,不适合想点两下就看完的人。
界面很轻,可配置面很大
官网对它的定义就是“面向命令行的免费媒体播放器”,支持大量封装格式、音视频编码与字幕类型。窗口里那层简洁的控制条叫 OSC,默认只在鼠标移动时出现。视频输出基于 OpenGL、Vulkan 与 D3D11,支持缩放算法、色彩管理、帧同步、插帧与 HDR。完整选项都写在在线手册里,改配置前先查一遍比照抄别人的模板可靠。
0.42.0 带来几处实际变化:网络部分改用 libcurl 后端,支持 HTTP/2、HTTP/3 与连接复用;新增 DVD、蓝光 HDMV 菜单导航与 .iso 直接播放;右键菜单改由新的 menu.conf 驱动;OSC 增加浮动布局;Wayland 下改用协议做色彩管理。该版本要求 FFmpeg 6.1 以上、libplacebo 7.387.0 以上。再往前一个版本,gpu-next 已取代 gpu 成为默认视频输出,这条变化直接影响下文配置项的写法。
三条安装通道与 mpv.net 的区别

官方安装说明把话说得很直:Windows 与 macOS 的二进制包都是第三方构建,官方 CI 构建主要用于测试。Windows 上常用的有 shinchiro 与 zhongfly 两个构建,Scoop 的 extras 桶收录了 mpv,Chocolatey 与 MSYS2 也能装。
命令行安装之外,还可以直接用参数试效果:加 --no-config 可以排除现有配置的干扰,加 --profile=low-latency 会关掉一部分预缓冲,适合看直播。排查“到底是不是配置写坏了”时,这个办法比逐行注释配置快得多。
用包管理器要注意版本滞后。winget 里的包名是 shinchiro.mpv,安装命令为 winget install -e --id shinchiro.mpv,但在 2026 年 11 月上旬,该包仍标 0.41.0,比官网慢一档;想要 0.42.0 就直接从 GitHub 发布页取构建。
Linux 的发行版仓库普遍偏旧,官方也承认 Debian、Ubuntu 的打包版本陈旧且不受支持,建议用 mpv-build 或第三方源;Arch 的官方包跟进较快。macOS 可用 Homebrew 的 brew install mpv,它只装命令行程序不含应用包,需要图标启动的话得另找构建。
mpv.net 是另一回事。它是 Windows 上的 第三方图形外壳,基于 libmpv,GPL v2 授权,命令行参数与绝大部分 mpv 选项都兼容,额外提供可搜索的配置编辑器、右键菜单与全局快捷键。想要图形界面又不想放弃 mpv.conf 的可以选它,但它不属于 mpv 官方项目,版本与 mpv 本体各自独立。
配置文件放哪,最小配置长什么样
配置文件按平台分开放置,写错位置是最常见的“改了没反应”。Windows 在 %APPDATA%mpvmpv.conf;如果 mpv.exe 旁边存在 portable_config 目录,则只读这个目录,适合放U盘。Linux 与 macOS 都在 ~/.config/mpv/,input.conf 与它同目录。
语法很简单:一行一个选项,去掉命令行里的两个减号前缀。下面这几行就是一份可用的 mpv.conf。
- hwdec=auto
- sub-font-size=48
- save-position-on-quit=yes
- screenshot-format=png
input.conf 同样是“按键 命令”的格式,例如写一行 Ctrl+Alt+s screenshot,就能用组合键截图。改完重启播放器生效,播放中按 Shift+I 可以看当前解码与渲染状态,用来判断硬解到底有没有生效。
常用配置项怎么填
| 选项 | 作用 | 取值建议 |
|---|---|---|
| hwdec | 选择硬件解码 API | 默认 no;一般写 auto,Windows 可写 d3d11va |
| vo | 视频输出驱动 | 0.41 起 gpu-next 已是默认,通常不必手写 |
| cache | 是否启用流缓存 | 默认 auto,只对网络流生效;本地文件设 yes 只是多占内存 |
| demuxer-max-bytes | 解复用层缓存上限 | 默认 150MiB,网络不稳可调到 512MiB |
| sub-font-size | 字幕字号 | 默认 55,单位是窗口高度 720 时的缩放像素 |
| save-position-on-quit | 记住播放进度 | 默认关闭,看剧集建议开启 |
两个细节容易忽略。sub-font-size 只影响非 ASS 字幕,影片自带的 ASS 字幕由样式表控制,要改得用 sub-ass-override 或 sub-scale。cache 与 demuxer-max-bytes 是两件事,前者是开关,后者是上限,只调上限而不开开关没有意义。
改完配置要确认有没有生效。播放时按 Shift+I 调出统计页,上面会列出当前使用的视频输出、解码方式与掉帧计数。若 hwdec 写了 auto,统计页却仍显示软件解码,多半是该编码不在白名单,或显卡驱动没有提供对应接口,此时换 API 比继续加参数有效。
硬件解码与功耗的取舍
hwdec 的值里,auto 与 auto-safe 等价,只会尝试白名单内的解码器;auto-unsafe 会连不稳定的实现一起试,除非明确知道自己在做什么,不建议使用。auto-copy 在解码后把画面拷回内存,兼容滤镜与截图,代价是多一次搬运。d3d11va、vaapi、videotoolbox、nvdec 保留在显存里,效率高但对驱动版本敏感,vulkan 解码还要求 vo=gpu-next。
硬解省的是 CPU,不等于省电。笔记本上让独立显卡参与解码会唤醒 dGPU,整机功耗可能高过核显软解,因此双显卡机器优先让核显解码。4K60 的 AV1 这类高负载内容,软解往往跑不满帧,这时硬解是必要选项。
遇到花屏、绿屏、播放几秒卡死,先换一个 API 试,例如从 d3d11va 退到 d3d11va-copy,再考虑 hwdec=no。gpu-next 的色彩与缩放更完整,渲染开销也更高,老核显上如果出现掉帧,退回 vo=gpu 是合理的止损。
脚本、IPC 与四个常见误区
脚本放在配置目录的 scripts 子目录,Lua 与 JavaScript 都支持,官方 wiki 有用户脚本列表。需要被其他程序控制时,用 --input-ipc-server 开一个 JSON IPC 端点:Linux 下是 Unix socket,Windows 下是命名管道,形如 \.pipempvsocket。官方明确说这套协议本身不安全,不要暴露到公网。
- 把 mpv 当在线流媒体客户端。它自带 ytdl_hook,但需要系统里另装 yt-dlp,站点改版后成功率会波动。
- 以为改 cache 能治卡顿。本地文件卡顿多半出在解码或渲染,加大缓存只是多吃内存。
- 照抄 vo=gpu-next。它在 0.41 起已是默认值,只有在旧版本或发行版旧包上才需要显式写。
- 把 mpv.conf 放在安装目录。非便携安装时它不会被读取,应放进 %APPDATA%mpv 或 portable_config。
这几条有共同点:把 mpv 当成一份需要填满的配置表。它的默认值经过长期调整,除了硬解与字号,多数选项不动反而更稳。真遇到卡顿,先用同一台机器换个播放器做对照,比在配置里反复试更快定位瓶颈。
上手建议:先从官方发布页取一份当前构建,只写 hwdec 与字幕字号两行,确认能正常播放并看清状态页的解码方式,再逐项加配置。需要媒体库、海报墙与遥控 App 的人,应该去看专门的影音库方案,而不是把 mpv 改造成那样。
相关地址
以下为文中项目的官方入口,版本号、文档与下载以这些页面为准。
- mpv(官网):https://mpv.io/
- mpv(完整手册):https://mpv.io/manual/master/
- mpv(安装说明):https://mpv.io/installation/
- mpv(源码仓库):https://github.com/mpv-player/mpv
- mpv(发布页与更新日志):https://github.com/mpv-player/mpv/releases
- mpv Windows 构建(shinchiro):https://github.com/shinchiro/mpv-winbuild-cmake
- mpv.net(Windows 图形外壳):https://github.com/mpvnet-player/mpv.net
© 版权声明
文章版权归作者所有,转载需注明出处。未声明原创的皆为网络收集,如有侵权请邮箱lishiwenhuagx@sina.com联系下架处理。




