matze22
Beiträge: 523

After Effects Script - Arbeitsablauf automatisieren...

Beitrag 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 Plugin "FieldsKit Reinterlacer" mit bestimmten Parametern ("Upper First", "< Half Frame Rate") angewendet...

Das war's auch schon :-)

Wie kann man sowas in einem Script automatisieren?



matze22
Beiträge: 523

Re: After Effects Script - Arbeitsablauf automatisieren...

Beitrag von matze22 »

Kann mir jemand weiterhelfen?



mmohl
Beiträge: 131

Re: After Effects Script - Arbeitsablauf automatisieren...

Beitrag 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.
mamoworld.com - simplify your cgi



mmohl
Beiträge: 131

Re: After Effects Script - Arbeitsablauf automatisieren...

Beitrag 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.
mamoworld.com - simplify your cgi



matze22
Beiträge: 523

Re: After Effects Script - Arbeitsablauf automatisieren...

Beitrag 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...



mmohl
Beiträge: 131

Re: After Effects Script - Arbeitsablauf automatisieren...

Beitrag 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.
mamoworld.com - simplify your cgi



matze22
Beiträge: 523

Re: After Effects Script - Arbeitsablauf automatisieren...

Beitrag 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! :-)



mmohl
Beiträge: 131

Re: After Effects Script - Arbeitsablauf automatisieren...

Beitrag von mmohl »

das Problem ist dieser Teil:

Code: Alles auswählen

		Fields_viewer_2.Effects.addProperty&#40;"Grid"&#41;; // add grid

		myComp_field_view.layer&#40;1&#41;.property&#40;"Effects"&#41;.property&#40;1&#41;.property&#40;"Size From"&#41;.setValue&#40;3&#41;;

		myComp_field_view.layer&#40;1&#41;.property&#40;"Effects"&#41;.property&#40;1&#41;.property&#40;"Width"&#41;.setValue&#40;myComp_field_view.width*myComp_field_view.pixelAspect+20&#41;;

		myComp_field_view.layer&#40;1&#41;.property&#40;"Effects"&#41;.property&#40;1&#41;.property&#40;"Height"&#41;.setValue&#40;2&#41;;

		myComp_field_view.layer&#40;1&#41;.property&#40;"Effects"&#41;.property&#40;1&#41;.property&#40;"Anchor"&#41;.setValue&#40;&#91;-2,reverse_fields_order&#93;&#41;;

		myComp_field_view.layer&#40;1&#41;.property&#40;"Effects"&#41;.property&#40;1&#41;.property&#40;"Border"&#41;.setValue&#40;1&#41;;

		myComp_field_view.layer&#40;1&#41;.Effects.addProperty&#40;"Levels &#40;Individual Controls&#41;"&#41;; 

		myComp_field_view.layer&#40;1&#41;.property&#40;"Effects"&#41;.property&#40;2&#41;.property&#40;"Alpha Input White"&#41;.setValue&#40;125/255&#41;;

		Fields_viewer_1.Effects.addProperty&#40;"Grid"&#41;; // add grid

		myComp_field_view.layer&#40;3&#41;.property&#40;"Effects"&#41;.property&#40;1&#41;.property&#40;"Size From"&#41;.setValue&#40;3&#41;;

		myComp_field_view.layer&#40;3&#41;.property&#40;"Effects"&#41;.property&#40;1&#41;.property&#40;"Width"&#41;.setValue&#40;myComp_field_view.width*myComp_field_view.pixelAspect+20&#41;;

		myComp_field_view.layer&#40;3&#41;.property&#40;"Effects"&#41;.property&#40;1&#41;.property&#40;"Height"&#41;.setValue&#40;2&#41;;

		myComp_field_view.layer&#40;3&#41;.property&#40;"Effects"&#41;.property&#40;1&#41;.property&#40;"Anchor"&#41;.setValue&#40;&#91;-2,reverse_fields_order&#93;&#41;;

		myComp_field_view.layer&#40;3&#41;.property&#40;"Effects"&#41;.property&#40;1&#41;.property&#40;"Border"&#41;.setValue&#40;1&#41;;

		myComp_field_view.layer&#40;3&#41;.Effects.addProperty&#40;"Levels &#40;Individual Controls&#41;"&#41;; 

		myComp_field_view.layer&#40;3&#41;.property&#40;"Effects"&#41;.property&#40;2&#41;.property&#40;"Alpha Input White"&#41;.setValue&#40;125/255&#41;;
du musst überall

Code: Alles auswählen

property&#40;"ENGLISCHER NAME"&#41;
durch

Code: Alles auswählen

property&#40;"DEUTSCHER NAME"&#41;
ersetzen. Und auch

Code: Alles auswählen

addProperty&#40;"ENGLISCHER NAME"&#41;
durch

Code: Alles auswählen

addProperty&#40;"DEUTSCHER NAME"&#41;
.

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/englis ... ersetzung/

"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.
mamoworld.com - simplify your cgi



matze22
Beiträge: 523

Re: After Effects Script - Arbeitsablauf automatisieren...

Beitrag 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 Rendern der RAM-Preview gestartet wird...

Welche Script-Befehle könnte ich da verwenden?



mmohl
Beiträge: 131

Re: After Effects Script - Arbeitsablauf automatisieren...

Beitrag von mmohl »

Die derzeit aktive Komposition ist in der Eigenschaft

Code: Alles auswählen

app.project.activeItem
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.
mamoworld.com - simplify your cgi



Mylenium
Beiträge: 1303

Re: After Effects Script - Arbeitsablauf automatisieren...

Beitrag 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
[Pour Mylène, ange sur terre]



matze22
Beiträge: 523

Re: After Effects Script - Arbeitsablauf automatisieren...

Beitrag 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?



matze22
Beiträge: 523

Re: After Effects Script - Arbeitsablauf automatisieren...

Beitrag 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: Alles auswählen

&#123;
   var myPanel;

   function interlaced_view_buildUI&#40;thisObj&#41; &#123;
      myPanel = &#40;thisObj instanceof Panel&#41; ? thisObj &#58; new Window&#40;"palette", "Interlaced View", &#91;100, 100, 300, 300&#93;&#41;;

      //Jeff Almasol's solution to fix text color
      var winGfx = myPanel.graphics;
      var darkColorBrush = winGfx.newPen&#40;winGfx.BrushType.SOLID_COLOR, &#91;0,0,0&#93;, 1&#41;;

      //notes------------------------------------&#91;10, 10, 40, 30&#93; = &#91;LeftEdge, TopEdge, ButtonEdge, ButonEdge&#93;
      //"Qty&#58;" text

	  myPanel.butRF = myPanel.add&#40;"checkbox", &#91;10, -10, 300, 50&#93;, "Halbbilder umkehren"&#41;;

      //Input box
      //myPanel.butTwo = myPanel.add&#40;"editText", &#91;200, 10, 230, 30&#93;, "5"&#41;;
      //myPanel.butTwo.graphics.foregroundColor = darkColorBrush;   //Keeps text black at all times

      //"Do It!" button
      myPanel.butThree = myPanel.add&#40;"button", &#91;10, 42, 100, 62&#93;, "Vorschau"&#41;;
      myPanel.butThree.onClick = Make_fields_view;   //launch "dupIt" function when button is clicked
	  
	  

      return myPanel;
   &#125;

   function Make_fields_view&#40;&#41; &#123;
	app.beginUndoGroup&#40;"Fields view"&#41;;   
	if&#40;myPanel.butRF.value == 1&#41;
		&#123;
			var reverse_fields_order =0;   // 0 or 1 for reverse field order
		&#125;
	else
		&#123;
			var reverse_fields_order =1;   // 0 or 1 for reverse field order
		&#125;

	if &#40;&#40;app.project.activeItem == null&#41; || &#40;&#40;app.project.activeItem != null&#41; && !&#40;app.project.activeItem instanceof CompItem&#41;&#41;&#41;
		&#123;
			alert&#40;"Wählen Sie eine Komposition zum Erstellen der Halbbild-Vorschau!"&#41;;	
		&#125;
	else
		&#123;
		var comp = app.project.activeItem;
		var myItemCollection = app.project.items; 
		var myComp_field_view = myItemCollection.addComp&#40;"Halbbild-Vorschau", comp.width, comp.height,comp.pixelAspect, comp.duration, comp.frameRate&#41;; // create comp interlaced or single field
		var comp_bg = myComp_field_view.layers.add&#40;comp&#41;; //add original comp in fields view 
		var Fields_viewer_1 = myComp_field_view.layers.addSolid&#40;&#91;.5,.5,.5&#93;, "2. Halbbild", comp.width,comp.height,comp.pixelAspect,comp.duration&#41;; // add solid in  fields view comp
		var comp_layer = myComp_field_view.layers.add&#40;comp&#41;; //add original comp in fields view
		var Fields_viewer_2 = myComp_field_view.layers.addSolid&#40;&#91;.5,.5,.5&#93;, "1. Halbbild", comp.width,comp.height,comp.pixelAspect,comp.duration&#41;; // add solid in  fields view comp
		comp_layer.startTime=-1/&#40;comp.frameRate*2&#41;; 
		comp_layer.trackMatteType=TrackMatteType.ALPHA;
		comp_bg.trackMatteType=TrackMatteType.ALPHA_INVERTED;
		Fields_viewer_2.Effects.addProperty&#40;"Raster"&#41;; // add grid
		myComp_field_view.layer&#40;1&#41;.property&#40;"Effekte"&#41;.property&#40;1&#41;.property&#40;"Rastergröße von"&#41;.setValue&#40;3&#41;;
		myComp_field_view.layer&#40;1&#41;.property&#40;"Effekte"&#41;.property&#40;1&#41;.property&#40;"Breite"&#41;.setValue&#40;myComp_field_view.width*myComp_field_view.pixelAspect+20&#41;;
		myComp_field_view.layer&#40;1&#41;.property&#40;"Effekte"&#41;.property&#40;1&#41;.property&#40;"Höhe"&#41;.setValue&#40;2&#41;;
		myComp_field_view.layer&#40;1&#41;.property&#40;"Effekte"&#41;.property&#40;1&#41;.property&#40;"Anker"&#41;.setValue&#40;&#91;-2,reverse_fields_order&#93;&#41;;
		myComp_field_view.layer&#40;1&#41;.property&#40;"Effekte"&#41;.property&#40;1&#41;.property&#40;"Rahmen"&#41;.setValue&#40;1&#41;;
		myComp_field_view.layer&#40;1&#41;.Effects.addProperty&#40;"Tonwerte &#40;Individ. Steuerung&#41;"&#41;; 
		myComp_field_view.layer&#40;1&#41;.property&#40;"Effekte"&#41;.property&#40;2&#41;.property&#40;"Alpha&#58; Eingabe&#58; Lichter"&#41;.setValue&#40;125/255&#41;;
		Fields_viewer_1.Effects.addProperty&#40;"Raster"&#41;; // add grid
		myComp_field_view.layer&#40;3&#41;.property&#40;"Effekte"&#41;.property&#40;1&#41;.property&#40;"Rastergröße von"&#41;.setValue&#40;3&#41;;
		myComp_field_view.layer&#40;3&#41;.property&#40;"Effekte"&#41;.property&#40;1&#41;.property&#40;"Breite"&#41;.setValue&#40;myComp_field_view.width*myComp_field_view.pixelAspect+20&#41;;
		myComp_field_view.layer&#40;3&#41;.property&#40;"Effekte"&#41;.property&#40;1&#41;.property&#40;"Höhe"&#41;.setValue&#40;2&#41;;
		myComp_field_view.layer&#40;3&#41;.property&#40;"Effekte"&#41;.property&#40;1&#41;.property&#40;"Anker"&#41;.setValue&#40;&#91;-2,reverse_fields_order&#93;&#41;;
		myComp_field_view.layer&#40;3&#41;.property&#40;"Effekte"&#41;.property&#40;1&#41;.property&#40;"Rahmen"&#41;.setValue&#40;1&#41;;
		myComp_field_view.layer&#40;3&#41;.Effects.addProperty&#40;"Tonwerte &#40;Individ. Steuerung&#41;"&#41;; 
		myComp_field_view.layer&#40;3&#41;.property&#40;"Effekte"&#41;.property&#40;2&#41;.property&#40;"Alpha&#58; Eingabe&#58; Lichter"&#41;.setValue&#40;125/255&#41;;
		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&#40;1.0,1.0,0&#41;;
		myComp_field_view.workAreaDuration = duration;
        
		app.executeCommand&#40;app.findMenuCommandId&#40;"RAM-Vorschau"&#41;&#41;
			if &#40;myPanel.butRoto.value == 1&#41;
			&#123;
				comp.name=comp.name+" Field by field"; // rename original comp 
				comp.frameRate=comp.frameRate*2;// double original frame rate for field by field view 
			&#125;
		
		app.endUndoGroup&#40;&#41;;
		&#125;	   

   &#125;

   interlaced_view_buildUI&#40;this&#41;;
&#125;



matze22
Beiträge: 523

Re: After Effects Script - Arbeitsablauf automatisieren...

Beitrag von matze22 »

So jetzt hab ich aber doch noch eine kleine Frage:
Ich möchte gerne die Ebene genau 1 Pixel nach unten verschieben (360, 289)

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



 Aktuelle Beiträge [alle Foren]
 
» OpenAI zeigt Sora 2: Neuer KI-Videogenerator setzt auf Ton und persönliche Avatare
von iasi - Fr 19:35
» Nikon ZR in der Praxis: 6K 50p RED RAW Monster für 2.349,- Euro mit klassenbester Colorscience?
von Darth Schneider - Fr 18:19
» Neue Interviews!
von ffm - Fr 17:29
» LG UltraFine 32U990A - erster 6K Monitor mit Thunderbolt 5
von rush - Fr 16:54
» Leben und Sterben im blutroten Storchschnabel
von iasi - Fr 16:22
» Grundlagen: Einfach erklärt: Der CMOS-Bildwandler und seine Sensel
von ruessel - Fr 16:16
» Panasonic LUMIX S1II im Praxistest: Beste Video-DSLM ihrer Klasse Dank 5.1K Open Gate u. hohem DR?
von Darth Schneider - Fr 14:27
» Z CAM E2-M4 Mark II 4K Sensor-Bildqualität - Debayering, Rolling Shutter und Dynamik
von MrMeeseeks - Fr 14:12
» Z-Cam Firmware 1.0.6 und 1.0.7 funktionieren nicht
von Clemens Schiesko - Fr 12:44
» RIP: Renato Casaro
von ruessel - Fr 10:04
» Praxistest: DaVinci Resolve 20
von ruessel - Fr 9:46
» Slashcam Interviewsetup im Test: Sony FX2, iPhone Pro Max, Blackmagic Cloud, Nanlite PICO
von rob - Fr 8:22
» NVIDIA RTX 50 SUPER: Voraussichtliches Release erst Frühjahr 2026 – Lohnt das Warten?
von blindcat - Fr 7:26
» Was schaust Du gerade?
von roki100 - Fr 0:17
» Alien: Romulus - Teaser Trailer online - produziert von Ridley Scott, gedreht auf Alexa 35
von iasi - Do 20:50
» Was hast Du zuletzt gekauft?
von FocusPIT - Do 18:11
» Suche Unterstützung für die Bedienung von Hard- & Software ...
von Onfire - Do 15:17
» Reparaturservice für JVC HR-S9600
von 1pjladd2 - Do 14:45
» LaCie 1big Dock SSD Pro 4 TB im Langzeit Test
von FocusPIT - Do 12:21
» Adobe Premiere für iPhone erschienen - kostenloser Videoschnitt mobil
von slashCAM - Do 10:42
» Zoom Instamic Pro Plus C - Ultrakompakter 32 Bit Float Audio Recorder mit Timecode
von cantsin - Mi 23:06
» Tilly Norwood, Ziemlicher Rummel um Ki-Schauspielerin
von Blackbox - Mi 19:37
» Trump kündigt erneut Zölle auf im Ausland produzierte Filme an
von Jott - Mi 17:51
» Linsen (Vintage, Anamorphic & Co.)
von Funless - Mi 16:28
» One Battle After Another
von iasi - Mi 16:06
» Empfehlung Hauptmikros Stereo Chor- / Orchester
von ruessel - Mi 8:58
» Canon EOS C70 revisited: Drei Cages im Vergleich, Pro & Contra Focal Reducer und mehr
von rob - Mi 8:17
» Fast 40 Jahre nach dem Kultfilm kehrt "Highlander" zurück
von Bluboy - Mi 7:25
» Panasonic S5 - Allgemeine Fragen, Tipps und Tricks, Zeig deine Bilder/Videos usw.
von roki100 - Di 22:51
» Sennheiser EW D oder DX?
von rabe131 - Di 21:37
» Tilly Norwood
von Bluboy - Di 20:34
» Sachtler Stativ zu verkaufen
von MariavHeland - Di 19:18
» Neues LK Samyang AF 24-60mm F2.8 FE für Sony Alpha-Filmer angekündigt
von cantsin - Di 17:58
» Sony stellt das FE 100mm F2.8 Macro GM OSS mit 1,4-facher Vergrößerung vor
von slashCAM - Di 17:15
» Unser Kinofilm "The Trail" nun auf Amazon Prime
von freezer - Di 15:08