视频播放器使用还是有不少细节需要注意的。本文介绍流行播放器Potplayer 配置方法,搭配 Emby 和 embyLaunchPotplayer 使用的效果更佳!
推荐本文搭配使用jeckett,sonarr,iyuu,qt,emby打造全自动追剧流程观看
本文最近全新整理增强了一遍
前言
这年头一款趁手好用的播放器,功能强大的播放器是必需的,目前几乎所有视频播放器其实只有三种:MPC-HC、Mplayer、VLC player,其余可以理解为各种壳各种定制版各种修改版。(potplayer的前身km是基于MPC),其中MPC-HC已经内置了LAV Filters,不过Potplayer可定制项更多,更有可玩性,因此选用Potplayer进行搭建目前公认最完美的高清方案显然是Potplayer(主播放器)+LAV Filters(分离器)+madVR(渲染器)+xy-VSFilter(字幕滤镜),当然这个所谓的最完美方案是严重高能耗的一个方案,就我个人而言一直觉得性质比不佳,但这基本上是你已经是能找到的最完美的高清方案了。
不想怎么折腾的朋友,直接使用播放器和默认设置就好了;要求再高一点的朋友,添加LAV Filters+madVR+xy-VSFilter进播放器,然后也不需要去配置参数,默认就好;发烧友们想自学高级播放器设置,网上教程总是不缺的,一搜一大堆,各大论坛什么的置顶帖,万年冷冻库,等等,写的比本文更新、更详细、更高端的比比皆是,也都可以作为很不错的教程。不过其中有些教程过于专业详尽,又或者只是授人以鲤,或者授人以鳊、鲢、鳙……,导致很多人直接傻眼了。现在网上林林总总的教程,不会跟你说的很多细节与知识。有的人madVR设置玩出了花,结果不知道检查pot内置的ffmpeg解码器,会把YUV420 10bit 降低精度+瞎转换 为YUV422 8bit丢给madVR,然后又说自己看不出区别……这折腾的意义何在呢。所以首先提出几点建议:
1、实事求是。不要盲目的去折腾,也不要为了心理安慰去折腾。一套更好的方案,只有你确实感觉到了提升,并且这个提升在你心理满意度上,足够抵消麻烦,才值得你去升级。比较的过程中,相信自己的眼睛,而不是相信别人的说教。比如说我真不推荐笔记本用户折腾任何顶级缩放算法——那么小个屏幕你能看出点啥?教程里说出花的放大算法跟你有几毛钱关系?
2、循序渐进。先把一套简单基础的方案弄好弄懂,再去学习和尝试更好的方法。对于新的插件,你要尝试测试它们在你机器上的表现;对于别人的设置,设法了解他这么推荐的原因,以及这个原因是否适用于你。最典型的,很多人用着madVR问我,你在新教程里教我们LAV只勾选RGB,我要改么?看了这篇教程你应该知道要不要改与背后的原因了吧。
3、量力而行。播放器越高级,组件越多,往往性能消耗越大,出错概率也越高,同时收益越少。学会放弃与妥协,毕竟,你看的是片子,不是播放器组件和参数。
工具篇
下载地址
PotPlayer
Potplayer 是影视常用的播放器,界面简洁,功能齐全,比 MPC-HC 和 MPC-BE 更人性化;但其默认方案十分糟糕,预设过多错误,无法正确播放 10-bit 视频,**一直饱受诟病。VCB-Stuido 以往发布的数篇高清教程大多偏重于 madVR,在 PotPlayer 的设置方面有些错漏。为了广大观众能正确、便捷地用 PotPlayer 享受高清影视,我们为大家带来一篇基于 PotPlayer 的高清影视全套 64-bit 工具链完整配置图文详解教程。
工具安装篇
1、为了避免版本混乱导致的bug,本教程提供所全套 64-bit 工具:
**PotPlayer(播放器),LAV Filters(分离/解码器),madVR(视频渲染器),xy-vsFilter(通用字幕插件),xy-SubFilter(madVR专用字幕插件)。
安装路径只允许纯英文,否则一些工具会无法使用,故建议单独建一个纯英文路径的文件夹 Tools,把这些以上提到的程序都放进去,方便更新与维护。
2、安装 PotPlayer 和 LAV Filters。
二者都是普通的 exe 安装包,双击启动即可,将安装路径设置到 Tools 文件夹,其他安装选项全默认。
3、安装 madVR,xy-VSFilter 或 xy-SubFilter。
二者都是插件,安装方法为:将压缩包解压至 Tools 文件夹中,右键点击各自的 install.bat,以管理员权限运行,若移动这些组件则需要重新安装。
显卡设置
显卡显示器看起来灰蒙蒙的,可能原因有
显示器对比度低
传输线规格低
- 这里线材要求 HDMI 需要2.0, DP 1.4 规格以上
默认参数设置没有跳转
第三个原因解决方法如下
N 卡用户
打开 Nvidia 驱动面板,将红框中的动态范围参数调整至完全,蓝框的输出颜色深度调到10bpc或者8bpc(取决于显示器支持),如下图
Intel 核显用户
将量化范围设为全范围:
AMD 显卡
新版设置界面,选择 Full RGB:
CCC 旧版界面,同样选择 Full RGB:
为什么我们要对播放器进行折腾?
我们先了解一般视频在DirectShow架构的播放器播放时的运作过程,首先是读取档案的File source(读取滤镜),將其读取的內容传给Splitter(分离器),前面两者又可合称Source filters(源滤镜)。然后Splitter会將其分离为视讯编码跟音讯编码,將视讯编码传给Video decoder(视讯解码器)做解码,將音讯编码传给Audio decoder(音讯解码器)做解码,然后解码完的视讯內容传给Video renderer(渲染器)渲染后交由显卡输出,解码完的音讯內容则交给音讯装置输出(预设是DirectSound Device)。若是播放DVD,则源滤镜会使用win內建的DVD Navigator,其他则大同小异。所以最简单的方案就是选用算法更好的分离器,解码器和渲染器。(补充:部分视频有字幕的话直接分给字幕渲染器)
以Potplayer为例,确实很优秀,但是其内置的设定还是有些鸡肋,更何况现在高清视频正在普及,所以进行一番调教是应该的,直接给出一些对比效果:
1.关于LAV Filters
LAV Filters,是一个包含分离器/视频解码器/音讯解码器三者的外挂解码方案,內容有LAV Splitter、LAV video decoder、LAV audio decoder三者,由DOOM9论坛上的nevcairiel所开发,格式支持高,完整支持各种10bit编码,也支持DVD及BD的解码,BUG少,功能强大但又实用而不花俏。LAV Filters分离器被称为高速万能分离器,所谓高速是指lav分离器的跳转速度很快,普遍高于pot内置分离器,万能指的是lav的分离器和音视频滤镜很全,几乎可播放所有常见视频。而且,LAV还支持开启硬件加速(如果使用madVR的话建议不要开启),至于为啥看看下面的问题就知道了。
2.关于madVR
视频的播放,解码吃的是CPU效能(硬解例外,硬解是使用显卡上的解码模组,既不吃CPU也不吃GPU效能),而渲染才是吃显卡GPU效能,额外的像去交错的部分也是吃显卡效能,整体而言还是CPU最重要,只有使用madVR时例外,GPU的部分也很重要。而madVR鼎鼎大名,地面最强的渲染器,又称显卡杀手,不惜一切效能代价以换取最大的画质表现,也因此这个渲染器对显卡的要求稍微吃重些,超越了我们一般对播放软件之硬件要求的常识(这个常识是指,只有玩游戏才需要用到较高阶的显卡,影像播放只需要低阶显卡甚至核显已可胜任),但并不是说只有好的显卡才能用这个渲染器,事实上madVR內部的选项相当弹性,根据设置的不同它可以让低阶卡跟內显顺顺跑,也可以把目前最高端的显卡跑爆,一般来说,我建议在能力许可的范围內选择一张不算太差的独立显卡才能发挥它该有的战力。目前甚至可以在普通显示器上模拟HDR,看下效果
左为MADVR渲染,右为播放器默认渲染,左边锯齿大大降低
右为MADVR渲染,色彩、细节皆要强于普通渲染
有HDR
无HDR
3.关于xysubfilter
xy-vsfilter和xysubfilter都是第三方播放器滤镜,都支持mpc系列播放器也支持potplayer,xy-vsfilter是修改原本播放器的vsfilter而生成的,目的为了减轻显示多特效字幕的CPU负荷;xysubfilter则是重新编写的字幕渲染器,比xy-vsfilter新和更好的字幕渲染效果,也支援更多像素格式及对硬体加速的支援也提升。xysubfilter额外支持的部分:支持更多像素格式输入/输出、高解析度的字幕渲染、支持PGS/HDMV格式字幕。
但使用xy-vsfilter/xysubfilter后便正常呈现出效果,上方日文字幕出现应有的字体消失后的字幕特效。
4.关于Advanced codecs
由 Shark007 出品的万能视频解码器分为 ADVANCED Codecs 和 STANDARD Codecs 两个版本,它们能让 Windows 系统自带的 WMP 影音播放器功能得到全方位的加强,而且完全免费!它的前身是 Win8 Codecs,现在已经改名并完美支持 Win10/8/7 系统了,当然它也被叫做 Win10 Codecs。
之所以安装这款解码包是因为在使用Potplayer过程中播放部分mov文件遇到了只有图像没有声音的问题,安装之后完美解决,这款直接默认安装就好了。
PotPlayer 设置
注意常点击应用和确定按钮,不然就白忙活了。
进度条设置
按照个人爱好可以设置
皮肤及设置
把下载好的皮肤拖入skins文件夹,打开播放器,F5打开参数选项,点选新皮肤,根据自己的设备决定是否启用触控皮肤,建议勾选视频下自动隐藏。
然后修改皮肤输出方式,现在整个界面已经十分清爽干净了。如果你决定使用madVR的话,这里皮肤输出方式应该选择使用图层式皮肤输出。
然后我们再修改几个设置让播放器更好用,不是必须的,主要是我的使用习惯,除了我强调的,其他的都可以自行设置。
注意:务必勾选保存设置到INI文件,否则每次重装系统或者到其他电脑就得重新配置。
说明:播放窗口尺寸设置为自定义可以有效避免因为视频源分辨率导致画面忽大忽小的问题,避免手动拖拉调整的麻烦,由于我是高分屏,所以设置为1366768,普通用户推荐1024576,因为这是网上流行的1080P和720P视频的比例。
说明:勾选以避免放大调整播放器时产生黑边。
说明:个人并不喜欢ass字幕特效,不如简单朴素点好。
这点开始就设置好,因为我们不会使用其内置滤镜,虽然到这里就Potplayer已经是一款很简洁美观的绿色播放器了。
切换至 色彩空间/属性 选项卡,设置 YCbCr<->RGB 规则,设为自动选择
音频渲染器设置
根据一些文档叙述,WSAPI渲染器比 Default Direct SoundDevice 效果好,具有程序独占,抗干扰,延迟低的优点;建议关闭规格化,避免 Pot 擅自改变音量。操作方式如下:
或者设置 仅将规格化用于视频播放
添加滤镜
打开 滤镜 -> 全局滤镜优先权,然后点击添加外部滤镜
加载madVR
添加madVR渲染器,这一点与添加LAV方式一致,添加外部滤镜,点选madVR.ax即可,需要注意的是,浏览器的皮肤在madVR下不可用。
我们也可以在全局滤镜中勾选强制使用,这样我们马上可以看到效果。
madVR的初始预设值是重视效能取向和稳定性的,也就是让大部分的显卡都可以正常运作为前提的设置,懒的研究设置的朋友用预设值也可以顺顺使用madVR,但如果想要进一步发挥madVR强大的功能,我们就再继续看四,如果你设置混乱了,可以恢复初始设置继续研究。
加载LAV Filters
Lav滤镜选择LAVAudio.Ax(音频滤镜),LAVVideo.ax(视频滤镜)和LAVSplitter.ax(音频视频分离器)
LAV Splitter 除外的 LAV ,以及 madVR 都设置为强制使用
加载xysubFilter
操作依然一样,直接看图即可,我们我们可以先勾选强制使用看看效果,右下角会出现一个向右上方的箭头,右键这个箭头可以选择字幕,播放器里已经无法选择字幕了。
设置滤镜
禁用内置滤镜
如果没有关闭 Potplayer 内置图像滤镜,数据在传递给 madVR 前已经从 10-bit 砍成 8-bit 损失精度,madVR 内部再怎么精度高也是白搭
打开滤镜,将激活条件选为不使用,将使内置视频编码器取消勾选
原滤镜/分离器 设置
打开滤镜-》原滤镜/分离器,然后点击滤镜/解码器管理
注意:所谓LAV Splitter Source的其实就是LAV Splitter + File Source。直接使用LAV Splitter可能会出现不协调的问题,而且MS的File Source是存在bug的,特别是xp系统。所以与其让potplayer调用MS的File Source,不如直接全部交给LAV来处理,所以个人推荐你直接选择LAV Splitter Source而不是LAV Splitter。
然后在全局滤镜优先权新增lav video decoder,再设定优先顺序为强制使用。
然后选择LAV video decoder,将视频解码器那一列全勾上,
选择LAV Audio Deocder,将音频解码器那一列都勾上。
选择LAV Splitter Source,源滤镜/分离器全勾上
然后点击确定,回到源滤镜/分离器。
然后将能设置成LAV Splitter Source的全部改成LAV Splitter Source。
视频解码器设置
打开视频解码器,将能宣传LAV Video Decoder的券选上
音频解码器设置
打开音频解码器,将能选成LAV Audio Decoder的全选上
字幕插件设置
xy-vsFilter,优先级设置上,xy-vsFilter 设为强制使用,负责外挂字幕;xy-vsFilter设为按优先级使用,负责内挂字幕。二者均可渲染文字字幕(ass 和 srt 等格式),但是不能渲染外挂图形字幕(SUP 和 PGS)。
xy-vsFilter 不支持外挂图形字幕,但支持内挂图形字幕,外挂图形字幕请使用 Pot 内置字幕插件。
视频渲染器设置
然后打开视频,将视频渲染器改成 MADshi视频渲染(就是MadVR)
madVR 的全称是 madshi Video Renderer,是 Windows 平台最强视频渲染器,调教得当的话效果媲美顶级蓝光机,当然消耗也不小。
屏幕 1920×1080 分辨率,则 GTX 960 / 1050 Ti 级别显卡足够体验 madVR 的所有好处;屏幕 2560×1440 或者 3840×2160 分辨率,GTX 970 / 1060 3G 级别显卡勉强可以享受所有好处,GTX 1060 6G 足够,GTX 1070 则绰绰有余。
LAV Video Decoder 设置
随便用potplayer打开一个视频,然后在potplayer上右键,然后选择属性
然后需要我们手动修改启用LAV,以上便是pot中调用lav filter的方法
检查滤镜设置
那么到此我们的滤镜就已经加载完毕了,那怎么看是否加载成功呢?这里有三种方法:
我们可以打开一个视频,右键选择滤镜,看看是否都成功加载,如果没有问题说明已经成功了。
我们还可以按下Tab键,查看相应的解码器渲染器信息是否正确,如图说明LAV解码器,madVR都加载成功,帧率稳定在60,可以畅享60fps的大片了。
我们还可以按下Ctrl+J,这会显示madVR的实时渲染信息,可以借此修正madVR的设置,发挥显卡更大潜能,要掌握这个,这是我们以后进一步调教madVR的关键。
提高音质
首先查看自己电脑的音质输出
然后在Potplayer中进行相关设置,选择内置WASAPI音频渲染器,高品质,关闭开启规格化(会调节音量,但会损失细节,更具自己需要看看吧)
独显笔记本要为Potpayer选择独显,这里以N卡为例
设置LAV
1.分离器部分
上方的Audio(音频)及Subtitles(字幕),可以设定优先的轨道,可以依自行需求设定,
(不过这部分我比习惯使用MPC-BE內的切换)
在Subtitle Selection Mode內以下几种选项可选:
No Subtitles:不载入任何字幕
Only Forced Subtitles:只选择有强制轨(forced track)的字幕
Default:选择有强制轨(forced track)或预设轨(default track)的字幕
Advanced:选择在Subtitles的栏位中填入选择逻辑
在Demuxer Settings(分路器设定)內,
Prefer Audio Stream with the Highest Quality (偏好最高音质音轨)
此项可以视情况勾选,
勾选后LAV会倾向选择最高音质的音轨,
但少数影片最高音质的音轨不一定是对的/最好的。
左下角的Enble System Tray Icon勾选后,
在启用LAV分离器时,会在右下角工作列的通知区域內显示图示。(依需求选择是否勾选)
2.音频解码器
仅有一项必须调节,启用 Enable Mixing。
因为绝大多数人都应用双声道机器设备,因此碰到 5.1 音道声轨时,仅有左 / 右一声道会被手机耳机 / 音箱接受,别的音道都立即丢掉了。因此,一般来说大家应让 LAV 把多声道混流式成双声道(Stereo)再輸出;玩多声道音箱的富豪请随便。
右方的Output Formats(输出格式)中,可以自由选择输出格式,不过这边建议预设即可。
左下角的Enble System Tray Icon勾选后,在启用LAV音讯解码器时,会在右下角工作列的通知区域內显示图示。(依需求选择勾选)
Enable Mixing(开启混音)勾选后,便可以將 多声道音轨 混和成 较少声道数 输出,输出声道可以在Output Speaker Configuration(输出扬声器设置)中设置,依照声道数设定。
Mono:单声道
Stereo:立体声/双声道
4.0:4.0声道
5.1:5.1声道
6.1:6.1声道
7.1:7.1声道
右方Setting(设定)选项中,Clipping Protection(音量保护),可以使扬声器在大动态音频输出时,降低破音机率。(如果对扬声器有信心,不建议勾选此项,因为可能会损失音质)
3.视频解码器
随便打开一个视频,在播放界面点击右键-属性,打开此界面。点击橙色框就能进入视频/音频解码器设置界面。!
视频解码器 LAV Video Decoder 设置。LAV 的设置分为两套方案,A 方案应搭配 madVR 使用,B 方案搭配默认的 EVR(CP) 使用。
如果使用 madVR,橙色框中的 Output Format 勾选除了 AYUV 以外的所有选项;RGB Output Level选 PC;Dither Mode 选 Random。LAV 默认设置就是如此,如图所示。
如果使用 EVR(自动选择),橙色框中的 Output Format 只勾选 RGB24 选项;其他同上。(仅供需要省电或显卡性能不足者使用)!
为什么 madVR 和 EVR 勾选方式不同?
因为 madVR 能正确处理 LAV 解码出的所有数据,LAV 解码出的数据原封不动喂给 madVR 就是最好的,这是 madVR 被称作最强视频渲染器的主要原因之一。然而 EVR 只支持处理 8-bit 数据,LAV 解码出的 10-bit YUV 数据会被 EVR 直接砍成 8-bit YUV 进行处理,导致精度大幅降低,色带满天飞,这也是Pot 默认方案读作 a piece of shit 的主要原因之一;如果让 LAV 解码后将 10-bit YUV 转为 RGB24,也就是 8-bit RGB,再喂给 EVR 处理,可避免精度大幅损失。
渲染器 madVR 和 EVR 可以在 pot 的播放界面快速切换,方法是:右键-视频-视频输出设备。切换渲染器的同时,记得要修改对应的 LAV Video Decoder 设置。 再次强调,A 方案配 madVR 使用,B 方案配 Potplayer 默认的 EVR 使用。
硬解相关设置
解码方案优先级推荐:CPU软解 > D3D11 = DXVA2(copy-back) = Intel QuickSnyc > DXVA2(native) > NVIDIA CUVID 。建议没事别用硬解,因为偶尔会出现 bug,况且大多数人也不缺这点 CPU 性能。
N 卡 GTX 950 / GTX 960 / GTX 1000 全系列、A 卡 4 系 5 系全系列以及 Intel 七代(Kaby Lake)处理器集成显卡可硬解 HEVC 10-bit YUV420 视频。
常见显卡都能硬解 AVC 8-bit YUV420 视频,所有显卡都不能硬解 AVC 10-bit 视频。接下来以 HEVC 10-bit YUV420 的视频进行示范。
**CPU 软解 + madVR 示范,**注意绿框中的 Active Decoder 和红框中的输出:
蓝色和绿色框中是解码器选项,如果使用 CPU 软解,则选择 None;如果使用显卡 GPU 进行硬解,则选择 DXVA2 (copy-back) 或 D3d11 或 DXVA2 (native),A/N 都可用,前者兼容性更好,后者更节省 CPU;如果使用英特尔核显,则选用 Intel QuickSync;NVIDIA CUVID 是 N 卡专用硬解方式,基本用不上。
DVXA2 (native)硬解 + madVR 示范:
红框中显示 dxva,实际上输出依然是 P010,橙框中的 Active Decoder 为 dxva2n,OK 表明显卡支持此硬解方式。DXVA2 (copy-back) 和其他硬解方式都类似。
左上角Settings(设定)选项中,Threads for Multi-Threading(设定多执行续的执行数),基本上设定成Auto(自动)即可。
Setting for Interlaced Video Streams(设定隔行扫描影片):
Field Order(场序规则),在处理格行扫描影片时需要先进行去交错,而反交错时分成 奇数场 优先或是 偶数场 优先,可依需求设定,或是设定成Auto让LAV自动判断。
Deinterlacing Mode(去交错模式),有几种选项,
Auto:自动。
Agressive:当影片中发现有格行扫描的画面时,则全部进行去交错处理。
Force:强制进行去交错处理。
Disabled:关闭去交错处理。
右上角的Hardware Acceleration(硬件加速/硬解),Hardware Device to use(使用硬件装置),简单来说就是选择要用何者来进行硬体解码,有以下几种选项,
NVIDIA CUVID:Nvidia专用硬体解码介面,可以开启硬体去交错处理。
Intel QuickSync:Intel內显专用硬体解码介面,CPU使用率比其余硬解模式稍高5~10%左右,可以开启硬体去交错处理。
DXVA2 (copy-back):为微软开发的硬体加速介面,ANI显示卡均可使用,会將解码完成的资讯回传给记忆体,由於多个回传动作,故效能会比native略差,不过优势为可以在解码器与渲染器中间添加滤镜。
DXVA2 (native):为微软开发的硬体加速介面,ANI显示卡均可使用,会將解码完成的资讯將不会传给记忆体,直接渲染,故效能比copy-back佳,缺点为限制较多。
如果要开硬解,会建议 DXVA2 (native) > DXVA2 (copy-back) > NVIDIA CUVID 或 Intel QuickSync(原版则建议使用DXVA2 (copy-back))
右下方的Hardware/GPU Deinterlacing (CUVID/QS only),
即为硬体去交错处理设定,限定在NVIDIA CUVID或Intel QuickSync硬解模式下启用。
Software Deinterlacing(软体去交错)
若要启用软体去交错,可以选择YADIF,此处的去交错与madVR內的去交错,则一使用即可
左下角的Output Formats(输出格式),可以设定不同色深下的影片输出那些格式,如果没有要使用madVR渲染器及后处理滤镜(post-processing filters),建议让LAV的高精度抖动输出RGB模式(如下图)
字幕与音轨
大家早已在上面设定好啦 xy-vsfilter 外挂字幕软件,因此要关掉 Pot 内嵌渣滓外挂字幕软件,不然便会出現二行外挂字幕的奇景,鼠标右键 - 外挂字幕 - 撤销启用显示信息外挂字幕,如图所示。外挂字幕应当跟视頻放到同一文件目录下,且与视频文件格式同名的,会被全自动载入,外挂字幕由 DirectVobSub 操纵,并非 Potplayer。
转换多外挂字幕轨 / 多视頻 / 多音轨,应用右下方的任务栏图标里 LAV 和外挂字幕软件 DirectVobSub 的标志。许多观众们都不清楚 VCB-Studio 及其别的抑制组制做的 BD 通常含好几条声轨,例如文件夹名称中含 2flac、flac_aac、FLACX2 等关键字的 mkv,及其外挂软件 mka。这代表着视頻含有多音轨,可能是 5.1,也可能是声优演员或者 staff 评价声轨,能够 转换着应用。
转换声轨还可以立即点一下鼠标右键 - 响声 - 挑选响声来完成,开展转换;视頻轨同样,但是多音轨很普遍,而多视頻轨基本上见不上。
](https://wbacg.oss-cn-hongkong.aliyuncs.com/2020/07/20200726091103403.jpg)
设置madVR
madVR 的核心优势有两个:
1、高精度的数据处理,避免画面失真,产生色带、锯齿等瑕疵;
2、高质量的缩放算法,在片源分辨率低于屏幕分辨率时,提供更清晰、更锐利的画面,算法甚至优于很多高级蓝光机。
madVR 功能强大,其调教也大有学问,本篇教程不再赘述 madVR 调教具体步骤,详情请见我们之前做过的 madVR教程: [VCB-Studio 科普教程 2] madVR 渲染器配置教程
如果教程也无法满足你的需求,欢迎有耐心、有基础者钻研:万年冷冻库 最强渲染器——madVR设置研究
以上,以 Potplayer 为基础的高质量播放器工具链设置完成,请尽情享受高清影视的乐趣吧!
下面开始进入正式设置篇
我们播放视频时,双击任务栏右下方的 MADVR 控制面板,进入设置菜单。(没有的话运行 MADVR 文件夹里的 madHcCtrl.exe),或是在外挂滤镜里加入madVR并点两下都可以打开设定页。
1.device菜单
- 无论我们使用的是显示器还是电视,一律选择“Digital Monitor/TV”。
- 打开设备下的 “properties” 选项。
- 如果使用显示器,第一项 RGB 范围选择 0-255。如果是连接电视机,则选择 16-255。(这个还是比较测试下,我接电视反而感觉选 0-255 效果更好)
- 第二项是色深。一般选择 8bit。如果显示器或者电视能达到 10bit 或更高,则选择 10bit。
第一个就是你的显示设备的名称,各人的显示设备不同,所以名称也会不一样。在这里可以选择你输出设备的制式,因为不同的设备,他的某些指标不一样,所以要认真对待。设置显示器的类型,一般选择“Digital Monitor”
打开设备下的“properties”选项如果使用显示器,这里一定要认真对待。如果你用电脑显示器看影片,就要选择PC levels(0-255),如果你是接液晶电视,或者投影仪,可能需要选择TV levels(16-235)。因为一般电视显示的灰阶不是0-255,如果你用0-255去输出,那么16以下,235以上的灰阶都丢失了,暗部细节漆黑一片,影片整个发灰。
针对电脑连接TV或投影,我详细说一下。这里有些复杂,首先,你用的是什么线进行连接。如果你的显卡有HDMI接口,那么HDMI直连显示设备,选择16-235。如果你的显卡没有HDMI接口,用DVI转接HDMI。这里还是选择16-235.
如果你的显示设备有DVI接口。DVI直连,并且你的显示设备也支持的话,可以选择0-255.而位深则选择8 bit(or higher).8 bit或者更高。8 bit对应256色阶。通用。当然你硬件设施够好,达到10bit ,这个选项也完美对应。
信息标示页面。在这个页面里,会标出你的显示设备的型号啊,出厂日期什么的。
这里一定要认真对待。如果你用电脑显示器看影片,就要选择PC levels(0-255)。如果你是接液晶电视,或者投影仪,可能需要选择TV levels(16-235)。因为一般电视显示的灰阶不是0-255,如果你用0-255去输出,那么16以下,235以上的灰阶都丢失了,暗部细节漆黑一片,影片整个发灰。针对电脑连接TV或投影,我详细说一下。这里有些复杂,首先,你用的是什么线进行连接。如果你的显卡有HDMI接口,那么HDMI直连显示设备,选择16-235。如果你的显卡没有HDMI接口,用DVI转接HDMI。这里还是选择16-235.如果你的显示设备有DVI接口。DVI直连,并且你的显示设备也支持的话,可以选择0-255.而位深则选择8 bit(or higher).8 bit或者更高。8 bit对应256色阶。通用。当然你硬件设施够好,达到10bit ,这个选项也完美对应。
这里的校准,指颜色校准。使用yCMS和3DLUT进行校准。这里我觉得没什么好讲的,因为显示器存在差异,因此你必须按照你自己的显示器来进行颜色校准设置。但是这需要校准设备。这个东西一般只有显示设备评测机构有,我们自己恐怕没办法去搞这种校准。所以这里就不要去开启它了。而下面的选项,我在图片里也有详细说明。在此不再复述。选择BT.709而伽马部分,如果你是N卡,就选择pure power curve。后面的2.20最好不要动。那个数值是标准。不过你也可以尝试改改看~
这里的选项多半是为接其他显示设备用的,一般用不到。留空就可以了。
启用伽马处理,一般选择启用。然后交由你选择的伽马处理标准去处理灰阶。N卡选择pure power curve后面的2.20不要动,这个是标准数值。
在hdr项目中,选择convert HDR content to SDR by using pixel shader math,假如你有某些萤幕校色装置可以选择包括3DLUT的项目,不过我没有此类设备所以不知如何设定。设置好了之后可以去观看HDR影片,如果想肯定HDR功能是否正常运作,可以在播放时按下Ctrl+J开启OSD讯息表,观察红框內matrix的色域是否BT.2020,而且下方有无出现HDR项目。
在正常运作下即使模拟HDR功能的效果亦相当出众,光暗和色彩效果都只能用惊艳形容,比较下会感觉非HDR版的色彩变得非常暗哑,但少年pi这套电影在当时画面呈现的效果已经算是相当出色,但在HDR的效果更上一层楼。参见开始展示的对比图。
2.processing菜单
deinterlacing 选项,对应的是图像交错处理。建议在最上面的选项打勾,让视频需要进行图像交错的时候交给 MADVR 自己去处理,并且在怀疑时不启动交错处理。如果常看动漫的,可以去掉“only look at pixels in the frame center”勾选。
关于 “only look at pixels in the frame center”:
“only look at pixels in the frame center” 这个选项只对 film 型式的交错式 (隔行扫描 interlaced) 影片有影响,也就是说这选项在启动 madVR 的 film mode 时才有作用(文后有解释)
我 们知道对于这类影片必须对其作 IVTC 让它还原成 24p(60i→24p),但实际上我们有时候会发现录了一部电视播放的电影或动画下来,电视台常常在四边打上跑马灯或台标之类的东西,而这个跑马灯或台标却是 video 型式的 interlaced 讯号 (真正的 60i 无法 IVTC),因此我们要作 IVTC 时如果是对整个画面的像素作侦测,遇到这种情形时就很容易产生误判。因此勾选这个选项时就只会对画面中央部分的像素 作侦测,避开那些跑马灯或台标可能出现的位置以免作 IVTC 时产生误判,但缺点就是这样侦测的效率较低,遇到动画这类常常有静止画面的影片在侦测是哪一类 pulldown 时就会花比较久的时间。如果会看电视台播放的电影或动画的话,建议勾选此选项,如果是看 DVD 原盘的话,则建议取消勾选。
这选项对 progressive 的影片完全没有影响,如果照字面理解为这选项不利于动画的话那是错误的理解,因为很多动画片源只要是蓝光或是录制下来压制时做过 IVTC 的,都会是 progressive 而非 interlaced。电视台录制下来的原始 TS 档或是 DVD 原盘才有可能是 interlaced。
arifact removal 选项,对应的是图像去色阶功能。在普通的视频中,我们经常会看到人物的脸上,或者不同颜色的交界处有淡淡的光晕和条纹,这就是没有去掉色阶。而我们的目的就是让图像的颜色过渡更加自然,让条纹现象减少甚至消失。(这个选项会占用一些 GPU 资源,但尚可接受,开启无压力。)第一个选项是整体画面的去色阶效果。一般选择 low 就会有不错的效果。第二个选项是不同颜色交界处去色阶效果。可以选择 high。
3.scaling algorithms菜单
这个是最关键的图像缩放算法的设置,这部分是影响效能最大也是影响画质表现最明显的地方,也是 madVR 的最大特色。里面5个页面的内容基本类似。让用户选择的东西都是各种图像缩放模式,而不同的模式所消耗的性能也是不同的,基本上从上到下,性能消耗是越来越大,用户要根据自己的配置来考虑。每个页面的设置主要都是为了解决视频图像中的锯齿(aliasing)和振铃效应(ringing)。根据选择的不同,右上角会有效果介绍。绿条一般越长也越好。红条则是越低越好。
说明在算法的最下面还有两个选项:active anti-ringing filter(简称ar)可以开启抗光环处理,也容易在downscale时候增加锯齿。scale in linear light可以增加image downscale转换之后,颜色对比度的精确性。建议在image downscale中开启。
chroma upscaling:色度拉升
即色度平面放大。不过色度拉伸的算法比较难感受到差别。
- 如果配置好的话就设置是 NGU Anti-Alias,high quality(这里开到 very high qulity 以上几乎没什么意义,肉眼分辨不出)
- 如果显卡中等的话,可以设置 Jinc + AR
- 如果显卡不太好的话,则可设置 Cubic Bicubic75 + AR
- 如果是 Intel 集显得话,则可设置 Cubic SoftCubic60 + AR
image downscaling:影像缩放
只要输出分辨率小于原始分辨率就会用到这部分的算法,比如 4K 分辨率的视频在 1080P 显示器上播放。
- 如果电脑配置特别高的话,还可以考虑下使用 SSIM 1D 100%。SSIM 是目前表现最好的算法,在缩小画面的同时很好的保留了原解析度的细节跟锐利度,不过效能消耗也比较大。
- 如果显卡跑不动 SSIM 的话,可以考虑 Cubic(Bicubic 150)+ AR + LL,即勾选 “activate anti-ringing filter”(简称 AR) 跟”scale in linear light”(简称 SC)。
- 如果显卡还是不给力,那就使用下图的 Cubic(Catmull-Rom)+ AR + LL,这个也算是公认的最佳演算法组合 (resize 后最接近原本的画面)
image upscaling:影像拉升
也就是影像放大,只要输出目标分辨率大于原始分辨率就会用到这部分的算法,比如 1080P 分辨率的视频在 4K 显示器上播放。
在这里我们可选择使用 doubling(影像翻倍)或 upscaling(影像拉升)。前者效果比后者好很多,所以说能开的话还是开一下吧。(当然如果显卡不是很好的话,就不要使用 doubling 了)
- 对显卡很有自信的可以开 NGU Anti-Alias,同时下拉框设置为下图所示。
这里注意第四个下拉框(activate doubling)的选项: - 我们这里选择的是 “… always -supersampling”,表示始终启用 NGU 进行翻倍。
- 而原来默认的 “let madVR decide” 表示目标分辨率的宽或高大于或等于原始分辨率 1.2 倍时才启用 NGU,沒达到 1.2 倍启用条件的话则会使用 Jinc + AR 替代。
- 如果上面的设置有些吃力的话,可以把第一个下拉框(luma doubling)的选项调成 medium。
- 如果配置中等的话,还是建议设置为 upscaling 下的 Jinc + AR。
- 显卡吃不消的可以考虑:Lanczos 4+AR(HD4600 等级集显)甚至是 Cubic Bicubic60+AR(HD4000 等级集显)。
upscaling refinement:锐化算法,目的是在于改善放大运算后造成的模糊,只在视视频大后使用,如果是1:1无放大的影像,这部分勾选了也不会有作用。。
4.rendering菜单
说明madvr 默认就是用全屏独占模式(exclusive)。虽然这种模式有它的好处,但如果电脑配置不够就会出现上间歇性黑屏,去掉“enable automatic fullscreen exclusive mode”的勾选即可。
[图片上传失败…(image-63c71e-1599900233537)]
如何正确播放HDR视频
为了实现完整的HDR工作链,我们需要从解码到最终输出的全套播放工具都支持HDR。可能有的人会说Windows 10自带的视频播放器就支持HDR视频的播放,为什么不直接用呢?说到底还是因为Microsoft Store难用,因为现在使用Windows 10自带的视频播放器对HEVC编码进行解码,就必须在商店中购买HEVC解码器扩展,虽然说它只有7块钱,但是考虑到很多人并没有使用Microsoft账户,仍然是以本地账户形式使用Windows 10的,所以购买非常不方便(因为HEVC不是免费格式)。因此,我们需要一些别的路子,一些免费并且没有版权问题的路子。
首先我们需要一个支持HDR内容解码的视频解码器,这里推荐使用LAV Filter,这款解码器可以说是目前最强大的解码器之一,包含分离器+视频解码器+音频解码器,另外它还是开源免费的。按照播放视频的下一步,我们需要一个支持HDR内容的渲染器,这里我们使用目前地表最强的视频渲染器——madVR,它支持将HDR信息直接传输给显示器。最后我们需要一个播放器,作为外壳调用前面的这些东西,这里推荐使用MPC-BE,当然很多人用的PotPlayer也可以,不过要比MPC-BE稍微多做一点工作。
准备好了软件之后还要对硬件支持进行检查,显卡必须要支持HDR内容输出,显示器必须要支持HDR内容输入,两者之间的传输通道也要支持HDR的内容。更为具体一点的细节是,HDMI 2.0a标准只支持HDR10标准的内容传输,而HDMI 2.0b中增加了对于HLG标准的支持。而在DP那边,1.4版本中增加了对于HDR10的支持,也就是说,我们至少需要支持DP 1.4和HDMI 2.0b接口的显卡来输出HDR内容,显示器也需要具备这两个接口。
当然,最终也是最重要的,就是你需要一个支持HDR的显示器。
按照上文中设置 LAV Filters + madVR + Potplayer + 10Bit 视频线 +HDR 显示器,就可以实现HDR观看了
采用madVR的好处就是不用在Windows的显示设置中开启HDR,madVR在检测到显示器支持HDR、视频源中包含HDR内容时会自动让显示器切换到HDR模式下,不过如果没有自动切换,就需要你手动将开关打开了。另外,没有HDR显示器的用户也可以享受到HDR视频精准转换至SDR色彩带来的提升,这是madVR视频渲染器独一份的高精度转换,不过对于性能会有一些要求。
可以看到非常明显的画面色彩对比,HDR内容在不正确播放的情况下显示出的是灰蒙蒙的画面,而正确输出之后,颜色非常亮丽。
希望本次教程可以帮助到一些读者朋友,我以后可能还会写个VapourSynth啊x265啊什么的压制教程。
另外,虽然现在新版的PotPlayer已经支持将HDR信息直接传输到显示器,但在这篇教程中我仍然提倡大家使用LAV Filters和madVR,因为这两个滤镜拥有更高的处理精度。PotPlayer经常被压制圈诟病的一点就是其内建的解码器和大部分情况下自动使用的EVRCP渲染器的内部处理精度不够,尤其是在HDR这种片源为原生10bit的情况下,更是不够用了。
视频补帧
**补帧,**即利用电脑上的补帧软件,将原视频从24FPS提升至60FPS或者更高。帧数越多,所显示的动作便会越流畅,视频的清晰度、饱和度也会更佳。
所以,我们补帧的目的就是把把视频从24帧提升到60帧或者更高,能够很直观欣赏到流畅的画面。
PotPlayer倍帧
这个补帧是PotPlayer播放器自带的补帧方法,能直接让当前原视频的帧数翻倍,只需要简单的设置即可。
dmitrirender 补帧
dmitrirender 官网](http://www.dmitrirender.ru/)
dmitrirender这一款这一款软件实际上并不是插帧领域中最为常见的软件,但其有着自身的优势: 首先采用GPU运算,无论是AMD、NVIDIA还是INTEL的核显通通都支持,对CPU的负担较低,对整体配置的需求也比较低
SVP4 补帧
SVP4 需要付费。SVP4是一款专业版视频补帧软件,提供GPU加速,并允许使用中档CPU和几乎任何GPU硬件为60Hz的FullHD 1080p视频重新计算,能将一些画面模糊和不流畅的的视频进行自动补帧,让你的视频流畅起来。
SVP还有一项优势就是它并不依赖特定的播放器,其本身可以看做是在视频解码过程中的一个滤镜,只要能调用相应解码器播放视频,便可以进行视频插帧
SVP4 安装
评估版本下载地址 https://alist.17lai.site/tools/video
1.解压SVP.RAR到C:\SVP
2.运行 svp4-cracked.exe
3.运行后在弹出窗口内点击settings
4.切换到 Repositories 标签
5.点击 Temporary respoitories,再点击 Add,把下列内容添加进去(两条!)
6.然后勾选 Use temporary repositories only,确认安装
7.【重要】将SVPManager.exe复制到程序目录,替换原文件。
SVP4 设置
点击如图所示的部分可以进行一些简单设置
- 视频帧处理选项按下图进行设置。(检测并切掉黑边这个不要勾选,因为有可能会切掉部分字幕)
- 背景灯效果按下图设置(不禁用的话会出现动态模糊的边框)
PotPlayer 设定
1.右击potplayer的播放界面,进入选项页面****。****
2.*先点击*滤镜,再点击全局滤镜优先权**,最后点击添加系统滤镜
3.选择『ffdshow raw video filter』,然后点击确定
- 选中 ffdshow raw video filter,点击強制使用(重要),别忘了点击应用,然后再点击确定。此時已经完成基本设置。
完成以上设置完基本参数后,就可以使用potplayer+svp4 pro组合来看视频了
播放影片前几秒左下角会出現SVP启用的标志,这就说明配置成功了。
AMD显卡专用补帧
**必要条件:**确保你有GNC或者Vega 架构的AMD显卡,并下载最新的AMD驱动。
AMD在2014年12月9号发布Omega驱动时也宣布了Fluid Motion技术,基于显卡的运算插帧,大大降低CPU负担,同时使视频播放更加流畅。相比传统的SVP插帧需下载安装多款外挂软件且需繁杂的手续设定,需要消耗CPU资源,耗电量比较大,SVP部份画面呈现会有抖动情况。
Fluid Motion就是只需按一键就开启,CPU跟本没有在处理(使用率都在个位数) 全程就交给GPU去处理就好。Fluid Motion部份比SVP呈现出来的动作还要比较自然,可以说是看动画的神器,不过官方只支持在蓝光播放时开启插帧,不过网友基于AMD Fluid Motion以DirectShow开发出了Bluesky Frame Rate Converte,方便了我们在普通视频上也能实现补帧的效果。
下载好以后直接默认安装即可!
安装完成之后,还需要对FRC 设置, AMD 驱动设置,以及 Potplayer 滤镜设置
Nvidia显卡专用补帧
既然有AMD显卡专用补帧,肯定也有Nvidia显卡专用补帧了!它名字叫做:Dain-App
需要说明的是:本软件是一款补帧****转换工具,而不是和以上介绍的可以实时渲染同步补帧!但是通过它补帧后的效果还是很明显的!
Dain-App基于Nvidia CUDA开发,是上海交大开源的 DAIN(Depth-Aware Video Frame Interpolation)是一款可以AI深度学习,使用AI预测新帧并提高视频或gif帧率的插帧算法。可让您采用任何形式的媒体,例如电影,定格动画,动漫,卡通,精灵等,并插值新帧,从而从原始文件生成更大的帧率。
需要注意的是:目前它需要CUDA,因此任何不支持CUDA的计算机都将无法运行此应用程序(AMD和较早的Nvidia卡)。它极度吃显卡及显存资源,依据视频长度/分辨率等决定计算时间,整体耗时较为漫长,低端N卡不建议使用。
Dain-App介绍地址:https://github.com/baowenbo/DAIN
下载地址:https://grisk.itch.io/dain-app
下载完毕后直接解压缩,运行DAINAPP.exe即可。
常见 Bug 解决篇
1、为什么使用 madVR 全屏时候会黑屏?
答:黑短短几秒是正常的,表明 madVR 正在切换至全屏独占模式(fullscreen exlucsive mode,简称 FSE 模式 ),这个模式有一些好处,比如防止画面撕裂。但实际上,我们推荐你关闭 FSE 模式,因为它带来的麻烦远多于好处。
如果你不喜欢 FSE 模式,可以在 madVR 中关闭它,具体操作为:取消勾选 madVR 的控制面板里的 rendering -> general settings -> enable automatic fullscreen exlucsive mode 选项。
2、为什么全屏 FSE 模式下点鼠标/切音轨/切换字幕/拉进度条画面会闪?
答:因为全屏模式就是给你看视频用的,任何操作都应该在按 Enter 键 或 点击鼠标中键 退回到 窗口模式 后再进行。
此外,全屏模式下完全可以用键盘轻松控制,比如 ←/→ 默认 后退/前进 5s;Ctrl + ←/Ctrl + → 默认后退/前进 30s;Ctrl + PageUp / Ctrl + PageDown 默认后退/前进 至上/下一章节,这些实用的快捷键都可以在 Potplayer 的设置里找到并定制。
3、为什么 EVR 和 madVR 切换时会卡死?
答:播放过程中, madVR 渲染器和 EVR 渲染器相互切换可能导致卡死,故建议尽量在暂停时切换。同理,任何切换字幕、音轨等操作,如果出现问题,应先暂停再操作;如果还不行,尝试关闭视频,重新打开。
4、为什么我按照教程设置还有这样那样的 Bug ?
答:最安全的方式是使用本教程文首提供的安装包,并按照教程从头重新设置 Potplayer。 Potplayer 本身就是个问题大户,版本号还那么多,导入 reg 文件导致的 Bug 也五花八门,无从下手。但按照本文的步骤从头设置,至少能将出问题的概率压到最低。我在许多台电脑上,按照本文的步骤设置过 LAV + Potplayer + madVR,从没出现过 Bug。
5、如何配合此教程的方案使用插帧/倍速播放/截图/录制等功能?
答:自己动手,丰衣足食,以上大多数功能可以由 Potplayer 本身实现,但不保证在使用 madVR 后还能用。本教程的目的是提供基本完美的视频播放功能,是为欣赏视频用的,不是拿来折腾的,不可能为各种细枝末节的需求做定制调整,我个人尤其反感插帧和倍速播放。更何况即使我们有心,播放器本身也未必能实现。
6、为何我的画面是上下颠倒的?为何我的 madVR 老是崩溃?
答:这两个问题大多是由 xy-vsFilter 造成的,因为 xy-vsFilter 存在不少 Bug,本教程以 xy-vsFilter 作为字幕插件纯粹是为了照顾无法使用 madVR 的用户。因此,只要你电脑能跑得动 madVR ,我都强烈建议改用 madVR + xy-SubFilter 的组合。各种字幕插件至今都是 beta 版,madVR 也是,如果出了问题,除了更新到最新的版本,也没什么更好的办法。实在不行那就用播放器自带吧,mpv、mpc-hc 和 mpc-be 自带的字幕插件尚且堪用;Potplayer 变黄前自带的字幕功能也勉强凑合,但变黄后就是一坨 shit。
7、Potplayer 太容易崩溃了,有没有什么解决办法?
答:将 Potplayer 换成 mpc-hc 或者 mpc-be 搭配 madVR 使用吧,他们本质上是一样的。本文最开始就强调,Potpalyer 的优势在于其友好的使用界面,对 Potpalyer 进行如此多的调教,仅仅是为了让它达到 mpc-hc 或者 mpc-be 默认设置的水平而已。但即使经过这么多调整,Potpalyer 的崩溃概率依然大于mpc-hc 或者 mpc-be。如果你能按照这篇教程成功设置 Potplayer ,那设置选项更简洁的 mpc-hc 或者 mpc-be 也不是问题。
后记:效果展示
鉴于madVR是压榨显卡性能,所以显卡占用如果没到80%以上说明还没有达到最佳设置,另一个标准就是你的风扇有没有哗哗响。
全高清
全高清下的大腿时代,播放4K视频没压力
4K屏显卡已经吃不消了
4K下的大腿时代,果然是显卡杀手,估计得得1070才能流畅流畅解析吧。
其它平台
推荐的播放器可以分成两大阵营:mpv 和 MPC。前者跨平台,后者仅限 Windows。
mpv
mpv 可以在 Windows、macOS 和桌面 Linux 上使用。
mpv 本身没有图形界面,需要自己写配置文件,但并不复杂,习惯之后可以说比图形界面还要简单。
如果你确实需要一个图形界面的 mpv 播放器前端,我们推荐:
– Windows 用户使用 mpv.net
– macOS 用户使用 IINA
详情请查看我们的 mpv 配置教程。
MPC
MPC 系列都基于微软 DirectShow,只能在 Windows 上使用。
MPC 目前有两个分支版本:MPC-HC 和 MPC-BE,都值得推荐。我们同时推荐配合 madVR 和 XySubFilter with libass 一起使用。
目前的 K-Lite Codec Pack Full 直接包含了 MPC-HC、LAV 以及 madVR 这一套播放环境,安装和配置较为简单,是我们优先推荐的方案。
详情请查看我们的 MPC-HC + madVR 配置教程。
参考&致谢
- 实现PC视频播放最强画质教程( Potplayer播放器 MADVR插件)
- 有问有答:如何正确播放HDR视频
- potplayer + LAV + madVR 组PC高清播放器
- 基于 PotPlayer 和 madVR 的播放器教程 | VCB-Studio
- https://github.com/hooke007/MPV_lazy/ 懒人专用,新手推荐
系列教程
Nas系列
- 从零开始玩PT-入门到精通
- 如何建立自己的私人电子图书馆–出版书籍,网络小说,漫画一网打尽!
- 音视频图书和音乐自动化管理框架图解
- 使用jeckett,sonarr,iyuu,qt,emby打造全自动追剧流程
- 如何使用tinyMediaManager刮削电影和电视剧,动画,并自动下载字幕
- Potplayer终极优化教程实现PC视频播放最强画质
- Transmission 使用及其配置
- Qbittorrent 参数详细设置教程
- PT 工具集,Linux硬链接助手
- QNAP 修改应用启动顺序
- qnap硬盘移动位置
- qnap IO 错误消除