AviSynth Out of Memory Error (100s nakładek obrazu)

Chcę nakładać wiele obrazów na mój film w różnych momentach. Mam funkcję użytkownika zdefiniowaną jako

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
}

co zasadniczo trwamyImage obraz i umieść go w określonej części klipu.

Nazywam moją funkcję jako

video = video.myFunction(320, 1, 187)

i mam kilka takich osób (próbuję stworzyć animację z wieloma obrazami)

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)

i wszystko działa dobrze, jeśli jest ich mniej niż 400. Jeśli przekroczę ten limit, pojawia się „Out of Memory” (używam VirtualDub).

Przypuszczam, że to dlatego, że AviSynth musi przetwarzać wszystkie wywołania, aby ustalić wyjście (chociażtylko ~ 3 z tych 100s połączeń są powiązanekonkretna pojedyncza ramka). Jeśli jednak usunęvideo = na początku linii mogłem mieć 10000 z nich i nie ma błędu „Brak pamięci”, ale oczywiście nie mam wideo.

Czy jest w tym jakiś problem? Setki / tysiące nakładek obrazów w różnym czasie na klipie wideo?

questionAnswers(2)

yourAnswerToTheQuestion