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

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

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

如果你确实需要一个图形界面的 mpv 播放器前端,我们推荐:
– Windows 用户使用 mpv.net,可以通过微软商店GitHub 获取;
– macOS 用户使用 IINA,可以直接从官方网站下载

即使你选择使用以上两款图形界面的 mpv 前端,在配置时仍然可以参考本教程的内容。

安装

Windows 用户可以到这里选择并下载最新版压缩包。mpv 是原生绿色软件,将压缩包内所有文件解压到你想要的位置即可,例如 C:\mpv。如果你希望双击就能用 mpv 打开媒体文件,请以管理员权限运行 installer 文件夹内的 mpv-install.bat。该软件仓库的维护者每周都会发布一个根据最新源代码编译的版本。

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

Linux 各主要发行版的官方软件源里都收录了 mpv,例如使用 apt 的系统可以直接用 sudo apt install mpv 来安装。不过因为这些软件源中的 mpv 版本经常过旧,建议另外找第三方的软件源来安装,或者参考 mpv-build 自行编译。

设置文件类型关联

Windows 下的文件类型关联应该已经由安装脚本完成。如果要手动设置,以 MKV 文件为例,在任意 MKV 文件上点击右键 – 属性 – 打开方式 – 更改,然后选择刚才安装目录下的 mpv.exe 即可。

macOS 下和 Windows 类似,右键 – 显示简介 – 打开方式 – 全部更改,然后选择 mpv 即可。

Linux 下取决于你使用的桌面环境,修改方式和上面大同小异。

简单的播放器控制界面

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

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

常用快捷键

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

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

在完成本文的配置后,你可以打开一个码率较高的视频,按下 Shift + i 观察第一页显示的 Dropped Frames 以及 Mistimed 和 Delayed 这几项计数,如果播放一段时间后这几个数字都保持稳定没有增加,则基本可以确定视频播放没有什么问题了。

创建配置文件

虽然 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

Linux 下的用户配置文件位置与 macOS 相同,也是 ~/.config/mpv/mpv.conf

建议添加的配置命令

– mpv 的默认渲染设置已经很好,一般来说已经足够。如果你的显卡性能较强(独立显卡,或近一两年的集成显卡),可以启用一套预设的更高质量的渲染设置,方法是在 mpv.conf 中写上这么一行:

profile=high-quality

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

– 目前(0.37.0-0.38.0 版本)官方的高质量渲染预设会让色度平面的拉伸也使用 ewa_lanczossharp,比较浪费资源,所以我们再加一行:

cscale=catmull_rom

– 色带是非常常见的视频压缩瑕疵。默认启用去色带是利大于弊的:

deband=yes

– mpv 默认不对视频进行色彩管理。如果你使用校色仪对屏幕进行过校色,或者在用支持硬件校色的显示器,或者拥有厂商提供的颜色配置文件(即 ICC profile,比如近年来的所有 Mac 都自带,有些其他显示器或笔记本电脑厂家也会提供)的话,建议将色彩管理开启:

icc-profile-auto=yes

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

blend-subtitles=video

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

video-sync=display-resample
interpolation=yes
tscale=oversample

注意
屏幕刷新率越高,理论上卡顿感会更弱,而此时开启 interpolation 对性能的要求也越高(也更耗电)。在刷新率较高(大于 100 Hz)的屏幕上可根据实际情况酌情开启。

– 中文字幕组经常会在外挂字幕的文件名中用 chs/cht/sc/tc/gb/big5 等标记来区分简体或繁体字幕。这些“非标准”的写法不会被 mpv 识别为语言标记,因此 mpv 默认不会自动加载这些字幕文件。如果想让 mpv 能自动识别并加载这些外挂字幕的话:

sub-auto=fuzzy

– 如果你希望 mpv 启动后直接进入全屏模式:

fullscreen=yes

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

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

字幕论坛上 cczzhh 的帖子

字幕论坛上孤雨独火的帖子

mpv 开发者 hassn 的个人 mpv 配置

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

补充说明

是否应该开启硬解(硬件解码)?

近几年的主流 PC 对最常见的视频编码(H.264 和 H.265)硬解的支持已经有了一些提高,但出现各种问题的几率仍不算低。为了保证播放稳定可靠,我们一般建议只使用软件解码(这也是 mpv 的默认设置)。如果你有其他需求,例如希望降低笔记本电脑功耗、提高电池续航,可以尝试开启硬解:

hwdec=auto-safe

更多信息请参考 mpv 官方文档

一些 Linux 发行版(例如 Debian/Ubuntu)可能会自动生成一个系统全局 mpv 配置文件(/etc/mpv/mpv.conf)并开启了硬解:

hwdec=vaapi

如果播放时遇到问题,建议优先尝试在用户配置文件(~/.config/mpv/mpv.conf)中覆盖上述设置:

hwdec=no

关于双显卡笔记本的设置

如果你使用的是集成显卡 + NVIDIA 独立显卡的 Windows 笔记本,默认设置下 mpv 只会调用集成显卡来进行渲染计算,性能有限。如果你发现播放时显卡性能成为瓶颈,可以尝试改用更高性能的独立显卡:在 NVIDIA 控制面板 – 3D 设置 – 管理 3D 设置 – 程序设置下,添加 mpv.exe,将首选图形处理器改为“高性能 NVIDIA 处理器”,并将电源管理模式改为“自适应”。

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

cocoa-force-dedicated-gpu=yes

IINA 使用 mpv 配置文件

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

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

解决 Linux 下 Intel 集成显卡驱动可能导致卡顿的问题

近些年很多 Linux 发行版不再建议安装 Intel 显示驱动(xf86-video-intel),只使用 modesetting 驱动。然而,modesetting 驱动可能存在 VSync 不稳定的问题,导致 mpv 在开启 video-sync=display-resample 时间歇性卡顿。解决办法是仍然安装并启用 Intel 显示驱动,可以参考这里

以 Ubuntu 为例,首先确保 Intel 显示驱动已经安装:

sudo apt install xserver-xorg-video-intel

重启后确认 loaded display driver 已经是 intel,例如:

inxi -G

如果仍然显示 Display … loaded: modesetting,则需要手动添加配置,例如 /etc/X11/xorg.conf.d/20-intel.conf

Section "Device"
    Identifier "Intel Graphics"
    Driver "intel"
EndSection

重启即可。

如果更换驱动后发现有画面撕裂现象,可以尝试在上述配置文件第三行后添加:
    Option "TearFree" "true"

在 Windows 系统中启用长路径功能

从本月起我们的成品可能不再遵从较为严格的路径长度限制。这篇文章将简单介绍如何在 Windows 系统中启用长路径功能。 Windows 系统中较为保守的最大路径...

阅读全文

VCB-Studio 视频播放器推荐及教程索引

(Image Credit: しおん@pixiv) 目前我们推荐的播放器可以分成两大阵营:mpv 和 MPC。前者跨平台,后者仅限 Windows。 mpv mpv 可以在 Windows、macOS 和桌面...

阅读全文

基于 MPC-HC 和 madVR 的播放器配置入门

之前的 MPC 系教程和 madVR 教程都有些过时了。老教程直接通过注册表来设置虽然简单直接,但不利于维护,索性重新写一篇。 和 mpv 的教程 类似,本教程只提及...

阅读全文

266 条评论

  1. 大佬我有一个问题 像一些视频文件一般都有几个音轨除了不同语言的情况之外
    还有一种情况就是这几个音轨的内容一样 只不过是有的音轨是5.1声道 有的音轨是2.0声道 如果我使用2.0的音响进行播放 使用5.1声道音轨效果更好 还是使用2.0声道音轨效果更好?
    还望各位大佬赐教!
    万分感谢!

    1. 如果你的音响设备支持5.1,那就是5.1的音轨效果好;如果你的音响设备不支持5.1,那就是2.0的音轨效果好,把而把5.1合成成2.0次之,直接播放5.1最次。

  2. 使用文中的配置,播放视频是偶尔出现放到一半突然变得特别卡,无法继续正常播放的情况。即便关闭mpv后windows的交互也会变卡,例如打开任务管理器需要等好几秒才能有反应,打开其他软件也会卡顿,再次开始播放视频会直接卡死,重启后恢复正常。播放的是vcb的视频,cpu是amd3600,显卡是1660s,双显示器。不知道是什么原因导致的,在网上也没有找到类似的问题,请问有大佬愿意解答一下吗,非常感谢~

  3. 感谢大佬的介绍,WIN版可以同时打开多个MPV窗口,MAC下默认不行,请问能实现嘛?就是多个视频同时用MPV,我去了MAC会覆盖掉新打开的~

  4. 最近mpv播放出了问题,有些视频能正常播放,有的打开就闪退。然后我就换了其他几个播放器,视频都能正常播放了,但有的外挂字幕无法正常显示(就是mpv播放会出问题的那些),字幕轨道里明明显示有这个字幕,但视频上显示不出来。然后我就发现是字幕的问题,把字幕文件拿开,之前MPV播放闪退的视频用mpv也能正常播放了,但字幕文件应该是没什么问题才对的,不知道到底是电脑哪里出问题了,有没有大佬能解答一下,感谢=_=

    1. 比如说下的人人影视的字幕,开头会有一个网站的动态的logo和制作信息这些东西,一开始加载就卡的视频闪退了,但是去字幕文件中把这几行给注释掉,字幕就又能正常使用可以正常播放了,不知道咋回事

      1. 呃,你倒是留个下载链接啥的呀,人人影视那么多视频,谁知道你说的哪个呢,随便找个分析研究一年,结果你说的是另外一个视频,那不就白费力气了么

        1. 呃,所以说跟视频没有关系啊,应该是字幕哪里渲染什么的鬼出问题了,有些字幕无法正常打开,导致视频也无法正常播放。我就网上随便下个什么视频,不带字幕时就能正常打开,如果把人人影视的字幕拖进去,视频就会闪退了,但如果把开头字幕组做的特效效果的logo那几行给注释掉,又能正常使用了 🙁

        2. 不光是人人影视的字幕,有些其他的字幕也会出现这种问题,反正就是不带字幕就都可以正常播放,但加字幕后,有些能正常播放,有些就会出问题,卡顿闪退,不知道是为什么=_=

  5. 相比较而言,感觉还是没有potplayer加madvr调教好了之后画质好,不过配置的过程中还是很有趣的,mpv潜力很大。

  6. 啊喏,想请教两件事:
    1. 我安装后,也加了这篇科普中推荐的几项配置了,但为何视频一直会是不是的卡顿啊(大概一到两分钟内就会卡顿一次,大约2秒);
    2. 最近刚好下了动漫国和EVA联盟制作的 EVA Q 的字幕,但是在最开头的 巨神兵 那段竖排的字幕,都挤做一团了(但并不是所有的竖排字幕都显示有问题,比如物语的那大段的竖排字幕都显示正常)。
    想请教一下有没有大佬们,是不是都这样,需要配置其他的什么选项吗?

    1. cczzhh的帖子 http://bbs.vcb-s.com/thread-2730-1-1.html

      使用到的额外脚本有:
      # https://github.com/mpv-player/mpv/blob/master/TOOLS/lua
      autocrop.lua # Shift+c自动切黑边,再按Shift+c复原
      autodeint.lua # Ctrl+d 让脚本自动判断需不需要反交错
      autoload.lua # 自动加载同目录中的文件
      ontop-playback.lua # 暂停播放后窗口不再保持最前
      pause-when-minimize.lua # 最小化时暂停

      第三个脚本就是

  7. 设置了一同感觉和直接用potplayer没什么区别啊,不过心里感觉比较NB
    另外设置的文档里我这么写的对不对:
    profile=gpu-hq
    icc-profile-auto
    scale=ewa_lanczossharp
    video-sync=display-resample
    interpolation
    tscale=oversample

  8. 这个真的是神器啊,折腾了两天potplayer和mpc-hc,最后发现还是mpv好。2K屏上播放效果几乎没差,但是mpv是绿色版,界面清新,没有乱七八糟的东西,配置也简单,几个参数搞定,最重要的是非常轻量级,打开二三十G的文件都是秒开

  9. 使用外挂字幕的时候,加载字幕的一瞬间视频亮度会暗一点,不知道有没有办法解决呢……字幕消失过后会慢慢恢复,等到第二行字幕出现又会重复出现这样的情况……

    1. > 这个播放器没有设置、属性这些菜单吗?好像找不到。。

      “mpv 本身没有图形界面,各种设置需要通过手动编写配置文件来完成”

      > 另外请问它能倍速播放吗

      可以按“[”、“]”、“{”、“}”键来调整。

  10. 系统: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来减少垃圾评论。了解我们如何处理您的评论数据