{"id":24722026,"url":"https://github.com/hill-98/mpv-config","last_synced_at":"2025-10-09T18:30:51.267Z","repository":{"id":60713643,"uuid":"526994936","full_name":"Hill-98/mpv-config","owner":"Hill-98","description":"带有一些优化体验的自制脚本的 mpv 配置文件 (Linux \u0026 Windows)","archived":false,"fork":false,"pushed_at":"2025-09-28T11:26:05.000Z","size":10327,"stargazers_count":60,"open_issues_count":1,"forks_count":11,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-09-28T13:22:14.007Z","etag":null,"topics":["mpv","mpv-config","mpv-scripts"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Hill-98.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2022-08-20T17:28:44.000Z","updated_at":"2025-09-28T11:26:10.000Z","dependencies_parsed_at":"2023-10-15T09:56:08.897Z","dependency_job_id":"f0607929-7fb4-4341-886f-f90ddf43804f","html_url":"https://github.com/Hill-98/mpv-config","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Hill-98/mpv-config","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Hill-98%2Fmpv-config","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Hill-98%2Fmpv-config/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Hill-98%2Fmpv-config/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Hill-98%2Fmpv-config/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Hill-98","download_url":"https://codeload.github.com/Hill-98/mpv-config/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Hill-98%2Fmpv-config/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279001947,"owners_count":26083226,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-09T02:00:07.460Z","response_time":59,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["mpv","mpv-config","mpv-scripts"],"created_at":"2025-01-27T12:15:57.612Z","updated_at":"2025-10-09T18:30:46.251Z","avatar_url":"https://github.com/Hill-98.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# mpv config\n带有一些优化体验的自制脚本的 mpv 配置文件 ([特色功能](#特色功能))\n\n## 使用\n\n**Linux 安装方法: 如果你已经在使用 Linux 了，那么这应该难不倒你。**\n\n**以下是 Windows 10+ 安装方法**\n\n### 安装\n\n1. 前往 GitHub Actions 下载最新版本并解压: \u003chttps://github.com/Hill-98/mpv-config/actions\u003e\n2. 运行配置脚本: `setup\\setup.bat`\n3. 打开 Windows 设置或控制面板设置文件关联。\n\n如何下载 GitHub Actions 的文件: \u003chttps://docs.github.com/actions/managing-workflow-runs/downloading-workflow-artifacts\u003e\n\n### 更新\n\n0. 运行旧版本清理脚本: `clean.bat`\n1. 前往 GitHub Actions 下载最新版本并解压到旧版本目录: \u003chttps://github.com/Hill-98/mpv-config/actions\u003e\n2. 运行配置脚本: `setup\\setup.bat`\n3. 打开 Windows 设置或控制面板设置文件关联。\n\n\u003e 如果你擅长使用 Git，也可以使用 git 将此仓库克隆到本地进行安装。（需要 [Git 符号链接](https://github.com/git-for-windows/git/wiki/Symbolic-Links) 支持）\n\n## 说明\n\n**控制界面:** [UOSC](https://github.com/tomasklaen/uosc) (有右键菜单)\n\n**默认配置:**\n* 特定于文件的配置文件 (`use-filedir-conf`)\n* 中文音频/字幕优先 (日文、英文其次)\n* 退出时保存当前文件已更改的[部分选项](#退出时默认保存的选项) (`save-position-on-quit`)\n* 始终启用缓存 (256M)\n* 模糊匹配并加载外部音频文件\n* 垂直同步 (`video-sync=display-resample`)\n* 字幕字体: [文泉驿微米黑](http://wenq.org/wqy2/)\n* 字幕字体提供程序: `fontconfig` (支持自动加载当前播放文件路径下 `fonts` 文件夹的字体文件，详情见[特色功能](#auto-load-fonts)。)\n\n**默认视频配置 (gpu-hq-enhance):**\n* profiles: `gpu-hq`\n* `scale` = `ewa_lanczos4sharpest`\n* 着色器: [`KrigBilateral`](https://gist.github.com/igv/a015fc885d5c22e6891820ad89555637)\n* 垂直同步 (`tscale=oversample`)\n* 10 位色深视频禁用去带 (deband)\n\n\u003e 可以使用快捷键 `~` 回退到 `gpu-hq`，然后还可以使用快捷键 ``Alt+` `` 回退到 `default`。\n\n**极速模式:** 可以在右键菜单中启用此模式，仅对本次播放生效。此模式会卸载所有着色器、回退到 `default` 配置文件、启用硬件解码、禁用垂直同步。适合低性能设备播放 4K60FPS 等视频文件时开启，或便携设备使用电池时启用。\n\n**4K 显示设备播放 1080P 视频:**\n\n4K 以及更大的显示设备播放 1080P 或更低分辨率的视频是比较常见的情况，因为显示分辨率会大于视频分辨率，播放器需要使用升采样算法将视频提升到对应分辨率再输出，升采样算法的质量、特点决定了升采样后视频的质量。\n\n这个配置文件默认使用的升采样算法是 [ewa_lanczos4sharpest](https://mpv.io/manual/master/#options-ewa-lanczos4sharpest) (亮度) 和 [KrigBilateral](https://gist.github.com/igv/a015fc885d5c22e6891820ad89555637) (色度)，[ewa_lanczos4sharpest](https://mpv.io/manual/master/#options-ewa-lanczos4sharpest) 的特征是非常锐利，但也比较消耗性能，对于大多数内容来说，这是个不错的选择。\n\n当你觉得默认升采样导致视频看起来比较奇怪时，可以使用右键菜单或快捷键切换至其他升采样着色器，使视频画面尽可能的完美。\n\n如果你为某个视频找到了适合它的着色器，可以通过 [Auto Press Key](#auto-press-key) 功能使其播放时自动激活。\n\n**HDR 视频播放:**\n\n如果你的显示设备不支持 HDR，那么播放 HDR 视频不需要做任何事，mpv 会自动将其转换为 SDR。\n\n如果你的显示设备支持 HDR，先在系统设置里启用 HDR，然后启用 mpv 的 HDR 直通选项，你可以修改 `local.conf` 文件。\n\n`local.conf`:（添加以下行）\n```conf\ntarget-colorspace-hint=yes # HDR 直通\n```\n\n\u003e 显示设备支持 HDR 不代表它可以完美的显示 HDR 内容，只是它可以处理 HDR 信号。如果你的显示设备只是支持 HDR，没有 [VESA Display HDR](https://displayhdr.org) 等标准认证，建议不要启用 HDR 直通，而是继续让 mpv 将其转换为 SDR。即使拥有认证，我也建议只在拥有 Display HDR 600 及以上认证或类似认证的显示设备启用 HDR 直通。\n\n\u003e 如果你的显示设备是电视，即使没有任何标准认证，HDR 体验依然可能会很优秀。\n\n**HDR 视频截图:** 播放 HDR 视频并截图，mpv 会为截图文件写入色彩空间标签并使用与视频相同的位深（仅支持部分图片格式），但是目前支持色彩空间、高位深和 HDR 的图片查看器少之又少，导致 HDR 截图在大部分图片查看器并不能正确的显示。如果你有显示 HDR 截图的需求，或者想把 HDR 截图分享给他人，推荐使用 [Google Chrome](https://chrome.google.com) 或 mpv 查看图片，分享给他人务必以文件的形式发送，切勿使用 IM 或其他软件的发送图片功能，以及确保他人拥有 HDR 显示设备。\n\n### 退出时默认保存的选项:\n\n```txt\naf 音频过滤器\naid 音频轨道\naudio-delay 音频延迟\ndeband 去带\nhwdec 硬件解码\nmute 静音\npanscan 平移与扫描\npause 暂停\nsid 字幕轨道\nspeed 播放速度\nstart 播放进度\nsub-delay 字幕延迟\nsub-font-size 字幕字体大小\nsub-pos 字幕位置\nsub-scale 字幕字体大小系数\nvf 视频过滤器\nvid 视频轨道\nvideo-rotate 视频旋转\nvideo-sync 视频同步模式 (垂直同步)\nvideo-zoom 视频缩放\nvolume 音量\nvolume-max 音量上限\n```\n\n\u003e 正常退出 mpv 时，如果文件没有播放完毕，将为文件保存这些选项，下次播放这个文件时应用这些选项。\n\n\u003e 可以使用快捷键 `DEL` 清除保存的选项。\n\n### 不完整快捷键列表:\n```txt\nBackSpace 重置播放速度\nAlt+= 增加字幕字体大小\nAlt+- 减小字幕字体大小\nAlt++ 增加字幕字体大小系数\nAlt+_ 减小字幕字体大小系数\nAlt+UP   字幕位置向上\nAlt+DOWN 字幕位置向下\nAlt+RIGHT 字幕延迟增加\nAlt+LEFT  字幕延迟减少\nAlt+Shift+RIGHT 音频延迟增加\nAlt+Shift+LEFT  音频延迟减少\nShift+RIGHT 快进 60 秒\nShift+LEFT  倒退 60 秒\nPAGE DOWN 播放列表上一个\nPAGE UP   播放列表下一个\n[ 上一帧\n] 下一帧\n\u003c 减少播放速度\n\u003e 增加播放速度\nA 显示音频轨道列表\nC 显示章节列表\nd 切换去带\nf 切换全屏\nH 开启/关闭 硬件解码 (默认关闭)\nm 切换静音\no 打开文件\np 显示播放进度\nP 显示播放列表\nr 旋转视频\nR 从头开始播放视频\ns 截图\nS 显示字幕轨道列表\nt 显示系统时间\nv 开启/关闭 垂直同步 (默认开启)\nV 显示视频轨道列表\nCtrl+c 切换自动裁剪黑边\nCtrl+p 填充黑边使视频比例与当前窗口比例相同 (解决视频比例大于屏幕比例时字幕位置偏高)\n```\n\n\u003e 快捷键区分大小写，键盘未开启大写锁定时可以按住 `Shift` 输入对应大写快捷键。\n\n## 自定义配置\n\n**为了方便自定义配置，我编写了一些辅助脚本，既可以自定义配置，又不会覆盖原有的配置文件，方便后续更新。**\n\n如果你需要自定义选项，可以修改配置目录的 `local.conf` 文件。\n\n如果你需要修改默认加载的 profile，可以在配置文件目录创建 `profiles.local`，语法参考 `profiles` 文件。\n\n如果你需要自定义快捷键，并且想要继承默认快捷键，按以下步骤操作:\n\n1. `local.conf` 开头添加行:\n```conf\ninput-conf=\"~~/.input.conf\"\nscript-opts-append=\"custom_input-enable=yes\"\n```\n2. 在配置目录创建 `input.local.conf` 文件并添加行:\n```conf\n#@ ~~/input.conf\n```\n3. 在 `input.local.conf` 文件设置新的快捷键\n4. 每次更改文件后，启动一次 mpv 然后退出，新的快捷键将在下次启动时生效。\n\n如果你需要自定义脚本选项，可以在 `local.conf` 使用 `script-opts-append` 设置:\n```conf\nscript-opts-append=\"check_update-check_mpv_update=yes\" # 启用 mpv 新版本检查更新\n```\n\n## 特色功能\n\n### [Auto Load Fonts](scripts/auto-load-fonts.js)\n\n使用 **fontconfig** 或 **[sub-fonts-dir](https://mpv.io/manual/master/#options-sub-fonts-dir)** (native) 加载播放文件路径下字体文件夹的字体文件，`native` 加载方法需要较新版本的 mpv。如果当前 mpv 构建支持，默认使用 `native` 方法，否则使用 `fontconfig` 方法。\n\n**支持的字体文件夹:**\n* fonts\n* Fonts\n* FONTS\n* 字体\n\n\u003e 由于 Windows 系统的路径不区分大小写，所以 `fonts`, `Fonts`, `FONTS` 没有区别。\n\n**兼容模式:** 兼容模式主要用于解决一些 fontconfig 的性能问题和 Windows 系统上特定分区的错误，脚本在兼容模式下加载字体文件时会将 `fonts` 文件夹复制到指定位置，然后使用新位置进行加载。默认位置为配置目录的 `.fonts` 目录，如果配置目录所在分区也存在兼容性问题，你还可以自定义兼容目录位置。\n\n\u003e 兼容模式在 `native` 模式下也会生效，不过可能没有任何改善。\n\n**选项:**\n\n兼容模式: `auto_load_fonts-compatible_mode=[yes|no] # 默认: no`\n\n兼容目录: `auto_load_fonts-compatible_dir=[path] # 兼容模式使用的临时字体目录。默认: ~~/.fonts`\n\n加载方法：`auto_load_fonts-method=[fontconfig|native] # 默认: 当前支持的最佳方法`\n\n### [Auto Press Key](scripts/auto-press-key.js)\n\n如果播放文件目录存在 `mpv.keys` 或 `${filename}.mpv.keys`，则在文件加载后自动按下按键，文件结束后再次按下按键。\n\n`mpv.keys`: 每行一个按键，可以是组合键，以 `!` 开头的按键不会在文件结束后再次按下，以 `#` 开头的行会被忽略。\n\n### [Best Display Fps](scripts/best-display-fps)\n\n自动将显示设备刷新率设置为支持范围内最适合视频帧率的刷新率，比如视频帧率为 30 FPS，显示设备如果支持 30Hz 刷新率，那么就设置为 30Hz，如果不支持 30Hz，但是支持 60 Hz，就设置为 60Hz，因为 60 是 30 的倍数。\n\n目前仅支持 Windows，不支持 Linux。与其他类似脚本不同的是，此脚本在 Windows 不依赖第三方工具，相关操作使用 PowerShell + Win32 API 实现。\n\n\u003e 正常情况不推荐使用这个脚本，因为默认的垂直同步已经足够了。除非你有强迫症或者是为了节能想关闭垂直同步。\n\n**选项:**\n\n启用: `best_display_fps-enable=[yes|no] # 默认: no`\n\n切换显示设备后的延迟: `best_display_fps-change_display_delay=[number] # mpv 移至另一个显示设备后，延迟多少毫秒执行更改刷新率等操作。默认: 3000`\n\n文件结束后的延迟: `best_display_fps-end_file_delay=[number] # 文件结束后，延迟多少毫秒执行还原刷新率等操作。默认: 3000`\n\n更改刷新率时暂停等待时间: `best_display_fps-pause_wait_delay=[number] # 更改刷新率时，将暂停播放，然后在指定毫秒后恢复播放。默认: 2000`\n\n### [Check Update](scripts/check-update.js)\n\n自动检查配置文件更新，还支持 mpv 新版本检查，mpv 默认检查源 : [shinchiro/mpv-winbuild-cmake](https://github.com/shinchiro/mpv-winbuild-cmake)。\n\n配置文件默认每 7 天检查一次， mpv 默认每 1 天检查一次。\n\n可以通过 `script-message check-update/config` 或 `script-message check-update/mpv` 命令强制检查更新。\n\n网络请求依赖于外部工具 `curl`，如果 mpv 选项 `http-proxy` 已设置，会自动设置为 HTTP 代理，也支持为这个脚本单独设置 HTTP 代理，以及 curl 会自动使用 HTTP 代理相关环境变量。\n\n**选项:**\n\n配置文件检查间隔: `check_update-check_config_interval=[number] # 每 N 天检查一次配置文件更新。默认: 3`\n\nmpv 新版本检查: `check_update-check_mpv_update=[yes|no] # 默认: on`。\n\nmpv 检查间隔: `check_update-check_mpv_interval=[number] # 每 N 天检查一次 mpv 版本更新。默认: 1`\n\nmpv 检查源: `check_update-check_mpv_repo=[mpv-build-github-repo] # GitHub 上的 mpv 构建仓库。默认: shinchiro/mpv-winbuild-cmake (https://github.com/shinchiro/mpv-winbuild-cmake)`\n\nmpv 本地版本正则表达式: `check_update-mpv_local_version_regex=[JS RegExp string] # 第一个子组为返回值。 默认: -g([a-z0-9-]{7})`\n\nmpv 远程发布名称正则表达式: `check_update-mpv_remote_name_regex=[JS RegExp string] # 第一个子组为返回值。 默认: mpv-x86_64-([\\\\w]+-git-[a-z0-9]{7})`\n\nmpv 远程发布版本正则表达式: `check_update-mpv_remote_version_regex=[JS RegExp string] # 第一个子组为返回值。 默认: -git-([a-z0-9-]{7})`\n\nHTTP 代理: `check_update-http_proxy=[http-proxy] # 检查更新时使用的 HTTP 代理。默认: 无` \n\n### [Format Filename](scripts/format-filename.js)\n\n如果当前媒体文件没有内嵌媒体标题，则使用多种规则提取媒体文件名包含的信息并格式化。如果提取成功，设置为当前文件的媒体标题 (`force-media-title`)。\n\n比如文件名 `[VCB-Studio] Re Zero kara Hajimeru Isekai Seikatsu [01][Ma10p_1080p][x265_flac_aac]` 会被格式化为 `Re Zero kara Hajimeru Isekai Seikatsu [01]`。\n\n**选项:**\n\n启用: `format_filename-enable=[yes|no] # 默认: yes`\n\n### [WebPlay](scripts/webplay-handler.js)\n\n为 mpv 新增 `webplay` 协议，用于从浏览器调用 mpv 播放媒体。\n\n可以配合油猴脚本 [WebPlay for ytdl](https://github.com/Hill-98/userscripts/raw/main/webplay-ytdl.user.js) 使用。\n\n## 感谢\n\n感谢 [mpv-player](https://github.com/mpv-player) 项目以及所有开发者们\n\n感谢以下开源项目以及所有开发者们:\n\n[文泉驿](http://wenq.org/)\n\n[agyild/NVScaler.glsl](https://gist.github.com/agyild/7e8951915b2bf24526a9343d951db214)\n\n[bjin/mpv-prescalers](https://github.com/bjin/mpv-prescalers)\n\n[bloc97/Anime4K](https://github.com/bloc97/Anime4K)\n\n[CogentRedTester/mpv-scripts](https://github.com/CogentRedTester/mpv-scripts)\n\n[igv/FSRCNN-TensorFlow](https://github.com/igv/FSRCNN-TensorFlow)\n\n[igv/KrigBilateral.glsl](https://gist.github.com/igv/a015fc885d5c22e6891820ad89555637)\n\n[igv/SSimDownscaler.glsl](https://gist.github.com/igv/36508af3ffc84410fe39761d6969be10)\n\n[igv/SSimSuperRes.glsl](https://gist.github.com/igv/2364ffa6e81540f29cb7ab4c9bc05b6b)\n\n[natural-harmonia-gropius/input-event](https://github.com/natural-harmonia-gropius/input-event)\n\n[TianZerL/ACNetGLSL](https://github.com/TianZerL/ACNetGLSL)\n\n[tomasklaen/uosc](https://github.com/tomasklaen/uosc)\n\n[VideoPlayerCode/mpv-tools](https://github.com/VideoPlayerCode/mpv-tools)\n\n感谢 [JetBrains](https://www.jetbrains.com) 提供 JetBrains IDE [开源许可证](https://jb.gg/OpenSourceSupport)\n\n\u003ca href=\"https://jb.gg/OpenSourceSupport\"\u003e\u003cimg src=\"https://resources.jetbrains.com/storage/products/company/brand/logos/jb_beam.png\" alt=\"JetBrains Logo (Main) logo.\" width=\"256px\" height=\"256px\"\u003e\u003c/a\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhill-98%2Fmpv-config","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhill-98%2Fmpv-config","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhill-98%2Fmpv-config/lists"}