它是什么
mpv 是一款用 C 语言编写的开源媒体播放器,起源于 MPlayer/mplayer2 系列项目,支持 Linux、Windows 10 1607+ 与 macOS 10.15+。它外观朴素、没有皮肤商店,把精力几乎全部投入三件事:解码兼容性、渲染画质,以及可配置、可脚本化的能力。播放内核建立在 FFmpeg 之上,容器、视频与音频编码、字幕格式的覆盖范围很广;渲染层使用 GPU 着色器完成缩放与色彩处理,还能借助 libplacebo 实现高质量放大与 HDR 色调映射。
它有两种常见用途:一是直接作为日常播放器使用;二是作为“播放引擎”嵌入其他软件。许多知名播放器(如 Linux 上的 Celluloid、macOS 上的 IINA)都是 mpv 的图形前端。
核心功能
- 格式兼容性强:基于 FFmpeg 解码,常见与冷门容器格式基本都能直接打开,ASS、PGS 等图形特效字幕也能正常渲染。
- 着色器渲染:默认视频输出使用 shader 完成缩放与色彩管理,支持 HDR 色调映射、多种高质量缩放算法,画质调校空间大。
- 命令行与配置驱动:任何选项都能写进配置文件或命令行,播放行为可以精确复现,也能用参数快速切换 profile。
- 脚本扩展:内置 Lua/JS 脚本能力与 IPC 接口,可自定义快捷键、OSD 显示、自动化流程。
- 硬件解码:通过
--hwdec显式开启,兼顾低功耗设备与高码率片源;对性能较弱的机器,可以改用--profile=fast。 - 跨平台体验一致:同一套配置文件在三大系统上通用,迁移成本低。
适用场景
- 追剧、看电影的普通用户,想要“打开就播、不折腾解码器”。
- 动画与字幕爱好者,需要正确显示 ASS 特效字幕。
- 需要逐帧步进、变速播放、批量截图、精确 seek 的高级用户。
- 开发者希望把成熟的播放能力嵌入自己的应用,而不是从零造轮子。
- 老旧或低功耗设备,希望通过细致调参获得流畅播放。
上手建议
- 先到 mpv.io/installation 查看各平台的半官方构建或第三方包,直接安装比自己编译省事;想提前体验新版功能,再考虑用 Meson 自行编译。
- 配置文件放在
~/.config/mpv/mpv.conf(Windows 为%APPDATA%\mpv\mpv.conf)。常见起步配置:vo=gpu、hwdec=auto-safe、save-position-on-quit=yes。 - 基本快捷键:空格暂停、
←/→快退/快进、f全屏、o显示进度、9/0调节音量。 - 出现掉帧或撕裂时,先关闭高开销的缩放 shader,或改用
--profile=fast;如果硬件解码开启后反而花屏,就换成auto-safe或关闭。 - 不习惯命令行的话,可以搭配 Celluloid、IINA 等图形前端,底层仍是 mpv,配置同样生效。