宽娘字数限制,所以分两篇发(长文警告!)
为了让从上篇过来的伙伴快速融入下篇,我在这里再放一遍目录:
1 --- 兵欲善其事,必先利其器——安装各播放器组件 ---
2 --- 音频部分 的建议设置 ---
3 --- 视频解码器 的建议设置 ---
4 --- 视频渲染器MPCVR的简单调教 ---
└4.3 --- 让我万策尽啦! —— 超分辨率相关设置 ---
5 --- 简单提一下madVR ---
6 --- 后日谈 ---
--- OV1 —— 简单优化一下MPC的使用体验 ---
--- [指路] 让HC调用BE的解码器,这何尝不是一种 _ _ _ ---
然后,正式开始下篇吧!
4 --- MPCVR的简单调教 ---
# [碎碎念] 以下内容不保证真实
# 话说,MPCVR出现之前,大家一般都用的是 madVR,可是它比LAV更加的 "不明觉厉",性能开销还不小,虽说默认设置也不错,但总让人望而生畏。
# 虽说当时 Windows 还有其他视频渲染器可以用,例如 EVR(CP),但是它的效果不尽人意,且难以拯救。
# 当然mpv这类偏门暂时排斥在外
# 而当 MPCVR 出现后,事情出现了转机
# 它在 不甚好用的EVR 和 十分麻烦的madVR 之间找到了一个平衡点,我很推荐使用
# 相比于过于不堪的EVR,MPCVR可以通过简单的设置获得较高画质
# 相比于 需要精心调教的 madVR,MPCVR只需要调整十个甚至九个选项
那么,直接开始吧!
# 前面 “安装各播放器组件” 一步已经写过安装教程,故默认你的电脑上已经正确安装了这些播放器组件。
4.1 - 让播放器使用 MPC Video Renderer 作为视频渲染器
MPC-HC:
右键 -> 选项 -> 回放 -> 输出 -> DirectShow 视频 - 选择 "MPC视频渲染器" -> 点击下方 "应用(A)"
MPC-BE:
右键 -> 选项 -> 视频 -> 视频渲染器 - 选择 "MPC渲染器" -> 点击下方 "应用(A)"
4.2 - 对 MPCVR 进行简单的调教
MPC-HC:
# 其他播放器亦可参考
随便拖入一个视频,然后 右键 -> 滤镜 -> MPC视频渲染器
点击后便如图所示
MPC-BE:
接 “步骤一” ,点击右边的 "属性"
便进入了MPCVR的设置界面
4.3 - 然后就可以正式开始调教了 喵 ~
记得注意点右下角的"应用(A)"喵~
照例附上我的推荐设置
4.3.1 - 太长不看版:
进入设置界面后,
勾选左上角的"Use Direct3D 11"
橙色:"Texture format" 运算精度 选择16bit浮点(16-bit Floating Point)
红色:"DXVA2 and D3D11 video processor" 部分全部 取消勾选
绿色:"Shader video processor" 部分 参照我的推荐设置更改
- "Use dithering" 使用抖动 强烈建议勾选
黄色:右下部分的 "Wait for V-Blank before Present" 选项也建议勾选
蓝色:HDR选项一般无需更改
# 然后剩下部分照抄我的配置即可
4.3.2 -
# 放几个写教程参考的较多的几个链接
# 官方说明(俄语):https://mpc-be.org/forum/index.php?topic=381.0
# GitHub上 hooke007 大佬做的MPCVR汉化,并翻译了部分官方说明:https://github.com/hooke007/MPCVR_chs
4.3.3 - 然后,正式开始讲解部分选项吧:
最左上角的 "Use Direct3D 11":
一般情况下一律建议勾选该选项
# 需要Windows7,建议Windows 8.1或更高版本
# 若取消勾选,将使用 Direct3D 9Ex。但此时 解码器 无法使用 D3D11(native) 模式 硬解,且无法直通 HDR10 数据
# (若要直通 HDR10,除了需要 勾选"Use Direct3D 11"以外,还需要 操作系统在Windows10及以上 和 显示器支持)
# [OSD相关]
# 这部分在 OSD 左上角,最上面一行:
# MPC VR [版本号], Direct3D 11 / Direct3D 9Ex (取决于是否勾选"Use Direct3D 11")
"Texture format"(橙色下划线):
YUV转RGB时的运算精度,建议选择 16bit浮点 (16-bit Floating Point)(madVR和mpv默认如此),为了省电/性能不够 可以选择 10bit整数(10-bit Integer),非常不建议选择8bit整数
# [OSD相关]
# 这部分的设置在OSD的这一行看:
# 使用 Direct3D 9Ex 时(即未勾选"Use Direct3D 11"时):
# InternalFormat : A16B16G16R16F / A2R10G10B10 / X8R8G8B8
# 使用 Direct3D 11 时(即勾选"Use Direct3D 11"时):
# InternalFormat : R16G16B16A16_FLOAT / R10G10B10A2_UNORM / B8G8R8A8_UNORM
# 从左到右依次为:16bit浮点 / 10bit整数 / 8bit整数
# [碎碎念] 为什么 Direct3D 11 和 Direct3D 9Ex 要用不同的表达方式啊?
"DXVA2 and D3D11 video processor"(红色部分):(DXVA2 和 D3D11 视频处理器)
Use for: ...... -- DXVA2 和 D3D11 视频处理器 将用于处理哪些颜色格式
建议 全 部 取 消 勾 选
它的工作速度快,但是质量因卡而异(类似于 madVR 的缩放算法选择...没有啊,那没事了)
# 不过勾选这部分的选项可能被 显卡驱动 负优化画质,因此建议取消勾选
比如在我的设备上,以全部取消勾选这部分的格式作为对照,D3D11 VP 偏绿,DXVA2 VP 偏灰暗,就是没一个颜色正确的。。。
# 如果勾选了"Use for: ......"的 格式,当输入给渲染器(OSD的 Input format:[....])该种格式时,(若显卡支持)色度升频 会由 DXVA2/D3D11 VP 进行,下方"Shader video processor"部分的"Chroma scaling"将被禁用,不会生效
# 若不勾选该格式即将该格式交给 Shader 处理
# [OSD相关] 如果 勾选了 这部分的颜色格式,OSD的该行会这样显示:
# VideoProcessor : DXVA2/D3D11 VP, ...... (取决于左上角"Use Direct3D 11")
# 但是如果你需要使用 硬件反交错 的话,还是得勾选。。。
# 下方两个选项都需要勾选 "Use for:..." 的颜色格式才能生效
- "Double the frame rate when deinterlacing" -- 反交错时输出双倍帧率
- "Use for resizing" -- 用于调整画面大小
# 不建议勾选该选项
# 该选项意为 "DXVA2或D3D11视频处理器将用于调整视频帧大小"
# 它的工作速度快,但是质量因卡而异 (类似于 madVR 的缩放算法选择 DXVA2)
我的设备上恐怕是用的最邻近,效果差得难绷
# [OSD相关]
# 如果勾选该部分,进行缩放画面(放大/缩小)时,OSD的该行会这样显示:
# scaling : [视频分辨率] -> [目标分辨率] [DXVA2/D3D11]
# 之所以不建议勾选该选项,是因为如果勾选了这个选项,下方 "Shader video processor" 部分 理应做相同事情的 "Upscaling"(图像放大) 和 "Downscaling"(图像缩小) 将被禁用,不会生效
# 更建议在下方自行设置缩放算法
# 除非是 为了省电/性能不足/想开超分辨率
└- "Request Super Resolution" 请求超分辨率 这个后面再讲
"Shader video processor"(绿色部分):(着色器视频处理器)
# 重点部分,这部分建议看完注释
# 所有算法选择建议都出于 个 人 喜 好,仅供参考 (不过本身也没什么算法可选)
# 选择算法的下拉选项中,越往下的性能开销越高,一般来说 效果也更好(反之亦然)
- "Chroma scaling" -- 色度拉伸算法,建议 Catmull-Rom
# [OSD相关] (未勾选 "DXVA2 and D3D11 video processor"->"Use for:......" 时)
# OSD的该行会如此显示:
# VideoProcessor : Shaders, Chroma scaling: [你选的 Chroma scaling 算法]
- "Upscaling" -- 用于 图像放大 的 插值算法,建议 Jinc2m
- "Downscaling" -- 用于 图像缩小 的 卷积算法,建议 Bicubic / Bicubic sharp ,后者比前者更为锐利一点
下方的选项:
- "Use the "Upscaling" method to reducing the frame to 50%" -- 目标尺寸≥源帧的50%时,使用"Upscaling"相同的算法进行缩小画面
# "Upscaling"部分选择的 插值算法 也将用于将帧缩小至50%
# 该选项是否要勾看 个 人 喜 好 ,我的建议是
# 如果 "Upscaling" 选择了 Catmull-Rom ,那么建议勾
# 其他算法也可以勾,建议自行对比一下,看看效果是否更讨喜
# [OSD相关] (勾选 "DXVA2 and D3D11 video processor"->"Use for:......" 但是 未勾选"Use for resizing" 时)
# (未勾选 "DXVA2 and D3D11 video processor"->"Use for:......" 时,"Use for resizing"选项实际没什么影响的)
# OSD的该行会如此显示:
# scaling : [视频分辨率] -> [目标分辨率] [(若目标和源一致,则无该部分)你选择的 Upscaling/Downscaling 算法]
- "Use dithering" -- 使用抖动 强烈建议勾选
# [OSD相关]
# 如果勾选该选项,OSD的该行会这样显示(若 不勾选 / Texture format-运算精度 等同于 输出精度 则无该行):
# PostProcessing : dither
- "Use Blend deinterlacing for YUV 4:2:0" -- 对 YUV 4:2:0 使用混合去隔行
# emm... 对不起,做不到[受虐滑稽][受虐滑稽][受虐滑稽](指对该选项进行解释)
# 毕竟我基本没有使用反交错的需求
右半边没什么必要改,参照一下我的设置即可
"HDR"(蓝色部分):
# 这部分的前提条件:勾选"Use Direct3D 11"、系统在Windows10及以上、HDR相关选项保持默认
# 这部分设置仅对HDR内容生效,对SDR视频没有影响
其实 MPCVR 一般都可以根据你的显示器选择 直通HDR/转换成SDR 的,一般不需要更改HDR部分的设置。
但为了避免误判,保险一点,还是讲一下HDR部分的设置吧。
转到MPCVR设置界面右半边,"HDR"部分。
默认的 MPCVR 会优先直通HDR给显示器(Passthrough to display),如果显示器不支持,则会转换为SDR(Convert to SDR)
如果你播放HDR视频时,MPCVR并未根据你的显示器正确选择 直通HDR/转换为SDR,请这样修改:
- HDR显示器:取消勾选 "Convert to SDR"
- SDR显示器:取消勾选 "Passthrough to display"
如果看HDR视频时,发现 外挂字幕/OSD 亮度很怪,可以调节 "Subtitle and OSD brightness"(字幕和OSD亮度)
还有一个或许需要提一嘴的选项:(黄色下划线)
右下部分 "Wait for V-Blank before Present" 帧输出前等待 V-Blank
建议勾选,可以提高播放的流畅性。
# [OSD相关]
# 如果勾选该选项,OSD的该行会这样显示:
# Presentation : wait VBlank, ...... , ......
剩下就没什么需要改的了,自己看官方介绍吧
# 我也不会俄语,但 翻译软件/GPT 是好东西
# 况且 hooke007 大佬翻译了大部分官方说明,还做了MPCVR的汉化版
如果你使用的是 MPC-HC/BE,Ctrl+J 快捷键可以调出OSD,如图所示
# 其他播放器要想显示MPCVR的OSD,则需要在MPCVR的设置界面勾选右上角的"Show statistics"
# "Show statistics" 下面的下拉选项是关于OSD字体大小的,是否更改看个人喜好,我建议"Increase font by Windows"-随窗口大小缩放
简单讲一两个:
- Input format : [渲染器输入的 格式,如:NV12、P010] [视频分辨率]
# 如果是native模式硬解,颜色格式前会加上硬解模式(如D3D11 native 硬解YUV 420 8bit,一般就会是 D3D11_NV12,DXVA2 native 硬解则是 DXVA2_NV12),copy-back则不会
# 当然,这个对画质没有任何影响,不要担心
- Frame rate : [输入帧率] [渲染帧率]
# 过于浅显,不补充了
判断本教程的设置是否生效主要看 VideoProcessor、InternalFormat、Scaling、PostProcessing、Presentation 这几行
# 本来就几行,然后硬生生被我加到了五行 喵~
对应关系请看前文的简单讲解 喵 ~
其他部分要么不大用得上,要么过于浅显,借助 翻译软件/GPT,你基本就能理解得七七八八了
然后就调教结束了 喵 ~
# 保险一点,建议 Ctrl+J 调出OSD看一下设置是否生效
# 或是重启播放器
这样你就得到了一个 比EVR画质更高、比madVR占用更低、比madVR和mpv配置起来更简单 的优秀渲染器 喵 ~
# 不过似乎也可以说成 比VLC麻烦、比mpv占用高、比madVR和mpv的画质上限更低 的渲染器 (要成劝退教程了 喵 ~
4.3 --- 让我万策尽啦! —— 超分辨率相关设置 ---
# 注意!这部分内容基于 MPC Video Renderer 0.6.7.2013 x64 编写
# 以后MPCVR的更新可能会导致这部分内容不再适用
# 看这部分内容前,本人默认你已经看完了 前文内容
# 该部分不难,不写太长不看版了(直接跳过碎碎念部分就是)
# 注意!由于我没有支持的设备,所以教程中定会有不少疏漏,请各位大胆指出,不 要 在 意 我的感受
# 注意!该部分的部分设置会与前文的设置有冲突,如果你要使用 超分辨率,请以这部分的设置为准
# 同理,如果不使用超分辨率,则以前文的设置为准
# [碎碎念开始]
三月29日,MPC Video Renderer 更新了 0.6.7.2013 版本,官方添加了超分辨率支持(N卡VSR/I卡VPE)
也就是在"DXVA2 and D3D11 video processor"部分,"Use for resizing"选项 下面的 "Request Super Resolution"选项
于是,把我给整不会了,我是A卡,又没有闲置的4090可以用来测试(
所以,看到这里了,请你赶快v我50助力我买4090(划掉
不开玩笑了,正式开始教程吧!
4.3.1 - 更新驱动程序至最新版本,然后在驱动程序中打开超分辨率相关设置。
(我没有支持的设备,所以还请各位于其它地方寻找教程)
4.3.2 - 参考前文所说的方法,进入MPCVR的设置界面
勾选 "DXVA2 and D3D11 video processor"部分的:
- "Use for: ......" 部分:
只勾选 NV12,因为超分辨率 似 乎 不会在其他格式中生效
# 这样其他颜色格式就会交给 Shader video processor 进行处理
# 如果你想要让超分辨率在所有视频(除了HDR)中生效的话,可以设置视频解码器只输出 NV12(参照3.1、3.2)
# 需要 软解 / Copy-back模式硬解[DXVA2(copy-back)、D3D11(copy-back)]
# 我更建议这时视频解码器使用 LAV Video Decoder
- "Use for resizing" 选项 - 勾选
└- "Request Super Resolution" 选项 - 勾选
其他部分可能需要更改的设置:
# 如果你没有更改这部分选项时,超分辨率已经生效,那就不要再改了
建议取消勾选"Use dithering",这个选项似乎会导致超分辨率不生效
"Texture format"运算精度,似乎 部分情况下选 16bit / 10bit 会导致超分辨率不生效,如果这样的话,先改成8bit
# 但是无法肯定,所以请各位自行测试,以测试结果为准
4.3.3 - 检查一下超分辨率是否生效。
检查设置正确后,用眼睛看。(逃~
『Ctrl+G』是个好东西
# 超分质量(至少是VSR的)设为最大后,我觉得观感差别其实不小(
# 不过确实可能会看不出来,所以提供另一种方法
首先,检查片源是否为HDR,若是,请换成SDR片源
然后,检查你显卡驱动有没有正确设置,播放器组件(主要是 解码器 和 渲染器)是否正确设置
# 为了方便对比GPU占用,便于测试,建议在显卡驱动中将超分质量设为最大(也就是改成占用最高的选项)
接下来开始干正事:
将一个 低分辨率 视频拖入 MPC-HC/BE 的窗口,并全屏幕窗口播放,
# 超分辨率目前只能放大,不能缩小
右键 -> 滤镜 -> MPC Video Render / MPC 视频渲染器 进入MPCVR的设置界面,检查配置是否正确;
然后 先 取 消 勾 选 "Request Super Resolution" 选项,点击右下角"应用";
Ctrl+J 调出OSD,看OSD的 "Scaling : ......" 该行行末是否显示 "SuperResolution*",若不显示,则继续操作;
调出任务管理器,待GPU占用稳定下来后,记下此时GPU占用(可以的话顺便记录一下显卡功耗);
# D3D11 VP 的占用很小的,所以GPU占用和功耗应该都不会高
接下来再按之前的做法,勾选"Request Super Resolution",点击右下角"应用";
# 更改设置后建议重新打开视频文件播放
Ctrl+J 调出OSD,看OSD的 "Scaling : ......" 该行行末是否显示 "SuperResolution*",若显示,则继续操作;
调出任务管理器,待GPU占用稳定下来后,再记一下GPU占用(可以的话顺便记录一下显卡功耗);
# 注意确保两次测试只有"Request Super Resolution"选项是变化的,其余选项均不变
# 请只看图中OSD的 "Scaling :" 一行,图中的其他设置实际上有问题
# 注意,"SuperResolution*"仅表示"请求超分辨率"的“请求”发送成功,并不代表超分辨率实际生效
对比两次记录的GPU占用和功耗,若有明显提升,则表示 这种情况下 超分可以生效
# 若完全按照如上所说测试,但仍旧无明显差异,则应该尝试更改部分选项(具体参考前文"其他部分可能需要更改的设置:")
特别鸣谢:
贴吧吧友 爱吃桃子😾
xr.fan/vsr(https://xunishi.com/vsr)
@FinnR
5 --- 简单提一下madVR ---
5.1 - 安装madVR
参考1.1.2 - 安装 MPC Video Renderer
将madVR解压至 你不会去动 且 忘不了 的任意 纯英文 路径,然后 以管理员身份 运行 "install.bat"
安装完成。
5.2 - 调用madVR
参考4.1 - 让播放器使用 MPC Video Renderer 作为视频渲染器,视频渲染器选择"madVR"
5.3 - 对madVR进行精细的调教
双击打开击madVR文件夹中的 "madHcCtrl.exe",右下角系统托盘就会出现该图标
点击该图标,然后点击 "Edit madVR Settings"
就进入了madVR的设置界面
然后,就可以仔细调教了
播放时,也可以 Ctrl+J 调出OSD,具体内容我就不讲了,看万年冷冻库吧,亦或者寻求翻译软件的帮助
。。。
# 你们不会真的要我写madVR的配置教程吧?
# 牡牡牡牡牡牡牡蛎得斯!牡牡牡牡牡...
不开玩笑了,我指路教程吧:
万年冷冻库:http://lysandria1985.blogspot.com/2013/01/3-madvr.html
([搬运] 上半篇:https://zhuanlan.zhihu.com/p/73960527 下半篇:https://zhuanlan.zhihu.com/p/73968849 )
亦或者看极客湾的教程:https://post.smzdm.com/p/awx02qr2/
记得时刻点击右下角的"Apply"。
调教完成后关闭界面,然后点击托盘图标,再点击"Exit"退出
6 --- 后日谈 ---
文中提到的各组件下载地址如下:
VLC:
https://www.videolan.org/vlc/
点击 "下载VLC" 或 点击右边朝下的三角形自己选择版本
MPC-BE:
[SourceForge] https://sourceforge.net/projects/mpcbe/files/MPC-BE/Release%20builds/
[GitHub] https://github.com/Aleksoid1978/MPC-BE/releases
MPC-HC:(一般建议下载 数字版本号 后面带"Latest" 的版本)
[GitHub] https://github.com/clsid2/mpc-hc/releases
K-Lite:(一般建议下载 Standard / Full 版本)
http://codecguide.com/download_kl.htm
LAV Filters:
[GitHub] https://github.com/Nevcairiel/LAVFilters/releases
MPC Video Renderer:
[GitHub] https://github.com/Aleksoid1978/VideoRenderer/releases
madVR:
[Domm9] https://forum.doom9.org/showthread.php?t=146228
[官网] http://www.madvr.com/
mpv:https://mpv.io/
然后,我的任务完成啦!哈哈哈哈!
郁代!
--- OV1 —— 简单优化一下MPC的使用体验 ---
# 不是 Anime ,所以不是OVA
MPC-HC:
- 切换为夜间模式 - 右键 -> 查看 -> 夜间模式(需重启) 然后重启 MPC-HC
然后,按快捷键"O" 或者 右键 -> 选项
- 更改默认背景 --- 播放器 -> 标志 -> 外部 -> 浏览 选择你想用的默认背景图
- 记忆文件的播放位置 --- 播放器 -> 记忆文件播放位置
- 鼠标指向进度条时显示视频缩略图 --- 调节 -> 在进度条显示视频预览
- 开始播放后自动改变窗口大小 --- 回放 -> 缩放与对齐 -> [默认已勾选] 自动缩放 (建议 100%[默认])
- 自动播放文件夹中的下一个视频 --- 回放 -> 回放结束后 (建议 播放文件夹中的下一个文件)
- 更改字幕最大渲染分辨率 --- (避免出现字幕很糊的情况) -> 字幕 -> 纹理设置(......) -> 最大纹理分辨率 (建议 改为自身屏幕分辨率 / 1920x1080也已够用)
MPC-BE:
首先 按快捷键"O" 或者 右键 -> 选项
- 切换成浅色模式 --- 播放器 -> 界面 -> 取消勾选 使用暗黑主题(默认)
# BE你怎么穿着HC的衣服?
- 更改默认背景 --- 播放器 -> 徽标 -> 外部 -> 浏览 选择你想用的默认背景图
- 更改工具栏图标 --- 去这里(https://sourceforge.net/projects/mpcbe/files/Toolbars/)下载压缩包,然后将里面文件名为"toolbar"的 图片文件 解压出来,移动到MPC-BE的根目录,重启MPC-BE
# 或者你也可以自己设计(
- 记忆文件的播放位置 --- 播放器 -> 历史 -> 记住文件位置
- 在进度条上显示章节标记 --- 播放器 -> 界面 -> 显示章节标记
- 鼠标指向进度条时显示视频缩略图 --- 播放器 -> 界面 -> 搜索时显示预览
- 开始播放后自动改变窗口大小 --- 播放器 -> 窗口尺寸 -> 开始播放后 -> 按照视频大小缩放 (建议 100%)
- 自动播放播放列表中的下一个视频 --- 回放 -> 打开设置 -> 额外添加到播放列表 (建议 文件夹中的所有文件)
- 更改字幕最大渲染分辨率 --- (避免出现字幕很糊的情况) -> 字幕 -> 渲染 -> 纹理设置(......) -> 最大纹理分辨率 (建议 改为自身屏幕分辨率 / 1920x1080也已够用)
# 顺便建议把 字幕图像缓冲数量 设为 0
--- [指路] 让HC调用BE的解码器,这何尝不是一种 _ _ _ ---
这部分 hooke007 大佬写过,我又没什么可以补充的点,就只是指路吧
https://github.com/hooke007/MPV_lazy/discussions/41
举一反三,其他 DirectShow播放器 添加 (未注册到系统的)外部滤镜 也是同理