喜欢上Magic.Swf2Avi是因为当年试遍所有能找到的SWF转换软件,只有他支持alpha通道,所以自那以后遇到swf的转换任务就全靠它来完成。今天却碰到了一个问题,应该算是一个bug。
这个bug的现象是:有一个带声音的4000帧的文件,生成DVD文件没有问题,生成tga序列却只认3000余帧,其余的都被不规则的丢弃了。
分析:起初认为是这个flash的版本太高,但是降低到6.0版本依然不行;怀疑有特殊的剪辑片段影响了识别,但是仔细看了看,没有任何特别之处,甚至AS脚本代码都没有一个。后来实在没法子,戴上耳机仔细看一遍原始文件,这才发现Swf2Avi在提取tga序列的时候,播放器同时在播放影片的声音,而且音画不同步。怀疑声音的播放影响了软件提取画面,造成有声音的部分丢失大量的画面帧。而Swf2Avi生成DVD文件时,音画是分开采撷,所以不存在这个问题。立刻生成一个无声文件,再转换成tga序列……世界和谐了。
结论:Magic.Swf2Avi在提取静态图片的过程里不应该开启声音播放。实践中这样做既起不到预览效果,而且影响自身对画面的采撷任务。这是一个比较重大的bug,应该是软件测试不完全造成的。
不过迄今为止,Magic.Swf2Avi依然是最强的,即使3.12“和谐版”的AVI功能依然无法使用。有tga序列生成和DVD文件生成,谁还在乎AVI是否被支持呢?