Communitygithub.com

blazerior — polish vertical EDL+karaoke

Polish vertical piloté par transcript : EDL, étalonnage, ASS karaoke, cartes HTML. hero before/after. Sans NLE.

Qu'est-ce que blazerior — polish vertical EDL+karaoke ?

Short-form étape 2 : blazerior — transcript→EDL+karaoke. Fresque vs Hormozi 25/09.

Compatible avec✓Claude Code✓Codex CLI~Cursor
npx skills add blazerior/videoediting-claude-skill

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

Montage vidéo avec ffmpeg

Vous êtes un monteur qui travaille avec une transcription et des graphes de filtres, plutôt qu'avec une souris et un timeline. Le pipeline est déterministe : tout est édité en texte et reconstruit avec une seule commande.

rushes → transcription avec timings mot par mot → EDL (liste de montage) → ffmpeg → vidéo terminée
                    ↑                               ↑
             faster-whisper                 éditée à la main — c'est ici que se fait le montage

Principe fondamental : la vidéo n'est jamais analysée pixel par pixel — le montage est piloté par le texte horodaté. La parole définit la structure ; l'image la sert.

Un seul rouleau ou plusieurs ?

Décidez cela en premier — cela change tout en aval.

  • Un ou deux rouleaux → suivez l'ordre des étapes ci-dessous, de manière conversationnelle.
  • Trois rouleaux ou plus → passez au pipeline par lots : references/batch-pipeline.md. Chaque étape s'exécute une fois sur l'ensemble du projet et utilise un cache basé sur le hachage d'entrée. Faire dix rouleaux de manière conversationnelle coûte environ dix fois plus de contexte sans aucun avantage.

Ordre du travail

Suivez toujours les étapes, ne sautez jamais d'étape. Chaque étape produit l'entrée de la suivante.

  1. Vérifiez l'environnement. Si ffmpeg / faster-whisper / Chrome sont manquants → references/setup.md. Sur une machine vierge, cela prend dix minutes.
  2. Obtenez la source. Si l'utilisateur vous a donné une URL au lieu d'un fichier, récupérez-la d'abord avec download.py.
  3. Inspectez la source — ffprobe, détection de scène, une planche contact. Regardez les images de vos propres yeux via Read. Ne montez jamais à l'aveugle à partir du seul texte.
  4. Transcrivez avec des timings mot par mot et relisez le résultat. La reconnaissance vocale fait des erreurs de mots même sur un audio propre. Pas de modèle local ? transcribe_cloud.py obtient le même résultat à partir de Groq/OpenAI.
  5. Convenez du concept avec l'utilisateur s'il n'en a pas spécifié un : format, ce qui va dans les graphiques, plateforme cible. Une question, pas un questionnaire.
  6. Construisez l'EDL — coupez les silences, ne coupez jamais les idées.
  7. Construisez base, puis vérifiez les coupes image par image.
  8. Générez les sous-titres et les incrustations, construisez final.
  9. Exécutez la checklist d'acceptation et livrez le fichier avec SendUserFile.

Commandes complètes pour chaque étape — references/pipeline.md.

Ce que ce pipeline peut et ne peut pas faire

Peut : coupe sémantique, suppression des silences, punch-in sur les coupes, étalonnage (y compris les LUT .cube), sous-titres mot par mot, infographies arbitrairement complexes via HTML/CSS, stabilisation, normalisation du volume pour les plateformes sociales, traitement par lots. Avec le plugin Remotion installé, également des graphiques animés rendus à partir de React — voir references/remotion.md.

Ne peut absolument pas — dites-le clairement si l'utilisateur le demande : suivi d'objet (épingler un sous-titre à une main en mouvement) et masque d'étalonnage. Ceux-ci nécessitent encore Premiere / DaVinci / After Effects.

Ne peut pas seul, mais peut avec FableCut installé : coupe créative image par image, animation d'images clés, transitions, rampes de vitesse, incrustation chroma key, coupe au rythme de la musique. FableCut est un timeline de navigateur qu'un agent pilote via MCP — voir references/fablecut.md. Il n'a pas de reconnaissance vocale et son exportation nécessite un clic humain, donc la structure pilotée par la parole et les lots sans surveillance restent dans ce pipeline.

Outils prêts à l'emploi

assets/tools/ contient douze scripts fonctionnels — copiez-les dans le projet, ne les réécrivez pas de zéro :

ScriptCe qu'il fait
download.pyrécupère les rushes source à partir d'une URL (yt-dlp) — ignorez si vous avez déjà un fichier local
transcribe.pyfaster-whisper → transcript.json avec timings mot par mot + .srt
transcribe_cloud.pymême sortie, via l'API Groq/OpenAI Whisper — pas de téléchargement de modèle, nécessite une clé API
pauses.pyliste les pauses dans la parole — la base de l'EDL
dump_words.pychaque mot avec son index et sa confiance — pour la relecture
make_ass.pysous-titres ASS mot par mot, resynchronisés sur le timeline post-coupe
render_overlays.pyHTML/CSS → Chrome headless → PNG 1080×1920 avec alpha
build.pyassemblage : base (coupe + étalonnage), final (incrustations + sous-titres + audio)
build_vo.pyidem, mais pour une piste de voix-off séparée — vidéo de plusieurs sources adaptée à l'audio
batch_vo.pytranscrire chaque voix-off en un seul chargement de modèle
mute_subs.pysupprime les sous-titres lorsqu'une carte plein écran est à l'écran
pipeline.pypilote par lots — chaque étape pour chaque rouleau, avec mise en cache

assets/templates/ contient des squelettes edl.json, overlays.json et corrections.json.

Organisez le projet comme ceci :

<dossier contenant les rushes>/
├── IMG_XXXX.MOV
└── edit/
    ├── tools/        ← les scripts copiés
    ├── work/         ← fichiers intermédiaires, jamais livrés
    ├── overlays/     ← PNG rendus
    ├── out/          ← vidéos terminées
    ├── edl.json  overlays.json  corrections.json  subs.ass

Fichiers de référence

Chargez-les à la demande, pas tous à la fois :

Règles qui font ou défont la vidéo

Apprises sur de véritables réalisations, pas dans la documentation.

  1. Regardez les images. Une transcription ne vous dira pas que le locuteur se lève ou se recoiffe à cet instant précis. Ce sont précisément les endroits où les coupes échouent.
  2. Une carte va au-dessus du visage, jamais dessus. La première tentative place toujours le panneau au milieu du cadre, couvrant les yeux. Le regard du locuteur est la moitié de la confiance que la vidéo gagne.
  3. Coupez à la fin d'une phrase, pas sur un chronomètre. Couper "toutes les N secondes" coupe les idées en deux.
  4. Laissez 0,2 à 0,3 s de chaque silence. Un silence réduit à zéro sonne comme un bégaiement.
  5. Ne touchez jamais aux silences dramatiques — après une question, avant une conclusion. Là, le silence fait le travail.
  6. Alternez le zoom entre les segments. Ainsi, une coupe est perçue comme un changement d'angle plutôt qu'une erreur.
  7. Laissez un passage sans aucun graphisme. Le spectateur a besoin d'air ; un mur solide de cartes est épuisant.
  8. Relisez les sous-titres. Une erreur de reconnaissance gravée dans l'image est permanente.
  9. Vérifiez en regardant, pas par foi. Extrayez des images fixes, empilez-les avec hstack, ouvrez le résultat via Read.
  10. Ne livrez jamais sans la checklist d'acceptation dans pipeline.md.
  11. Ne laissez jamais un outil réécrire dans un fichier de configuration. Un script qui ajoute sa propre sortie à l'EDL double la taille de ce fichier, et chaque modification ultérieure fait écho au tout dans le contexte. Les données générées appartiennent au dossier work/.
  12. Lisez vous-même la première et la dernière ligne de la transcription. Whisper hallucine des textes fabriqués sur le silence — classiquement une fausse ligne de crédit de sous-titreur sur un audio russe — et cela peut porter un score de confiance parfaitement normal. Les deux scripts de transcription filtrent les cas évidents automatiquement, mais le filtre n'est pas étanche. Voir troubleshooting.md #17.

Orchestration

La tâche est en plusieurs étapes — créez des tâches avec TaskCreate pour les phases (transcription, EDL, étalonnage, graphismes, assemblage) et maintenez leur statut à jour. Lancez les opérations longues (téléchargement du modèle, rendu de base) en arrière-plan et utilisez ce temps pour un travail qui n'en dépend pas : pendant que le modèle se télécharge, concevez les incrustations et testez les étalonnages sur des images fixes.

Livrez la vidéo terminée avec SendUserFile et une courte note sur ce qui a changé.

Skills associés