4k 10bit hdr 视频使用 svp 插帧, madvr 渲染教程

技术4k 10bit hdr 视频使用 svp 插帧, madvr 渲染教程 4k 10bit hdr 视频使用 svp 插帧, madvr 渲染教程1 技术选型
1.1 为什么用 MPC-BE 而不是

使用svp帧插值的4k 10位hdr视频,madvr渲染教程

1 技术选型

1.1 为什么用 MPC-BE 而不是 mpv

我之前用mpv加载svp做这个,这样确实可以插入4k 10 bit hdr视频帧,但是遇到了以下问题:

mpv的配置文件是文本文件,需要阅读官方超长文档,配置成本太高。

mpv svp的性能远不如MPC-BE svp。

新版svp终于支持DirectShow播放器,可以正确处理10位HDR电影。

在更新svp版本之前,有时mpv卡会掉帧,但mpv进程无法用尽所有的cpu资源,这很可能是一个优化问题。

更新svp版本后,mpv没有以前那么卡了,但是mpv进程的cpu利用率也提高了。

注:svp在mpv过程中运行;当svp更新时,mpv也会更新。

1.1.1 测试:svp 在不同视频播放器下面的性能问题-不使用 Nvidia Optical Flow

Svp官员称mpc-be比mpv好得多:

MPC-HC 64-bit的4K回放速度明显快于mpv

我用同样的3840 * 2160 10bit 24FPS HEVC视频进行了测试,并将mpc-be与mpv进行了比较,MPV实际上多消耗了40%的CPU。尽量不要通过smplayer调用mpv,直接在svp中打开mpv播放视频,还是这样。当cpu满了,就会出现丢帧的问题。

使用 mpv 播放视频的时候

不知道为什么,System和其他一些进程也占用了大量的CPU资源,而且对方进程占用的CPU资源也不多,但是加起来会有10%。使用MPC-BE时,其他进程占用的CPU资源会少很多。

总计: 96

mpv: 86

使用 mpc-be + lav + mad-vr 播放视频的时候

总计: 68

mpc-be: 62

1.1.2 测试:svp 在不同视频播放器下面的性能问题-使用 Nvidia Optical Flow

SVP参数:使用NVIDIA光流,精确高,运动矢量网格8px

mpv

坚持严重的帧丢失

mpc-be

完全没有卡住,还有一堆剩余的gpu资源。

其他问题

但是用enermy测试后,这个配置还是有残影的问题,需要调整到4px才能避免。但是,4px会导致4K视频播放受阻。

使用英伟达光流后,拖动视频进度条要快得多。

1.1.3 结论

视频帧插入需要MPC-BE。无论是用CPU还是GPU,性能都比mpv好很多。

1.2 关键指标

60 fps

HDR 10位Rec.2020

4K

1.3 关键技术-插帧

1.3.1 可选方案

(1) AMD Fluid Motion / Bluesky Frame Rate Converter

看看网上的评价,简单的翻译图片会做插帧操作,而复杂的运动图片不会做插帧操作。

不支持HDR

用AMD显卡做计算

(2)dmitrirender

ng>
看网上评价,就算是静态的画面也会有模糊。
不支持 HDR
使用显卡做运算
(3)SmoothVideo Project (SVP)
自己使用体验还不错,插帧效果很好,也没有什么伪影问题
支持HDR
支持 10bit 色彩深度
主要使用CPU做运算
HDR + madVR 使用方法
(4) madVR smooth
这个是为了解决 judder 问题做的,不是插帧

1.3.2 网上的评价

来源:https://blackmickeysvp.blogspot.com/2017/05/dmitrirender.html
我自己的使用经验是,在同样皆为预设值之下,
DR有着最佳的流畅度丶中等的伪影丶低CPU使用率,因此有些使用者会推荐选择使用DR,
至于缺点则是 模糊 ,不论是如何的画面,都会变得模糊一些,连静态画面也会。
AFM流畅度较低丶伪影较少,缺点为限定AMD显卡(还有少部分Intel内显)。
SVP则是流畅度中等丶伪影多且明显丶显示卡消耗较低,缺点是CPU消耗高,
不过SVP在经过调整参数后可以达到最高流畅度,中低伪影,也是三者内可调参数最多的滤镜,
虽说其他二者不用调参数很方便,但也因为没办法调整参数来针对特定影片优化。

1.3.3 比较视频

AMD Fluid Motion vs 原生
AMD Fuild Motion vs SVP 看过去是 SVP 稍微好一点
dmitriRender
BFRC(FM)、DmitriRender、SVP补帧比较 BFRC,DmitriRender 流畅度比不上 SVP。SVP 能把原来是模糊的运动画面补清晰了。DmitriRender有些画面感觉有些模糊。
结论:看了这些比较视频,感觉还是 SVP 最好了。

1.4 关键技术-视频后期处理

madVR

1.5 关键技术-色彩深度 10bit

软件/硬件 支持10bit 备注
显示器 LG 27UL650-W ? 8bit抖动成 10bit
接口 DisplayPort ? Wikipedia
显卡图形界面API ? windows 上用 directx 全屏模式,Nvidia 部分的消费级显卡也能支持:

  1. Setting Graphics Card Software to Display 10-bit Output
  2. 10-bit Graphics card support
madVR ?
Lav Filters ?
Smooth Video Project ?

1.6 关键技术-HDR

madvr

2 目标

想要实现下面的视频播放:4K, HDR, 10bit, svp 插帧到60fps, 使用madvr来做视频渲染
其他更低的画质也应该能正常高质量播放,比如

  • 4K, SDR, 10bit, svp 插帧到60fps, 使用madvr来做视频渲染
  • 4K, SDR, 8bit, svp 插帧到60fps, 使用madvr来做视频渲染
  • 1080p, SDR, 8bit, svp 插帧到60fps, 使用madvr来做视频渲染
  • 720p, SDR, 8bit, svp 插帧到60fps, 使用madvr来做视频渲染
  • 其他更低分辨率, SDR, 8bit, svp 插帧到60fps, 使用madvr来做视频渲染

3 基础知识

  • [VCB-Studio 科普教程 5] 那些播放器教程背后的知识
  • [VCB-Studio 科普教程 3] 视频格式基础知识
  • 《视频播放的调教 PlaybackGame v0.4》 这是一本电子书
  • 视频存储格式YUV420 NV12 NV21 i420 YV12
  • Wide Color Gamut Coverage of TVs Rec.709, DCI-P3, Rec.2020

4 测试环境

4.1 硬件

跟性能相关的硬件

硬件 型号 备注
显示器 LG 27UL650-W。4K 10bit 60Hz 显示器 4K 10bit 60Hz 显示器或者更高配置的显示器都行。这篇文章讲的就是 4K 10bit HDR 影片播放。不过真 HDR 显示器太贵了,我没有买,这个显示器的 HDR 模式并没有什么效果。
CPU AMD Ryzen 7 3700x 性能比这个差的话,播放 4k 24FPS 10bit 视频容易因为 cpu 性能不足以支撑 svp 实时插帧而导致掉帧。
显卡 Nvidia RTX 2080 使用 Jinc 作为 image upscaling 算法的话,Mad Max 4k 蓝光原盘能用掉 40% 的 gpu 资源。
chrome 最大化窗口打开 bilibili,疯狂上下滚动窗口里面的内容,用掉 40% 的 GPU。
所以不玩游戏的话,单个 4K 屏幕最少也要 50% 的Nvidia RTX 2080 显卡的性能才行。如果要开启更高清晰度的 image upscaling 算法,需要比 2080 更好的显卡。

跟视频播放性能关系不大的硬件

硬件 型号 备注
CPU散热器 买CPU送的AMD幽灵棱镜
主板 Msi Mortar Max B450M
内存 威刚 3600 MHz 8G * 2
HDD 希捷酷鱼BarraCuda 2TB 7200RPM 这个是 SMR 硬盘,建议不要买,迅雷下载影片到它里面的时候IO延迟感人。
SSD Samsung PM981a 512GB NVMe
机箱 爱国者黑曼巴
电源 振华冰山金蝶GX550
显卡支架 九州风神GH01

4.2 软件

[VCB-Studio 科普教程 2.2] 基于 PotPlayer 和 madVR 的播放器教程(已更新 XySubFilter)说安装必须全英文连 "Program Files" 都不行所以我就把除了 svp 之外的软件安装到了 "C:\MediaPlayer\" 目录下面。
软件选择原则:

  1. 只使用64位的应用。下面列表中的所有软件都是 64位的。4K svp 插帧的时候 MPC-BE 会用掉 8GB 左右的内存,32位程序根本没法分配这么大的地址空间。
  2. 没有特殊情况,下载最新版本的软件。下面的版本只是列出我测试过没问题的版本,不代表推荐使用旧版本的。

软件版本
MPC-BE, nvidia 显卡驱动需要自己下载。
SVP 安装包中有 LAVFilters, madVR,不用单独下载,建议直接使用SVP安装包中给的版本,这样之后可以直接用 svp 的更新程序来升级版本了。SVP 里面带的是 MPC-HC,MPC-BE 需要手动安装。你也可以直接用 svp 里面带的 MPC-HC,应该没啥影响。
下面的软件需要自己下载安装包

程序 版本
操作系统 windows 10 21H2
Nvidia 显卡驱动 471.68
MPC-BE 1.5.6.6000
SVP 4.5.0.213

svp 安装程序里面具体安装的组件版本。这些软件都在 svp 安装包里面有
没有列出来的组件,我都没有安装,对这篇文章里面描述的配置流程没有影响。

程序 版本 说明
SVP Manager(Pro) / [DS_64] Core for DirectShow 64-bit 4.5.0.212 必备
SVP extensions / SVPtube 2 2.1.0.221 可以不安装
3rd-party software(mandatory) / [DS_32][DS_64] AviSynth Filter(AVSF) 1.2.1 必备
3rd-party software (optional) / [DS_32][DS_64] madVR video renderer v0.92.17 10bit播放必须用它
3rd-party software (optional) / [DS_32][DS_64] LAV Filters 0.75.1 强烈建议安装,MPC-BE 自带的解码器功能比较弱,只能用 dxva2 做硬解,没有 d3d11。

4.3 为什么使用上面的软件组合

注意下面的资料不是从 MSDN 获取的,所以细节准确性会有些问题。不过基本的流程是正确的。
整个视频处理流程(DirectShow): Source Filter = Splitter = Video Decoder = Post Filter = Video Renderer
视频播放器
这个实际上会涉及到这个流水线的选择。madVR 基于 DirectShow,所以必须使用 DirectShow 技术的视频播放器,所以就是上面的 DirectShow 的处理流程。mpv, vlc 之类的是另外一个流程,为什么不用 mpv 前面说过了。
Potplayer 根据 2013 年的《视频播放的调教 PlaybackGame v0.4》 对于 madVR 的支持有很多问题,然后根据网络上众多文章,都说默认配置很坑爹,所以就排除掉好了。
我们这里暂定:MPC-BE
Splitter
这个不重要,一般不用特意考虑
Video Decoder
LAV 这个可以完美支持 10 bit 输出
Post Filter(SVP)
根据 SVP 架构,现在是这里加入插帧的。
SVP:支持10bit的插帧软件。其他还有AMD Fluid Motion / Bluesky Frame Rate Converter,dmitrirender,但是都不支持HDR,或者直接不支持10bit.
Video Renderer
madVR: video renderer。基于 DirectShow
完整的流程
MPC-BE 这个 DirectShow 播放器下:LAV Source = LAV Splitter = LAV Video Decoder = Post Filter / Avisynth =Post Filter / SVPflow= MPC-BE 自带的字幕渲染器 = madVR Video Renderer = 显示器输出
参考资料

  1. SVP 4 User Manual

5 配置软件

按照顺序执行下面的配置过程

5.1 系统设置

5.1.1 显卡

2021-01-01 遇到过莫名其妙显卡配置被重置了,不知道是不是更新nvidia显卡驱动导致的。
全部通过 `Nvidia 控制面板` 进行设置
(1) 动态范围参数调整至完全
(2) “输出颜色深度” 根据显示器调节,Dell U2718Q 为 10bit,“输出动态范围” 选择完全
[VCB-Studio 科普教程 2.2] 基于 PotPlayer 和 madVR 的播放器教程(已更新 XySubFilter) 这篇文章说到了其他显卡怎么设置。
(3) 修改 nvidia 显卡电源设置
下面的应该是不用设置的,Nvidia 显卡会自动适应。

5.1.2 win10操作系统电源

设置为“最大性能模式”。注意不能用 settings.app 来操作,需要进入传统的电源管理功能来修改。
节能模式会导致CPU被降频,然后很多程序就会卡顿了。

5.1.3 BIOS 电源配置

可以在 MSI 主板中开启 Game Ready Boost。但是开了之后风扇会疯狂运行,而且我的电脑性能其实已经够了,就算了。

5.2 视频播放器基础配置

(1)历史记录看个人喜好是否保留。进程优先级建议设置为高于普通。
(2)禁止抢占全局快捷键
建议多禁用一些快捷键,特别是那些空格键上面的快捷键,容易误触
(3) 确保鼠标左键单击不会暂停/播放视频
(4) 鼠标放在进度条上的时候,显示预览画面
(5) scale to video size = 100%
默认情况下 mpc-be 启动只会有一个很小的窗口。试了下很多其他的选项,没有办法让这个破东西启动的时候直接最大化。最靠谱的选项是,快捷方式里面设置启动时最大化,mpc-be配置里面设置播放时调整到视频的大小。
(6) youtube-dl 相关设置
其实没啥用,就是习惯性设置为2160p这个显示器能展示的最高分辨率。
(7) 字幕设置 Subtitles-Rendering
Sub pictures to buffer: 据说对于特效很多的字幕,不设置成0的话,会卡
Maximum texture resolution: 默认会以一个非常低的分辨率渲染字幕,设置成 Desktop 的话会按照桌面的分辨率来渲染。
Allow Animation when buffering: 10bit 视频通过SVP插帧播放,字幕里面出现动画的时候,播放器会消耗极其多的CPU资源,导致视频播放出现卡顿。这个选项取消勾选,可以禁用 ass 字幕的动画,只保留文本和位置信息。
(8) Subtitles - Default Style
GB2312: 估计是字幕语言自动检测
Screen Alignment Margins:按照图上的设置,字幕会在正确的位置。
Position subtitles relative to the video frame: 默认是勾选上的,会导致字幕显示在画面里面,而不是显示在黑边上。取消勾选之后,字幕能显示在黑边里面。还有一个奇怪的半勾选状态,不知道是什么效果,没有测试过。
(9) 正确截图
Player - Keys 里面有3个截图的快捷键:

  1. "Save Image" 这个会弹出对话框,让你选择截图选项,文件保存位置。这里的选项配置,会被"Save Image(Auto)" 用到。比如这里调整了文件格式,压缩率,是否包括字幕,auto 也会按照这里的配置来。
  2. "Save Image (auto)" 这个不弹出对话框,直接保存一张截图到默认位置。
  3. "Save displayed image (auto)" 这个截图的时候,会把播放器的黑边也截图下来。

"Save displayed image (auto)" 一般不使用,其他都可以使用。
madVR + MPC-BE 的组合,截图的时候,madVR可以渲染字幕,MPC-BE 可以再渲染一次字幕,这样会导致问题:

  1. MPC-BE 渲染字幕的时候,不会处理 delay 的问题,madVR 会正确处理,所以你播放视频的时候把字幕设置了1s的 delay,截图之后发现截图的结果和播放器里的结果完全不一样。
  2. MPC-BE 在截图里面加上的字幕渲染效果,和真实播放器的效果是不一样的,真实播放器用的效果是 madVR 渲染出来的。然后对于复杂的字幕,截图之后可能会发现有两种效果不一样的字幕叠加在一起,非常诡异。

所以需要禁用 MPC-BE 的截图时字幕渲染功能:

  1. "File - Save Image" 弹出的对话框里面,去除勾选 "Include subtitles" 然后保存一张截图
  2. madVR 里面 "don't draw subtitles" 的选项不要勾选

现在可以正常使用"Save Image" 或者"Save Image (auto)" 来截图。

5.3 配置 splitter

(1) LAV Filter 不支持 webvtt 字幕,mpc-be 内置的 filter 支持。所以 Source Filter 和 Splitter 不能用 LAV Filter 提供的,需要用 mpc-be 内置的。
update: 0.75 版本支持了 mkv/webm 里面的 webvtt 字幕格式,可以改成用 LAV Filter 提供的 splitter 了。不过这个东西其实对视频播放影响不大,用 MPC-BE 内置的也没有什么关系。
(1.1)Internal Filters 里面的 Source Filters 全部勾选上
(1.2)External Filters 里面的 File Source(Async.) 和 LAV Splitter 不要勾选。或者直接把这两个东西从列表里面 remove 掉也行
(2) 如果要用外置的 LAV Filter 的话,按照下面的方法配置。
在 MPC-BE 里面加入下面的 Filters,全部设置成 Prefer 来强制覆盖内置的 Filter。

5.4 配置 LAV Filters

(1) 启用硬解
双击 LAV Video Decoder
如果需要使用 SVP,按照下面的配置成使用 Nvidia CUVID。根据测试,这个比 DXVA2(copy-back) 或者 D3D11(copy-back) 都节约 GPU 资源。SVP 官方也推荐N卡用户使用 NVIDIA CUVID
如果不使用 SVP,则其他都不变。把 Hardware Decoder to use 改成 "D3D11 Automatic"。注意不要用 DXVA2(native),DXVA2 是基于 DirectX 9.0 API 开发的,按理来说 DirectX 11 API 的性能应该是比 DirectX 9 高的。
MPC-BE 内置的 Video Decoder 功能比较弱,只能使用 dxva2 硬解视频,但是按照mpv 的文档,dxva2 no copy back 是不安全的,会强制使用 BT.601 色彩空间,导致画质损失。LAV Video Decoder 可以用 Nvidia cuvid 或者 D3D11 video decode 功能,强大很多。

Quality reduction with hardware decoding
In theory, hardware decoding does not reduce video quality (at least for the codecs h264 and HEVC). However, due to restrictions in video output APIs, as well as bugs in the actual hardware decoders, there can be some loss, or even blatantly incorrect results.
In some cases, RGB conversion is forced, which means the RGB conversion is performed by the hardware decoding API, instead of the shaders used by --vo=gpu. This means certain colorspaces may not display correctly, and certain filtering (such as debanding) cannot be applied in an ideal way. This will also usually force the use of low quality chroma scalers instead of the one specified by --cscale. In other cases, hardware decoding can also reduce the bit depth of the decoded image, which can introduce banding or precision loss for 10-bit files.
vaapi and d3d11va are safe. Enabling deinterlacing (or simply their respective post-processing filters) will possibly at least reduce color quality by converting the output to a 8 bit format.
dxva2 is not safe. It appears to always use BT.601 for forced RGB conversion, but actual behavior depends on the GPU drivers. Some drivers appear to convert to limited range RGB, which gives a faded appearance. In addition to driver-specific behavior, global system settings might affect this additionally. This can give incorrect results even with completely ordinary video sources.
All other methods, in particular the copy-back methods (like dxva2-copy etc.) should hopefully be safe, although they can still cause random decoding issues. At the very least, they shouldn't affect the colors of the image.
In particular, auto-copy will only select "safe" modes (although potentially slower than other methods), but there's still no guarantee the chosen hardware decoder will actually work correctly.
In general, it's very strongly advised to avoid hardware decoding unless absolutely necessary, i.e. if your CPU is insufficient to decode the file in questions. If you run into any weird decoding issues, frame glitches or discoloration, and you have --hwdec turned on, the first thing you should try is disabling it.

(2) 视频解码配置
(3) 音频解码配置
双击 LAV Audio Decoder
不开启 Mixer 的话,5.1 声道的声音在2.0扬声器上输出会有问题。

5.5 SVP 配置

5.5.1 一些与画质无关的修改

(1)使用 English
用了 English 才方便和官网wiki的截图对应。
(2)禁用更新提示
2次 SVP 更新,都出现了故障,还是不能随便更新的。
(3)svptube设置
根据官方网站资料,其他视频播放器都有些奇奇怪怪的支持问题,只有 mpv 是完美的。同时我自己测试了一下,SMPlayer 只能加载 youtube 视频,音频没有,字幕也没有。
(4)开机自启
SVP图标右击 - Application settings

5.5.2 GPU 加速

根据SVP 官方资料,如果关闭 GPU 加速,完全采用 CPU 运算,对于画质会有负面的影响。
下面是不同配置情况下,对于同一部 4K 10bit 24fps HDR 影片,我的机器的资源占用率。注意,因为 DirectShow 播放器配合 SVP 的情况下不能处理 10bit HDR 视频,测试是基于 mpv + SVP 做的。所有情况下都开启了硬解。
所有的数据都是从 win10 任务管理器获取的。

纯CPU GPU加速
无 Nvidia Optical Flow
GPU加速
启用 Nvidia Optical Flow
总GPU占用率 68% 84% 90%
GPU - 3D 68% 84% 90%
GPU -Cuda 0 15% 63%
GPU -Copy(Copy有多个,选择了最大的一个) 0 28% 24%
GPU -Decode 10% 9% 12%
CPU 60%-70% 72% 27%
内存 3470M 6795M 6000M

根据2020-05-29 的测试结果,Nvidia Optical Flow 会导致电影的一部分场景出现严重的失真,最好关闭。
只开启 GPU Acceleration,不要开Nvidia Optical Flow。

5.5.3 SVP Profile

下面所有的参数都是给电影优化的,对于动画不适用
经过测试,只是通过滑动条改改参数是不行的,有一部分电影场景会出现雪花问题。所以不要用下面这种设置方式。
使用下面的自定义配置就没有问题了。如果还是发现有雪花,那就把 Frames interpolation mode 改成 "2m"(min artifacts)

5.5.4 禁止调整 Video Frame Size

5.5.5 禁用 Outer Lighting

5.5.6 Vapoursynth 10bit 输出

SVP图标右击 - Application settings - Additional Options

5.5.7 参考资料

  1. 黑米奇SVP: 进阶教程系列(九)- HDR影片于SDR屏幕上播放(2018-12-10更新)
  2. SVP:4K and HDR
  3. SVP:MPC-BE
  4. SVP 4 User Manual
  5. 在 PotPlayer 中使用 VapourSynth 加载 SVP4 试了下,好像新版本不能这样开启了。
  6. SVP:Daum PotPlayer 这里有讲到如何使用 potplayer native avisynth 模式
  7. SVP:SMPlayer
  8. SVP:mpv
  9. Increasing the Frame Rate / Profiles

5.5.8 了解更多(在配置的过程中没有看这些资料,但是应该是有用的)

  1. 測試筆記:SVP最新測試版參數beta script(2019-11-10 更新)

5.6 madVR 设置

(1) MPC-BE 中把madVR设置为 Video Renderer
(2) 正确设置 device type
(3) 设置 RGB output levels color depth
(4) calibration
(5) HDR
播放HDR视频的时候,需要把显示器的亮度对比度都调整到最高,不然 peak nits 达不到 350。
(6) artifact removal
(7) chroma upscaling
(8) image downscaling
下面这个 SSIM 看过去也可以
(9) image upscaling
(9.1) 如果跑得动,用NGU Standard
NGU Standard 我的显卡跑不动 1080p 60fps 视频拉升到 4K 输出。
(9.2) 否则可以用 Jinc
(9.3) super-xbr 看过去也不错,虽然没有 Jinc 好。
(10) rendering - general settings
delay playback start until render queue is full: svp 使用 cpu 处理视频的时候比较慢,如果不加上 delay,最开始几秒钟的视频会变成幻灯片。
delay playback start after seeking, too: 拖动的时候,svp 也需要重新处理视频,也会变成幻灯片。
enable automatic fullscreen exclusive mode: 此选项主要用来防撕裂,用处不大,有撕裂问题的话可以打开,否则建议关闭,因为可能会引发很多驱动 bug。
use Direct3D 11 for presentation: d3d11 相比 d3d9 一般情况下会有性能的提升。
(11) rendering - windowed mode
present several frames in advance: 勾则开启 0.87.10+加入的新视窗模式,不勾则使用以前的旧视窗。新视窗模式有接近全屏独占的效率和流畅度,如要使用必须关闭 general settings 里的 enable automatic fullscreen exclusive mode 全屏独占和 disable desktop composition。
(12) rendering - smooth motion
使用 svp 处理 smooth motion 问题
(13) rendering -dithering
(14) rendering -screenshots

  • create screenshots with a custom zoom factor

madVR 默认会抓取播放器窗口大小的 screenshot,和原始视频大小不匹配。
100% view 和 encoded video size 经过测试,都是原始视频大小,具体有什么区别不清楚。

  • don't draw subtitles

这个选项勾选上去,字幕就不会被截图了。

5.7 字幕

根据進階教程系列(三) - 字幕渲染濾鏡 XySubFilter丶AssFilterMod(2020-10-28更新)这篇文章的内容,没有必要安装外置的字幕插件了。
看了下 xyVsFilter xySubFilter github release 页面,最新的 release 版本都是 2018 年的版本了。

序号 字幕渲染软件 版本 性能
1 MPC-BE内置 1.5.4 (build 4850) beta 不开启svp,不卡;开了svp,4k 10bit视频,有特效字幕,整个视频就卡成幻灯片。
1080P 10bit的进击的巨人48集OP,用 LoliHouse - simplified visual effect 不会卡顿,用 LoliHouse - full visual effect 在复杂特效的时候会卡顿。
2 XySubFilter 3.1.0.752 比1性能差,非常卡
3 XySubFilter libass mod XySubFilter_git-8c23283_x64.zip 比2性能差,非特效字幕也会占用大量CPU
4 xy-VSFilter (pfmod) v3.2.0.802 (20181031) 和2差不多卡。
1080P 10bit的进击的巨人48集OP,用 LoliHouse - simplified visual effect 会严重卡顿,用 LoliHouse - full visual effect 在复杂特效的时候会卡顿得严重掉帧。

结论:还是用 MPC-BE 内置的字幕组件好了,这个的性能远远比外置的字幕组件好。
2021-01-30
对复杂特效字幕渲染卡顿问题进行了测试,发现下面的结果。打钩的代码没有问题,打叉的代表会出现问题。
测试方法:使用 svpcode 转码 H265 4K 10bit 24FPS 的视频到 H265 4K 10bit 60FPS。然后两个视频加载同样的特效字幕,24FPS 版本不开启 SVP不卡,24FPS 开启 SVP 插帧到60FPS卡,60 FPS 不开启 SVP 不卡。
推测:视频字幕渲染软件和 SVP 存在兼容性问题。
? H265
? 10bit
? 60FPS
? SVP
下面的组合都是没有问题的:

  1. H265 4K 10bit 60FPS no svp
  2. H265 4K 10bit 24FPS no svp
  3. H265 1080P 10bit 24FPS no svp
  4. H264 4K 10bit 60FPS no svp
  5. H264 4K 8bit 24FPS svp
  6. H264 1080p 8bit 24FPS svp

下面的组合有问题

  1. H265 4K 10bit 24FPS svp
  2. H265 1080P 10bit 24FPS svp

5.8 参考资料

多个软件的配置

  1. 《视频播放的调教 PlaybackGame v0.4》

svp

  1. Avisynth Filter (AVSF)

MPC-HC

  1. [VCB-Studio 科普教程 1.1] 64-bit MPC-HC 播放器教程(入门篇)

Potplayer

  1. [VCB-Studio 科普教程 2.2] 基于 PotPlayer 和 madVR 的播放器教程(已更新 XySubFilter)
  2. 【影音播放】PotPlayer + LAV Filters + madVR + ReClock + SVP 设定简图 (高画质+影音同步+即时插帧)

madVR

  1. [VCB-Studio 科普教程 2.1] madVR 渲染器配置教程(2016.08.13 更新)
  2. madVR的HDR功能 體驗次世代色彩標準
  3. 进阶教程系列(九) - HDR影片于SDR萤幕上拨放(2020-11-03更新)

字幕

  1. 進階教程系列(三) - 字幕渲染濾鏡 XySubFilter丶AssFilterMod(2020-10-28更新)
  2. https://github.com/pinterf/xy-VSFilter/

不是重点

  1. 想要视频丝般顺滑补帧软件由简到繁全推荐
  2. 大片不流畅插帧60fps看电影更畅快!

5.9 了解更多(在配置的过程中没有看这些资料,但是应该是有用的)

madVR

  1. 萬年冷凍庫: 系列之3─最強渲染器-madVR
  2. MadVR - madVR configuration and optimization guide, screenshot comparisons and algorithm performance 非常好的wiki,比那些博客好多了

LAV

  1. 万年冷冻库: 系列之2─强大的外挂解码方案-LAV Filters

6 附录-显示器10bit输出测试

经过测试,MPC-BE 搭配 madVR 在配置正确的情况下,能正确输出 10bit。mpv 看不出来,不管是窗口还是全屏模式,都看不到色带。
测试图片或者视频自己搜索,网上有很多。
madVR 测试教程来源:https://www.chiphell.com/thread-1647662-1-1.html

  1. 显卡驱动面板开启10bit,我现在用的是N卡,A卡也是一样
  2. 禁用 SVP 这些多余的滤镜
  3. madvr setting里面,在processing → artifact removal里面去掉两个功能的勾
  4. rendering → dithering里面选none,以避免madvr的去色带功能干扰观察10bit有没有正确输出
  5. 窗口模式下应该有条纹,全屏则看不到。说明全屏模式下确实是10bit输出的。
  6. 最后确认10bit正确输出之后要重新开回来

注意:下面的"enable automatic fullscreen exclusive mode" 不要开启。即使不开启,也能在全屏模式下使用 10bit 输出,只是 MPC-BE 的控件展示出来的时候,会变成 8bit,消失之后会自动回到 10bit。如果开启了,会导致控件显示消失切换的时候出现严重的卡顿。
"use Direct3D 11 for presentation" 这个选项要开启,不然后果未知。
2021-01-10: 经过测试,按照下面表格中的软件版本,使用 Avisynth Filter 的 SVP 开启插帧之后,MadVR 在全屏模式下,还是能正确输出 10bit 的图像。也就是说,10bit 输出完全成功。

操作系统 windows 10 20H2
Nvidia 显卡驱动 460.89
MPC-BE 1.5.4 (build 4850) beta
LAVFilters 0.74.1
madVR v0.92.17
SVP 4.5.0.200

7 常用资料来源

  1. 万年冷冻库
  2. 睇片研究所
  3. 黑米奇SVP
  4. VCB-Studio
  5. 《视频播放的调教 PlaybackGame v0.4》 这是一本电子书

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/112091.html

(0)

相关推荐

  • babyletsgo女生英文歌,奔跑吧第一季第四期插曲

    技术babyletsgo女生英文歌,奔跑吧第一季第四期插曲奔跑吧兄弟第4期插曲如下babyletsgo女生英文歌:1、angelababy叫权烈踢毽子插曲 David Campbell《ducant take my ey

    生活 2021年10月22日
  • speak的用法,say和speak的用法和区别

    技术speak的用法,say和speak的用法和区别say一般情况下,我们用“say”来表述某人说过某事speak的用法。“say”常常被用来复述说某人说过的话。tell我们使用“tell”来表示某人已经指示或通知某人某

    生活 2021年10月20日
  • 如何解决异步log4j2中的位置信息打印问题

    技术异步log4j2中的location信息打印问题怎么解决异步log4j2中的location信息打印问题怎么解决,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习

    攻略 2021年12月23日
  • 计算机速成课 第八集 指令和程序

    技术计算机速成课 第八集 指令和程序 计算机速成课 第八集 指令和程序1. 给 CPU 一些指令来运行CPU 强大,是因为可编程
    写入不同指令,就会执行不同任务
    是一块硬件,可以被软件控制2. 举例:0

    礼包 2021年12月9日
  • Lammps分子动力学软件MPI并行教程是什么

    技术Lammps分子动力学软件MPI并行教程是什么Lammps分子动力学软件MPI并行教程是什么,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获

    攻略 2021年10月20日
  • 美国服务器如何选择合适服务商

    技术美国服务器如何选择合适服务商对于博客作者和小型网站而言,为其网站提供合适的网络服务器非常重要。这是为了确保他们的网站随时能够访问。各种各样的供应商这为购买者提供了足够的灵活性来做出正确的选择。然而,如何选择合适的服务

    礼包 2021年10月26日