mplayer 是什么?和 mpv 有什么关系,现在还能用吗
mplayer 是一款命令行媒体播放器,支持多种媒体文件格式、音视频编解码器和字幕类型。它曾经是 Linux 上最主流的开源播放器之一,后来衍生出 mpv 这个分支;如今 mpv 由 mpv.io 活跃维护,功能更现代,而 mplayer 本身已基本停止更新。如果你现在要选一个命令行播放器,优先考虑 mpv;只有在维护旧系统或依赖 mplayer 特定行为时,才有必要继续用它。
mplayer 和 mpv 的关系
mpv 是从 MPlayer 分支出来的项目。根据 mpv.io 的说明,mpv 是一款自由、开源、跨平台的媒体播放器,面向命令行使用,支持广泛的媒体格式、音视频编解码器和字幕类型。它继承了 mplayer 的很多设计思路,但代码经过大量重构,并持续活跃开发。
可以这样理解两者的定位:
| 维度 | mplayer | mpv |
|---|---|---|
| 使用方式 | 命令行 | 命令行(可加少量屏幕控制器) |
| 维护状态 | 基本停滞 | 活跃开发 |
| 视频输出 | 传统输出方式 | OpenGL、Vulkan、D3D11 |
| 硬件解码 | 支持有限 | 支持各平台主流硬件解码 API |
| 脚本扩展 | 较弱 | 强大的脚本能力 |
| 作为库嵌入 | 不便 | 提供 C API |
mpv.io 明确把 mpv 描述为“free (as in freedom) media player for the command line”,并强调它在保持极简的同时,仍提供视频上方的简易控制器用于基本操作。
mpv 有哪些值得关注的特点
如果你在考虑从 mplayer 转向 mpv,下面这些是 mpv 相对突出的能力,均来自 mpv.io 的官方介绍:
- 脚本扩展:强大的脚本能力几乎可以让播放器做任何事,wiki 上有大量用户脚本可选。
- 屏幕控制器:mpv 追求极简、不提供完整 GUI,但在视频上方有一个小控制器用于基本控制。
- 高质量视频输出:基于 OpenGL、Vulkan 和 D3D11 的视频输出,支持高质量缩放算法、色彩管理、帧时序、插值、HDR 等。
- GPU 视频解码:可利用各平台大多数硬件解码 API,并可在运行时按需启用。
- 可嵌入:从底层设计的 C API,便于作为库集成到其他应用中。
- 活跃开发:项目持续进行代码重构和清理,并不断加入新功能。
这些特点解释了为什么现在提到“命令行开源播放器”,多数人会直接推荐 mpv 而不是 mplayer。
现在还能不能用 mplayer
能用,但要看场景。mplayer 作为一款成熟的命令行播放器,在旧系统、老旧脚本或特定发行版仓库里仍然可以安装和运行。问题在于它已不再是活跃维护的项目,新格式支持、硬件解码和安全性更新都跟不上。
更实际的做法是:
- 新装环境:直接选 mpv,功能和维护状态都更好。
- 已有 mplayer 脚本或工作流:先评估这些脚本是否依赖 mplayer 特有的命令行参数;mpv 的参数体系与 mplayer 不完全兼容,迁移时通常需要调整。
- 必须用 mplayer 的场合:例如某些老旧的嵌入式环境或发行版只提供 mplayer,那就继续用,但不要期待新特性。
在 Windows 和 Linux 上获取播放器
mpv.io 首页给出的下一步入口是 Installation(安装)和 Source Code Repository(源码仓库),也就是说,获取 mpv 的正规途径是查看官方安装页面或从源码仓库构建。mpv 本身是跨平台的,Windows 和 Linux 都在支持范围内。
具体安装方式会随平台和发行版不同而变化,建议以 mpv.io 的 Installation 页面为准,不要依赖第三方转载的过时命令。如果你只是想在 Windows 或 Linux 上快速用起来,优先走官方安装入口,而不是从不明来源下载二进制文件。
一句话结论
mplayer 是 mpv 的前身,仍可用但已基本停止维护;mpv 由 mpv.io 活跃维护,在脚本、硬件解码、视频输出和嵌入能力上都更现代。新用户直接选 mpv,老用户按脚本兼容性决定是否迁移。