Communitygithub.com

AoE Editor

Kompletter End-to-End-Workflow für die Bearbeitung und Veröffentlichung von Age-of-Empires-Videos. Erkennt und schneidet Aufnahmesessions in einzelne Spielclips, erstellt YouTube-Thumbnails und verwaltet geplante Uploads.

Was ist AoE Editor?

Diese Fähigkeit automatisiert den gesamten Workflow für Age of Empires (AoE) Gameplay-Aufnahmen. Sie verarbeitet lange Aufnahmesessions, indem sie einzelne Spiele erkennt und als separate Videodateien ausschneidet. Dabei werden Alter-Aufstiege als Kapitelmarken extrahiert und die Post-Game-Analyse beibehalten. Die Fähigkeit beachtet strenge Regeln: Spiele unter 7 Minuten werden automatisch ausgelassen, aber ihre chronologische Nummer wird beibehalten, während einseitige Spiele markiert werden, damit der Nutzer sie überprüfen kann. Für YouTube werden aussagekräftige Thumbnails im Verhältnis zum Dateinamen erstellt, mit dynamischen Textüberlagerungen und Meme-Bearbeitungen, ohne das Ergebnis zu verraten. Der Workflow unterstützt unbeaufsichtigte Batch-Verarbeitung, indem er den Schlafmodus von Windows verhindert, Quellaufnahmen sichert und verarbeitete Dateien umbenennt. Er kann Videos in YouTube-Playlisten für 1v1 und Team-Spiele einordnen und den Upload-Zeitplan dynamisch verwalten.

Funktioniert mit~Claude Code~Codex CLI~Cursor
npx skills add Michael-Steshenko/aoe-editor-skill

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

Was macht AoE Editor?

Nutze diese Fähigkeit, um lange Age-of-Empires (AoE) Gameplay-Aufnahmesessions in saubere, eigenständige Match-Clips zu verarbeiten, authentische YouTube-Thumbnails zu erstellen und geplante YouTube-Uploads zu verwalten.

Strenge Sicherheits- & Schutzbestimmungen

1. Quellaufnahmen bewahren & Fertigstellung markieren

[!IMPORTANT] QUELLAUFNAHMEN NIEMALS LÖSCHEN – FERTIGE DATEIEN MIT - aoe-editor-done MARKIEREN Der Agent darf die ursprünglichen Quellaufnahme-Dateien (z.B. in $env:USERPROFILE\Videos\) unter KEINEN Umständen löschen, entfernen oder überschreiben.

  • Quelle bleibt während der Verarbeitung unberührt: Selbst nachdem Clips erfolgreich extrahiert, überprüft oder auf YouTube hochgeladen wurden, darf das ursprüngliche Aufnahmematerial niemals gelöscht werden.
  • Umbenennung nach Fertigstellung (- aoe-editor-done): Sobald alle Spiele einer Quellaufnahme bearbeitet, geschnitten, verifiziert und im Ziel-Datumsordner gespeichert wurden, MUSS die Quelldatei umbenannt werden, indem - aoe-editor-done vor ihrer Erweiterung angehängt wird:
    • Beispiel (.mp4): 2026-10-27 20-35-29.mp4 -> 2026-10-27 20-35-29 - aoe-editor-done.mp4
    • Beispiel (beliebige Erweiterung): <dateiname>.<ext> -> <dateiname> - aoe-editor-done.<ext>
    • PowerShell-Befehl:
      $item = Get-Item "<QuellPfad>"
      Rename-Item -Path $item.FullName -NewName "$($item.BaseName) - aoe-editor-done$($item.Extension)"
      
  • Bereits fertige Dateien überspringen: Beim Scannen oder Identifizieren von Aufnahmesessions werden alle Dateien, die bereits - aoe-editor-done vor ihrer Erweiterung enthalten, ignoriert und übersprungen.
  • Verworfene Spiele: Für Spiele, die übersprungen oder verworfen werden (z.B. Dauer < 7 Minuten), wird einfach das Extrahieren dieses Segments übersprungen. Niemals Teile des Quellvideos ausschneiden, kürzen oder löschen.
  • Nur temporäre Bereinigung: Nur temporäre Arbeitsdateien (wie Beispiel-Frame-JPEGs in einem temporären/Arbeitsordner) dürfen bereinigt werden. Quellvideodateien niemals löschen.

2. Strenge Sicherheit & Schutz von Anmeldeinformationen

[!CAUTION] NIEMALS ANMELDEDATEN ODER TOKEN-DATEIEN LESEN Der Agent darf unter KEINEN Umständen den Inhalt von Anmeldedateien, Geheimnissen oder Token lesen, anzeigen, einsehen oder überprüfen.

  • Keine Überprüfung: Insbesondere niemals Dateien innerhalb von $env:USERPROFILE\Videos\yt-uploader\ (wie request.token, youtube.token.json, client_secrets.json oder andere *.token / *.json-Anmeldedateien) lesen, anzeigen, ausgeben oder mit cat anzeigen.
  • Nur Ausführung: Bei der Ausführung von yutu wird dieses nur mit Umgebungsvariablen (YUTU_CREDENTIAL, YUTU_CACHE_TOKEN) und Befehlszeilenflags aufgerufen. Niemals die Token oder Geheimnisse, die es liest, einsehen oder ausgeben.

3. Schlafvermeidung während unbeaufsichtigter Verarbeitung (Nativer Keep-Awake)

Um einen vollständig unbeaufsichtigten Workflow zu ermöglichen (Erkennung, Clips schneiden, Thumbnails rendern oder Chargen auf YouTube hochladen), während der Bildschirm des Benutzers normal ausgehen oder in den Ruhezustand wechseln kann:

  • Standardmethode (Native Windows-API – Bildschirm darf schlafen): Verwende Windows SetThreadExecutionState mit ES_CONTINUOUS | ES_SYSTEM_REQUIRED (0x80000001). Dies teilt Windows mit, dass die Hintergrundverarbeitung/der Upload aktiv ist, stellt sicher, dass CPU, Festplatte und Netzwerk niemals in den Ruhezustand gehen, während Monitore gemäß den normalen Windows-Energieeinstellungen ausgehen oder schlafen können:
    $sig = '[DllImport("kernel32.dll", SetLastError=true)] public static extern int SetThreadExecutionState(int esFlags);'
    $power = Add-Type -MemberDefinition $sig -Name 'PowerHelper' -Namespace 'SystemSleep' -PassThru
    # System-Schlaf verhindern (Bildschirm-Schlaf erlaubt)
    $power::SetThreadExecutionState([int]0x80000001)
    
  • Sperre aufheben: Sobald alle Batch-Aufgaben oder Uploads abgeschlossen sind, wird der Ausführungsstatus auf den Standard-Continuous-Modus zurückgesetzt:
    $power::SetThreadExecutionState([int]0x80000000)
    
  • Alternative (Caffeine): Caffeine ist unter caffeine64.exe installiert. Da Caffeine alle 59 Sekunden einen Tastatureingabe simuliert, verhindert es den Bildschirmschlaf, es sei denn, der Monitor wird physisch ausgeschaltet. Die native Methode oben ist der Standard.
  • Empfohlene Dauern/Nutzung:
    • Aktiv für die Dauer des Batch-Jobs halten (insbesondere Uploads, die bei 6–8 GB Video 1–3 Stunden dauern können) und sofort nach Abschluss freigeben.

Zielordnerstruktur

Alle verarbeiteten Spiele und Thumbnails werden im Verzeichnis aoe innerhalb eines datumsformatierten Unterordners gespeichert, der aus dem Aufnahme-Dateinamen abgeleitet wird:

$env:USERPROFILE\Videos\aoe\<DDMmmJJ>\
  ├── Spiel 1 - <MeineZiv> vs <GegnerZiv> (<Karte> - <Ergebnis>).mp4
  ├── Spiel 1 - <MeineZiv> vs <GegnerZiv> (<Karte> - <Ergebnis>).png       # Thumbnail, exakt passend zum Video-Dateinamen
  ├── Spiel 3 - <MeinTeamZivs> vs <GegnerZivs> (<Karte> - <Ergebnis>).mp4 # (z.B. Spiel 2 war <7 Min und verworfen)
  ├── Spiel 3 - <MeinTeamZivs> vs <GegnerZivs> (<Karte> - <Ergebnis>).png
  └── ...

Datumsordner-Regel

  • Das Datum wird aus dem Video-Dateinamen extrahiert: JJJJ-MM-TT ...
    • Beispiel: 2026-10-27 20-35-29.mp4 -> 27Okt26
    • Beispiel: 2026-10-29 19-46-42.mp4 -> 29Okt26
    • Format: <Tag><3-Buchstaben-Monat><2-stellige Jahreszahl> (z.B. 13Okt26, 27Okt26, 29Okt26).

Spiel-Filterung & Dauer-Regeln

  1. Kurze Spiele unter 7 Minuten (Auto-Verwerfen / Export überspringen):

    • Jedes Spiel mit einer In-Game-Dauer unter 7 Minuten (z.B. frühe Aufgabe, Verbindungsabbruch, fehlgeschlagener Start) muss vom Export übersprungen werden (nicht als Ausgabe-Clip extrahiert oder gespeichert). Keinen Teil des ursprünglichen Quellvideos löschen, kürzen oder modifizieren.
    • Chronologische Nummerierung beibehalten: Verworfenen Spiele verbrauchen trotzdem ihre chronologische Nummer aus der Aufnahmesession.
      • Beispiel: Wenn Spiel 1 18 Min dauert, Spiel 2 2 Min (verworfen) und Spiel 3 25 Min, dann sind die resultierenden Ausgabedateien Spiel 1 - ... gefolgt von Spiel 3 - .... Spiel 2 wird in der Dateiliste übersprungen, sodass die Nummern die ursprüngliche Match-Reihenfolge genau widerspiegeln.
  2. Einseitige / Langweilige Spiele (Schneiden & Benutzerüberprüfung):

    • Wenn ein Spiel stark einseitig oder langweilig erscheint (z.B. massiver früher Punktevorsprung, minimale Gegenwehr/Aktionen, unausgeglichener Sieg):
      • Das Spiel normal schneiden und speichern im Datumsordner, damit das lokale Material erhalten bleibt.
      • Benutzer benachrichtigen: Den Benutzer über die Clip-Details, den Zeitstempel und den Grund informieren, warum es einseitig/langweilig wirkte. Den Benutzer bitten, den Clip zu überprüfen, bevor entschieden wird, ob er für den YouTube-Upload vorgemerkt wird.

Spiel-Erkennung & Schnitt-Regeln

  1. Clip-Startpunkt:

    • Direkt am Übergang vom Ladebildschirm zum Spielstart beginnen (Stadtzentrum und Starteinheiten erscheinen).
  2. Clip-Endpunkt & Post-Game-Analyse:

    • Post-Game-Analyse behalten: Wenn der Spieler die Post-Game-Ergebnisbildschirme (Zusammenfassung, Militär, Wirtschaft, Technologie, Gesellschaft) überprüft oder eine Wiederholungsanalyse ansieht, diesen Teil im Spiel-Video-Clip behalten.
    • Der Clip endet, wenn der Spieler den Post-Game-Bildschirm/die Wiederholung zurück zum Hauptmenü oder zur Warteschlange verlässt.
  3. Was herausschneiden:

    • Matchmaking-Wartezeiten.
    • Lobby-Wartezeiten und Countdown-Bildschirme für die Zivilisationsauswahl.
    • Jegliche Leerlaufzeit, Desktop-Aktivitäten oder Segmente, in denen die Tastatur nicht benutzt wird (AFK).

Strenge Namenskonventionen

1. Lokale Video- & Thumbnail-Dateinamen (.mp4 / .png)

Lokale Dateien auf der Festplatte werden zur lokalen Verfolgung, Archivierung und Match-Chronologie benannt:

  • Spielnummer: Der chronologische Match-Index aus der Session (Spiel 1, Spiel 2, usw.), wobei übersprungene Nummern für verworfene Spiele <7 Minuten beibehalten werden.
  • Zivilisationen:
    • 1v1: Spiel <N> - <MeineZiv> vs <GegnerZiv> (<Karte> - <Ergebnis/Notiz>).mp4
      • Beispiel: Spiel 1 - Äthiopier vs Franken (Arabien - Sieg).mp4
    • Team: Spiel <N> - <MeinTeamZivs> vs <GegnerZivs> (<Karte> - <Ergebnis/Notiz>).mp4
      • Beispiel: Spiel 3 - Khmer und Franken vs Perser und Böhmen (Arena - Sieg).mp4
  • Thumbnail-Dateiname: Muss zeichengenau mit dem .mp4-Dateinamen übereinstimmen, wobei .mp4 durch .png ersetzt wird.

2. YouTube-Videotitel (Hochgeladen zu YouTube via -title / -metaJSON)

[!IMPORTANT] YOUTUBE-TITEL: KEINE SIEG/NIEDERLAGE-SPOILER & KEINE SPIELNUMMERN Titel, die auf YouTube veröffentlicht werden, dürfen NIEMALS das Match-Ergebnis verraten und NIEMALS Session-Spielnummern enthalten:

  • NIEMALS Sieg oder Niederlage einfügen: Niemals das Match-Ergebnis für das Publikum verraten.
  • NIEMALS Spiel 1, Spiel 2 usw. einfügen: Zuschauer auf YouTube durchsuchen eigenständige Matches, nicht rohe Session-Indizes.
  • Syntax für Standard-YouTube-Titel: <MeinTeamZivs> vs <GegnerZivs> AOE2 <Matchformat> <Karte>
    • 1v1-Format: <MeineZiv> vs <GegnerZiv> AOE2 1v1 <Karte>
      • Beispiel: Khmer vs Böhmen AOE2 1v1 Arena
      • Beispiel: Draviden vs Tataren AOE2 1v1 Arabische Wüste
      • Beispiel: Äthiopier vs Franken AOE2 1v1 Arabische Wüste
    • 2v2-Format: <Ziv1> & <Ziv2> vs <Ziv3> & <Ziv4> AOE2 2v2 <Karte>
      • Beispiel: Khmer & Franken vs Perser & Böhmen AOE2 2v2 Arena
      • Beispiel: Khmer & Bengalen vs Malier & Mongolen AOE2 2v2 Arena
    • 3v3-Format: <Ziv1>, <Ziv2> & <Ziv3> vs <Ziv4>, <Ziv5> & <Ziv6> AOE2 3v3 <Karte>
      • Beispiel: Khmer, Böhmen & Goten vs Äthiopier, Römer & Kelten AOE2 3v3 Arena
    • 4v4-Format: <Ziv1>, <Ziv2>, <Ziv3> & <Ziv4> vs <Ziv5>, <Ziv6>, <Ziv7> & <Ziv8> AOE2 4v4 <Karte>
      • Beispiel: Äthiopier, Franken, Briten & Mayas vs Mongolen, Tataren, Türken & Perser AOE2 4v4 Schwarzwald

Authentische Thumbnails & Dynamische Meme-Richtlinien (.png)

[!IMPORTANT] THUMBNAIL-DATEINAME MUSS MIT VIDEO-DATEINAMEN ÜBEREINSTIMMEN Der Thumbnail-Dateiname für jedes Video muss exakt mit dem Video-Dateinamen übereinstimmen (die Erweiterung wird durch .png ersetzt):

  • Video: Spiel 1 - Äthiopier vs Franken (Arabien - Sieg).mp4
  • Thumbnail: Spiel 1 - Äthiopier vs Franken (Arabien - Sieg).png
  • Video: Spiel 3 - Khmer und Franken vs Perser und Böhmen (Arena - Sieg).mp4
  • Thumbnail: Spiel 3 - Khmer und Franken vs Perser und Böhmen (Arena - Sieg).png

Vermeide irreführendes Clickbait oder sich wiederholende Ein-Meme-Tropen. Das Thumbnail sollte darauf basieren, was tatsächlich passiert ist; Meme-Bearbeitungen sollten abwechslungsreich, organisch und zur Match-Geschichte passend sein:

1. Hochwirksames Thumbnail-Styling & Typografie

Gestalte mutige, kontrastreiche Typografie, optimiert für die Lesbarkeit im mobilen Feed:

  • Großer & Knackiger Text: Die Schriftgröße muss groß und auf mobilen Feeds sofort lesbar sein (fontsize=140 bis 160 bei 1440p, skaliert für andere Auflösungen). Niemals kleine, kontrastarme Schrift (<100) verwenden.
  • Dicke Konturen & Schlagschatten: Einen schweren schwarzen Rand (borderw=8 bis 12) und Schlagschatten (shadowx=4:shadowy=4:shadowcolor=black) verwenden, damit der Text vor jedem Hintergrund hervorsticht.
  • Zweifarbige & mehrfarbige Textgestaltung: Nicht standardmäßig einfarbigen weißen Text verwenden. Kontrastreiche, lebendige Farben über Wörter/Zeilen hinweg verwenden:
    • Oberes Wort in Weiß (#FFFFFF), Unteres/Pointen-Wort in kräftigem Gold/Gelb (#FFD700 oder #FFE500) oder Orange (#FF8C00).
    • Beispiele für zweifarbige Layouts:
      • "LASSEN WIR" (Weiß) / "ETWAS GOLD KLINGELN!" (Gelb)
      • "VORPOSTEN" (Weiß) / "RACHE!" (Orange)
      • "BURG" (Weiß) / "SCHMELZER" (Gelb)
      • "WARUM" (Weiß) / "DIESE BAUEN?!" (Orange)
      • "SKORPION" (Weiß) / "TODESKUGEL" (Gelb)
      • "KELTISCHE BELAGERUNG" (Gelb) / "UNSTOPPBAR" (Weiß)
  • Dynamische & Flexible Textplatzierung (Strenge Subjekt-Freihaltung):
    • [!IMPORTANT] TEXT DARF NIEMALS FOKUSEINHEITEN ODER SUBJEKTE BEDECKEN

    • Die Textüberlagerung darf NIEMALS die fokalen Einheiten, Gebäude oder das taktische Ereignis bedecken, verbergen oder überlagern, das im Haken genannt wird (z.B. wenn der Haken "BELAGERUNGSELEFANTEN-DURCHBRUCH" lautet, müssen die Belagerungselefanten zu 100 % sichtbar und unverdeckt durch den Text bleiben).
    • Text genau dort platzieren, wo er die Aktion NICHT bedeckt (im offenen negativen Raum, Nebel des Krieges oder leerem Gelände).
    • Überprüfen, wo sich Einheiten und Kämpfe auf dem Bildschirm befinden, und Text dynamisch oben mittig, oben links, oben rechts oder unten mittig positionieren, sodass die fokale Aktion und die Subjekt-Einheiten vollständig unverdeckt bleiben.

2. Auswahl des Aktionsrahmens & visuelle Text-Unterlegung

  • Keine Leerlauf-Basis-Frames: NIEMALS einen Frame auswählen, bei dem die Kamera über friedliche heimische Farmen, Stadtzentren oder Wirtschaftswarteschlangen schwenkt, während die Aktion woanders stattfindet.
  • Aktiver Kampf & laufender Angriff (NIEMALS Nach-Gefecht oder leere Ruinen):
    • Der Frame MUSS lebendiges, aktives Kämpfen oder einen laufenden Angriff zeigen: Einheiten, die aktiv im Nahkampf kollidieren, Pfeile schießen, Belagerungsgeschosse abfeuern, eine Wirtschaft überfallen oder eine feindliche Basis/Burg angreifen.
    • KEINE leeren, statischen Ruinen: NIEMALS einen Frame mit zerbrochenen Mauern oder beschädigten Gebäuden auswählen, an dem keine feindlichen Einheiten aktiv angreifen oder anwesend sind. Zerbrochene Mauern ohne aktive Truppen wirken verlassen, statisch und uninteressant.
    • KEIN Nach-Gefecht (Leichen auf dem Boden): NIEMALS einen Frame auswählen, der nach dem Ende des Kampfes aufgenommen wurde und nur tote Leichen/Körper auf dem Boden zeigt, während die verbliebenen Einheiten herumstehen. Die Aktion während des Kampfes einfangen, nicht danach.
  • KEINE Ergebnis-Leaks oder Punktestand-Spoiler:
    • Das Thumbnail darf NIEMALS das Match-Ergebnis verraten:
      • NIEMALS Frames einfangen, die "Spieler X hat aufgegeben" im Chat oder durchgestrichene Spielernamen in der Punktestands-Box zeigen.
      • KEINE Punktestands-Unterschiede/Ruinen-Leaks: NIEMALS einen Frame auswählen, in dem die untere rechte Punktestands-Box eine massive Punktedifferenz anzeigt (z.B. Spieler bei 70–75 % der gegnerischen Punktzahl), während die Basis des Spielers in Trümmern ist/überfallen wird. Dies verrät dem Zuschauer eindeutig eine Niederlage und verdirbt die Spannung. Den Punktestand und den Board-Status mehrdeutig halten oder zuschneiden/bereinigen.
    • Alle Thumbnail-Frames MÜSSEN während des aktiven, spannenden, wettbewerbsorientierten Gameplays aufgenommen werden.
  • Gesichtskamera-Ausdrucksqualität & Zuschneide-Prüfprotokoll:
    • Wenn die Aufnahme eine Webcam/eine Gesichtskamera-Überlagerung enthält:
      • Dedizierte Gesichtskamera-Überprüfung (Zuschneiden & im Maßstab 1:1 überprüfen): Sich niemals ausschließlich auf eine 1440p-Gesamtansicht verlassen, um Gesichtsausdrücke zu beurteilen. Der Agent MUSS den Bereich der Gesichtskamera (crop=390:300:0:890 oder eine äquivalente Webcam-Box) isoliert im Maßstab 1:1 zuschneiden und prüfen, bevor er das Thumbnail-Bild bearbeitet oder exportiert. Damit wird die höchste Qualität der Gesichtsausdrücke sichergestellt.

3. Thumbnail-Meme-Tropen & organische Variation

Unterstützte Meme-Rahmen: Schauen Sie, was ist das (Spiderman)?, Gehirne, Verwüstet, Feuer, Mali-Bank, die allgemeine Idee ist, echten Szenen Meme-Overlays hinzuzufügen. Präferenz für organische, nicht erzwungene Memes – das Thumbnail sollte die Essenz des Matches einfangen.


YouTube-Playlist- & Zeitplan-Management (yutu)

[!IMPORTANT] AUTOMATISCHE PLAYISTEN-ZUORDNUNG (NICHT MANUELL) Ordne Videos NIEMALS manuell YouTube-Playlists zu. Der Befehl yutu verarbeitet Playlisten-IDs automatisch über Flag oder Meta-JSON. Führe yutu einfach mit -playlist oder -metaJSON aus, der die Playlist-URL/das Feld enthält.

[!IMPORTANT] DYNAMISCHE YOUTUBE-UPLOAD-QUELLE (SOCKELLEISTE / VERFÜGBARKEIT) Bevor ein Upload gestartet wird, MUSS der Agent die YouTube-Upload-Warteschlange dynamisch überprüfen, indem er yutu im Log-Modus ausführt, um zu sehen, ob Upload-Slots frei sind und um den geschätzten Veröffentlichungszeitpunkt zu ermitteln. Der Upload-Workflow ist:

  1. Nicht versuchen zu raten: Nicht raten, ob Slots verfügbar sind. Nicht raten, wie viele Videos anstehen.
  2. yutu-Warteschlange abfragen: Führe yutu -log -max 20 -json (oder yutu -log -max 20, falls JSON nicht benötigt wird) aus, um den tatsächlichen Upload-Zeitplan zu erhalten – vergangene, laufende und anstehende Veröffentlichungen.
  3. Ausgabe parsen: Analysiere die Log-Ausgabe von yutu:
    • Zukünftige Uploads identifizieren? Wenn ja, wann ist der nächste Slot + wann ist er verfügbar?
    • Die Ausgabe zeigt: Aktuellen Upload-Status & Veröffentlichungsdatum.
  4. Veröffentlichung planen: Berechne, wann der nächste verfügbare Upload-Slot beginnt, und plane die Video-Veröffentlichung entsprechend.

Beispielablauf:

  • Frage ab -> yutu zeigt: Veröffentlichung um 12:00 Uhr heute, Nächste um 18:00 Uhr heute
  • Antworte dem Benutzer: "Aktuell geplant: 2 Videos. Nächster Upload-Slot um 18:00 Uhr. Video wird um 18:00 Uhr veröffentlicht..."
  • Führe den Hochladebefehl mit -publishAt entsprechend aus.

Arbeitsablauf / Prozess

Schritt 1: Aufnahmesitzung identifizieren

Durchsuche $env:USERPROFILE\Videos\ nach Dateien mit dem Muster JJJJ-MM-TT HH-MM-SS (z.B. 2026-10-27 20-35-29.mp4), die NICHT - aoe-editor-done vor der Erweiterung enthalten.

Schritt 2: Sitzung analysieren und Spiele erkennen

  • Verwende FFmpeg/FFprobe, um die Länge der Sitzung zu bestimmen.
  • Erkenne Ladebildschirm-Übergänge und identifiziere Spielanfänge.
  • Erkenne Post-Game-Bildschirme und Rückkehr zum Hauptmenü, um Spielenden zu identifizieren.
  • Markiere Übergänge des Zeitalteraufstiegs als Kapitelmarken.

Schritt 3: Clip-Parameter bestimmen

Identifiziere für jedes Spiel:

  • Start- und Endzeitstempel
  • Meine Zivilisation(en) und gegnerische Zivilisation(en)
  • Kartenname (aus dem Ladebildschirm)
  • Spieldauer (In-Game-Zeit)
  • Ergebnis (Sieg/Niederlage, aber für YouTube-Titel verstecken!)

Schritt 4: Schneiden und exportieren

  • Spiele unter 7 Minuten überspringen (aber ihre Nummerierung beibehalten).
  • Jedes gültige Spiel extrahieren und gemäß den Namenskonventionen speichern.
  • Einseitige Spiele markieren und zur Überprüfung durch den Benutzer kennzeichnen.

Schritt 5: Thumbnails erstellen

  • Verwende FFmpeg, um einen repräsentativen Frame aus der intensivsten Kampf-Phase zu extrahieren (nicht aus Leerlauf-/Basis-Frames).
  • Wende dynamische Text-Overlays mit geeigneten Meme-Stilen gemäß den Thumbnail-Richtlinien an.
  • Stelle sicher, dass der Thumbnail-Dateiname exakt mit dem Video-Dateinamen übereinstimmt.

Schritt 6: Quellaufnahme nach Fertigstellung umbenennen

Sobald alle Spiele verarbeitet sind, benenne die Quellaufnahme um, indem du - aoe-editor-done vor der Erweiterung anhängst.

Schritt 7: Auf YouTube hochladen (wenn gewünscht)

  • Zeige dem Benutzer alle verarbeiteten Spiele mit Details an.
  • Frage den Benutzer, welche Spiele auf YouTube hochgeladen werden sollen.
  • Erhalte den YouTube-Titel (unter Verwendung des korrekten Formats ohne Spoilern).
  • Überprüfe die Upload-Warteschlange mit yutu -log -max 20.
  • Führe yutu mit korrekten Flags und geplanter Veröffentlichung aus.

Befehl: Verarbeitung einer Sitzung ausführen

Verwende den folgenden Befehl, um eine Sitzungsdatei zu verarbeiten:

$env:USERPROFILE\...\aoe-editor.ps1 -SourcePath "$env:USERPROFILE\Videos\2026-10-27 20-35-29.mp4" -OutputBase "$env:USERPROFILE\Videos\aoe"

Wichtige Tools und Abhängigkeiten

  • FFmpeg: Im System-Pfad installiert (für Videoschnitt, Frame-Extraktion und Thumbnail-Erstellung).
  • ImageMagick (magick): Im System-Pfad installiert (für erweiterte Thumbnail-Bildbearbeitung).
  • yutu ($env:USERPROFILE\Videos\yt-uploader\yutu.exe): YouTube-Upload-Tool.
  • caffeine64.exe: Optionales Tool zur Verhinderung des Systems-Schlafs (wenn Bildschirm an bleiben muss).

Verwandte Skills