# .config/mpv

一套 mpv 播放器配置，集成 uosc 界面、多种着色器方案和自动更新机制。

## Credits

原始仓库为 [emoeem/mpv](https://github.com/emoeem/mpv)。根据我的需要精简了一些功能，同时做了一些修复。

## 结构

```
mpv.conf                 # 主配置（全局设置 + Profile 定义）
input.conf               # 键位绑定与右键菜单
inputevent_key.conf      # inputevent.lua 增强键位（单击/双击/长按）
profiles.conf            # 场景预设（游戏/电影/动画/低功耗/直播等）
manager.json             # 脚本和着色器的 git 自动更新源
scripts/                 # Lua 脚本
script-opts/             # 脚本配置
shaders/                 # GPU 着色器（NNEDI3/FSRCNNX/Ani4K/Anime4K/ravu/igv 等）
fonts/                   # 字体
icc/                     # ICC 色彩配置文件
```

## 主要功能

- **界面**：uosc 界面 + 右键菜单 + 缩略图预览 + 命令面板
- **色彩管理**：ICC / Target 双模式，HDR 直通与色调映射，动态峰值检测
- **着色器**：NNEDI3、FSRCNNX、Ani4K、AniSD、Anime4K、ravu-zoom、SSIM
- **条件 Profile**：根据分辨率 / HDR / 帧率 / 刷新率 / 网络等自动调整参数
- **字幕**：自动加载、编码检测（GB18030）、在线搜索（assrt）、自动同步（autosubsync）
- **音频**：96kHz 重采样、独占模式、多声道自动下混调节、ReplayGain
- **播放管理**：历史记录（simplehistory）、进度保存、文件浏览器、播放列表管理
- **网络**：yt-dlp 集成、浏览器 Cookie、自动缓存优化
- **更新**：按 M 键通过 manager.lua 从 git 自动更新所有脚本和着色器

## 着色器方案

在 `mpv.conf` 的 Profile 激活区切换（取消注释对应行）：

| Profile   | 适用场景        | GPU 开销 |
| --------- | --------------- | -------- |
| NNEDI3    | 通用            | 中       |
| NNEDI3+   | 通用（64 变体） | 高       |
| ravu-zoom | 通用            | 中       |
| FSRCNNX   | HD 内容         | 中       |
| FSRCNNX+  | SD 内容去伪影   | 中       |
| Ani4K     | 动画            | 极高     |
| AniSD     | SD 动画         | 极高     |
| Anime4K   | 动画            | 低       |
| SSIM      | 低性能需求      | 低       |

Ani4K / AniSD 着色器（`shaders/Ani4K/`）来自 [Sirosky/Upscale-Hub](https://github.com/Sirosky/Upscale-Hub)，手动管理，不由 manager.lua 更新。

## 外部依赖

见 [DEPENDENCIES.md](DEPENDENCIES.md)。
