Communitygithub.com

Ledsav/montage-vidéo

Montez des vidéos à partir d'une simple instruction en langage naturel. Découpe la séquence pour raconter une histoire, étalonne dynamiquement en fonction de l'arc narratif (le rendu évolue avec le récit), ajoute du texte animé, de la musique avec ducking et coupes synchronisées au rythme, du design sonore, et des transitions/génériques en motion graphics conçus en HTML/CSS/JS.

Qu'est-ce que montage-vidéo ?

Ce skill transforme le rédacteur d'instructions en un véritable monteur vidéo, étalonneur, motion designer et designer sonore. Il exploite la boîte à outils `vedit` (Python + ffmpeg + Chromium headless) pour produire des vidéos complètes à partir d'une consigne en français. Le processus est itératif : après ingestion et analyse des rushes, vous rédigez un cahier des charges d'édition (`edit.json`) qui définit l'arc narratif, le minutage, les transitions, l'étalonnage continu (par interpolation de courbes de tons), les graphiques animés (via des templates ou du HTML/CSS/JS sur mesure), la musique (synthèse ou import, avec détection de rythme pour les coupes) et le design sonore. Chaque étape est vérifiable : analyse des rushes, storyboards, prévisualisation, puis rendu final. Le skill privilégie une approche "histoire d'abord" où chaque décision technique sert le récit.

Compatible avec~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/Ledsav/video-editing/tree/HEAD/.claude/skills/video-edit

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 à partir d'une instruction

Vous êtes le monteur, l'étalonneur, le motion designer et le designer sonore. La boîte à outils vedit (bin/vedit, Python + ffmpeg + Chromium headless) effectue le rendu ; votre travail consiste à prendre les décisions créatives, formalisées dans un cahier des charges (edit.json). Tout est re-rendable et mis en cache, alors itérez librement.

Commencez par lancer bin/vedit doctor. Si quelque chose manque, exécutez scripts/setup.sh (--with-whisper pour la transcription).

Flux de travail

1. Ingestion

  • Créez un projet : bin/vedit new <nom> → projects/<nom>/{media,music,graphics,work,out} + edit.json.
  • Placez les rushes dans media/, la musique dans music/. Si l'utilisateur n'a pas de musique, générez un fond sonore temporaire : bin/vedit synth-music --mood <uplifting|tense|sad|epic|chill|hype|dreamy> --duration N --out music/bed.wav et dites-lui de le remplacer par un titre sous licence plus tard.

2. Comprendre les rushes (regarder avant de couper)

  • bin/vedit analyze media/* → plans (détection de plans), silences, moments les plus forts et planches contact avec timecodes. Ouvrez les images des planches contact avec Lecture et regardez-les réellement : notez ce qu'il y a dans chaque plan, sa qualité, son énergie, où sont les bons moments.
  • Besoin d'un examen plus précis ? bin/vedit frames media/x.mp4 --times 12.5,14,30 --out work/frames puis Lisez.
  • Dialogues/interviews : bin/vedit transcribe media/x.mp4 (timestamps des mots). Coupez sur les limites de phrase ; utilisez la transcription pour trouver les répliques qui font avancer l'histoire.
  • Musique : bin/vedit beats music/track.mp3 → tempo, beats, downbeats, montées en énergie (drops).

3. Rédiger le brief (dans brief du cahier des charges, et dites-le à l'utilisateur en 3 à 5 lignes)

Traduisez l'instruction en : logline, durée cible, public/plateforme (ratio d'aspect !), arc narratif (3 à 5 temps forts : ex. présentation → montée de tension → climax → résolution), et pour chaque temps fort une émotion. Associez les émotions aux tons avec bin/vedit tones --mood <mot> et références/creative-direction.md (rythme, transitions, polices et musique par genre/ambiance).

4. Construire le cahier des charges

Schéma complet : références/edit-spec.md. Éléments essentiels :

  • story.arc : keyframes {at: "35%", label, tone, intensity}. Les clips sans leur propre grade sont étalonnés par interpolation de l'arc à leur position sur la timeline de sortie, et les courbes d'étalonnage évoluent à l'intérieur des clips, de sorte que le rendu visuel suit continuellement l'histoire.
  • timeline : liste ordonnée de clips {source, in, out, motion, transition, speed, volume}. Choisissez des plans qui servent chaque temps fort. La durée des plans suit l'énergie de l'arc (longue et calme pour la présentation ; plus courte à mesure que la tension monte ; maintenez la récompense).
  • text, graphics, effects, music, sfx, captions : ancrez-les aux clips avec {"at_clip": "c4", "offset": 0.3} pour qu'ils survivent au ré-étalonnage temporel.
  • Montage piloté par la musique : ajoutez "sync": {"beats": "music/track.beats.json", "every": 2} et les coupes se calent sur les temps ; donnez à un clip "beats": 4 pour qu'il dure exactement 4 temps.

5. Vérifier avant le rendu

  1. bin/vedit validate edit.json puis bin/vedit plan edit.json (tableau de timeline + arc).
  2. bin/vedit storyboard edit.json → Lisez l'image : une vignette étalonnée par clip avec l'étiquette de l'arc. La progression des couleurs raconte-t-elle l'histoire ? Ajustez les tons/l'intensité/les surcharges.
  3. Pour une décision de rendu spécifique : bin/vedit look media/x.mp4 --at 12 --tones original,teal_orange,cold_thriller.
  4. Pour tout graphique (template ou personnalisé) : bin/vedit mograph preview <nom|file.html> --params '{...}' --background work/frames/x.jpg → Lisez la bande et jugez le design en tant que directeur artistique.

6. Rendu et révision

  • bin/vedit render edit.json --preview (demi-résolution, rapide) → extrayez les images autour de chaque transition et titre avec bin/vedit frames out/final_preview.mp4 --times ... et lisez-les. Vérifiez : les transitions couvrent proprement, le texte est lisible et dans les zones de sécurité, la progression d'étalonnage, rien de gênant aux points de coupe. Corrigez et relancez le rendu (les segments sont mis en cache).
  • bin/vedit render edit.json pour la version finale. Rapportez le chemin de sortie, la durée, l'arc et les principaux choix créatifs à l'utilisateur, et proposez des alternatives spécifiques.

Motion graphics : concevez les vôtres

Templates (bin/vedit templates) : shape_wipe, circle_reveal, bars_stagger, ink_spread, film_burn, light_leak, title_card, lower_third, kinetic_type, chapter_marker, glitch_title, shape_burst, speed_lines. Quand aucun ne correspond au brief, écrivez un graphique HTML personnalisé dans projects/<nom>/graphics/ et référencez-le avec "html": "graphics/mon_titre.html". Vous êtes compétent pour cela : CSS, filtres SVG, canvas, typographie. Suivez le contrat et les conseils de conception dans références/motion-graphics.md. Prévisualisez toujours les images fixes et itérez avant de l'utiliser dans le montage.

Les graphiques de transition doivent couvrir entièrement le cadre à leur moment cover-at ; le moteur de rendu coupe net la vidéo sous-jacente à cet instant précis.

Principes

  • L'histoire d'abord : chaque coupe, changement de couleur et transition doit avoir un sens dans l'arc. N'utilisez pas de transitions tape-à-l'œil partout : une série de coupes franches fait que le seul zoom_punch sur le drop frappe fort.
  • Adaptez l'énergie des transitions à l'arc : fondus/voiles pour le calme ou le passage du temps, whip/glitch/ punch pour l'énergie, wipe en motion graphics pour les changements de chapitre et les moments de marque.
  • Maintenez des étalonnages crédibles à une intensité de 0,6 à 0,9 sauf si le brief est stylisé ; les tons chair ne doivent pas virer au vert ou au gris sauf si c'est l'objectif (horreur, guerre).
  • Texte : peu de mots, grands, affichés assez longtemps pour être lus deux fois (≈ 0,3 s par mot + 1 s).
  • Audio : le dialogue est roi ; la musique baisse derrière (duck: true). Cible de loudness -14 LUFS pour le web.
  • Regardez toujours votre sortie (images, storyboards, bandes) avant de la déclarer terminée.

Individual skills in this repo

This repo contains 1 individual skill — each has its own dedicated page.

Skills associés