2-15 135,022
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
则可以让这些信息保持显示或清除,显示时点击数字键 1
、2
、3
等等可以分别显示信息的第一、二、三……页。
在完成本文的配置后,你可以打开一个码率较高的视频,按下 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 的配置方法可以另外参考:
补充说明
是否应该开启硬解(硬件解码)?
近几年的主流 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"
- VCB-Studio 视频播放器推荐及教程索引 - 2023年5月8日
- 基于 MPC-HC 和 madVR 的播放器配置入门 - 2023年5月6日
- 跨平台播放器 mpv 配置入门 - 2023年2月15日
安装这个之前需不需要把原来用的pot卸载了
不需要。mpv 是完全独立的。
有什么插件可以记忆播放进度和多个播放列表?
都不需要插件。
save-position-on-quit 退出时记忆播放位置(注意mpv.conf所在的目录得有用户写入权限,不要把mpv放在Program Files文件夹下)
播放列表主流的格式都支持,比如m3u。
或者你上这个页面看看:https://github.com/mpv-player/mpv/wiki/User-Scripts
有能在mpv里存m3u文件的插件,但是看了下Issue说不支持UTF-8文件名。
记忆播放进度有个很简单的办法,
快捷键Q(注意是大写,小写q是不保存直接退出)键:存储当前位置,停止播放并退出,当下次播放相同文件时将继承播放进度
楼上所说修改mpv.conf也可以,不过如果在用SVP的话这个选项最好别开,有冲突
如果用SVP的话Q退出也不要用。原理都是一样的。不能用的原因是不单保存了进度,还保存了video filter参数,下次SVP就不能正确插入视频滤镜了。
多谢大佬提醒,这两天刚考完试还没看完官方manual( ̄▽ ̄)”
官方manual倒是没讲这个。SVP默认提供的mpv.conf注释里写的。目前有个PR想要实现不保存所有信息(https://github.com/mpv-player/mpv/pull/6373),如果merge了可能可以排除vf。
其实如果想要不那么硬核的使用mpv的话可以考虑以smplayer作为前端。
对我这种抱着笔记本电脑到处跑的,mpv配硬解来省电也是很重要的 😯
借楼问一下,谁知道有什么操作方便又相对来说对画质影响小的视频resize方法么?(有时候下载的视频很大,放在手机上看又不需要很高的分辨率)。
handbrake用起来~
只能重编码了,用好点的算法然后CRF17吧
完全没接触过压片,方便给一下完整的软件名称么?
(以下肯定说不全,欢迎补充/修正)
楼上说的Handbreak就是一款不错的容易上手的编码软件;此外很多人都推荐小丸工具箱;可定制度更高点有ShanaEncoder,MediaCoder,再之后就是VCB教程里的命令行编码了,可定制度最高
要我说还是直接拿vcb的小版本就行(基本每次发片都会发布的720p版本),重编码耗费的时间可能够你下好几部片子。。。。
请问如何设置自动窗口最大化?
加一行:
fullscreen=yes
窗口最大化,不是全屏。。。
相当于手动点了右上角的最大化按钮?需要使用脚本:
https://github.com/kevinlekiller/mpv_scripts/tree/master/maximize
注意需要nircmd。
额,脚本下了,nircmdc.exe也加入PATH了,没用。。。难道是不该下X64的nircmd?
打开一个空闲的mpv窗口,在cmd或者powershell里执行
nircmdc win max process mpv.exe
看看会发生什么。
IINA设置的时候 没有值的项目=后面是设置什么内容?true?
那个 Looks like 1280×800 该怎么使用?
谢谢
什么都不用写,或者=yes
madvr在bug10总是莫名其妙的崩溃,看了教程果断换了=w=
感谢教程.了解到这个播放器以后准备从mpcbe+madvr转为用mpv了
好硬核的播放器,打扰了
感谢boday大佬
另外,下面这行配置送给喜欢截屏的朋友
screenshot-directory=E:\ScreenShot\
# 也可以使用相对路径,即保存在播放文件所在文件夹下的某个文件夹中
# screenshot-directory=ScreenShot/
# shift+s 是截屏不带字幕 s 是截屏带字幕
# shift+S 是截屏带字幕 S是截屏不带字幕
這畫面難道是!!
所以,没人发现截图是还没发布的赛马娘么~ 😆
建议加上:
自动加载外挂音频
audio-file-auto=fuzzy
播放结束后不退出
keep-open=yes
等了很久,为vcb疯狂打电话!!!
想隐藏窗口标题栏的强迫症可以用
border=no
补充几个实用脚本
自动加载相似文件名到播放列表
https://github.com/mpv-player/mpv/blob/master/TOOLS/lua/autoload.lua
切换音频输出设备
https://gist.github.com/bitingsock/ad58ee5da560ecb922fa4a867ac0ecfd
从assrt.net下载字幕
https://github.com/AssrtOSS/mpv-assrt
> 设置文件类型关联
建议运行mpv-install.bat来做这件事,官方build网页上就是这么写的:To set up file type associations and AutoPlay handlers, use mpv-install.bat. 单纯右键更改效果并不理想。见https://github.com/rossy/mpv-install
sourceforge上的git build则是已经包括了这个脚本(installer文件夹下)。
>创建配置文件
不推荐直接放mpv.exe同目录。
A third config directory with the lowest priority is the directory named mpv in the same directory as mpv.exe. This used to be the directory with the highest priority, but is now discouraged to use and might be removed in the future.
Windows下为了防止找不到APPDATA在哪的话,最好还是建一个叫portable_config的目录。
If a directory named portable_config next to the mpv.exe exists, all config will be loaded from this directory only. Watch later config files are written to this directory as well.
参见https://mpv.io/manual/master/#files-on-windows
不放APPDATA的话就要保证mpv所在文件夹有用户写入权限,不然之后产生一些cache什么的会成问题。
星际选手了,不推荐的做法是在mpv.exe同目录建名为mpv的目录存配置。mpv.exe同目录下直接放确实可行,只是优先级比较低。
感谢建议。已修改。
日常 Linux 用户不一定對命令不陌生啊!譬如從 Windows 跳過來嚐鮮使用 Ubuntu 或只 Mint 的用戶。
终于等到了 开心>..<
教程感激不尽,看起来只要简单几行代码太棒了!另外想请问下, mpv 默认能将字幕显示到黑边上吗(比如剧场版伤物语)?
blend-subtitles=no
sub-ass-force-margins
3Q~
感谢教程!之前一直用的potplayer,因为播放全能+UI还算可以,之后跟随贵组的教程从设置madvr,到放弃Bug频出的potplayer转战mpc-hc/be+madvr,之后自己去各论坛学习madvr的配置,再到现在的mpv,终于发现还是更喜欢绿色的mpv
于是现在mpc-hc+madvr和mpv一起用了 😎