AviSynth Out of Memory Error (100s de superposições de imagem)
Quero sobrepor várias imagens no meu vídeo em momentos diferentes. Eu tenho a função do usuário definida como
function myFunction(clip c, int coordinateX, int from, int to) {
c = c.trim(0, from-1) + c.trim(from, to).Overlay(myImage, x=coordinateX, y=667, mask=myImageMask, opacity=1) + c.trim(to+1, 0)
return c
}
que essencialmente levamyImage
imagem e colocá-lo em uma parte específica do clipe.
Eu chamo minha função como
video = video.myFunction(320, 1, 187)
e eu tenho muitos desses assim (estou tentando fazer algum tipo de animação com várias imagens)
video = video.myFunction(320, 1, 187)
video = video.myFunction(480, 1, 187)
video = video.myFunction(640, 1, 187)
video = video.myFunction(320, 187, 374)
video = video.myFunction(480, 187, 374)
video = video.myFunction(640, 187, 374)
video = video.myFunction(319, 374, 561)
e tudo funciona bem se houver menos de ~ 400 dessas chamadas. Se eu exceder esse limite, ocorre "falta de memória" (estou usando o VirtualDub).
Eu suponho que é porque o AviSynth deve processar todas as chamadas para descobrir a saída (emboraapenas ~ 3 desses 100s de chamadas estão relacionadasframe único específico). Se eu, no entanto, removervideo =
no início da linha, eu poderia ter 10000 desses e não há nenhum erro "Out of Memory", mas é claro que eu não tenho saída de vídeo.
Existe uma solução para isso? Centenas / milhares de superposições de imagem em momentos diferentes no videoclipe?