分页: 1 / 1

【已解决】过多Trim爆内存的脚本有没有方法优化?

发表于 : 2015-08-16 15:13
buaaqlyj
最近在处理一个纪录片,做了Fields Match以后,发现有很多地方dup帧并不规律,所以花了几天时间尽我所能trim出来,接近240段Trim,按重复情况各自处理了,不过产生了另一个问题就是内存爆了。

源经过fields match以后是165512帧,我做完decimate以后是137835

第一次 avs4x26x + x264_64_tMod-8bit-420
停在81282帧
第二次 avs2yuv + x264_64_tMod-8bit-420
停在58654帧
第三次 x264_x86
停在77217帧

报错信息基本一致:
avs [error]: GetFrameBuffer: Retured a VFB with a 0 data pointer!
size=3110464, max=3221225472, used=3230044096, free=80637952, phys=2685005824
I think we have run out of memory folks! occurred while reading frame 77217
avs [error]: TDecimate: major internal error. Please report this to tritical ASAP! occurred while reading frame 77218

我推测可能问题出在Trim太多,资源消耗太大。想问一下有没有可以替代Trim的效率更高的滤镜,或者更高效的写法?谢谢了
► 显示剧情透露 脚本

Re: 【已解决】过多Trim爆内存的脚本有没有方法优化?

发表于 : 2015-08-16 15:25
buaaqlyj
doom9看到有人提到写在不同avs里用import的方式,可以让avs在两个进程里运行。正在测试,不知会不会有效

经测试是无效的。
avs4x26x + x264_64_tMod-8bit-420
停在了同样的位置

Re: 过多Trim爆内存的脚本有没有方法优化?

发表于 : 2015-08-16 19:51
upyzl

Re: 【已解决】过多Trim爆内存的脚本有没有方法优化?

发表于 : 2015-08-16 23:01
buaaqlyj
做了decimate以后改变帧数了,可惜ConditionalFilter用不了

Edit: 刚刚又查了一遍TDecimate的readme,好像可以手动ovr,运用得当应该可以缩减一下trim的数量,我去试试

Edit2: 问题解决,果然是Trim太多的原因。
结合了RemapFrames和TDecimate的ovr代替了大部分不规律去重部分使用的Trim,行数缩减为原来的1/4,这次没有报出run out of memory的错误

Re: 【已解决】过多Trim爆内存的脚本有没有方法优化?

发表于 : 2015-09-30 14:04
msg7086
如果硬盘空间足够大的话分段出无损会比较方便。自用LAGS编码器,出无损一集720p动画也只有10G。

Re: 【已解决】过多Trim爆内存的脚本有没有方法优化?

发表于 : 2018-06-02 23:30
lwjkk666
msg7086 写了: 2015-09-30 14:04 如果硬盘空间足够大的话分段出无损会比较方便。自用LAGS编码器,出无损一集720p动画也只有10G。
如果源是这样的,连续两帧都是静态图,例如第8863帧是好的,8864是坏的,8865是坏的,8866是好的,请问改怎样替换掉坏帧从而达到修复片源的效果呢

Re: 【已解决】过多Trim爆内存的脚本有没有方法优化?

发表于 : 2018-06-05 14:59
msg7086
lwjkk666 写了: 2018-06-02 23:30
msg7086 写了: 2015-09-30 14:04 如果硬盘空间足够大的话分段出无损会比较方便。自用LAGS编码器,出无损一集720p动画也只有10G。
如果源是这样的,连续两帧都是静态图,例如第8863帧是好的,8864是坏的,8865是坏的,8866是好的,请问改怎样替换掉坏帧从而达到修复片源的效果呢
freezeframe()自己看一下说明书。

另外,单独的内容请单独开贴,方便其他人检阅。