After Effects-Automatisierungs- und Anmerkungswerkzeuge (Skripts) für Schülerarbeiten

Ich benötige eine professionelle Beratung zur Selbsteinschätzung unter Studierenden. Ich suche nach einem Tool (Skript oder Skripts), das beim Kommentieren sehr langer Videos in After Effects hilft. Ich möchte den Prozess auch automatisieren, ohne mich zu wiederholen.

Ich habe lange Reden (Erzählungen) von Studenten mit Untertiteln. Untertitel werden in Subtitle Edit bearbeitet. In Subtitle Edit füge ich am Anfang einiger Wörter oder Sätze Symbole wie [#] oder [$] hinzu . Nach dem Importieren von Video und Untertiteln ( pt_ImportSubtitles ) mit hinzugefügten Symbolen [#] und [$] möchte ich, dass für jedes importierte Wort ein bestimmtes unteres Drittel (einfache Textanmerkung oder Feedback) automatisch aktiviert wird (auf dem Bildschirm erscheint) (für 3 Sekunden). oder Wortgruppe (Marker oder Zeitstempel) mit bestimmten Symbolen.

Nehmen wir an, ich habe zwei untere Drittel. Das erste untere Drittel ist Wörtern zugeordnet, die mit einem [#]-Symbol (gültiges Argument) beginnen, und andere Sätze von Wörtern sind Wörtern zugeordnet, die mit [$] (ungültiges Argument) beginnen.

Beispiele [#] Moskau ist die Hauptstadt der Russischen Föderation [$] Moskau ist keine Hauptstadt der Russischen Föderation

Screenshot der Untertitelbearbeitung

Wenn [#] 30 Mal wiederholt wird, muss das erste untere Drittel auch 30 Mal erscheinen. Die gleiche Logik gilt für das Symbol [$] .

Texte für untere Drittel müssen vorzugsweise außerhalb von AE in einer Tabellenkalkulation gespeichert werden, z. B. ( Text2Spreadsheet )

Bitte lassen Sie mich wissen, ob ein Tool (Skript oder eine Reihe von Skripten), das ich suche, tatsächlich existiert oder nicht. Wenn nicht. Wie kann ich es manuell mit Skripten machen, die ich oben erwähnt habe? Danke euch allen

Dies kann mit Skripten erreicht werden, aber ich bezweifle, dass es bereits ein Skript gibt, das das tut, was Sie meiner Meinung nach wollen. Warum nicht den Untertitelprozess und den unteren Drittelprozess trennen, das würde es viel einfacher machen.
Untere Drittel werden vollständig von importierten Untertiteln (Zeitstempeln) aufgespießt. Ich verwende nur Untertitel-Zeitstempel (Marker), um auszulösen, dass untere Drittel erscheinen, wenn es benötigt wird.
Es tut uns leid. Nicht alle Untertitel haben Zeitstempel, aber nur Untertitel mit Symbolen wie: # und &. Am Anfang bestimmter Untertitel.

Antworten (2)

Wie ich in meinem Blog geschrieben habe , können Sie die Funktion verwenden evalFile, um den Inhalt einer externen Datei als Daten oder ausführbaren Code zu laden.

Wenn Sie also eine Datei namens haben titles.txt, die so aussieht

var titles={
    {startTime:1.23, endTime:2.23, textContent:"this is the first subtitle"},
    {timestamp:2.34, endTime:3.45, textContent:"this is the second subtitle"},
    {timestamp:4.56, endTime:5.55, textContent:"and so on…"}
}

…können Sie es als Teil der Quelle des Ausdrucks auswerten, sodass das titlesArray jetzt für den Ausdruck verfügbar ist.

Sie könnten also mit der Quelltexteigenschaft einer Textebene so etwas machen:

try{
    myPath = “/path/to/my/titles.txt”; //obviously the path to the file
    $.evalFile(myPath);
    for (var i=0; i < titles.length; i++){
       if (time > titles[i].startTime && time < titles[i].endTime){
           titles[i].textContent;
       } else { ""; } //blank text
 }catch(err){ERROR”;
} 

Was das bewirkt ist:

  • Laden Sie die Untertiteldatei hoch,
  • Durchsuchen Sie die Titel und sehen Sie sich jeden an, um zu sehen, ob die aktuelle Zeit zwischen Start- und Endpunkt liegt
  • Wenn die Zeit für die Anzeige des Untertitels reif ist, wird der Quelltext auf den Inhalt des Untertitels gesetzt, andernfalls auf eine leere Zeichenkette.

Andere Ebenen könnten die Variablen startTime und endTime verwenden, um andere Eigenschaften wie Deckkraft oder andere animierbare Elemente zu steuern.

Wenn Ihre Untertitel-Zeitstempel als Smpte-Timecode dargestellt werden, müssen Sie dem Ausdruck einen Konverter hinzufügen. Hier ist einer .

Sie können einen leistungsfähigen Texteditor (notepad++, atom, sublime text, vim usw.) verwenden, um die Untertiteldatei neu zu formatieren, oder Sie können JS-Textverarbeitungstools (z. B. regex, string.split, string.replace usw.) im Skript verwenden, um dies zu tun Analysieren Sie die Untertiteldatei. Ich würde gegen letzteres empfehlen, sie werden viel langsamer sein. Denken Sie daran, dass der Ausdruck jedes Mal ausgewertet wird, wenn der Frame gerendert wird, was das Lesen der Untertiteldatei von der Festplatte beinhaltet. Wenn Sie Bewegungsunschärfe aktiviert haben, kann dies Dutzende Male pro Frame bedeuten.

Danke für Ihre Hilfe. Ich wollte nur mehrere untere Drittel machen und sie auf (30 oder 50) Stempel anwenden, deren Zeichenfolgen mit [#] beginnen (Symbol, das dem ersten unteren Drittel zugeordnet ist), und dann wende ich das zweite untere Drittel auf alle Stempel an, deren Zeichenfolgen mit [$] beginnen. (Symbol für das zweite untere Drittel). Siehe Screenshot oben. In Ihrem Code sehe ich nicht, wie das geht (Suche nach Zeichenfolgen, die mit [#] oder [$] beginnen). Ich habe mich geirrt ? Es tut uns leid. Wie Sie sehen, ist Englisch nicht meine Muttersprache.
Speichern Sie einfach Ihre Untertitel als srt oder was auch immer und formatieren Sie sie dann mit einem Texteditor wie den von mir erwähnten (alle kostenlos) so, dass sie wie im obigen Beispiel aussehen. Sie können Suchen und Ersetzen und reguläre Ausdrücke verwenden. Sie könnten dem Ausdruck Code hinzufügen, der nach dem Symbol sucht, Javascript verfügt über viele Tools zur Zeichenfolgenverarbeitung, von denen die meisten in Ausdrücken funktionieren (obwohl sie nicht dokumentiert sind), aber Sie sollten dies besser in einem Texteditor tun.

Sehen Sie sich Marker Remap unter www.aescripts.com/marker-remap an. Es übernimmt die oben erwähnten Prinzipien und fügt ein leistungsstarkes After Effects-Bedienfeld hinzu, um das Hinzufügen von Markern und das Timing zu steuern. Sie können es nicht an Ihre Tags anpassen, aber ich denke, es bietet die Funktionalität, die Sie suchen.