wjs-localizing-video (orchestrateur)
Ce skill a été divisé. Ce qui était auparavant un fourre-tout de 1300 lignes est maintenant composé de 4 sous-skills ciblés. Utilisez cet orchestrateur uniquement lorsque l'utilisateur demande le pipeline complet en une seule requête. Pour toute étape individuelle, acheminez directement vers le sous-skill.
Les quatre sous-skills
| Étape | Skill | ENTRÉE | SORTIE |
|---|---|---|---|
| 1. ASR | /wjs-transcribing-audio | audio / vidéo + langue source | SRT en langue source |
| 2. Traduction | /wjs-translating-subtitles | SRT source + langue cible | SRT cible (délimité par la ponctuation) |
| 3. Doublage (optionnel) | /wjs-dubbing-video | vidéo + SRT cible + voix | *_<langue>_dub.mp4 (audio TTS échangé) |
| 4. Incrustation / mixage (optionnel) | /wjs-burning-subtitles | vidéo + SRT + (doublage optionnel) | MP4 final (un encodage) |
Les étapes 3 et 4 sont optionnelles et indépendantes — la plupart des tâches "sous-titres uniquement" s'arrêtent après l'étape 2 + mux logiciel via /wjs-burning-subtitles. La plupart des tâches "doublage uniquement" s'arrêtent après l'étape 3.
Quand invoquer cet orchestrateur vs un sous-skill directement
Invoquez ce skill (wjs-localizing-video) lorsque l'utilisateur demande la chaîne complète en une seule fois :
- "帮我把这个西班牙语视频做成中文字幕和中文配音"
- "translate this Spanish video to English with dubbing"
- "全套:转写、翻译、烧字幕、配音、混音"
Invoquez un sous-skill directement lorsque l'utilisateur demande une seule étape :
- "转写一下这个音频" →
/wjs-transcribing-audio - "把这个 SRT 翻译成中文" →
/wjs-translating-subtitles - "给这个视频配个中文音" →
/wjs-dubbing-video - "把字幕烧进视频" →
/wjs-burning-subtitles
Les sous-skills sont plus ciblés et documentent leurs contrats d'entrée/sortie de manière plus stricte. Ne passez pas par cet orchestrateur lorsqu'une seule étape est la demande complète — vous liriez simplement de la documentation inutile.
Liste de contrôle de progression (à faire EN PREMIER, avant tout sous-skill)
Le pipeline comprend jusqu'à quatre étapes et s'exécute pendant plusieurs minutes. L'utilisateur veut voir une progression en direct, pas un mur de silence suivi d'un fichier terminé. Avant d'invoquer le premier sous-skill, présentez les étapes prévues sous forme de liste de contrôle TaskCreate. Au début de chaque étape, mettez à jour sa tâche à in_progress ; lorsqu'elle se termine, marquez-la comme completed. Claude Code affiche cela sous forme de liste à cocher dans l'interface qui se valide en temps réel.
Quelles tâches créer
Décidez, d'après la demande de l'utilisateur, quel sous-ensemble des 4 étapes sera exécuté :
| L'utilisateur a demandé | Tâches à créer |
|---|---|
| Localisation complète (sous-titres + doublage + mix final) | ① Transcription ② Traduction ③ Doublage ④ Incrustation sous-titres + mixage |
| Sous-titres uniquement (pas de changement de voix) | ① Transcription ② Traduction ③ Incrustation sous-titres (ou mux logiciel) |
| Doublage uniquement (pas d'incrustation) | ① Transcription ② Traduction ③ Doublage |
| L'utilisateur a déjà le SRT source | Ignorer ① ; créer uniquement les étapes restantes |
| L'utilisateur a déjà le SRT cible | Ignorer ① et ② ; créer uniquement les étapes restantes |
Ne créez pas de tâches pour les étapes que vous n'exécuterez pas — un élément non coché à la fin donne l'impression que "nous avons oublié", pas que "nous avons sauté".
Comment formuler les sujets des tâches
Utilisez les mêmes libellés que ceux du "Modèle de réponse finale" ci-dessous, afin que la liste de contrôle en cours et le résumé de fin soient perçus comme le même artefact :
Transcription <langue_source>(par ex.,Transcription espagnol)Traduction → <langue_cible>(par ex.,Traduction → chinois)Doublage <langue_cible>(par ex.,Doublage chinois (Voix hautaine et mature -8%))Incrustation sous-titres + fond sonore <niveau>(par ex.,Incrustation sous-titres + fond sonore 0.18)
Pour activeForm, utilisez la variante en cours (En transcription…, En traduction…, En doublage…, En synthèse…).
Discipline d'état
- Marquez
in_progressuniquement pour la tâche en cours d'exécution (une à la fois). - Marquez
completedimmédiatement lorsque le sous-skill renvoie son fichier de sortie — ne faites pas de regroupement. - Si une étape soulève une question de clarification ou échoue, laissez-la en
in_progressafin que l'utilisateur puisse voir exactement où le pipeline s'est arrêté. Ne marquez pas une étape à moitié terminée comme complétée. - Si l'utilisateur redirige en cours de pipeline (par exemple, "saute le doublage"), mettez à jour les tâches restantes : supprimez celles qui ne sont plus applicables, conservez les autres. Ne les supprimez pas silencieusement.
Pipeline canonique de bout en bout (espagnol → chinois, avec doublage + fond sonore + incrustation)
Il s'agit du "scénario de validation" original — contenu espagnol de yoga/spirituel vers le chinois pour 微信视频号 / 小红书. Parcourt les 4 sous-skills.
Étape 1 — Transcrire la source espagnole
Invoquez /wjs-transcribing-audio avec la vidéo et `--language es`.
Le sous-skill gère : le découpage, les horodatages au niveau du mot, l'assemblage des répliques aux limites de ponctuation, la boucle de garde, les nouvelles tentatives. Sortie : entrevista.srt (espagnol, langue source).
Étape 2 — Traduire en chinois simplifié
Invoquez /wjs-translating-subtitles avec le SRT espagnol et la cible `zh-CN`.
Le sous-skill gère : le re-découpage des répliques à la ponctuation, la réduction des démonstratifs de remplissage, la limitation de la longueur des lignes, la préservation du ton du locuteur. Sortie : entrevista.zh-CN.srt.
Étape 3 — (Optionnel) Doublage en chinois
Invoquez /wjs-dubbing-video avec la vidéo + entrevista.zh-CN.srt + un identifiant de voix.
Par défaut pour une voix féminine mature et contemplative : zh_female_gaolengyujie_moon_bigtts (Volcano 高冷御姐, --rate -8% +0Hz). Si pas d'identifiants Volcano : zh-CN-XiaoxiaoNeural --rate -8% --pitch -10Hz. Le sous-skill échantillonne d'abord, puis valide.
Sortie : entrevista_zh_dub.mp4.
Étape 4 — Incruster les sous-titres et mixer le doublage sur l'original en fond sonore
Invoquez /wjs-burning-subtitles avec --video entrevista.mp4 --srt entrevista.zh-CN.srt --dub entrevista_zh_dub.mp4
Le sous-skill gère : la vérification de disponibilité de libass, le repli sur le binaire statique d'evermeet, le calibrage de la taille de police, la vérification d'image avant le rendu complet, le mixage du fond sonore à 0,18.
Sortie : entrevista_zh_final.mp4 (prêt à être diffusé).
Valeurs par défaut standardisées par l'utilisateur
Elles s'appliquent à l'ensemble du pipeline ; chaque sous-skill impose sa propre partie :
- La reconnaissance vocale chinoise passe d'abord par 豆包 (Volcano) ; Whisper est le repli. Appliqué dans
/wjs-transcribing-audio. - Une seule voix pour tout le doublage, sauf si l'utilisateur mentionne explicitement plusieurs locuteurs. Appliqué dans
/wjs-dubbing-video. - L'audio original est conservé comme un fond sonore à faible volume (0,15–0,25) sous tout doublage. Appliqué dans
/wjs-burning-subtitles. - Incrustation pour 微信视频号 / 抖音 ; mux logiciel pour tout le reste par défaut. Appliqué dans
/wjs-burning-subtitles. - Nom du CTA de la chaîne (si ajouté à la description) : 王建硕 — jamais le nom d'un invité. (Règle globale depuis
~/.claude/CLAUDE.md; s'applique lorsque ce pipeline est suivi de/wjs-uploading-video.)
Convention de nommage des fichiers (préservée du skill original)
entrée : entrevista.mp4
Pipeline chinois :
SRT source entrevista.srt
SRT chinois entrevista.zh-CN.srt
Doublage chinois (audio uniquement) entrevista_zh_dub.mp4
Final chinois (sous-titres + doublage) entrevista_zh_final.mp4
Pipeline anglais :
SRT anglais entrevista.en.srt
Doublage anglais entrevista_en_dub.mp4
Final anglais entrevista_en_final.mp4
Sous-titres bilingues :
Espagnol + chinois entrevista.es-zh.srt
Espagnol + anglais entrevista.es-en.srt
Trois langues entrevista.es-zh-en.srt
Les suffixes au format BCP-47 permettent de conserver plusieurs sorties en langues cibles côte à côte et de rendre la cible évidente en un coup d'œil.
Ce que cet orchestrateur NE fait PAS
- Il ne réimplémente rien. Chaque étape délègue à un sous-skill.
- Il ne regroupe pas les scripts.
dub.pyse trouve dans/wjs-dubbing-video/scripts/,render.pydans/wjs-burning-subtitles/scripts/,visual_diarize.pydans/wjs-dubbing-video/scripts/. Si vous voyez des copies obsolètes souswjs-localizing-video/scripts/, préférez les emplacements canoniques des sous-skills.
Modèle de réponse finale
Lorsque le pipeline complet se termine, répondez brièvement dans la langue de l'utilisateur. Suivez le modèle "Terminé" original auquel l'utilisateur est habitué :
Terminé :
- Transcription espagnol (/wjs-transcribing-audio)
- Traduction chinois (/wjs-translating-subtitles)
- Doublage chinois (/wjs-dubbing-video, voix : Voix hautaine et mature -8%)
- Incrustation sous-titres + fond sonore 0,18 (/wjs-burning-subtitles)
Sortie :
- entrevista.srt
- entrevista.zh-CN.srt
- entrevista_zh_dub.mp4
- entrevista_zh_final.mp4
Parties incertaines :
- 00:01:23–00:01:26 Bruit de fond important, le texte original pourrait ne pas être parfaitement exact.
S'il n'y a pas de parties incertaines, supprimez la deuxième liste.
Voir aussi
/wjs-segmenting-video— découpe une vidéo longue en clips courts autonomes (utilise son propre découpeur SRT ; orthogonal à ce pipeline)./wjs-overlaying-video— sous-titres HTML/CSS sur un clip via HyperFrames. Ne combinez pas avec/wjs-burning-subtitles— choisissez un système de sous-titrage par sortie./wjs-uploading-video— pousse le MP4 final vers YouTube./lark-minutes— chemin alternatif pour la transcription chinoise uniquement via 飞书妙记 lorsque l'ASR local 豆包 n'est pas configuré.