mpv 是著名开源项目 MPlayer 的分支,因其对最新软硬件平台、视频标准以及各种高画质选项的支持而广受好评,也是目前非 Windows 平台上高画质播放器的不二选择。我们之前介绍过的 IINA 就是一个基于 mpv 的播放器前端。

由于 mpv 本身没有图形界面,各种设置需要通过手动编写配置文件来完成,使很多不熟悉命令行的普通用户望而却步。本文的主要目的就是为 Windows 和 macOS 用户提供一个 mpv 播放器的上手指南,手把手教你如何把 mpv 用起来。

安装

Windows 用户到这里下载最新版的 64-bit 压缩包。mpv 是原生绿色软件,将压缩包内所有文件解压到你想要的位置即可,例如 C:\mpv。然后从这里下载 mpv 的 Windows 安装脚本,解压缩到相同的目录下,然后以管理员权限运行 mpv-install.bat

macOS 用户到这里下载最新版的压缩包,解压后把得到的 mpv.app 直接拖进应用(Applications)文件夹内即可。如果你安装了 Homebrew,也可以直接运行 brew cask install mpv 来安装。安装之后首次运行时可能会被 macOS 安全设置阻止,需要到系统设置 – 安全与隐私中允许它。

受后端解码器 FFmpeg 已知的 bug 影响,所有 2018 年 11 月 11 日之前编译的 mpv 0.29.x 版本播放 HEVC 视频进行跳转时可能会出现花屏的情况。Windows 用户请从这里下载较新的 git 版。macOS 用户可以尝试使用 brew install mpv --HEAD 安装最新开发版的 FFmpeg 与 mpv,但此操作可能影响其它已安装的依赖 FFmpeg 的软件(需要重新编译该软件)。

设置文件类型关联

Windows 下的文件类型关联应该已经由安装脚本完成。在 macOS 下,以 MKV 文件为例,在任意 MKV 文件上点击右键 – 显示简介 – 打开方式 – 全部更改,然后选择 mpv 即可。

简单的播放器控制界面

mpv 在播放界面上提供了一些简单的控制功能。在视频画面上移动鼠标会在界面底部显示浮动控制栏。

底部最左边的三个按钮分别是播放/暂停、跳转前后章节。进度条右边的几个按钮分别是切换音轨、切换字幕、调节音量和全屏/窗口显示。鼠标左键点击音轨和字幕按钮可以直接切换音轨或字幕,Shift + 左键则可以显示当前已加载的音轨或字幕列表。

常用快捷键

前进 5 秒
后退 5 秒
前进 1 分钟
后退 1 分钟
PageUp 跳转到下一章节
PageDown 跳转到前一章节
Space 播放/暂停
9 降低音量
0 提高音量
j 切换字幕
# 切换音轨
f 切换全屏/窗口显示
s 截图

此外,快捷键 i 可以显示当前正在播放的文件的媒体信息以及解码、渲染的相关数据(如下图)。使用 Shift + i 则可以让这些信息保持显示或清除,显示时点击 12 可以分别显示信息的第一、二页。

创建配置文件

虽然 mpv 的默认设置已经足以正常播放绝大多数视频,为了达到更好的效果以及符合个人的使用习惯,我们仍然需要一些配置。

Windows 下打开记事本(Notepad)或者任何你喜欢的纯文本编辑器,新建一个空白文档,写好配置命令(见下)后,在刚才 mpv 的解压目录下新建一个名为 portable_config 的新文件夹,例如 C:\mpv\portable_config,将配置文件命名为 mpv.conf 保存在该文件夹内(注意使用记事本的话,保存文件时“保存类型”要选择“所有文件 (*.*)”,否则文件名会被加上 .txt 扩展名,变成 mpv.conf.txt)。

macOS 下首先打开配置文件要保存的位置,方法是在 Finder 的顶栏打开 Go 菜单下的 Go to Folder,然后输入:

~/.config/mpv

(因为这个文件夹默认是隐藏的,无法直接打开),然后打开 macOS 自带的文本编辑(TextEdit)应用,新建一个文档,在“格式”菜单中选择将文档转换为纯文本(Make Plain Text),写好配置命令(见下)后,将这个文件保存在刚才打开的 mpv 文件夹内,文件名为 mpv.conf

建议添加的配置命令

mpv 的默认渲染设置非常保守。如果你的显卡性能不是太差(近几年的集成显卡一般都已足够),建议启用一套预设的高质量渲染设置,方法是在 mpv.conf 中写上这么一行:

profile=gpu-hq

注意,使用高质量渲染设置可能会大大降低笔记本的电池续航时间,在近些年的高分辨率屏幕上(例如“Retina 显示屏”的 MacBook)尤其明显。

mpv 默认不对视频进行色彩管理。即使你没有使用校色仪对屏幕进行过校色,对于原生色域接近某一标准色域(如 sRGB 或 DCI-P3 D65)的屏幕来说,开启色彩管理仍然可以获得更准确的颜色,因此,我建议始终将色彩管理开启:

icc-profile-auto

设置将字幕渲染到视频源分辨率并随视频一起缩放并进行色彩管理,这样可以保证字幕的分辨率与画面始终一致(避免“画面模糊字幕高清”的情况),并保证字幕中“屏幕字”的颜色与画面一致:

blend-subtitles=video

如果你有中高端独立显卡,想进一步提高画面拉伸质量,可以将画面拉伸算法更改为 EWA Lanczos(即 madVR 中所谓 Jinc):

scale=ewa_lanczossharp

在很多时候,我们的显示器刷新率不是片源帧率的整数倍(例如显示器刷新率通常为 60 Hz 而动画通常为 23.976 fps),此时在默认设置下会因每一帧实际在屏幕上的呈现时间不均等而造成卡顿感(俗称 3:2 pull down judder)。因此,建议启用 interpolation 来消除这个问题(此功能非常类似于 madVR 中的 smooth motion):

video-sync=display-resample
interpolation
tscale=oversample

以上是我认为具有普适性的一些选项。其他可以定制的地方还有很多,具体可以参考官方的文档对于上百个设置的解释说明。此外,mpv 提供了第三方用户脚本支持,可以实现更多的功能(例如设置 profile 针对不同片源类型进行不同的处理),以及第三方 user shader 来实现更多的画面处理(例如 NNEDI3、RAVU 等等)。

相比在图形界面中用鼠标勾勾点点,手写配置文件的方式固然不太符合普通用户的习惯,但是“一旦接受了这种设定”,你会逐渐体会到命令行的便利与灵活。

关于 mpv 的配置方法可以另外参考:

VCB-Studio 论坛上 cczzhh 的帖子,附有详细的注释和说明

mpv 开发者 hassn 的个人 mpv 配置

mpv 开发者 Argon- 的个人 mpv 配置

补充

关于近年的新款 MacBook 的设置

所有 2015 年开始的 12 寸 MacBook、2016 年开始的所有 MacBook Pro 的默认显示分辨率设置并非屏幕原生分辨率,而是经过缩放了的。这会导致在播放视频时播放器将视频拉伸到高于“正常”的分辨率,最后再被缩回屏幕的实际分辨率,不但由于多了一次不必要的缩放过程而产生轻微画质损失,而且大大增加了系统资源的消耗。如果你是前面提到的这部分型号的用户,你需要在更大的屏幕可用空间和更好的显示效果之间权衡。如果你要改回符合屏幕物理分辨率的设置的话:

12 寸 MacBook 改为“Looks like 1152×720”;
13 寸 MacBook Pro 改为“Looks like 1280×800”;
15 寸 MacBook Pro 改为“Looks like 1440×900”即可。

关于 NVIDIA 显卡的设置

在 Windows 上,NVIDIA 显卡默认的电源管理模式为“最佳功率”(Optimal power),在这个模式下 mpv 可能无法完全发挥显卡的性能而出现丢帧、卡顿。因此,需要在 NVIDIA 控制面板 – 3D 设置 – 管理 3D 设置 – 程序设置下,添加 mpv.exe,并将其电源管理模式改为“自适应”(Adaptive)。

关于双显卡笔记本的设置

如果你使用的是集成显卡 + NVIDIA 独立显卡的 Windows 笔记本,默认设置下 mpv 只会调用集成显卡来进行渲染计算,性能有限。如果你希望利用高性能独立显卡,则需要到 NVIDIA 控制面板 – 3D 设置 – 管理 3D 设置 – 程序设置下,添加 mpv.exe,并将首选图形处理器改为“高性能 NVIDIA 处理器”,并按照上面一样将电源管理模式改为“自适应”。

如果你使用的是双显卡的 MacBook,可以通过在配置文件中增加这样一行来强制 mpv 使用独立显卡:

cocoa-force-dedicated-gpu=yes

IINA 使用 mpv 配置文件

IINA 可以直接读取 mpv 的配置文件来共享设置,在偏好设置 – 高级选项卡底部勾选“使用配置目录”即可,默认的 ~/.config/mpv 即为 mpv 的默认配置文件所在目录。值得注意的是,小部分 mpv 设置是对 IINA 不起作用的,详见这里

你也可以直接在 IINA 的高级选项卡下直接添加 mpv 的设置,只要将上文提到的设置里每一行 = 左右两边的内容分别填进“选项”和“值”中即可。

FAQ

Q:说好的跨平台,那 Linux 呢?

A:如果你是日常 Linux 用户,应该对命令行和配置文件早已不陌生,想必通过上文的说明已经知道该怎么做了吧。

Q:mpv 和 madVR 哪个画质更好?

A:mpv 是一个全功能的独立播放器,madVR 只是一个渲染器,需要配合其他播放器(如 MPC-BE)工作。在视频渲染这方面,两者的设计和实现方式上有一些差异,但是在使用类似的设置时,画质的差异是微乎其微的。

Q:有懒人包么?

A:没有。

readme about webp

从本月开始我们的成品中将不再添加 readme about webp.txt。 From Oct 2019 we will remove “readme about webp.txt” from our future release. ...

阅读全文

[VCB-Studio 科普教程 2.2] 基于 PotPlayer 和 madVR 的播放器教程(已更新 XySubFilter)

Potplayer 是高清影视常用的播放器,界面简洁,功能齐全,比 MPC-HC 和 MPC-BE 更人性化;但其默认方案十分糟糕,预设过多错误,无法正确播放 10-bit 视频,...

阅读全文

[VCB-Studio 科普教程 1.3] 在 macOS 上使用 IINA 播放器

本文主要为 macOS 用户介绍 IINA 这款播放器。和之前的 MPC-HC 和 PotPlayer 的教程一样,本文的目标读者是对播放器不希望太折腾,同时希望能获得较好画质的...

阅读全文

104 条评论

  1. 系统:Win7 SP1 x64 2018.12
    校色软件:displaycal3.8.5
    参考了VCB-Studio 论坛上 cczzhh 帖子的设置
    http://bbs.vcb-s.com/thread-2730-1-1.html
    结合硬件对配置信息做了一些修改,发现色彩属于未开启色彩管理的状态,用排除法确认是这一行造成的
    “gpu-context=angle”(对windows,使用angle后端)
    关闭后,校色文件得到了正确的加载

欢迎留言

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据