[Linux]Kubuntu下mpv播放器安装与最佳配置(无mpv4补帧版)

下载

sudo add-apt-repository ppa:ubuntuhandbook1/mpv
sudo apt update
sudo apt install mpv

配置

下载神经网络模型FSRCNNX和用户着色器

mkdir -p ~/.config/mpv/shaders
cd ~/.config/mpv/shaders
wget https://github.com/igv/FSRCNN-TensorFlow/releases/download/1.1/FSRCNNX_x2_8-0-4-1.glsl
wget https://gist.githubusercontent.com/igv/a015fc885d5c22e6891820ad89555637/raw/KrigBilateral.glsl

配置文件 (~/.config/mpv/mpv.conf)


# =============================================================================
# 基础渲染架构
# =============================================================================
# 启用高质量预设作为基底
profile=high-quality

# 强制使用基于 libplacebo 的下一代渲染器
vo=gpu-next

# 4070 Ti 必须使用 Vulkan API 以获得最佳 Shader 性能和 HDR 处理
gpu-api=vulkan

# 硬件解码策略
# 使用 nvdec-copy (将解码数据拷贝回内存),这虽然增加了一点点总线压力,
# 但能保证所有 GLSL Shader (尤其是 FSRCNNX) 能稳定读取纹理,兼容性最好。
hwdec=nvdec-copy

# =============================================================================
# 插值平滑 (Interpolation)
# =============================================================================
# 目的:消除 24fps -> 144Hz 的物理抖动,模拟 madVR Smooth Motion 效果
# 原理:帧融合 (Blending),而非补帧 (Vector generation)

video-sync=display-resample   # 核心:将视频时钟重采样以匹配屏幕刷新率
interpolation=yes             # 开启插值

# 算法选择:Sphinx
# 可选:oversample (最平滑,最接近 madVR smooth motion)
# 可选:mitchell (锐度稍高,平滑度稍低)
# 可选:sphinx (数学上更优,但算力消耗大)
# 描述:基于 Kaiser 窗的 Sinc 滤镜,比 oversample 更锐利,残留更少
# 性能要求:高 
tscale=sphinx
tscale-blur=0.698132          # 配合 sphinx 的模糊系数
tscale-radius=1.05            # 采样半径,增加精度
tscale-clamp=0.0              # 禁止钳制,保证光影线性准确性

# =============================================================================
# 画质着色器链 (Shader Chain)
# =============================================================================

# 1. 亮度(Luma) 放大:使用 FSRCNNX (神经网络)
# 当源分辨率 < 目标分辨率时生效。这会消耗显著的 GPU 算力。
glsl-shaders-append="~/.config/mpv/shaders/FSRCNNX_x2_8-0-4-1.glsl"

# 2. 色度(Chroma) 升频:使用 KrigBilateral
# 修复 4:2:0 采样带来的色度损失,效果优于内置算法
glsl-shaders-append="~/.config/mpv/shaders/KrigBilateral.glsl"

# 3. 兜底缩放 (当不需要 2x 放大时的算法)
scale=ewa_lanczossharp
cscale=ewa_lanczossharp
dscale=mitchell

# 关闭线性缩放,避免干扰 Shader 效果
linear-downscaling=no
sigmoid-upscaling=yes

# =============================================================================
# 色彩与 HDR 处理 (Tone Mapping)
# =============================================================================
# 允许直接输出类似 HDR 的信号 (如果显示器支持)
target-colorspace-hint=yes

# 色调映射算法:bt.2446a 是目前最先进的曲线之一,能保留更多高光细节
tone-mapping=bt.2446a

# 混合模式,平衡亮度与细节
tone-mapping-mode=hybrid

# 色域映射模式
gamut-mapping-mode=clip

# =============================================================================
# 去色带与抖动 (Debanding & Dithering)
# =============================================================================
# 抖动:消除 8bit 面板色阶
dither-depth=auto
dither=error-diffusion
error-diffusion=floyd-steinberg

# 去色带:高强度去除压缩瑕疵
deband=yes
deband-iterations=4       # 迭代次数
deband-threshold=48       # 阈值
deband-range=16           # 半径
deband-grain=48           # 注入动态噪点,增加胶片感并掩盖色块

# =============================================================================
# 杂项与播放体验
# =============================================================================
# 启动时默认最大化
autofit=100%

# 隐藏 OSD 进度条 (仅鼠标移动时显示)
osd-on-seek=msg-bar
# 播放结束保持mpv窗口开启
keep-open=yes

# 截图使用最高质量
screenshot-format=png
screenshot-high-bit-depth=yes
screenshot-png-compression=7

配置快捷键 (~/.config/mpv/input.conf)

# Ctrl+1 切换着色器开启/关闭 (对比画质用)
CTRL+1 change-list glsl-shaders toggle "~/.config/mpv/shaders/FSRCNNX_x2_8-0-4-1.glsl"; show-text "FSRCNNX toggled"

# Ctrl+2 切换去色带 (有些高画质电影不需要去色带)
CTRL+2 cycle deband

# Tab 查看详细统计信息 (确认 Shader 是否在运行)
TAB script-binding stats/display-stats-toggle
posted @ 2026-01-25 21:52  夜歌乘年少  阅读(352)  评论(0)    收藏  举报