Communitygithub.com

Montage vidéo professionnel

Montez une vidéo comme un éditeur professionnel et ajoutez des effets sonores depuis une bibliothèque locale. Utilisez-le pour couper, rythmer, restructurer, réviser ou exporter une vidéo ; pour choisir des points de coupe ; pour ajouter, synchroniser ou mixer des effets sonores (whooshs, impacts, crescendos, sons d'interface, ambiances) ; ou pour préparer des proxies, l'étalonnage, les codecs et la livraison.

Qu'est-ce que Montage vidéo professionnel ?

Cette compétence permet de monter des vidéos de manière professionnelle en combinant un jugement éditorial humain, un éditeur de timeline en ligne de commande (`vedit`) et des outils sonores avancés. Elle est conçue pour les développeurs et les utilisateurs d'agents IA qui souhaitent automatiser ou assister le montage vidéo, avec un support complet pour les coupures, les titres, les transitions, les effets sonores et les préréglages vocaux. Le flux de travail est structuré en sept étapes : réception, indexation, assemblage, affinage, placement sonore, vérification et livraison. L'éditeur `vedit` permet de manipuler la timeline via des commandes JSON, d'animer des paramètres (zoom, position, rotation, vitesse) et de rendre des projets. Les outils sonores indexent une bibliothèque d'effets sonores, permettent de les rechercher par sens et de les placer image par image sur la vidéo à l'aide de FFmpeg. La compétence insiste sur l'honnêteté : l'agent ne peut pas entendre l'audio ni voir la vidéo, il doit donc se fier aux mesures (transcriptions, détection de silence, scripts de QC) et suggérer des timestamps à vérifier par l'utilisateur. Les bibliothèques sonores ne sont pas incluses ; une configuration unique est nécessaire pour télécharger et indexer les sons.

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

Demander à votre IA préférée

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

Documentation

Que fait Montage vidéo professionnel ?

Cette compétence se compose de trois parties qui fonctionnent ensemble :

  1. Jugement éditorial : quoi couper, où et pourquoi, pour que le résultat semble réalisé par une personne ayant du goût et non assemblé par une machine.
  2. L'éditeur (vedit) : un petit éditeur de timeline que vous utilisez entièrement en ligne de commande. Les coupes, titres, fondus, effets sonores et préréglages vocaux passent par lui, et la personne peut ouvrir le même projet dans un navigateur.
  3. Outils sonores : indexer une bibliothèque d'effets sonores, la rechercher et placer les sons pour que l'impact tombe sur l'image exacte.

Les chemins ci-dessous sont relatifs au dossier de cette compétence. Les outils nécessitent Python 3.9+ et FFmpeg 5+ (rien d'autre à installer).

Soyez honnête sur ce que vous pouvez et ne pouvez pas faire

  • Vous ne pouvez pas entendre l'audio ni regarder la vidéo. Jugez par mesure (transcriptions, détection de scènes et de silence, scripts/qc_audio.py) et dites-le. Après le rendu, nommez deux ou trois timestamps que l'utilisateur doit vérifier à l'oreille.
  • N'inventez jamais de noms ou d'identifiants de fichiers sonores. Utilisez uniquement les identifiants retournés par scripts/sfx_search.py.
  • Si scripts/sfx_search.py --stats indique qu'aucun catalogue n'existe, la bibliothèque sonore n'est pas encore configurée. Proposez la configuration unique ci-dessous et attendez un oui avant de télécharger. Si l'utilisateur refuse ou si cela échoue, faites quand même le travail éditorial et orientez-le vers references/sfx-library-setup.md. Ne téléchargez jamais vous-même une autre bibliothèque sonore.

Principes fondamentaux (version courte)

Texte complet avec exemples : references/editorial-principles.md. Lisez-le avant de couper ou de réviser une coupe.

  1. L'émotion d'abord. Demandez ce que le spectateur devrait ressentir à chaque instant. S'il le ressent tout au long, le montage fonctionne.
  2. Hiérarchie de la coupe. Lorsqu'une coupe ne peut pas satisfaire tout, sacrifiez les éléments à partir du bas de cette liste en premier : émotion, histoire, rythme, trace oculaire, planarité, continuité spatiale. Ne sacrifiez jamais un élément supérieur pour un élément inférieur.
  3. Couper là où une pensée se termine, au moment où un spectateur clignerait des yeux. Un point de coupe doit être un point de clignement possible.
  4. Faire le plus avec le moins. La suggestion vaut mieux que l'exposé. Moins de choix, mais meilleurs. Ne pas couper est aussi une décision.
  5. Jugez uniquement ce qui est à l'écran. Ignorez l'effort, le coût et l'intention.
  6. Détournez l'attention comme un magicien : décidez où va le regard, et faites en sorte que le plan suivant le rencontre.
  7. Diagnostiquez avant de réparer. Un problème est souvent plus tôt que là où les spectateurs disent l'avoir ressenti.

Flux de travail

ÉtapeCe qu'il faut faireRéférence
1. RéceptionConfirmer le livrable (plateforme, format, fps, durée) et l'intention en une phrase.technical-pipeline.md
2. IndexationIndexer tous les rushs : transcription avec horodatage des mots, type de plan, silences, meilleures prises. Choisir une image représentative par configuration.editorial-principles.md
3. AssemblageConstruire l'histoire dans l'ordre avec le meilleur matériel. Structure avant polissage.editorial-principles.md
4. AffinageAppliquer la hiérarchie de coupe et le timing de clignement. Revoir les rushs rejetés après le premier passage complet.editorial-principles.md
5. SonRepérer, rechercher, placer et mixer les SFX.sfx-placement.md
6. VérificationRegarder d'une traite en tant que public. Exécuter le script QC.ci-dessous
7. LivraisonRelier à la pleine qualité, assortir les couleurs/niveaux, exporter d'abord un master.technical-pipeline.md

En rendant le travail, indiquez : l'intention pour laquelle vous avez monté, les principaux choix structurels, ce que vous avez retiré et pourquoi, les compromis connus et les alternatives à essayer.

L'éditeur (vedit)

Utilisez-le pour réaliser le montage. Lisez references/editor.md d'abord ; il contient toutes les commandes, le format de projet et une méthode de travail. L'essentiel :

python3 editor/vedit.py new myfilm --size 1920x1080          # un dossier de projet (utilisez `python` sous Windows si python3 est manquant)
python3 editor/vedit.py -p myfilm settings --preset vertical # canevas pour la destination (Reels/TikTok/Shorts) ; aussi --lufs -14
python3 editor/vedit.py -p myfilm analyze clip.mp4           # silences et changements de scène, pour choisir les coupes
python3 editor/vedit.py -p myfilm import clip.mp4            # imprime un identifiant d'actif tel que a1
python3 editor/vedit.py -p myfilm add a1 --in 12.5 --dur 8   # mettre 8 s de celui-ci sur la timeline
python3 editor/vedit.py -p myfilm grade c1 --look cinematic  # couleur ; aussi --brightness --contrast --saturation --temperature --lut FILE
python3 editor/vedit.py -p myfilm key c1 scale --at 0 --value 1; python3 editor/vedit.py -p myfilm key c1 scale --at 8 --value 1.15 --ease inout   # ralentir le zoom avant
python3 editor/vedit.py -p myfilm transition c1 c2 --type dissolve --dur 0.5
python3 editor/vedit.py -p myfilm key c1 speed --at 0 --value 1   # rampe de vitesse : ajouter plus d'images clés sur `speed` (le son du clip lui-même est coupé) ; aussi : reverse c1, freeze c1 --at 4 --dur 2
python3 editor/vedit.py -p myfilm tracker add c1 --at 4 --x 0.6 --y 0.3   # suivre un point ; puis : mask c1 --effect blur, follow c1 m1 t1 (flouter un visage) ou attach c2 t1 (un titre le suit)
python3 editor/vedit.py -p myfilm stabilize c1               # lisser le bougé de caméra (nécessite FFmpeg avec libvidstab)
python3 editor/vedit.py -p myfilm captions subtitles.srt     # un clip de texte par sous-titre
python3 editor/vedit.py -p myfilm sfx a3f9c012 --at 8.0      # identifiant sonore de scripts/sfx_search.py ; l'impact tombe à 8.0 s
python3 editor/vedit.py -p myfilm set c1 preset="voice enhancer"
python3 editor/vedit.py -p myfilm check                      # corriger chaque erreur signalée
python3 editor/vedit.py -p myfilm render --preview           # rapide ; puis `frame --at T` et regardez le PNG
python3 editor/vedit.py -p myfilm measure --at 4             # valeurs de luminosité/couleur, pour juger l'exposition et l'étalonnage
python3 editor/vedit.py -p myfilm serve                      # laisser la personne ouvrir et ajuster dans le navigateur
  • Vous avez un contrôle total : chaque commande imprime du JSON, les erreurs sont simples, batch applique plusieurs modifications en un seul changement, et undo annule la dernière. Les images clés peuvent animer le zoom, la position, la rotation, l'opacité, la couleur, le volume et la vitesse ; editor.md liste le reste (masques, tracking, incrustation verte, recadrage, retournement, muet et masquage de piste, préréglages de canevas).
  • Regardez l'image avec frame --at T au lieu de deviner, jugez la couleur avec measure, et jugez le son par mesure, pas en prétendant qu'il sonne bien.
  • Utilisez la retenue : un look subtil, un style de transition, quelques mouvements lents. Si supprimer un effet ne perd rien, supprimez-le.
  • Le tracking et les masques sont mesurés, pas vus : après tracker add, vérifiez found et regardez les images avec frame --at T. Le tracking convient aux objets rigides et texturés de taille stable ; il perd les cibles qui tournent ou se cachent.
  • La personne peut modifier la timeline dans le navigateur pendant que vous travaillez. Exécutez show avant de modifier après qu'elle l'a dit.
  • Les préréglages vocaux (phone call, deeper voice, robot voice, ...) proviennent du fichier .prfpset de Premiere inclus et peuvent être extraits de tout autre avec presets import FILE.prfpset. Ils se rapprochent des effets de Premiere ; voir references/voice-presets.md.
  • Si aucune bibliothèque sonore n'est configurée, sfx échoue avec un message clair ; proposez la configuration SFX ci-dessous.

Boîte à outils SFX

Tous les scripts impriment --help. Ils n'utilisent que la bibliothèque standard et FFmpeg.

Configuration unique. La compétence n'est livrée avec aucun audio, car la licence des sons interdit leur redistribution. La bibliothèque par défaut est le pack gratuit Sonniss GDC 2026 Game Audio Bundle, téléchargé depuis le serveur de Sonniss. Avant d'exécuter cela, indiquez à l'utilisateur la taille (partie 1 : 1,3 Go avec 82 sons ; les 5 parties : 7,5 Go avec 347 sons) et la licence en une ligne (gratuit pour les projets médias personnels et commerciaux, pas d'attribution ; pas de revente ou redistribution des sons ; pas d'entraînement IA), et obtenez son oui :

python3 scripts/setup_library.py --accept-license               # partie 1
python3 scripts/setup_library.py --accept-license --parts all   # tout

Cela enregistre les zip dans library/ à l'intérieur de cette compétence, reprend les téléchargements interrompus, réutilise les parties déjà présentes, puis construit le catalogue. Sous Windows, utilisez python si python3 n'est pas trouvé.

Pour utiliser les propres sons de l'utilisateur à la place (ou en plus), indexez-les directement (voir references/sfx-library-setup.md) :

python3 scripts/build_catalog.py /chemin/vers/sons.zip        # ou un dossier, ou un dossier de zip

Dans les deux cas, le résultat est un catalogue textuel à ~/.pro-video-editing/catalog.json. Il ne contient pas d'audio.

Par projet :

python3 scripts/sfx_search.py --stats                       # ce qui est disponible
python3 scripts/sfx_search.py "whoosh aérien rapide" --max-dur 1.5 --limit 8
python3 scripts/sfx_search.py "clic de bouton" --exclude ID1,ID2    # éviter de répéter une prise

python3 scripts/render_mix.py entree.mp4 cues.json --check      # vérifier la feuille de repérage
python3 scripts/render_mix.py entree.mp4 cues.json -o sortie.mp4   # rendu
python3 scripts/render_mix.py entree.mp4 cues.json --sfx-only fx.wav   # piste SFX pour une DAW ou un coloriste

python3 scripts/qc_audio.py sortie.mp4 --target -14            # vérification de la sonie et du crête vrai

Colonnes de sortie de la recherche : id, durée, catégorie, peak@ (où le son frappe), tags, nom de fichier. Utilisez peak@ pour comprendre ce qui s'alignera avec la coupe.

Feuille de repérage

{
  "default_gain_db": -9,
  "duck": true,
  "humanize": true,
  "cues": [
    {"id": "a3f9c012", "at": 2.50, "sync": "peak", "note": "whoosh dans le carton titre"},
    {"id": "19be4d70", "at": 2.50, "gain_db": -12, "note": "couche douce en dessous"}
  ]
}
  • at est le temps vidéo où le point de synchronisation du son doit atterrir. at_frame place par numéro d'image.
  • sync : peak (par défaut) place le moment le plus fort, onset place l'attaque, start place le premier échantillon. L'outil calcule le temps de début pour vous, donc l'impact est précis à l'image près même si le son commence avant la coupe.
  • Optionnel par repère : gain_db, fade_in, fade_out, trim_start, duration, pitch_semitones (dans les 12), note.
  • duck réduit les SFX sous l'audio original (dialogue). humanize ajoute de petites variations de gain et de hauteur lorsque le même son se répète.
  • Mettez la raison dans note. Cela rend la feuille révisable et aide pour la prochaine édition.

--check signale les identifiants inconnus, les temps en dehors de la vidéo, les prises répétées, les couches empilées et les feuilles trop chargées. Corrigez tout ce qu'il signale avant le rendu.

Règles SFX

Guide complet avec une méthode de repérage : references/sfx-placement.md.

  • Repérez avec une raison. Chaque son doit servir l'émotion ou l'histoire. Si le supprimer ne perd rien, supprimez-le.
  • Placez l'impact sur la coupe ou le mouvement, pas à proximité. Utilisez sync: peak pour les whooshs et les impacts.
  • Superposez légèrement : au maximum trois sons à un moment donné (par exemple impact, sub, queue).
  • Variez les prises. N'utilisez jamais le même son deux fois de suite ; utilisez --exclude lors de la prochaine recherche.
  • Laissez du silence. Un vide avant un impact rend l'impact plus fort.
  • Gardez la parole claire. Laissez duck activé quand il y a du dialogue, et gardez le gain par défaut à -9 dB ou moins sous la parole.
  • Densité : environ 12 repères pour 10 secondes est déjà très chargé. Un contenu calme en nécessite bien moins.

Liste de vérification

Avant de dire qu'une coupe est terminée :

  • Chaque coupe satisfait la hiérarchie, avec l'émotion en premier
  • Aucune coupe n'existe uniquement pour ajouter du rythme ; les arrêts sont délibérés
  • Les points de coupe se situent sur des frontières de pensée, pas au milieu d'une pensée
  • render_mix.py --check ne signale aucune erreur, et les avertissements sont résolus ou justifiés
  • qc_audio.py montre un pic vrai à -1 dBTP ou moins et une sonie proche de la cible
  • La durée, la taille de l'image, la fréquence d'images et la disposition audio de la sortie correspondent au cahier des charges
  • L'utilisateur a reçu des timestamps spécifiques à écouter

Index des références

  • references/editorial-principles.md : la philosophie, la hiérarchie de coupe, le timing de clignement, le dialogue, le rythme, le diagnostic des problèmes
  • references/editor.md : les commandes de l'éditeur, les images clés, l'étalonnage, les transitions, les sous-titres, les paramètres de livraison, le format de projet, la méthode de travail pour une IA, l'éditeur navigateur
  • references/voice-presets.md : préréglages vocaux, extraction des fichiers .prfpset de Premiere, limites de précision
  • references/sfx-placement.md : méthode de repérage, guide son par objectif, niveaux, superposition, ducking
  • references/sfx-library-setup.md : obtenir une bibliothèque, construire le catalogue, organiser les tags, licences
  • references/technical-pipeline.md : organisation des médias, proxies, couleur, codecs, échange, export

Skills associés