mpv播放器的安装与设置

A@NAZOrip
A@NAZOrip 2022年10月17日
  • 在其它设备中阅读本文章

MPV播放器同时解决了多个用户痛点,如:

  • 自定义设置
  • Ctrl+C,Ctrl+V完成设置(而不是一个个菜单点)
  • 大量菜单代码导致开源维护和跨系统兼容困难
  • 默认乱加视频和音频滤镜
  • 视频颜色错误(渲染器太旧导致?)
  • 软件没有移动版(移动硬盘或USB盘 + 移动设备)
  • 默认加字幕渲染预设,导致字幕组的格式设定被覆盖
  • 同时支持OpenGL-Vulkan-D3D11渲染器
  • 支持第三方自定义脚本
  • 可自定义播放信息
  • 自带官方论坛
  • 可作为后端的底层库存在,如:
    • mpv.net - 较为常见的MPV前端,主要改进了右键上下文菜单,GUI设置界面以及Shell终端,自定义颜色主题
    • ImPlay
    • Haruna
    • Kawaii-Player - 搭载MPV,MPlayer的网络串流媒体管理服务器
    • Memento - 搭载日语学习工具的特殊播放器
    • Deepin Movie - 国产操作系统Deepin Linux(自带?)的播放器

安装

  1. 官网或者下载MPV播放器.
  2. 将下载的bootstrapper.zip解压到需要安装的目录
  3. (用管理员身份)运行updater.bat,在弹出的命令窗口按Y确认下载
  4. 运行目录下的install.bat以注册默认各种视音频封装文件格式的默认程序
  5. 不改移动版:在Linux下的/etc/mpv/,或Windows下的%APPDATA%\mpv\编辑input.confmpv.conf两个配置文件
  6. 改为移动版:在安装目录下创建portable_config文件夹,然后在其中创建input.confmpv.conf两个配置文件,然后将以上两个路径下的input.confmpv.conf拷过去(之后可以删除该源路径)

配置

按需将以下设置Ctrl+C,Ctrl+V拷过去
其中#代表注释,即程序读取时看到就忽略,用于添加说明和列出其它设置参数值

注意

解码器的选择决定了偏色错误程度,例如:

  • 1-videoOptions-fixed.png
  • 测试方法也简单,找图录个屏,然后每个解码器都试试,对比有颜色管理(一般用于视频编辑)的解码软件即可
  • 此处录制了AVC bt.709 limited源,显卡解码调用了RTX 3080ti,可以看到nvdec解码器颜色偏的很离谱
  • SDL解码器虽然也有偏色,但至少差距很小
mpv.conf
# 默认音量
volume=82

# 多集视频流拖入后合一播放 (试了没用)
# merge-files

# 禁止自动缩放视频适应屏幕(按视频原始分辨率设置窗口大小)
cycle=video-unscaled
script-opts=osc-vidscale=no
no-hidpi-window-scale
keepaspect-window

# 高质量播放预设
profile=high-quality

# 多显示器
# screen #手动指定从哪个显示器打开视频
# fs-screen=<default/0~32> #手动指定全屏模式默认屏幕

# 播放结束后不关闭程序
keep-open=yes
# no (默认default)
# yes
# always (播放列表playlist)

# 选择解码硬件和解码器,vulkan api
vo=sdl # 选择使用Simple Directmedia Layer解码器
# sdl
# gpu
# hwdec=nvdec # 选择使用英伟达显卡解码器
# profile=gpu-hq # 高质量解码预设
# gpu-api=vulkan # 选择使用vulkan交互格式
# vulkan
# opengl
# d3d11
gpu-context=auto
# auto
# cocoa (Mac OS)
# winvk (Win32 Vulkan), 
# angle (Direct3D 11 / D3D11)
# dxinterop (实验性 Win32 WGL + Direct3D 9Ex)
# win (Windows 32 / WGL)
# direct3d
# wayland (Wayland / EGL)
# waylandvk (Wayland Vulkan)
# android
# gpu
# sdl
# xv
# x11
# vdpau

# 4k解码辅助(?)
vd-lavc-dr=yes
opengl-pbo=yes

# 字幕渲染
sub-auto=fuzzy
# no (不加载字幕)
# exact (默认: 读取完全匹配文件名的字幕, 尽可能区分语言名)
# fuzzy (读取所有含播放文件名的字幕文件, 其它集数字幕可能一并导入, 可能节省了给字幕组文件逐集改名的功夫?)
# all (读取同媒体文件夹下所有字幕文件)
# sub-gauss=0.5 # 模糊字幕,防止视频模糊时字幕太清晰导致观看体验不一致的问题
# sub-gray #彩色转灰阶,干掉大部分英语DVD字幕难看的亮黄色用
# sub-fix-timing=yes #修剪两个字幕切换时间重叠的功能,强制间隔210ms

# 高质量渲染,色彩管理,lanczos缩放
icc-profile-auto
blend-subtitles=video
scale=ewa_lanczossharp # vo=gpu下最好的的缩放选项,老显卡跑不动可以用ewa_lanczos
# 老设备不支持scale,可以用sws-scaler
gpu-shader-cache-dir="~~/shaders_cache" # 显卡shader着色器缓存手动指定位置

# 小数帧率卡顿修复
video-sync=display-resample
interpolation
tscale=oversample

# 手动指定音频输出(Windows)
ao=wasapi
# alsa (Linux)
# coreaudio (Mac OS)
# coreaudio-spdif-hack=yes # 通过转PCM输出适配不兼容ACE/DTS的音频驱动
# pulse
# sdl
# jack
# pcm
# wasapi (Windows Audio Session API)

# 截屏设置
screenshot-format=png #png, jpg/jpeg, webp
screenshot-tag-colorspace=yes # 截图标注色彩空间,不同格式兼容性不一
screenshot-high-bit-depth=yes # 用逼近视频源的位深
screenshot-template=mpv-%F-%wM-%ws-%02n # 指定截图命名规则为"mpv-文件名:分:秒-两位号"
# %f 文件名
# %F 文件名去后缀
# %p = HH:MM:SS = %wH:%wM:%wS
# %P = HH:MM:SS.mmm = %wH:%wM:%wS.%wT
# %wH = 初始两位时(00~999)
# %wh = 初始一位时(0~999)
# %wM = 初始两位分(00~59)
# %wM = 初始一位分(0~59)
# %wS = 初始两位秒(00~59)
# %ws = 初始一位秒(0~59)
# %{prop[:fallback text]} 文件名重复时添加"fallback text"或自定义文本
screenshot-directory="D:/Desktop" #手动指定截图储存位置(默认就是桌面所以不用写)
screenshot-png-compression=9 #最大压缩,因为算力够而且png是无损压缩
priority=high

# 基于yt-dlp的网络视频播放(真·无广告)
# Windows用法: X:\文件夹\mpv.exe https://www.youtube.com/watch?v=NAh9oLs67Cw
# Linux用法: mpv https://www.youtube.com/watch?v=NAh9oLs67Cw
# ytdl #启用与mpv同文件夹下(运行安装或更新时选一并安装)的yt-dlp.exe
# ytdl_path=yt-dlp.exe #手动指定yt-dlp.exe路径,先试试默认的自动
# use_manifests=yes #启用读取HLS,mpeg-DASH源的原数据

# 新功能: 按Shift+O算出当前帧数(不准)
osc=yes
timems=yes
osd-status-msg=${playback-time/full} / ${duration} (${percent-pos}%)\nFrame estimation: ${estimated-frame-number} / ${estimated-frame-count}

# 用电脑内存缓存(CPU算力偏中高则不需要)
# cache=yes
# 默认音量70%.
# volume=70
# 默认最大音量150%.
# volume-max=150
# 退出时记录进度条位置
# save-position-on-quit=yes

input.conf
# 按?估算精确时间戳
? show-text ${time-pos/full}
# 按/估算当前帧数
/ show-text 'est. frame: ${estimated-frame-number} ; est. count: ${estimated-frame-count}'

其他设置

建议保存到安装目录(以及创建快捷方式放开始菜单里),忘了就打开看下

mpv常用按键.txt
→ 前进 5 秒
← 后退 5 秒
↑ 前进 1 分钟
↓ 后退 1 分钟
PageUp 下一章节
PageDown 上一章节
Space 播放/暂停
9 音量-
0 音量+
j 轮换字幕
# 轮换音轨
f 轮换全屏/窗口显示
s 截图(在mpv.conf-->截屏设置中修改图片格式)
i 显示播放信息;1,2翻页
shift+i 播放信息留在画面
shift+l 循环播放
[ 播放减速
] 播放加速
{ 播放速度减半
} 播放速度翻倍
Backspace 恢复播放速度恢复

Alt+0 窗口大小设为视频分辨率0.5倍
Alt+1 窗口大小设为视频分辨率1.0倍

那么就这样...