imageimage-processingavisynth

Imagewriter executes only last call


I have 3 imagewriter, each of it save a different frame from avi to a path. But, it is executed only the last imagewriter, so I received in test3 folder frame 4, with name: 000004.jpg Why the first 2 imagewriter aren't executed? Can I execute all imagewriter in other way? Even if I change the order of those, only the last imagewriter is executed. The code is:

clip=DirectshowSource("D:\images\ball-flame.avi").ConvertToRGB32()
imagewriter(clip,"D:\images\test1\",start=1,end=1,type="jpg") 
imagewriter(clip,"D:\images\test2\",start=2,end=2,type="jpg") 
imagewriter(clip,"D:\images\test3\",start=4,end=4,type="jpg")

Solution

  • The previous clips are discarded because they aren't used by anything in the video pipeline. I forgot most of AviSynth I knew though so here's a workaround which may not be the best:

    StackVertical(\
        imagewriter(clip,"D:\images\test1\",start=1,end=1,type="jpg").crop(0,0, 16,16),\
        imagewriter(clip,"D:\images\test1\",start=2,end=2,type="jpg").crop(0,0, 16,16),\
        imagewriter(clip,"D:\images\test1\",start=4,end=4,type="jpg").crop(0,0, 16,16))