关于DirectShowSource的问题,求大神讲解一下

发表于:昨天 10:05 34
[table][tr][td]都说AVS用DirectShowSource加载视频时候经常出错,想请教一下出错的具体原因。
看有人说是XP下出错概率比win7这些要低,这是为什么?
具体出错的原因是什么?

我出错的情况:
1)
win7 64位下,用MeGui压制时候,导入视频做内嵌字幕时候。
LoadPlugin("C:\Program Files (x86)\AviSynth 2.5\plugins\VSFilter.DLL")
DirectShowSource("C:\01.mp4")
TextSub("C:\01.ssa")
压出来的视频前几秒是一片灰色。

2)
win7 64位下,用MeGui压制时候,添加了2个SMD去噪滤镜。直接裸用的。
压出来的视频少最前面几帧,大约是不到一秒。

3)
XP下,命令行直接运行。
在一个x264运行的情况下,再运行一个x264。
然后得到的视频会有花屏。
这个感觉应该是同时又开了一个,导致的内存的错误吧。。。

不管是什么程序,首先先要导入内存,然后在进入cache,最后进入CPU、GPU来运算。
那么程序写好了,导入内存等这些过程,如果没有外界的干扰,每次运行都应该是唯一的。
那么在无干扰情况下,要么正确得出结果,要么出错。也就是要么可以运行,要么不行。
看别人都说运行靠RP,这是为何?
都说出错概率很高,但是我就遇到这些情况。
而且每次结果都基本一样。win7 64运行出来肯定是前几秒没有。
xp干扰时则是花屏。

所以想请教一下,出错误的原因到底是什么,还有什么因素可能会导致出错?
这里先谢谢大家了~
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
收藏
送赞
分享

发表回复

评论列表(9)

[table][tr][td]这个我也想知道,先mark
昨天 10:14 回复
[table][tr][td]既然是运行时错误那么
要么AVS写渣了要么DX写渣了
昨天 10:30 回复
[table][tr][td]DSS又称多试试,源滤镜那么多何必死磕DSS
昨天 10:33 回复
[table][tr][td]哦,好多大神都来了。。
(过来看看,顺路帮忙顶下帖子
昨天 10:52 回复
[table][tr][td] 1.gif 每个汉字和每个字母我都认识,然而
昨天 11:10 回复
[table][tr][td]我只不说
昨天 11:26 回复
[table][tr][td]
既然是载入视频,感觉就好比播放器播放视频,是个读取过程。
能播放就是能播放,放出来卡肯定怎么放都卡。
不能应该是一会能放,一会不能放。
所以想知道为啥。。。


lyc64于2016-7-23 20:38补充以下内容:
比如说载入了一串滤镜,然后出现内存爆满的现象。
这时候清掉部分内存程序,有可能就能运行了,如果还是爆满的话,那就是运行不了。
无论怎么调整都不能运行。
都说这个运行的结果概率因素很大。
不能说同样的参数,同样的脚本,同样的编码器,然后跑出来的结果不一样吧。


lyc64于2016-7-23 20:39补充以下内容:
知道了就说嘛~


lyc64于2016-7-23 20:41补充以下内容:
你出现过什么情况?
昨天 11:31 回复
[table][tr][td]
如果是内存分配失败的话当然没得可说
先保证这些条件都满足再试试吧,现在笔记本内存动不动都16GB起
昨天 11:45 回复
[table][tr][td]
是这种情况,xp一般能找到的都是32位的,然后内存可识别的大小也就3G,所以爆了肯定就爆了。
只能是减少滤镜。我DSS在XP上只有同时开两个x264同时压制时出现过问题,但是如果用两个虚拟机同时运行两个就不会又问题。所以感觉如果硬件够强大的话,XP上应该是不会出错的。
反过来说的话,只要电脑配置够高,程序就不会有问题。如果真是这样,感觉也就没那么多人吐槽了。

同时因为win7是有32位和64位。64位没有内存爆的问题了。但是在64位上运行出来结果前面会有一部分缺失。我运行时候也是,缺失是肯定有的。如果是因为32位系统下的程序在64位下运行而出现的错误,发生这种情况可以说是程序兼容性问题,那么只要是64位系统的机器就都会出问题,这样说的话,同样也没有“多试试”的概率问题了。
昨天 11:57 回复