Communitygithub.com

wjs-Videolokalisierung (Orchestrator)

Dünner Orchestrator für die End-to-End-Videolokalisierung: Leitet an die Unterskills wjs-Transcribing-Audio → Translating-Subtitles → Dubbing-Video → Burning-Subtitles weiter. 131★ Suite.

Was ist wjs-Videolokalisierung (Orchestrator)?

Dieser Skill ist ein Orchestrator, der den vollständigen Videolokalisierungsprozess von der Transkription bis zur Untertitelung und Vertonung verwaltet. Er wurde aus einem monolithischen 1300-Zeilen-Skill in vier fokussierte Unterskills aufgeteilt und sollte nur dann eingesetzt werden, wenn der Benutzer die gesamte Pipeline in einer Anfrage anfordert. Der Orchestrator plant die Schritte in einer Checkliste, aktualisiert den Fortschritt live und gibt die finale Antwort aus. Er unterstützt die Plattformen Claude Code und Cursor. Die Hauptvorteile liegen in der klaren Trennung der Verantwortlichkeiten, der Live-Fortschrittsanzeige und der flexiblen Pipeline, die je nach Benutzeranfrage nur die benötigten Schritte ausführt (z.B. nur Untertitel ohne Vertonung). Der Orchestrator delegiert die eigentliche Arbeit an die spezialisierten Unterskills /wjs-transcribing-audio, /wjs-translating-subtitles, /wjs-dubbing-video und /wjs-burning-subtitles, die jeweils für ihre spezifische Aufgabe optimiert sind.

Funktioniert mit✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/jianshuo/claude-skills/tree/main/wjs-localizing-video

In Ihrer bevorzugten KI fragen

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

Dokumentation

Was macht wjs-Videolokalisierung (Orchestrator)?

Dieser Skill wurde aufgeteilt. Was früher ein 1300-Zeilen-Monolith war, sind nun 4 fokussierte Unterskills. Verwenden Sie diesen Orchestrator nur, wenn der Benutzer die gesamte Pipeline in einer Anfrage anfordert. Für einzelne Schritte leiten Sie direkt an den entsprechenden Unterskill weiter.

Die vier Unterskills

SchrittSkillINAUS
1. ASR/wjs-transcribing-audioAudio / Video + QuellspracheSRT in Quellsprache
2. Übersetzen/wjs-translating-subtitlesQuell-SRT + ZielspracheZiel-SRT (an Satzzeichen getrennt)
3. Vertonen (optional)/wjs-dubbing-videoVideo + Ziel-SRT + Stimme*_<sprache>_dub.mp4 (TTS-Audio ausgetauscht)
4. Einbrennen / Mischen (optional)/wjs-burning-subtitlesVideo + SRT + (optional Vertonung)Finales MP4 (ein Encodierungslauf)

Schritte 3 und 4 sind optional und unabhängig – die meisten „Nur-Untertitel“-Aufträge enden nach Schritt 2 + Soft-Mux über /wjs-burning-subtitles. Die meisten „Nur-Vertonung“-Aufträge enden nach Schritt 3.

Wann dieser Orchestrator und wann direkt ein Unterskill verwendet wird

Diesen Skill aufrufen (wjs-Videolokalisierung) wenn der Benutzer die gesamte Kette auf einmal anfordert:

  • „Hilf mir, dieses spanische Video mit chinesischen Untertiteln und chinesischer Vertonung zu versehen“
  • „translate this Spanish video to English with dubbing“
  • „Komplett: Transkription, Übersetzung, Untertitel einbrennen, Vertonung, Mischen“

Direkt einen Unterskill aufrufen wenn der Benutzer nur einen Schritt anfordert:

  • „Transkribiere diese Audiodatei“ → /wjs-transcribing-audio
  • „Übersetze diese SRT ins Chinesische“ → /wjs-translating-subtitles
  • „Vertone dieses Video auf Chinesisch“ → /wjs-dubbing-video
  • „Brenne die Untertitel in das Video ein“ → /wjs-burning-subtitles

Die Unterskills sind spezialisierter und dokumentieren ihre Ein-/Ausgabeverträge präziser. Leiten Sie nicht über diesen Orchestrator, wenn ein einzelner Schritt die gesamte Anfrage ist – Sie lesen dann nur Dokumentation, die Sie nicht brauchen.

Fortschritts-Checkliste (Zuerst ausführen, VOR jedem Unterskill)

Die Pipeline umfasst bis zu vier Schritte und läuft mehrere Minuten. Der Benutzer möchte Live-Fortschritt sehen, keine Funkstille gefolgt von einer fertigen Datei. Bevor Sie den ersten Unterskill aufrufen, legen Sie die geplanten Schritte als TaskCreate-Checkliste an. Aktualisieren Sie den Task auf in_progress, wenn Sie einen Schritt starten; markieren Sie ihn als completed, wenn er abgeschlossen ist. Claude Code rendert dies als Checkliste in der Benutzeroberfläche, die in Echtzeit abgehakt wird.

Welche Tasks erstellt werden

Entscheiden Sie anhand der Benutzeranfrage, welche Teilmenge der 4 Schritte ausgeführt wird:

BenutzeranfrageZu erstellende Tasks
Vollständige Lokalisierung (Untertitel + Vertonung + finaler Mix)① Transkription ② Übersetzung ③ Vertonung ④ Untertitel einbrennen + Mischen
Nur Untertitel (keine Stimmänderung)① Transkription ② Übersetzung ③ Untertitel einbrennen (oder Soft-Mux)
Nur Vertonung (kein Einbrennen)① Transkription ② Übersetzung ③ Vertonung
Benutzer hat bereits Quell-SRTSchritt ① überspringen; nur die verbleibenden Schritte erstellen
Benutzer hat bereits Ziel-SRTSchritte ① und ② überspringen; nur die verbleibenden erstellen

Erstellen Sie keine Tasks für Schritte, die Sie nicht ausführen – ein nicht angehaktes Element am Ende wirkt wie „vergessen“, nicht wie „übersprungen“.

Wie die Task-Betreffe formuliert werden

Verwenden Sie dieselben Bezeichnungen wie in der untenstehenden „Abschlussantwort-Vorlage“, damit die Fortschritts-Checkliste und die Zusammenfassung am Ende wie ein zusammenhängendes Artefakt wirken:

  • Transkription <quellsprache> (z.B. Transkription Spanisch)
  • Übersetzung → <zielsprache> (z.B. Übersetzung → Chinesisch)
  • Vertonung <zielsprache> (z.B. Vertonung Chinesisch (Erhabene Dame -8%))
  • Untertitel einbrennen + Originalton als Hintergrund <pegel> (z.B. Untertitel einbrennen + Originalton als Hintergrund 0.18)

Für activeForm verwenden Sie die Verlaufsform (Transkription läuft…, Übersetzung läuft…, Vertonung läuft…, Synthese läuft…).

Zustandsdisziplin

  • Markieren Sie nur den gerade laufenden Task als in_progress (immer nur einer).
  • Markieren Sie sofort completed, wenn der Unterskill seine Ausgabedatei zurückgibt – nicht in Batches.
  • Wenn ein Schritt eine Rückfrage aufwirft oder fehlschlägt, lassen Sie ihn als in_progress, damit der Benutzer genau sehen kann, wo die Pipeline gestoppt wurde. Markieren Sie einen halbfertigen Schritt nicht als abgeschlossen.
  • Wenn der Benutzer die Pipeline umleitet (z.B. „Vertonung überspringen“), aktualisieren Sie die verbleibenden Tasks: Löschen Sie die nicht mehr zutreffenden, behalten Sie die restlichen. Lassen Sie sie nicht stillschweigend wegfallen.

Kanonische End-to-End-Pipeline (Spanisch → Chinesisch, mit Vertonung + Hintergrund + Einbrennen)

Dies ist das ursprüngliche „Validierungsszenario“ – spanische Yoga-/Spiritualitätsinhalte ins Chinesische für 微信视频号 / 小红书. Führt durch alle 4 Unterskills.

Schritt 1 – Spanische Quelle transkribieren

Rufen Sie /wjs-transcribing-audio mit dem Video und `--language es` auf.

Der Unterskill übernimmt: Aufteilung, wortgenaue Zeitstempel, Zusammenstellung der Cues an Satzzeichen, Schleifenschutz, Wiederholungsversuche. Ausgabe: entrevista.srt (Spanisch, Quellsprache).

Schritt 2 – In vereinfachtes Chinesisch übersetzen

Rufen Sie /wjs-translating-subtitles mit der spanischen SRT und dem Ziel `zh-CN` auf.

Der Unterskill übernimmt: Neuzuschneiden der Cues an Satzzeichen, Minimierung von Füllwörtern, Begrenzung der Zeilenlänge, Beibehaltung des Sprechertons. Ausgabe: entrevista.zh-CN.srt.

Schritt 3 – (Optional) Auf Chinesisch vertonen

Rufen Sie /wjs-dubbing-video mit dem Video + entrevista.zh-CN.srt + einer Sprach-ID auf.

Standard für reife, kontemplative weibliche Stimme: zh_female_gaolengyujie_moon_bigtts (HuoShan 高冷御姐, --rate -8% +0Hz). Ohne Volcano-Zugangsdaten: zh-CN-XiaoxiaoNeural --rate -8% --pitch -10Hz. Der Unterskill testet zuerst, dann wird ausgeführt.

Ausgabe: entrevista_zh_dub.mp4.

Schritt 4 – Untertitel einbrennen + Vertonung über den Originalton als Hintergrund mischen

Rufen Sie /wjs-burning-subtitles mit --video entrevista.mp4 --srt entrevista.zh-CN.srt --dub entrevista_zh_dub.mp4 auf

Der Unterskill übernimmt: Verfügbarkeitsprüfung von libass, Fallback auf evermeet-Statikbuild, Schriftgrößenkalibrierung, Einzelbildprüfung vor Vollrender, Audiomischung des Hintergrunds bei 0.18.

Ausgabe: entrevista_zh_final.mp4 (auslieferungsbereit).

Vom Benutzer standardisierte Voreinstellungen

Diese gelten für die gesamte Pipeline; jeder Unterskill setzt seinen eigenen Teil durch:

  • Chinesische ASR geht zuerst zu 豆包 (Volcano); Whisper ist Fallback. Durchgesetzt in /wjs-transcribing-audio.
  • Eine einzige Stimme für die gesamte Vertonung, es sei denn, der Benutzer erwähnt explizit mehrere Sprecher. Durchgesetzt in /wjs-dubbing-video.
  • Originalton als leiser Hintergrund (0.15–0.25) unter jeder Vertonung behalten. Durchgesetzt in /wjs-burning-subtitles.
  • Einbrennen für 微信视频号 / 抖音; Soft-Mux für alles andere standardmäßig. Durchgesetzt in /wjs-burning-subtitles.
  • Channel-CTA-Name (falls zur Beschreibung hinzugefügt): 王建硕 – niemals ein Gastname. (Globale Regel aus ~/.claude/CLAUDE.md; gilt, wenn diese Pipeline von /wjs-uploading-video gefolgt wird.)

Dateinamenskonvention (aus dem ursprünglichen Skill übernommen)

Eingabe:                       entrevista.mp4

Chinesische Pipeline:
  Quell-SRT                 entrevista.srt
  Chinesische SRT           entrevista.zh-CN.srt
  Chinesische Vertonung     entrevista_zh_dub.mp4
  Finale (Untertitel+Vert.) entrevista_zh_final.mp4

Englische Pipeline:
  Englische SRT             entrevista.en.srt
  Englische Vertonung       entrevista_en_dub.mp4
  Finale (Untertitel+Vert.) entrevista_en_final.mp4

Zweisprachige Untertitel:
  Spanisch + Chinesisch     entrevista.es-zh.srt
  Spanisch + Englisch       entrevista.es-en.srt
  Dreisprachig              entrevista.es-zh-en.srt

BCP-47-artige Suffixe halten mehrere Zielsprachenausgaben nebeneinander und machen die Zielsprache auf einen Blick erkennbar.

Was dieser Orchestrator NICHT tut

  • Er implementiert nichts neu. Jeder Schritt delegiert an einen Unterskill.
  • Er bündelt keine Skripte. dub.py lebt in /wjs-dubbing-video/scripts/, render.py in /wjs-burning-subtitles/scripts/, visual_diarize.py in /wjs-dubbing-video/scripts/. Wenn Sie veraltete Kopien unter wjs-Videolokalisierung/scripts/ sehen, bevorzugen Sie die kanonischen Speicherorte der Unterskills.

Vorlage für die Abschlussantwort

Wenn die gesamte Pipeline abgeschlossen ist, antworten Sie kurz in der Sprache des Benutzers. Passen Sie die Antwort an die gewohnte „Fertig“-Vorlage des Benutzers an:

Abgeschlossen:
- Spanisch transkribiert  (/wjs-transcribing-audio)
- Chinesisch übersetzt    (/wjs-translating-subtitles)
- Chinesisch vertont      (/wjs-dubbing-video, Stimme: 高冷御姐 -8%)
- Untertitel eingebrannt + Originalton als Hintergrund 0.18  (/wjs-burning-subtitles)

Ausgabe:
- entrevista.srt
- entrevista.zh-CN.srt
- entrevista_zh_dub.mp4
- entrevista_zh_final.mp4

Unsicherheitsbereiche:
- 00:01:23–00:01:26 Hintergrundgeräusche stark, Original möglicherweise nicht vollständig korrekt.

Wenn es keine unsicheren Teile gibt, lassen Sie die zweite Liste weg.

Siehe auch

  • /wjs-segmenting-video – Langformvideos in eigenständige Kurzclips schneiden (verwendet eigenen SRT-Slicer; orthogonal zu dieser Pipeline).
  • /wjs-overlaying-video – HTML/CSS-Untertitel auf einem Clip über HyperFrames. Nicht mit /wjs-burning-subtitles kombinieren – wählen Sie ein Untertitelsystem pro Ausgabe.
  • /wjs-uploading-video – Das finale MP4 auf YouTube hochladen.
  • /lark-minutes – Alternativer chinesischsprachiger Transkriptionspfad über 飞书妙记, wenn lokale 豆包 ASR nicht eingerichtet ist.

Individual skills in this repo

This repo contains 5 individual skills — each has its own dedicated page.

Verwandte Skills