Logo

/// 

After Effects Script - Arbeitsablauf automatisieren...




Noch was unklar? Dann in unserem Forum nachfragen
Zum Orginal-Thread / Zum Adobe After Effects-Forum

Frage von matze22:


Hallo zusammen,
ich bräuchte mal eure Hilfe ;-)

Man kann ja in After Effects Scripte erstellen und so z.B. verschiedene Arbeitsabläufe automatisieren...

Ich bräuchte nun ein Script, daß folgendes macht:

ich stelle mir das so vor:
Man wählt eine Kompostion im Projekt-Fenster aus, dann klickt man z.B. auf einen Button mit der Beschriftung "Interlace-Vorschau erstellen" und dann wird folgender Arbeitsablauf automatisiert:

1. Die ausgewählte Komposition wird in eine Unterkomposition gestellt
2. Auf diese Unterkomposition wird das PluginPlugin im Glossar erklärt "FieldsKit Reinterlacer" mit bestimmten Parametern (;"Upper First", "< Half FrameFrame im Glossar erklärt Rate") angewendet...

Das war's auch schon :-)

Wie kann man sowas in einem Script automatisieren?




Antwort von matze22:

Kann mir jemand weiterhelfen?



Antwort von mmohl:

zum Skripten braucht es etwas Einarbeitung und Zeit.

Der beste Einstieg ist der After Effects Scripting Guide, (;den es bisher nur für CS3 gibt, ist aber auch mit neueren Versionen kompatibel). Da musst du dir die Funktionen heraussuchen, um eine Unterkomposition zu erzeugen und Effekte anzuwenden und dann ein Javascript basteln, dass diese entsprechend aufruft.



Antwort von mmohl:

Wenn du nichts selbst skripten möchtest, kannst du dir auch den ft toolbar kaufen. Damit kannst du dir zumindest einfach 2 buttons basteln, von denen der erste den Menüeintrag zum Erstellen einer Unterkomposition aufruft und der zweite den Effekt anwendet. Aber voll automatisch ist das natürlich noch nicht (;du musst also die Optionen, wie genau die Unterkomposition erzeugt wird immer wieder einstellen etc). Du kannst ja zuerst die kostenlose Demoversion probieren und schauen, ob es dir hilft.



Antwort von matze22:

ok, das mit dieser FT Toolbar guck ich mir später mal an ;-)

Aber kennst sich nicht jemand schon bisschen mit Scripting aus und kann mir da helfen? Allzu komliziert scheint mein Wunsch ja nicht zu sein...



Antwort von mmohl:

Ja, ich kenne mich mit Skripting aus. Aber Dein Vorhaben erfordert schon etwas mehr als 5 Minuten Aufwand. Da müßtest du echt Glück haben, wenn dir das mal jemand schnell so nebenbei gratis programmieren sollte.



Antwort von matze22:

Hallo :-)

Ich hab nun ein ähnliches Script gefunden, dass für meinen Zweck geeignet ist... Nur habe ich nun ein Problem...

Hier erstmal das Script:
http://www.aenhancers.com/download/file.php?id=117

Dieses AE-Script ist aber anscheinend für die englische After Effects-Version geschrieben und läuft bei der deutschen version nicht richtig...
Ich nehme an, es müssen einige Befehle übersetzt werden (;z.B. Grid > Raster usw.)... Ich bin da grade etwas überfordert mit den ganzen Befehlen...

Kann mir jemand einen Tip geben wie man dieses Script für die deutsche AE-Version "zum laufen" bringt?

Ich wär auch bereit etwas zu bezahlen, wenn mir jemand hilft das Script zu übersetzen und noch bisschen zu modifizieren! :-)



Antwort von mmohl:

das Problem ist dieser Teil:
[code:1:dd21e4f20b] Fields_viewer_2.Effects.addProperty(;"Grid"); // add grid

myComp_field_view.layer(;1).property(;"Effects").property(;1).property(;"Size From").setValue(;3);

myComp_field_view.layer(;1).property(;"Effects").property(;1).property(;"Width").setValue(;myComp_field_view.width*myComp_field_view.pixelAspect+20);

myComp_field_view.layer(;1).property(;"Effects").property(;1).property(;"Height").setValue(;2);

myComp_field_view.layer(;1).property(;"Effects").property(;1).property(;"Anchor").setValue(;[-2,reverse_fields_order]);

myComp_field_view.layer(;1).property(;"Effects").property(;1).property(;"Border").setValue(;1);

myComp_field_view.layer(;1).Effects.addProperty(;"Levels (;Individual Controls)");

myComp_field_view.layer(;1).property(;"Effects").property(;2).property(;"Alpha Input White").setValue(;125/255);

Fields_viewer_1.Effects.addProperty(;"Grid"); // add grid

myComp_field_view.layer(;3).property(;"Effects").property(;1).property(;"Size From").setValue(;3);

myComp_field_view.layer(;3).property(;"Effects").property(;1).property(;"Width").setValue(;myComp_field_view.width*myComp_field_view.pixelAspect+20);

myComp_field_view.layer(;3).property(;"Effects").property(;1).property(;"Height").setValue(;2);

myComp_field_view.layer(;3).property(;"Effects").property(;1).property(;"Anchor").setValue(;[-2,reverse_fields_order]);

myComp_field_view.layer(;3).property(;"Effects").property(;1).property(;"Border").setValue(;1);

myComp_field_view.layer(;3).Effects.addProperty(;"Levels (;Individual Controls)");

myComp_field_view.layer(;3).property(;"Effects").property(;2).property(;"Alpha Input White").setValue(;125/255);[/code:1:dd21e4f20b]

du musst überall [code:1:dd21e4f20b]property(;"ENGLISCHER NAME")[/code:1:dd21e4f20b] durch [code:1:dd21e4f20b]property(;"DEUTSCHER NAME")[/code:1:dd21e4f20b] ersetzen. Und auch
[code:1:dd21e4f20b]addProperty(;"ENGLISCHER NAME")[/code:1:dd21e4f20b] durch [code:1:dd21e4f20b]addProperty(;"DEUTSCHER NAME")[/code:1:dd21e4f20b].

Du mußt also nur herausfinden, wie die entsprechenden Effekte und Parameter auf Deutsch heißen. Dazu gibt es hier einen guten Startpunkt:
http://www.after-effects-blog.de/englisch-deutsch-uebersetzung/

"Grid" heißt also z.B. "Raster" und "Size From", "Width" und so weiter sind dann die Parameter des "Raster" Effekts, deren Namen du dann ja direkt in AE nachschauen kannst.



Antwort von matze22:

Danke dir :-)

Hat super geklappt, ich hab alle Übersetzungen gefunden und nun funktionierts! :-)

Jetzt hätt ich noch eine kleine Frage:

Ich würde gerne noch am Schluß zwei Befehle einfügen:
So dass die neu erstellte Komposition "Interlace View" geöffnet wird und das RendernRendern im Glossar erklärt der RAM-Preview gestartet wird...

Welche Script-Befehle könnte ich da verwenden?



Antwort von mmohl:

Die derzeit aktive Komposition ist in der Eigenschaft
[code:1:1524c7dde5]app.project.activeItem[/code:1:1524c7dde5]
gespeichert, diese lässt sich allerdings nach dem was im After Effects Scripting Guide steht nur lesen aber nicht verändern.
Zum Starten des RAM previews kenne ich auch keinen Befehl. Ich denke, das ist nicht möglich.



Antwort von Mylenium:

app.executeCommand(;) oder wie das nun genau heißt? Muss man nur die Menü-ID rauskriegen und dafür gibt's auch irgendwoe ein Script....

Mylenium



Antwort von matze22:

also den Befehl um die RAM-Vorschau zu starten habe ich nun rausgefunden:
app.executeCommand(;app.findMenuCommandId(;"RAM-Vorschau"))

Aber das öffnen der Komposition "Interlace View", hab ich noch nicht hinbekommen...

Wie genau muss ich den diese Scriptzeile schreiben und an welche Stelle kommt sie?



Antwort von matze22:

Sooooooooooo....
Nach langem rumgesuche und ausprobieren, hab ich es nun doch hinbekommen! :-))

Falls es jemand interessiert, hier ist das Script um in After Effects eine Interlace-Vorschau zu generieren!

[code:1:4156b418b6]{
var myPanel;

function interlaced_view_buildUI(;thisObj) {
myPanel = (;thisObj instanceof Panel) ? thisObj : new Window(;"palette", "Interlaced View", [100, 100, 300, 300]);

//Jeff Almasol's solution to fix text color
var winGfx = myPanel.graphics;
var darkColorBrush = winGfx.newPen(;winGfx.BrushType.SOLID_COLOR, [0,0,0], 1);

//notes------------------------------------[10, 10, 40, 30] = [LeftEdge, TopEdge, ButtonEdge, ButonEdge]
//"Qty:" text

myPanel.butRF = myPanel.add(;"checkbox", [10, -10, 300, 50], "Halbbilder umkehren");

//Input box
//myPanel.butTwo = myPanel.add(;"editText", [200, 10, 230, 30], "5");
//myPanel.butTwo.graphics.foregroundColor = darkColorBrush; //Keeps text black at all times

//"Do It!" button
myPanel.butThree = myPanel.add(;"button", [10, 42, 100, 62], "Vorschau");
myPanel.butThree.onClick = Make_fields_view; //launch "dupIt" function when button is clicked



return myPanel;
}

function Make_fields_view(;) {
app.beginUndoGroup(;"Fields view");
if(;myPanel.butRF.value == 1)
{
var reverse_fields_order =0; // 0 or 1 for reverse field order
}
else
{
var reverse_fields_order =1; // 0 or 1 for reverse field order
}

if (;(;app.project.activeItem == null) || (;(;app.project.activeItem != null) && !(;app.project.activeItem instanceof CompItem)))
{
alert(;"Wählen Sie eine Komposition zum Erstellen der Halbbild-Vorschau!");
}
else
{
var comp = app.project.activeItem;
var myItemCollection = app.project.items;
var myComp_field_view = myItemCollection.addComp(;"Halbbild-Vorschau", comp.width, comp.height,comp.pixelAspect, comp.duration, comp.frameRate); // create comp interlaced or single field
var comp_bg = myComp_field_view.layers.add(;comp); //add original comp in fields view
var Fields_viewer_1 = myComp_field_view.layers.addSolid(;[.5,.5,.5], "2. Halbbild", comp.width,comp.height,comp.pixelAspect,comp.duration); // add solid in fields view comp
var comp_layer = myComp_field_view.layers.add(;comp); //add original comp in fields view
var Fields_viewer_2 = myComp_field_view.layers.addSolid(;[.5,.5,.5], "1. Halbbild", comp.width,comp.height,comp.pixelAspect,comp.duration); // add solid in fields view comp
comp_layer.startTime=-1/(;comp.frameRate*2);
comp_layer.trackMatteType=TrackMatteType.ALPHA;
comp_bg.trackMatteType=TrackMatteType.ALPHA_INVERTED;
Fields_viewer_2.Effects.addProperty(;"Raster"); // add grid
myComp_field_view.layer(;1).property(;"Effekte").property(;1).property(;"Rastergröße von").setValue(;3);
myComp_field_view.layer(;1).property(;"Effekte").property(;1).property(;"Breite").setValue(;myComp_field_view.width*myComp_field_view.pixelAspect+20);
myComp_field_view.layer(;1).property(;"Effekte").property(;1).property(;"Höhe").setValue(;2);
myComp_field_view.layer(;1).property(;"Effekte").property(;1).property(;"Anker").setValue(;[-2,reverse_fields_order]);
myComp_field_view.layer(;1).property(;"Effekte").property(;1).property(;"Rahmen").setValue(;1);
myComp_field_view.layer(;1).Effects.addProperty(;"Tonwerte (;Individ. Steuerung)");
myComp_field_view.layer(;1).property(;"Effekte").property(;2).property(;"Alpha: Eingabe: Lichter").setValue(;125/255);
Fields_viewer_1.Effects.addProperty(;"Raster"); // add grid
myComp_field_view.layer(;3).property(;"Effekte").property(;1).property(;"Rastergröße von").setValue(;3);
myComp_field_view.layer(;3).property(;"Effekte").property(;1).property(;"Breite").setValue(;myComp_field_view.width*myComp_field_view.pixelAspect+20);
myComp_field_view.layer(;3).property(;"Effekte").property(;1).property(;"Höhe").setValue(;2);
myComp_field_view.layer(;3).property(;"Effekte").property(;1).property(;"Anker").setValue(;[-2,reverse_fields_order]);
myComp_field_view.layer(;3).property(;"Effekte").property(;1).property(;"Rahmen").setValue(;1);
myComp_field_view.layer(;3).Effects.addProperty(;"Tonwerte (;Individ. Steuerung)");
myComp_field_view.layer(;3).property(;"Effekte").property(;2).property(;"Alpha: Eingabe: Lichter").setValue(;125/255);
Fields_viewer_1.locked= true; //lock fields view
Fields_viewer_2.locked= true; //lock fields view
comp_layer.locked= true; //lock comp layer
comp_bg.locked= true; //lock comp bg

var duration = myComp_field_view.workAreaDuration;
myComp_field_view.workAreaDuration = 0.1;
myComp_field_view.ramPreviewTest(;1.0,1.0,0);
myComp_field_view.workAreaDuration = duration;

app.executeCommand(;app.findMenuCommandId(;"RAM-Vorschau"))
if (;myPanel.butRoto.value == 1)
{
comp.name=comp.name+" FieldField im Glossar erklärt by field"; // rename original comp
comp.frameRate=comp.frameRate*2;// double original frame rate for field by field view
}

app.endUndoGroup(;);
}

}

interlaced_view_buildUI(;this);
}[/code:1:4156b418b6]



Antwort von matze22:

So jetzt hab ich aber doch noch eine kleine Frage:
Ich möchte gerne die Ebene genau 1 PixelPixel im Glossar erklärt nach unten verschieben (;360, 289)

Welchen Script-Befehl muss ich dafür verwenden? :-)




Noch was unklar? Dann in unserem Forum nachfragen
Zum Orginal-Thread / Zum Adobe After Effects-Forum

Antworten zu ähnlichen Fragen:
Hilfe bei After Effects Script....
Script + Tutorial für Mocha-->After Effects workflow
Script Spezialist für After Effects Automatisierung gesucht
After Effects - Script für automatischen Schnitt gesucht
Kostenlose Nucleo Pro Alternative für After Effects - BG Renderer -Script
After Effects Script "Vorschau" > Komposition verschachteln
Arbeitsablauf für Virtualdub um ein Videobild mittel Deshaker aufzufüllen
Premiere Automatisieren
Audio-Angleichung automatisieren
Effekte kopieren/automatisieren
Ton-Überblendungen an Schnittmarken automatisieren
Premiere 6.5 Farbregler automatisieren
Premiere Pro Übergänge automatisieren
Videoschnit mit *.edl oder *.xml automatisieren
Export von vielen Stills automatisieren...
Script für Avisynth
TMPGnc Script zur Frage 219
Untertitel Script für Making Of DVD
Benutzerdefinierter Import (;per Script?)
PHP-Script für automatisches Wasserzeichen
externer text/script
Wie stelle ich das Zähler-Script ein?
Problem mit 'ease and wizz'-script
Filter/Script für VirtualDub/AVISynth
PP 1.5-Projekt über CMD-Script anlegen































weitere Themen:
Spezialthemen


16:9
AVCHD
AVI
Adobe After Effects
Adobe Encore DVD
Adobe Premiere Pro
After effects
Apple Final Cut Pro
Audio
Aufnahmen
Avid
Bild
Brennen
CS4
Camcorder
Canon
Capture
Capturing
Clip
Codec
Codecs
DV
DVB
DVD/Blu-ray Disc
Datei
DivX
EIDE
EOS
Effekt
Effekte
Encore
Export
Fehler
Festplatte
Film
Filme
Final Cut
Firewire
Format
Formate
Frage
HDR
HDV
Hilfe
JVC
Kamera
Kaufe
Layer
MAGIX video deLuxe
MPEG
MPEG-2
MPEG2
Mac
Monitor
Movie
NTSC-Format
PAL-Format
PC
Panasonic
Pinnacle
Pinnacle Studio
Player
Premiere
Projekt
Recorder
Software
Sony
Sony HVR-A1
Sony Vegas Video
Studio
TV
Ton
Ulead MediaStudio
VCD
VHS
Vegas
Video
Videos
Windows

Bereicheschraeg
Startseite
Forum
News
Artikel
HD Camcorder-Tests
Video-DSLR Tests
Camcorder Bestenliste
Lexikon
Serviceschraeg
Benchmark
Fachhändler finden
Festivals/Wettbewerbe
Gebrauchtbörse
slashCAM Mobil

Facebook
Twitter
RSS
Google+
Interaktionschraeg
News melden
Specialsschraeg
Camcorder Test: Sony NEX-7 - Ein kurzer Blick auf die Videoeigenschaften


Tips: Älteren Laptop fit für Videoschnitt machen Teil II: SSD


Test: Canon EOS 5D Mark III


Umfrageschraeg
Machst Du
Sport-/Action-Aufnahmen?
Ja, bin oft mit ner
Action-Cam unterwegs

Hab eine Helmkamera
für besondere Shots..

Hin und wieder, aber
mit meiner normalen
Kamera

Nur unter Wasser
Machen nein, aber
mögen ja

Nein, interessiert
mich nicht

ergebnis
Umfrageschraeg
Über Uns
Bannerwerbung
Impressum
Specialsschraeg
21-25. Mai / Ingolstadt
20 MIN|MAX
25-27. Mai / Mannheim
7. Low & No Budget Kurzfilmfestival ClipAward
25-26. Mai / Innsbruck
A Los Gurkos Short Film Festival
26. Mai - 3. Juni / Zürich
VIDEOEX
weitere Veranstaltungen


update am 24.Mai 2012 - 14:40
slashCAM ist ein Projekt der channelunit GmbH
*Datenschutzhinweis*