2-15 136,693
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日
双击播放界面就自动退出怎么解决 一不小心点两下就推出了
回复给 anan0907:
修改 `~/.config/mpv/input.conf` 快捷键设置
MBTN_LEFT ignore #鼠标左键 无操作
MBTN_LEFT_DBL cycle fullscreen #左键双击 切换全屏
icc-profile-auto=yes,配置文件加这条SDR视频也会强制HDR,看着好奇怪啊(前提:我在Win11设置中打开了HDR)
> 解决 Linux 下 Intel 集成显卡驱动可能导致卡顿的问题
我的方法是添加`gpu-api=vulkan`参数,但只适用与双显卡且安装驱动的情况
不同显卡可以命令行`–gpu-api=help`查看
也可以使用`gpu-context`去指定
调整对比度后下一次就会重置,怎么解决啊
请教大佬,播放完一个视频后自动关闭了,可以设置连续播放吗
回复给 Turtledove: mpv应该是有办法实现的,应该有很多lua脚本可以实现类似的功能
回复给 IAALAI: 嗯嗯,已经找到这个脚本了
Mac上安装了mpv app,打开输入B站或油管的视频链接,点击确认闪退,找不到原因,求教!!
回复给dhammavipassi: MPV应该不支持解析页面提取视频,可以使用IINA达到这个目的。
回复给Diaz Chika: iina用的就是mpv的内置ytdl解析
回复给孤雨独火: mpv 不内置 yt-dlp, [见](https://github.com/mpv-player/mpv/blob/3e7d36c295f726e701d1ceea6af83382f7b2f59e/DOCS/man/options.rst#L960)
所以层主或者再装一个 yt-dlp,或者直接 IINA 一把梭,保证有一个可以用的 yt-dlp 就可以放链接了
回复给Midori: 我说的不是ytdlp,建议你看看清楚,ytdlp能通过iina用也是因为mpv的builtin script能调用ytdlp,那玩意叫ytdl-hook
回复给孤雨独火: 哦,您说的是 mpv 内置了 (ytdl解析脚本) ,那这确实是指 ytdl-hook.lua,您说的对 😛
但我们可以回到层主的问题上来?
我想表达的是层主 _有可能_ 需要一个 youtube-dl 类似物,解决方案包括但不限于:
– 直接装一个 yt-dlp (或者其他兼容的 fork)
– 用 IINA,它会自带一个可以用的
回复给Midori: 我纠正的是“MPV应该不支持解析页面提取视频”这个错误,而“可以使用IINA达到这个目的”已经算是解决方案,没有必要重复。
我使用的是MBA m2,想问下该怎么配置窗口参数才能默认铺满桌面呢?目前看来默认全屏可能是一个妥协的办法,因为我试过双击窗口,使用macOS的缩放方法,会在mpv的窗口下边缘和macOS的下方dock栏之间空出来一部分空间,十分无语
有个问题,下载mpv最新版本后,win7系统无法打开exe文件,提示:无法定位程序输入点 GetSystemTimePreciseAsFileTime 于动态链接库KERNEL32.dll。。。有解决办法吗?
回复给castell: 换旧版,mpv已经移除了对旧系统的支持
大佬可以做一期mac端mpv播放hdr和杜比的教程嘛,还有啊,好像最新的mpv支持3dlut了
> mac端mpv播放hdr
直接播不就行?
> 和杜比
dolby vision?那不存在的
> 好像最新的mpv支持3dlut了
是指支持自定义插入 .cube 格式的 3dlut?一般人用不到这东西的。
回复给はかせ: 我试了直接播没有hdr啊,好像亮度映射不对啊
那就不清楚了。你如果能把问题描述清楚(系统版本配置文件片源信息,以及映射不对是怎么个不对),或许有人能帮你。
请问我在看各个视频的时候mistimed和delayed一直增加怎么办
大佬们,请问为什么我按文章设置了之后字幕还是没法模糊识别啊,谢谢
视频名称是[XKsub&LoliHouse] GRIDMAN UNIVERSE [BDRip 1080p HEVC-10bit FLAC ASSx2].mkv
字幕名称是[XKsub&LoliHouse] GRIDMAN UNIVERSE [BDRip 1080p HEVC-10bit FLAC ASSx2].chs_jpn.ass
下附我的config文件
icc-profile-auto
profile=high-quality
blend-subtitles=video
video-sync=display-resample
interpolation
tscale=oversample
sub-auto=fuzzy
hwdec=auto-safe
save-position-on-quit
slang=chi,zh-CN,sc,chs
回复给TomX: 你使用的系统是什么?使用了哪个版本的mpv?我使用 Windows(builds by shinchiro)20231029 与相同配置文件在 Win10 19044 下测试正常。
回复给mmmgesture: mpv-x86_64-v3-20231029-git-a57bd8e和win11 23h2的,它就是只有当文件名完全一致的时候才会挂载
回复给mmmgesture: 大佬请问会不会是那个mkv文件里面内封了chs的字幕导致的啊
回复给TomX: 有内封的肯定内封优先,外挂的可以手动切换
回复给dtlnor: mpv强制优先外挂而不是内封
回复给孤雨独火: 还有这种事情,是我想当然了
赛扬g5905能流畅播放vcb 1080p的视频吗(2c2t 3.5ghz uhd610)
回复给iwannacg: 从解码方面应该没问题。参考 https://www.intel.com/content/www/us/en/developer/articles/technical/encode-and-decode-capabilities-for-7th-generation-intel-core-processors-and-newer.html
想请教一下大佬们如何看待VLC播放器…有些VLC的特殊功能MPV和Potplayer都是没有的,所以想了解一下在多大程度上在视频播放方面VLC弱于MPV 😕
回复给时光的对岸: 对VLC的看法嘛……嫌VLC比较丑,算是一个。还有可以详细说说VLC的特殊功能码?我反而是觉得PotPlayer功能更多更好用,VLC实在是用不惯。不过安卓上的VLC我是很喜欢的。
回复给西北流士: 倒确实w
主要是VLC在远程播放的时候据说可以设置缓冲,现在用的Potplayer只要一打开就会一直缓冲完整个视频文件,据说MPV也没地方进行这种设置,挺不友好的w
回复给时光的对岸: 原来如此,我几乎不用这些播放器看流媒体,顶多用了个PotPlayer插件看看B站视频,也没管是不是会缓冲完整个视频,这方面基本上没了解。
PotPlayer目前主力用,但是占用太高外加bug多,不是很满意,然后VLC、MPC-HC还有MPV全都不是很满意,都不知道用啥好了。
回复给时光的对岸: 说着说着有些跑题了,对VLC的看法还有就是没法像DirectShow播放器那样换madVR,还有挂一些插件。我自己目前看番喜欢挂一个Anime4KCPP的DSFilter,超分辨率用。然而Anime4K在MPV上的版本新的多,懒得折腾MPV只好下位替代。总之就是VLC扩展性感觉一般。
最后用不习惯的就是快捷键吧,不过这是我自己的问题,不同软件快捷键不同很正常。
回复给西北流士: 感谢感谢 😉
回复给 时光的对岸: 有的,MPV有一个demuxer-max-bytes=10GiB,可以实现类似的效果
回复给时光的对岸: MPV和VLC都是开源,但是MPV贡献者会多些,更新也频繁,有不少好用的版本
回复给Adam: 感谢大佬提供信息w
为什么我conf里边的东西没作用
profile=gpu-hq (alias high-quality) 已经过时,现在建议使用 high-quality
scale=ewa_lanczossharp 现在是 high-quality 的默认选项
见<https://github.com/mpv-player/mpv/blob/eecba5131a4399a61119b19bc8bb2728bac21c6b/etc/builtin.conf#L52C2-L52C2>
回复给bkjzon: 这里 https://github.com/mpv-player/mpv/commit/703f1588803eaa428e09c0e5547b26c0fff476a7
感谢告知。已更新。
我下载的懒人包,按教程设置完后发现暂停几秒后继续播放时画面会有一两秒的卡顿(或者说慢动作),点击进度条跳转的时候有一个很大的卡顿延迟,配置是1060 6g,请问是什么原因该怎么解决呢
回复给Laplace_me: 是否是开了补帧或者着色器导致的
请问为什么我用mpv打开下载好的动漫不会自动加载其他集数 每次播完一集都要手动打开下一集的文件
mpv 本身没有这个功能。你可以通过添加自定义脚本实现:
https://github.com/mpv-player/mpv/blob/master/TOOLS/lua/autoload.lua
回复给はかせ: 可以了 谢谢
播音訊檔看不到字幕的話,要把blend-subtitles=video給關掉/註解掉。
DYNAZENON裡的廣播劇有附字幕但顯示不出,花了點時間才解決問題,看作者要不要在正文加註一下。
设置完后,画面正常播放,声音是两倍速,怎么办
回复给gerui: https://github.com/hooke007/MPV_lazy/wiki/0_FAQ#%E9%9F%B3%E7%94%BB%E4%B8%8D%E5%90%8C%E6%AD%A5
sourceforge里下载时有64bit和64bit-v3两种,有啥区别?v3是指GPLv3?哪个更好?
进入 v3 目录后,拉到最下面看它的 README.rst(这个问题被人问了无数遍,这 readme 确实还不够显眼)
v3 实际上指的是这里这个:
https://en.wikipedia.org/wiki/X86-64#Microarchitecture_levels
回复给amiemie6661: 区别在使用的cpu指令集(主要标志是avx2),能用v3就用v3,在某些场景(比如编码x265)更好,单纯看视频感受不到差别
回复给amiemie6661: 区别在使用的cpu指令集(主要标志是avx2),能用v3就用v3,在某些场景(比如编码x265)更好,单纯看视频感受不到差别