*offizielles deutsches flaskmpeg & dvdtoogm board* (http://www.flaskmpeg.info/index.php)
- *virtualdub(mod) & avisynth* (http://www.flaskmpeg.info/board.php?boardid=27)
-- Avisynth: ZoomIn/Out+ZoomedTravel auf einem Bild (http://www.flaskmpeg.info/thread.php?threadid=6150)


Geschrieben von Selur am 30.08.2007 um 22:40:

  Avisynth: ZoomIn/Out+ZoomedTravel auf einem Bild

Bin letztens auf die Idee gekommen, man könnte ja kleine Videos u.a. dadurch erzeugen, das man in ein Panoramabild an eine bestimmte stelle reinzoomt, dann sich durch das Bild bewegt und wieder rauszoomt.

Da ich keine brauchbaren Filter für mein Vorhaben gefunden habe, habe ich mich erstmal an Didée gewandt. -> er hat aktuell keinen Zeit und Nerv

Also hab ich mich dann mal rangemacht und etwas genauer in die Syntax&Co von Avisynth eingearbeitet und jetzt eine kleine Skriptsammlung mit der es gut geht. (siehe Anhang)

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
Import("zooming.avs")
i = ImageSource("g:\yun_3054.jpg")
iheight = i.height()/2.0


#zoomt in 250 Frames rein am linkten Rand auf mitte des Bildes und erzeugt dabei immer ein tWidthxtHeight großes Bild
zoomin = i.zooming(tWidth=720, tHeight=576, coX=0.0, coY=iheight, zoomFactor=6, steps=250).trim(0,249)

#bewegt den Rahmen in 1000 Schritten über das Bild
inzoom = calcInitFactor(i, 720,576)
walk = i.zoomedWalk(zoom=6.0/inzoom, startX=576/4.0, startY=iheight, steps = 1000).trim(0,999)

#zoomt in 250 Schritten wieder raus
zoomout = zooming(i, tWidth=720, tHeight=576, coX=i.width()-576/4.0, coY=iheight, beginZoom=(6.0/inzoom), zoomFactor=1.0/6.0, steps=250).trim(0,249)

return (zoomin+walk+zoomout).AssumeFPS(25).ConverttoYv12()


Einziges Problem an der ganzen Sache ist nur:

Das Encoden dauert ewig, weil größere Panoramabilder nicht in meinen Arbeitsspeicher passen. großes Grinsen

Wer es auch mal ausprobieren will mit einem beliebigen Bild:
1. zooming.avs runterladen (.txt entfernen)
2. BeispielCode in eine .avs-File kopieren
3. Pfad zu einem eigenen Bild und Pfad zum zooming.avs-Skript anpassen
4. das erstellte .avs File mit z.B. Virtual Dub konvertieren

Cu Selur

Ps.: Falls doch noch ein Fehler drinne ist bitte Bescheid geben. smile


Forensoftware: Burning Board 2.3.6, entwickelt von WoltLab GmbH