mpv.conf 配置与性能调优
mpv 播放器的配置文件详解——视频/音频/字幕选项、硬件解码、性能调优和场景配置模板。
配置体系
#mpv 按以下顺序加载配置,后覆盖前:
| 系统 | 路径 |
|---|---|
| Linux | ~/.config/mpv/mpv.conf |
| Windows | %APPDATA%\mpv\mpv.conf |
| macOS | ~/.config/mpv/mpv.conf |
语法:option=value,# 注释,行末不要有空格。profile 块用 [name] 定义。
目录结构:
~/.config/mpv/
|-- mpv.conf # 主配置
|-- input.conf # 按键绑定
|-- script-opts/ # 脚本参数
`-- scripts/ # Lua/JavaScript 脚本
视频核心
#输出驱动
vo=gpu-next # 推荐,支持 Vulkan/OpenGL
gpu-api=vulkan # 性能最好,Linux/Windows 优先
硬件解码
hwdec=nvdec # NVIDIA 纯解码(省电)
hwdec=cuda # NVIDIA 更广兼容
hwdec=vaapi # Intel/AMD Linux
hwdec=d3d11va # Intel Windows
hwdec=videotoolbox-copy # macOS
画质
scale=ewa_lanczossharp # 放大
dscale=mitchell # 缩小
cscale=bilinear # 色度缩放
linear-scaling=yes # 线性光域缩放
sigmoid-upscaling=yes # S 形上采样
correct-downscaling=yes # 修正缩小混叠
icc-profile-auto=yes # 加载校色文件
tone-mapping=hable # HDR->SDR 映射
帧率同步
video-sync=display-resample
interpolation=yes # 运动插值
interpolation-past-frames=8
interpolation-future-frames=8
音频
#ao=wasapi # Windows
audio-normalize-downmix=yes
audio-format=float
audio-channels=auto
volume-max=200
字幕
#sub-auto=fuzzy
sub-font="Source Han Sans SC"
sub-font-size=48
sub-border-size=2
sub-ass-override=force # 覆盖 ASS 样式
sub-shadow-offset=1.5
性能调优
#解码与渲染
vd-lavc-dr=yes # 硬解帧零拷贝渲染,省 CPU
opengl-pbo=yes # 异步像素上传,减少卡顿
hwdec=auto # 自动硬解,花屏再回退 no
网络流缓存
cache=yes
cache-default=50000 # 50MB 起步
demuxer-max-bytes=200Mi # 网络流预取上限
demuxer-max-back-bytes=50Mi # 向后回看缓冲
低配机器
高画质选项(插帧、高质量缩放)在核显/低端机上会掉帧。降档:
profile=fast # 内置低开销预设
interpolation=no # 关运动插值
scale=spline36 # 降级缩放算法
video-sync=display-resample
framedrop=vo # 卡顿时优先丢帧
快捷键与脚本
#mpv 无默认 UI 菜单,一切靠按键和脚本。常用默认键:f 全屏、/和* 音量、[和] 倍速、. 逐帧、s 截图、S 无字幕截图、Ctrl+s 保存播放进度。自定义键写在 input.conf:
# 示例:切换字幕轨,重定义左右键为微调 5 秒
cycle sub
RIGHT seek 5
LEFT seek -5
# 是注释符。键位以 键 命令 格式写一行,命令可用 mpv --input-cmdlist 查看全量。
常用社区脚本(放 scripts/):
thumbfast— 进度条缩略图预览uosc— 现代化 OSC 界面,替代默认进度条mpv-youtube-quality— 在线视频清晰度切换modernx— 简洁风格 UI
常见问题
#| 现象 | 处理 |
|---|---|
| 花屏/绿屏 | hwdec=no 回退软解 |
| 字幕乱码 | 确认字幕文件 UTF-8;sub-font 指定中文字体 |
| 音画不同步 | 关 interpolation;或 --audio-delay=±秒 微调 |
| 倍速后音调变怪 | 默认 scaletempo 已保音调,确认没被覆盖 |
| 界面卡顿 | 见上文性能调优排查顺序 |
场景模板
#通用高质量
vo=gpu-next
hwdec=nvdec
scale=ewa_lanczossharp
linear-scaling=yes
sigmoid-upscaling=yes
video-sync=display-resample
interpolation=yes
sub-auto=fuzzy
save-position-on-quit=yes
笔记本节能
vo=gpu
hwdec=nvdec
scale=spline36
linear-scaling=no
interpolation=no
framedrop=vo
网络流
cache=yes
cache-default=100000
cache-pause-initial=yes
force-seekable=yes
ytdl-format=bestvideo[height<=?1080]+bestaudio/best