Q&A
软件报错问题
启动任务时报错
- 若启动任务时报
_pickle.UnpicklingError: invalid load key, '\x00'.
,请根据C:\Users\<UserName>\AppData\Local\Temp\gen_py\
该路径找到并删除里面的文件夹。若没有找到AppData文件夹,在Windows资源管理器中点击查看,将隐藏的项目勾选即可。 - 如果报
xxx is not a valid path
,且在网吧使用SVFI,部分网管系统会映射软件文件夹到不同盘导致软件无法启动。请复制整个文件夹到别的盘符,然后根据命令行进阶详解脱离Steam手动启动。 - SVFI不支持直接读取位于网络位置上的文件(即路径以
/
开头的文件),需要将网络位置挂载为虚拟磁盘才可读入。 - 若使用vspipe(包括使用全vspipe工作流),任务启动时直接进入任务合并阶段并报错“未找到区块”,说明vapoursynth无法读入此视频,必须关闭vspipe解码功能以尝试使用ffmpeg解码。
- 在使用前进消重,或者正在进行任务进度恢复过程中,可能会出现软件无法读取文件的问题,表现为进度条还没走或者开始走就报错了。这种情况下,请尝试勾选使用输出设置下的VSPipe解码。如果VSPipe解码已勾选,请取消勾选它,然后再试试。相当于两种解码器换着用。
- 若启动任务时报错“尚无法执行从高帧率到低帧率的转换”,而输入帧率输出帧率“设置正确”,说明输入视频非SVFI可支持的恒定帧率,需要使用shanaencoder二压输入视频,使其变为SVFI支持的恒定帧率(如24,24000/1001)等。
软件提示显存不足或内存不足如何解决?
显存不足?
补帧1080P视频至少需要2G显存,4K视频至少需要6G显存。请尝试启用交错补帧以避免超出显存限制。
如果您确定您机器的显存足够大,可以尝试重启机器观察是否解决问题。
在输出分辨率设置中,降低视频分辨率可以尝试在输出质量设置中,开启半精度模式。也可以在补帧设置中尝试调低光流尺度(设置为2.0及以上会极大增加显存占用,请务必检查此选项的值)。
有些情况下报错显示“遇到偶发性的CUDA错误”,可能也是显存不足导致的,需要参考以上说明更改设置
内存不足?
- 对于运行内存16G以下的机子,推荐使用输出质量设置内的手动指定缓存区内存大小功能来指定内存使用大小。
- 推荐的最小值:1G。
显卡开启ECC模式报错处理流程
请参考这个贴子进行处理
Broken Pipe怎么办?
- 可以尝试去输出质量设置中降低N卡硬编预设所选择的参数,或者关闭这一项功能。
- 使用CPU H.265 Fast或者ProRes编码。
- 不更改其他设置,勾选高级设置下方的
调试模式
,并重新启动任务。软件会再次报错,但输出日志会包含压制软件的报错信息,请根据报错信息调整设置(如使用Anime4K时,易报无法分配足够显存
的错误)并重试,或者联系开发人员解决。
软件处理完成,在最后合并失败怎么办
- 检查项目文件夹,删除可能存在的
chunk-000-000000-000000
区块文件,该文件常常出现损坏的情况 - 如果合并失败,或者输出视频片长远少于预定的时长,则需要检查项目文件夹内的每一区块视频文件,观察是否能够播放;如果不能,说明该文件损坏,需要删除后并在该区块进行进度恢复以重新生成该区块。
- 若任务已完成,只是合并失败,点击工具箱的
合并当前任务
。若还是报错,请关闭字幕、音频合并,视频合并完成后使用第三方工具如MKVToolNix手动合并音频、字幕轨 - 若任务没有完成,在基础设置下方点击恢复进度,然后点击主页的启动按钮重新继续任务即可
- 有可能输出路径过长,超过Windows限制导致报错。这种情况下,请前往Windows官方教程解除Windows文件路径最大长度限制并重试。
其他报错问题
Steam无法打开软件,或者报乱码弹错框。
- 若Steam无法打开软件,或者报乱码弹错框。杀毒软件添加SVFI安装文件夹下所有exe的白名单路径,并恢复隔离区中的文件。在Steam检查文件完整性。
- 不建议在系统安装多余的字体,避免软件启动失败。
- 若启动时报
steamworks: None has no App
,请在SVFI的安装目录下寻找steamworks文件夹中的SteamworksPy64.dll并将其添加到白名单即可。 - 关闭后台杀毒软件,或者选择上传误报情况。
- 对于360杀毒软件,需要将整个文件夹添加到白名单。
Steam无法下载文件,提示没有权限或磁盘空间不足
- 检查安装磁盘是否有足够的空间(建议安装在固态硬盘上)
- 退出Steam。进入文件资源管理器,右键安装磁盘-安全-为所有用户赋予
完全控制
权限。
软件设置问题
如果补帧算法栏下拉只有ncnn模型:
按照以下步骤修正错误
- 检查自己是否有N卡,如果没有N卡则该情况属于正常现象。
- 退出软件,点击
steam-库-SVFI-设置(齿轮)-属性-已安装文件-检查软件文件-完整性
- 检查后台杀软,允许来自SVFI安装文件夹内的误报威胁,将整个SVFI安装文件夹添加到白名单
- 删除软件安装文件夹的
svfi_gpu_info.json
,重启软件 - 如果还是不行,手动删除
安装文件夹\torch\lib\cublas64_11.dll
,torch\lib\caffe2_nvrtc.lib
,torch\lib\caffe2_nvrtc.dll
三个文件后执行以上步骤
补帧中途退出了是否可以恢复进度? 找不到进度?
- 到工作状态恢复中点自动寻找进度。
- 若点击该按钮后软件显示“未找到工作进度”,请您按以下步骤排查问题:
- 确认输出文件夹存在
- 确认输出文件夹内有命名形如
chunk-xxx-yyyyyy-zzzzzz
的视频文件,若不存在,则说明无可恢复的工作进度 - 确认输出文件夹的后10位与输入文件的任务id相同,若不相同,请手动更改任务id再点击按钮重试。
- 如还是无法解决问题,请将鼠标移至选项按钮上方,仔细阅读选项说明,按提示在起始区块计数和起始输入帧数填写合适的值。
提示
对于6.x版本,可直接将输出文件夹/项目文件夹拖入输入文件框来直接恢复项目进度
SVFI窗口大小异常?
- 从Steam打开SVFI所在位置,社区版找到SVFI.Community
- 专业版用户找到SVFI.Professional
- 右键,属性,兼容性,更改高DPI设置,替代高DPI缩放行为,系统
可用功能比教程里的少?
- 没有更新到最新版本
- 部分功能在内测或者公测中,之后会公开
- 购买的版本不是专业版
如何仅进行超分,不同时补帧?
设置好参数后,把补帧倍率改成一倍,之后点击一键压制(不点击一键补帧)
怎样进行慢动作补帧(升格等)?
- 实拍请参考自定义编码中的时间重映射。
- 动漫先打开一拍三除重或前进消重,之后参考自定义编码中的时间重映射,或者一拍三除重补帧后使用AE等进行变速补帧等后处理
如何判断动画原始分辨率
输出效果问题
warning
由于补帧、超分等操作,输出视频可能会由于分辨率高或码率较大,导致常规播放器解码困难,产生卡顿、分辨率错误等情况。这里推荐使用mpv而不要使用其它播放器(如potplayer,VLC等)播放视频,避免播放设置错误造成的困扰。
补帧效果不丝滑怎么办?
- 这种情况可能是原视频中带有重复帧,或者动漫(带1拍N),可以尝试到补帧设置中开启重复帧去除,并调整去重数值。
导出视频的画面噪声/噪点大/不清晰怎么办?
- 补帧前到编码质量设置中拉低渲染质量CRF数值,或者调整压制预设。
补帧出来的视频画面有扭曲等怎么办?
- 如果这种情况出现在动漫补帧中,建议关闭去除重复帧,或者调小去重数值,也可以尝试提高光流尺度以减少画面果冻出现的可能性。
- 如果您具备视频剪辑相关技能,可以耐心使用不同参数多补帧出几个视频,并将每个片段取优秀结果进行拼接。
- 如果是内嵌字幕(硬字幕、烧录字幕)扭曲,目前并没有较好的解决方法。如果动漫补帧,推荐使用无字幕的资源进行补帧,之后找字幕进行嵌入。
输出的视频出现偏色
- 首先,在软件的任务列表中查看视频是否被标注为位未知颜色空间
- 若标注为未知颜色空间,则在高级设置中找到输出设置,手动指定输入颜色转换曲线
- 若不清楚颜色转换曲线是什么,请依次尝试前三个直到输出视频不偏色为止
- 以上不能解决问题请在高级设置下方导出
settings.ini
,然后截一段原视频片段及其mediainfo一起发到steam讨论区
一种特殊的偏色情况说明
背景:某用户使用了某未知编码器,指定tv色彩范围(16-255)压制某bt709视频到yuv 420p 10bit。输出视频应该被标注为tv色彩范围,但是被该未知编码器错误地标注为pc(full range)。用户随后使用SVFI处理这个视频,在两种不同的设置下分别输出了偏色和不偏色的视频,现根据该讨论分析偏色原因:
第一种设置,SVFI的色彩转换曲线设置为自动,那么SVFI在处理这个视频,完成YUV到RGB的转换流程时,会使用错误的色彩范围标签信息,即用0-255的范围解析16-255内容。由于16的黑色在0-255范围下为非纯黑,导致最后输出结果黑色显得更白,白色更深。
第二种设置,SVFI的色彩转换曲线设置为bt709,SVFI会强制使用tv色彩范围去解析视频内容,该设置输出不会导致偏色。
输出的视频HDR元数据丢失
如,HDR10静态数据丢失。
此时输出日志中可能有如下记录:
2024-04-06 21:45:15,705 - video - 495 - ERROR - Parse Master Display Info Failed: [{'side_data_type': 'SMPTE 12-1 timecode', 'timecodes': [{'value': '01:00:00:00'}]}]
若出现类似情况,需要在自定义压制命令行填写相关参数以强制指定HDR10静态元数据,并重新导出视频;
或者使用mkvtoolnix封装工具重新压入静态元数据;
使用自定义压制命令行的具体参数可以通过以下获得:
- 开启高级设置下方的调试模式
- 点击仅压制,处理其他正常HDR10视频
- 观察输出日志中有关压制命令行的参数,挑选含有HDR10参数的数据然后填写到自定义压制命令中
视频输出存在坏快
- 首先,建议采用更换视频播放器,可以尝试使用MPV播放器
- 若在更换MPV播放器后问题依旧存在,请考虑更换CPU编码器
- 若视频导出后播放时出现绿块,请开启VSPipe解码
视频输出存在黑屏闪烁
- 这是显卡过载导致的。
- 需要降低输入分辨率或更换算法模型。
- 参考该解决方案,修改GPU的响应时间设置避免类似错误
- 使用
时空线性化
或前进消重
除重进行补帧也有可能会导致这种黑屏,若尝试以上方法后仍然出现该情况,请换用别的除重方式。
视频输出音画不同步
- SVFI不支持可变帧率视频输入。如果发现任务列表输入视频存在可变帧率标签,请使用shanaencoder将输入视频二次压制或重编码为恒定帧率再输入SVFI。
- 如果实在无法二压输入视频,或者遇到输入视频为恒定帧率但输出视频依然音画不同步的情况,可以尝试开启高级设置的
使用VSPipe解码
选项,但这仍然无法保证上述情况下能够输出音画同步 - 如果无法开启
VSPipe解码
选项,可以尝试将global_advanced_settings
中的use_minterpolate
键设置为true
,具体参考此处
Scene List from Transition Chooser de-syncs from output when using VFI
- Enable Debug mode under advanced settings,
- The scene that SVFI reads from the transition list will be marked out in the output video with green mark on the top left corner.
- Adjust the number of shift option in scene detection settings panel to sort of calibrate the scene detection result
软件性能问题
如何判断软件处理速度是否正常?显卡占用率低怎么办?
- 对于N卡,首先在任务管理器中的
性能
页面,点击3D
占用率旁边的小三角,换成CUDA。如果没有该选项,需要关闭Windows的硬件加速功能。如果不想关闭,可以将3D占用率视作CUDA占用率。对于A卡,需要换成Compute0
。 - CUDA/3D/Compute0占用率一般在85% 左右或者更高为正常,无需关心CPU占用。建议CPU占用率小于80%,否则会影响显卡调度速度
- 如果发现该显卡占用率指标低,请检查CPU利用率是否达到100%;若达到100%,说明处理速度遇到CPU瓶颈。这种情况可以调节其他选项,如编码设置,使用硬件解码或硬件编码,调整压制预设或者更换编码器以加快速度(如
CPU H.265 very slow
调整为fast
,CPU H.264 slow
调整为NVENC H.264 slow
),直到显卡占用率达到80%以上。 - 若CPU不为瓶颈,推荐选用更佳的编码器和预设。因为显卡的核心数量决定了补帧速度,使用CPU编码时CPU决定编码速度。
- 使用相同设置的情况下,要提升任务速度基本只能通过更换核心更多、带宽更大的显卡,但是编码速度可以考虑通过选择速度更快的编码器和预设来提升。
软件占用内存多?
- 请注意软件是否占用了非常多的物理内存。
- 不合理的设置(如无谓地追求8K视频处理)会导致软件消耗非常多的内存。
- 软件在物理内存耗尽会调用虚拟内存导致速度变慢。
- 因此在物理内存消耗超过70%后,请更改高级设置-输出设置-手动指定缓存区内存大小到1G。
- 一般情况下,请为系统盘分配更多的虚拟内存避免内存分配错误。
高端N卡处理速度很慢?
- 如果使用了补帧或超分功能,请观察任务管理器的共享显存占用。若共享显存占用超过25%且显卡占用率满载,则说明当前设置超出了显卡的负载极限,需要参照高级设置降低设置,如降低输出分辨率。
- 软件在共享显存占用为0时运行速度最大。
显存吃不满怎么办?
- 显存不一定占用的越多,速度就越快。运行SVFI程序即使把显存占用满也不一定能得到速度提升,因为有渲染队列长度,机器功耗限制等大量其他限制因素。
当遇到任务强制结束时,显存和内存无法释放?
- 在高级设置中找到工具箱选项,点击结束残留进程按钮。
注意
这会结束所有任务,包括多开SVFI的其他任务,若要避开结束多开SVFI的情况,请手动在任务管理器中结束当前SVFI进程下的所有SVFI CLI进程,或在偏好设置停用强制退出选项。在开启多线程时,始终建议不要轻易点击结束任务按钮
长时间补帧是否会伤害显卡?
- 长时间运行SVFI一般不会对显卡造成寿命影响,但如果散热措施没有做好,温度过高,或者超频后跑补帧程序还是会对显卡产生损伤。
- 根据EULA(软件使用用户协议),SVFI不对补帧造成的硬件损坏负责。