Communitygithub.com

josenjc9/short-video-edit

Guide complet pour le montage vidéo professionnel : publicités, Reels, vidéos explicatives et bandes-annonces. Accompagne l'utilisateur pas à pas de la confirmation des faits à la livraison finale.

Qu'est-ce que short-video-edit ?

Ce skill est un manuel de montage vidéo spécialisé pour les agents IA, conçu pour produire des vidéos de qualité professionnelle plutôt que simplement « regardables ». Il couvre les publicités, les Reels, les vidéos parlées, les bandes-annonces et les montages. La philosophie centrale est que 90 % de la qualité d'un produit fini est déterminée avant la phase de rendu (faits, style, storyboard). Le skill structure le processus en sept étapes : confirmation des faits et du script, définition du style, création d’un storyboard, production, post-production, auto-vérification avant livraison et clôture du projet. Chaque étape nécessite une validation explicite de l’utilisateur. Il fournit un ensemble d'outils dans le dossier `tools/`, notamment pour la vérification OCR, l’analyse vidéo et la gestion des calques. Le skill est conçu pour être utilisé avec `ffmpeg` et `python3`, et certaines fonctionnalités optionnelles nécessitent macOS et `swiftc`. Il offre des directives strictes pour éviter les erreurs courantes, comme l’utilisation de données non vérifiées, les mauvais choix de transitions, ou les problèmes de synchronisation audio. Le skill met l’accent sur l’utilisation de séquences réelles, avec des animations et des cartes de texte ajoutées en complément, et interdit la génération d’images pour les expériences personnelles (animaux, famille, clients).

Compatible avec✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/josenjc9/short-video-skill/tree/HEAD/skill/short-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

Skill de montage vidéo court

Manuel de montage à destination d’un agent IA. L’objectif est de produire un résultat « professionnel », pas simplement « regardable ».

Un jugement central : la qualité finale dépend à 90 % de ce qui est fait avant le rendu (faits, style, storyboard). Donc, si la phase préparatoire n’est pas validée, on ne rend pas la vidéo.

Les outils de ce skill se trouvent dans tools/ (le chemin <skill>/tools/ ci-dessous fait référence à ce dossier). Logiciels requis : ffmpeg, python3 ; ocr_check.py nécessite macOS et swiftc ; hf_lint.py n’est nécessaire que si vous utilisez HyperFrames pour les cartes de texte. Voir tools/README.md pour l’utilisation des outils.

Rôles et règles

  • L’« utilisateur » est le décideur. Chaque étape nécessite son approbation explicite (citez ses propres mots, ne présumez pas).
  • Utilisez uniquement les faits et le script fournis par l’utilisateur. Si vous souhaitez modifier ou ajouter quelque chose, proposez des options A/B/C et laissez-le choisir. N’ajoutez pas de sous-titres, slogans ou intrigues de votre propre chef.
  • En cas de doute, demandez. Ne devinez pas. Ne présentez pas comme des faits des éléments non vérifiés.
  • Si les besoins changent en cours de route : revenez à l’étape correspondante et recommencez, ne modifiez pas en cachette.
  • Si l’utilisateur envoie plusieurs messages courts à la suite, répondez d’abord « Reçu, j’attends que vous ayez fini. », puis agissez.

Routage initial (déterminez d’abord le type, puis lisez la section correspondante)

Une vidéo peut appartenir à plusieurs catégories, lisez toutes les catégories concernées.

Si la tâche ressemble à çaLisez ici
« Cinématographique », « Bande-annonce », « Montage », plusieurs séquences dans une vidéo émotionnellereferences/情境_預告片混剪.md + references/剪輯語法與敘事.md, references/跨鏡頭連續性.md, references/聲畫節奏與調色.md, references/退件與驗收格式.md
Principalement une personne qui parle, nécessite coupe et sous-titresreferences/情境_口播演講片.md
Personnages dessinés, avec interactionreferences/情境_角色動畫片.md
Images statiques / infographies à transformer en vidéoreferences/情境_圖卡轉動態影片.md
Techniques de montage : incrustation, split-screen, montage, arrêt sur image, time-lapse, Ken Burns, etc.references/技法庫.md (avec commandes ffmpeg testées, indiquant testées réelles ou pratiques courantes)
Transitions : faut-il en utiliser, lesquelles, comment faire xfade avec ffmpegreferences/轉場指南.md
Animations de cartes de texte, graphiques, effets de transition, calques d’effets, 3D/Three.jsreferences/動態圖形與3D.md (sensibilité aux graphiques animés, recettes de transitions, choix du moteur d’animation, quand utiliser la 3D)
Montage « année N » qui défile, montage temporelreferences/情境_時間流逝蒙太奇.md
Vous ne savez pas quoi faire : choix de technique de montage, animation, outilreferences/技法與工具目錄.md (chaque élément indique s’il est testé réel ou pratique courante)
Contenu procédural (cuisine, assemblage, construction, etc.)Questions préliminaires de l’étape 1 : « Trois choses à demander pour les procéduraux »
Avec animaux, famille, expériences réelles« Outils et interdits » : ne générez pas d’images pour les expériences réelles

Aperçu du flux

  1. Confirmer l’objectif : objectif en une phrase, public cible et utilisation, plateforme et spécifications (ratio, durée, résolution), liste des séquences, critères de succès vérifiables, ce qui n’est pas fait.
  2. Script : pour les créations, proposez d’abord trois synopsis différents (par écrit) pour que l’utilisateur en choisisse un. Le script final comprend : sections, durée, sous-titres, direction audio.
  3. Storyboard préliminaire : tableau des plans + storyboard, laissez la colonne « technique » vide. Remplacez les adjectifs par des chiffres (« joyeux » → amplitude des sauts, tempo des actions).
  4. Inventaire et test de risque : inventaire des séquences (table de contact) ; pour chaque plan, vérifiez les techniques par rapport aux « capacités vérifiées » ; faites d’abord un test de 5 secondes pour les techniques jamais réalisées ; si ça ne marche pas, remplacez par une alternative simplifiée ; verrouillez le pack de style (étape 2) ici. Validé = l’utilisateur verrouille le storyboard.
  5. Version dynamique approximative : assemblez le storyboard avec les timings et les effets sonores ; confirmez le rythme et la durée avant de passer à la production.
  6. Production : montage, post-production.
  7. Auto-vérification : déminez avant le rendu → rendu → vérification automatique → grille de contrôle complète, examinez les images une par une.
  8. Livraison et clôture.

Phase 1 : Préproduction (trois étapes, toutes nécessitent l’accord de l’utilisateur)

Étape 1 | Faits et script (demandez une fois, stockez les réponses dans les métadonnées du tableau des plans)

  • Règles d’appellation, de son (par défaut : pas de musique, seulement des effets sonores ; conservez les sons originaux), ratio, durée, résolution, titre.
  • Faites d’abord une table de contact des séquences (tools/storyboard.py) pour voir le contenu, ne vous fiez pas aux noms de fichiers ; vérifiez l’audio par spectre ou écoute réelle.
  • Pour le contenu éducatif/informatif, vérifiez avant d’agir : pour chaque définition, consultez la source officielle (priorité aux documents officiels, les synthèses tierces ne sont qu’un support), notez à côté du tableau « cette phrase correspond à quelle source », marquez « non vérifié » pour les sources introuvables. Avant de retirer une partie du script original, vérifiez si elle sert à éviter un malentendu ; si vous simplifiez, dites clairement « c’est ma simplification, pas le libellé original ». Si vous ne lisez que le résumé de recherche et non le texte complet, dites-le.
  • Pour les contenu procéduraux, demandez d’abord trois choses : ① l’ordre du processus ; ② quelle séquence appartient à quel produit final et à quelle étape (ne devinez pas à partir de l’ordre de tournage) ; ③ les moments clés qui doivent absolument apparaître.
  • Avant de dire « ce n’est pas dans les séquences / impossible à filmer », regardez la vidéo entière image par image, pas seulement les quelques images d’action. Lorsque l’utilisateur envoie une capture d’écran, utilisez tools/find_frame.py pour trouver à quelle séquence et à quelle seconde elle correspond.
  • Critères de sélection : si le tournage contient des commentaires verbaux du réalisateur, transcrivez-les et utilisez-les comme bonus ; sinon, utilisez des critères de rejet explicites (flou, tremblement, trop sombre), en précisant quelle prise et à quel plan elle correspond. Ces deux méthodes ne sont que des aides, non garanties.

Étape 2 | Pack de style (une page, montrez-la d’abord à l’utilisateur)

  • 1 à 2 vidéos de référence ou images de référence, avec une phrase expliquant « ce qui doit être similaire ». Lorsque vous analysez une vidéo de référence, spécifiez clairement les dimensions : l’IA pourrait ne voir que la couleur sinon. Dimensions possibles : type de plan, police, couleur, cartes de texte, éléments, modules (entrées/sorties des cartes, superposition, bulles, etc., qui peuvent être réutilisés), ressources gratuites (indiquez les ressources gratuites utilisées, vérifiez les licences), animation, rythme, transitions.
  • Couleurs : arrière-plan / texte / une couleur d’accentuation (la couleur d’accentuation occupe ≤15 % de l’écran, le contraste du texte ≥4,5:1) ; pour les vidéos narratives, écrivez en plus l’arc chromatique (luminosité cible de chaque section).
  • Polices et langues des cartes de texte : maximum deux séries.
  • Vocabulaire des transitions : ≤3 types pour toute la vidéo ; chaque plan a un effet principal.
  • Remettez une image de style (une image clé du plan), pas seulement du texte.
  • Choix des techniques : commencez par vérifier quelles techniques peuvent embellir le montage, sans limite de nombre, mais chacune doit être justifiée par « à quel plan je l’utilise et pourquoi ». Pour l’utilisateur, utilisez toujours des noms en langage courant avec une phrase d’effet (par exemple « travelling avant : s’approcher lentement du personnage principal »), pas de codes anglais. Lors de la livraison, vérifiez : les techniques utilisées correspondent-elles à cette liste ?
  • Techniques courantes pour les vidéos parlées / explicatives sur les réseaux : masque de couleur (ne modifier que l’arrière-plan), fond vidéo, texte géant derrière le personnage, curseur avant/après, barre de progression dans une zone de saisie, arrêt sur image avec time-lapse, étiquettes flottantes de mots-clés, incrustation, incrémentation de chiffres, coupe des respirations. Ne garantissez pas à l’utilisateur ce que vous n’avez pas testé ; faites d’abord un test de 5 secondes.

Étape 3 | Tableau des plans + storyboard

  • Chaque plan doit inclure : action (ce qui se passe réellement à l’écran), shot_size (plan large/moyen/rapproché/gros plan), sous-titres, cartes de texte, effets sonores (stockés en secondes relatives). Pour les cartes de texte, écrivez evidence (ce qui à l’écran les soutient).
  • Écrivez cut_reason pour chaque coupe (pourquoi couper ici, pourquoi passer à ce plan) ; pour les match cuts ou cut on action, écrivez en plus anchor (ce que l’on prend à la fin du plan précédent, ce que l’on raccroche au début du suivant). Supprimez les coupes pour lesquelles vous ne pouvez pas justifier.
  • Sous-titres : 4 à 5 caractères par seconde, maximum 6 ; l’apparition ne doit pas être antérieure à l’entrée du plan ; la durée des sous-titres détermine la durée du plan ; chaque phrase de sous-titre doit être soutenue par l’image ; sinon, demandez des séquences à l’utilisateur.
  • Le storyboard doit avoir une ligne narrative + une alternance de plans : déterminez d’abord le personnage principal et le déroulement (mettre toutes les actions similaires ensemble ne fait pas une narration) ; alternez intentionnellement les échelles de plan dans chaque section, utilisez souvent « moyen → rapproché → large » ou « large → moyen → gros plan ».
  • Pour les vidéos procédurales, la progression doit être cohérente : les grandes sections suivent l’ordre réel du processus ; dans une même section, plusieurs produits finaux doivent avancer simultanément ; les produits finis ne doivent pas être insérés au milieu des sections en cours ; les produits finaux n’apparaissent que dans la section finale (exception pour l’avant-première). Si vous voulez « cacher les mains », utilisez un crop en gros plan, appliqué uniquement au plan désigné par l’utilisateur.
  • Si l’utilisateur dit « il faut de l’âme / une ambiance » = étalonnage : un seul look uniforme pour toute la vidéo.
  • Le storyboard utilise tools/storyboard.py pour extraire des images des séquences ou de la vidéo finie ; la vérification automatique ne vérifie que le texte, il faut un humain pour vérifier que les cartes de texte et l’image correspondent.

Avant de remettre le tableau des plans à l’utilisateur, vérifiez vous-même chaque point ; ne remettez pas s’il en manque un :

  1. Avez-vous demandé l’émotion (inspirante / chaleureuse / suspense) ? Avez-vous demandé s’il faut de la musique ?
  2. Cartes de texte : remettez d’abord 3 vidéos comparatives de 5 secondes (trois « façons de faire » différentes, pas la même chose avec une police changée). Écrivez d’abord la fonction de chaque carte de texte, puis choisissez dans le « menu des façons de faire des cartes de texte » de references/剪輯語法與敘事.md ; l’utilisateur choisit une façon principale, mélangez selon les sections, une seule police pour toute la vidéo.
  3. Techniques : vérifiez vraiment, utilisez des noms courants pour la liste, dites pour chaque plan où elle est utilisée.
  4. Son : utilisez des effets sonores réels enregistrés, pas de synthèse ; chaque effet sonore correspond à une action à l’écran. Si vous n’avez pas l’effet dans votre bibliothèque, cherchez sur des sites d’effets sonores gratuits, vérifiez vous-même la licence, notez la source dans le nom de fichier et dans le README du dossier d’effets sonores. Si vous ne trouvez pas exactement, trouvez le plus proche et expliquez.
  5. Les séquences sont visionnées (y compris les photos), les critères de rejet sont clairs ; les dates sont vérifiées à partir de l’heure de tournage, pas du nom de fichier.
  6. Faits et script : utilisez uniquement ceux fournis par l’utilisateur ; vos cartes de texte ne sont que des options, ne les placez pas vous-même.
  7. Remettez l’image de style (trois images clés) en même temps ; l’image de couverture est enregistrée séparément, n’ajoutez pas la durée totale.
  8. Les réponses courtes de l’utilisateur (« A », « ok », « d’accord ») peuvent avoir deux interprétations : confirmez d’abord.
  9. Chaque coupe a un cut_reason.
  10. Pour les vidéos avec musique : avant le mixage, écrivez une Sound Map (couches, début/fin, priorité, source).
  11. Pour les cartes de texte émotionnelles, demandez d’abord « peut-on les remplacer par des plans ? » : pour chaque carte de texte qui « tire une conclusion émotionnelle pour le spectateur » (drôle, touchant, gênant, choquant), notez à côté si l’on peut la remplacer par « personnage regarde → réagit » ou « plan A coupé sur plan B » ; si oui, écrivez le plan de remplacement ; ne gardez la carte que si les séquences manquent ou si le délai est court. Les cartes de texte informatives (chiffres, années, noms, lieux) ne sont pas concernées. L’efficacité de cette technique est encore débattue dans le milieu académique : présentez-la comme une option A/B, pas comme une formule infaillible. Pour les séquences réelles, ne découpez pas des réactions de différents moments pour créer une émotion qui n’a pas eu lieu.

Phase 2 : Production

  • Image : faites d’abord un brouillon basse qualité, puis passez à la qualité finale une fois validé ; si vous modifiez un plan, refaites-le uniquement. Pour les séquences HLG/HDR, convertissez d’abord en SDR avec ffmpeg ; mesurez la luminosité de chaque plan (signalstats), faites correspondre à l’arc chromatique cible.
  • Images réelles haute définition : pour les captures d’écran de sites Web/applications, utilisez l’automatisation du navigateur avec une résolution 3× ; pour une sortie 4K, définissez devicePixelRatio. Si la résolution des séquences est insuffisante, dites-le dès le début. Ne lancez pas trop rapidement des captures de votre propre site de démo : les règles de limitation de débit peuvent bloquer la capture et produire des pages d’erreur.
  • Effets : vérifiez d’abord la bibliothèque de séquences avant de les coder manuellement ; ne codez que si vous ne trouvez pas, et notez les lacunes. Effets courants pour un look cinématographique : travelling avant / révélation par recul / changement de focus, whip pan, flare, grain argentique, vignetage, fondu d’entrée pour les cartes de texte. Pour les scènes médicales ou chaleureuses, n’utilisez pas de tremblement, whip pan, zoom diagonal, choc de mise au point.
  • Cartes de texte (HyperFrames ou animations HTML similaires) : écrivez la timeline dans window.__timelines ; pour les fromTo et les from ultérieurs, ajoutez immediateRender:false ; pour les éléments qui remplissent image par image, commencez par set opacity 0 ; les sous-titres sont à la même hauteur sur toute la vidéo ; ne cachez pas le sujet ; lorsque vous changez de plan, supprimez tous les éléments du plan précédent. Avant le rendu, utilisez tools/hf_lint.py pour déminer.
  • Mise en page des cartes de texte en chinois (référence largeur 1920) : titre : graisse 900, ≥120px, espacement 0,01 à 0,03em, ≤14 caractères par ligne, coupe manuelle entre les mots, pas de caractère ou ponctuation en début de ligne ; contenu : graisse 500 à 700, ≥32px ; demi-espace entre chinois et anglais/chiffres ; hauteur de ligne ≥1,18 pour le texte dans les masques. Durée minimale d’une carte de texte = nombre de caractères × 0,18 s + 0,6 s. Les étiquettes superposées sur l’image utilisent un fond opaque avec un texte gras foncé, placées dans les zones vides.
  • Rythme : quelque chose doit bouger dans les 0,3 premières secondes ; le premier mot doit apparaître en 1,5 seconde ; l’action suivante commence 0,1 à 0,3 seconde avant la fin de la précédente ; un seul personnage bouge à la fois ; la sortie dure environ la moitié de l’entrée.
  • Après avoir modifié vous-même le script de génération, vérifiez que la fin du fichier n’est pas tronquée avant de lancer.

Détourage et masques

  • Vérification des bords = agrandissez pour voir les doigts, les cheveux et les épaules ; ne regardez pas la miniature. Traitement du masque : flou d’environ 1,6, puis contraste, puis rétrécissement de 2px, pour des bords lisses sans franges blanches.
  • À côté des segments détourés, pas de cartes superposées ni de sous-titres brûlés (les sous-titres d’origine superposés à une personne peuvent être considérés comme « non humains » et devenir transparents).
  • Ne garantissez pas ce que vous n’avez pas testé : il peut encore y avoir quelques pixels de franges colorées au bout des doigts, dites-le.

Erreurs pratiques (GSAP et ffmpeg)

  • La durée totale doit être un nombre entier d’images (durée en secondes × fps = entier), sinon la vérification automatique des images sera décalée de 1.
  • Calculez les points d’arrivée de l’audio à partir du fichier de chronométrage, ne codez pas en dur les secondes (après modification de la durée du plan, les lèvres ne correspondront pas).
  • Si le sujet est noir, n’utilisez pas la transition zoomin (elle agrandit jusqu’au noir complet), utilisez smoothleft ou fade. Pour les photos horizontales dans une vidéo verticale, recadrez d’abord en vertical pour préserver le visage, n’utilisez pas de flou pour remplir le fond.
  • GSAP peut provoquer trois problèmes (apparition → disparition → réapparition ou blocage complet) : ① si vous placez tl.set(éléments du groupe, {opacity:1},0) avant un tl.from(...) ultérieur, cela écrasera le point de départ caché de from ; pour cacher, utilisez tl.set(tous, {opacity:0},0), puis affichez avec to/from. ② si le sélecteur sélectionne deux éléments à la fois, l’un est animé prématurément ; ne déplacez que ce que vous voulez, ou utilisez un id. ③ si le nom d’une variable dans une nouvelle scène entre en conflit avec une autre scène, onUpdate peut échouer et la vidéo se figer à partir de ce plan. Avant d’ajouter une variable, greppez l’ensemble du fichier pour les mêmes noms ; après modification, vérifiez image par image avec le rendu réel, en vérifiant une image avant et après chaque changement de plan.
  • En post-production, n’utilisez pas les hautes lumières de colorbalance (les pages blanches deviendront jaunes) ; utilisez vignette=angle=PI/8 pour le vignetage. Après avoir modifié une page Web blanche, mesurez le point blanc.
  • Doublage : ne le faites que si l’utilisateur le demande explicitement (par défaut, seulement des effets sonores). Après silenceremove sur chaque phrase, et éventuellement atempo (≤1.2), utilisez un tableau Python pour superposer les fichiers wav de même durée en fonction du timecode ; si vous utilisez amix avec de nombreux adelay dans ffmpeg, la sortie sera tronquée. Avant le mixage, vérifiez que la durée du fichier d’effet sonore correspond à la durée de la vidéo finie. Si les sous-titres sont modifiés, la voix doit être régénérée en même temps.
  • Si l’utilisateur trouve que c’est « trop bruyant », supprimez uniquement les sons qu’il désigne ; avant de supprimer, listez « ce que je retire » pour qu’il le sache ; préférez garder un son émotionnel comme le son original.
  • L’utilisateur peut vouloir insérer un plan en cours de route : modifiez uniquement le tableau des plans (ajoutez un plan, prolongez les sous-titres, déplacez les effets sonores), relancez la vérification, l’assemblage, le rendu, le mixage ; les points de début et de fin suivants se décalent automatiquement. Pour insérer un plan photo, vérifiez d’abord la composition ; ne placez pas les sous-titres sur un sujet très saturé.

Phase 3 : Post-production

  • Étalonnage : suivez l’arc chromatique ; un seul look uniforme pour toute la vidéo, pas un filtre par plan.
  • Étalonnage cinématographique par défaut : courbe en S, noir légèrement relevé (mat), vignetage, grain argentique placé sur la dernière couche. La séparation des tons (omar avantages froids, hautes lumières chaudes) ne s’applique qu’aux looks couleur ; pour les segments noir et blanc, donnez un ton légèrement froid, sinon le noir et blanc deviendra jaune/vert comme une vieille photo.
  • Effets sonores : commencez par peu, chaque son doit correspondre à une action à l’écran ; avant de livrer, demandez-vous « que perdrait-on si je retirais ce son ? ». Supprimez les sons inadaptés ; utilisez loudnorm avec alimiter pour éviter les distorsions.
  • Ajoutez toujours level=disabled à alimiter (le gain automatique par défaut ramène les crêtes près de 0 dB) ; dans la même étape, ajoutez atrim pour la durée de la vidéo ; ajoutez -shortest à la sortie, sinon la piste audio sera plus longue que la vidéo et la vérification du nombre d’images échouera. Terminez par loudnorm=I=-16:TP=-1.5.
  • Ne faites pas varier le son des plans au ralenti/accéléré avec atempo (cela produirait des sons étranges) : pour les plans au ralenti/accéléré, utilisez le son à vitesse normale ; l’image et le son sont deux entrées distinctes.
  • Faites toujours écouter le son final à l’utilisateur avec un casque ; les mesures et la reconnaissance vocale ne sont que des aides. Les basses fréquences (en dessous de 150 Hz) ne sont pas restituées par les ordinateurs portables et les téléphones ; les effets sonores doivent avoir de l’énergie au-dessus de 300 Hz.
  • Version légère ≤9 Mo : si -maxrate ne suffit pas, utilisez l’encodage x264 en deux passes.

Supprimer la voix / conserver l’ambiance

  • N’utilisez pas la reconnaissance vocale pour trouver les moments puis coupez le son (la voix est souvent classée comme non-voix et manquée, et le temps n’est qu’à la seconde près) ; utilisez un outil de séparation de sources (comme demucs) pour obtenir une piste sans voix, une seule fois suffit. Après la séparation, scannez avec la reconnaissance vocale pour vérifier : le contenu entre parenthèses n’est pas de la voix, ce n’est pas une rémanence ; répéter la même phrase ou « n’oubliez pas de vous abonner » est une hallucination de la reconnaissance.
  • Les outils de séparation peuvent prendre les bruits de pistolet à air comprimé ou de couteau pour de la voix : pour ces secondes clés, ajoutez la piste de voix séparée, mais coupez la bande de fréquences 250–3800 Hz (voix).

Outils auxiliaires : trouver les points de coupe, couper les respirations, capturer les beats

Les trois outils ont été validés fonctionnellement avec des séquences synthétiques (résultats ci-dessous) ; avec des séquences réelles, les seuils et l’efficacité doivent être ajustés en fonction des séquences.

  • PySceneDetect : scenedetect -i video.mp4 detect-adaptive list-scenes, donne un tableau des plans. Validation : une vidéo de 6 secondes composée de trois segments différents coupés en dur, a détecté 3 plans, les coupes à 2.0 et 4.0 secondes, correspondant à la réalité. Les « plans » détectés sur des animations peuvent ne pas correspondre à ce que vous voulez.
  • Auto-Editor : auto-editor video.mp4 --edit audio:threshold=5% --margin 0.15sec -o sortie.mp4, coupe les respirations dans les vidéos parlées. Validation : une vidéo de 6 secondes avec trois segments de 1 seconde de son entrecoupés de 1 seconde de silence, a été réduite à environ 3,85 secondes. Le seuil doit être testé sur les séquences réelles : avec le même matériel synthétique, un seuil de 15 % a classé l’ensemble comme silence et vidé tout ; après la coupe, les sous-titres, les lèvres et la synchronisation image-son doivent être revérifiés, et les temps des sous-titres doivent être recalculés à partir de la version coupée. Couper les respirations ne signifie pas que l’on peut couper les mots superflus ; les sous-titres ne doivent pas être plus courts que ce qui est dit. Utilisez la version officielle (par exemple Homebrew), pas de paquets aux noms similaires mais vides.
  • librosa : librosa.beat.beat_track pour obtenir les beats et le BPM. Validation : un rythme de batterie synthétique à 120 BPM a mesuré environ 117,5 BPM et 23 beats, avec une erreur inférieure à 2 % ; faites toujours écouter le beat à l’utilisateur avant la livraison. N’utilisez que sur les vidéos où l’utilisateur veut un beat ; pour les vidéos calmes, ne suivez pas le rythme.

Phase 4 : Auto-vérification avant livraison (chaque point doit avoir une preuve pour être validé)

Lancez d’abord la vérification automatique : tools/qa_video.py video_finale.mp4 dossier_sortie --size WxH --fps N --share version_partage.mp4 (vérifie résolution, fps, nombre entier d’images, longueur de la piste audio, distorsion, niveau sonore, images noires, gel, images avant/après les coupes, taille de la version partagée). Les chiffres sont vérifiés par l’outil, vous, regardez chaque image. Cochez chaque point :

  1. Netteté (à chaque livraison) : extrayez la première, celle du milieu et la dernière image de chaque plan dans une seule image, regardez chaque image. Si des mains ou des ombres sont visibles, des actions non expliquées, rien ne se passe dans un plan, des scintillements d’ombre après un time-lapse, raccourcissez ou remplacez le plan.
  2. Continuité des coupes (obligatoire pour les vidéos avec plusieurs plans et émotion) : utilisez tools/cuts_sheet.py pour extraire 2 images avant et après chaque coupe, regardez chaque image pour la direction, le regard, la phase d’action, l’échelle du plan, la lumière. Écrivez les problèmes comme des issues avec le chemin de l’image dans references/退件與驗收格式.md. Réparrez vous-même au maximum 2 fois ; si ça ne suffit pas, soumettez à l’utilisateur pour décision.
  3. Spécifications : résolution, nombre d’images, ratio doivent correspondre à ce que l’utilisateur a demandé ; la vidéo finale doit être réduite à partir de la 4K ou plus.
  4. Script : chaque mot à l’écran doit venir de l’utilisateur. S’il y a un brouillon original à comparer, utilisez tools/ocr_check.py pour transcrire les images clés de la vidéo finale et le brouillon original, puis comparez phrase par phrase ; si ça ne correspond pas, revenez au texte original (l’erreur de reconnaissance ne signifie pas une erreur visuelle). La correspondance textuelle ne garantit pas l’exactitude du contenu ; vérifiez le contenu auprès de la source.
  5. Carte de texte = image : le nom de chaque carte de texte correspond à ce qui se passe réellement dans le plan. Lors du choix des segments et du recadrage, regardez les images réelles de ce segment, pas votre description.
  6. Sous-titres : nombre de caractères par seconde conforme, pas de chevauchement sur le plan précédent, même hauteur sur toute la vidéo, pas de retour à la ligne automatique.
  7. Lisibilité : tous les textes sont clairs même sur la version partagée (compressée).
  8. Propreté : aucun élément résiduel lors du changement de plan, pas de superposition, pas d’erreur de page ou de données de test enregistrées.
  9. Cohérence : ≤3 types de transitions, couleurs suivant l’arc chromatique, ≤2 séries de langues pour les cartes de texte.
  10. Rythme : quelque chose bouge dans les 0,3 premières secondes, pas deux personnages qui bougent en même temps, durée d’affichage des cartes de texte suffisante.
  11. Son : pas de distorsion, chaque effet sonore correspond à une action, pas d’effet sonore inapproprié.
  12. Reproductibilité : à un même moment, le rendu deux fois donne des captures d’écran avec le même hachage (les animations programmées doivent être des fonctions pures du temps).
  13. Honnêteté : dites directement lors de la livraison les plans dont la qualité ne peut être sauvée, les éléments non vérifiés.

Phase 5 : Livraison et clôture

Dossier de livraison (vous définissez l’emplacement, ci-dessous une structure suggérée) ; un dossier par vidéo, d’abord la date, puis le nom (YYYYMMDD_NomDeLaVideo) :

  • 成品/ : version haute définition, version légère (pour messagerie, ≤9 Mo), couverture, fichier de sous-titres.
  • 初剪/ : versions intermédiaires et séquences d’entrée.
  • 定稿圖表/ : pack de style, storyboard, tableau des plans (fichier lisible par machine + un .md pour les humains), 原始碼/ (scripts pour refaire + README).
  • Les éléments de test (nouveaux outils, échantillons de 5 secondes) vont dans un autre dossier 測試/Date_Nom/ ; seuls ceux à livrer entrent dans le dossier du projet.
  • Utilisez tools/deliver.sh pour mixer l’audio, compresser la version légère, copier, vérifier le md5 ; ne pas écraser les fichiers ayant le même nom.
  • Après modification de la version finale, mettez à jour les tableaux fixes : le storyboard, le tableau des plans doivent avoir les mêmes durées et points de départ que la version finale, sinon vous conservez une documentation obsolète.

Conservez uniquement la version finale : les artefacts intermédiaires vont dans le dossier .work/ du projet. Pour le nettoyage, utilisez tools/safe_trash.sh pour les déplacer dans la corbeille, ne supprimez pas directement ; affichez d’abord la liste à l’utilisateur pour confirmation. Ne touchez pas aux zones de travail des autres.

Cinq choses à faire absolument en clôture (pour chaque vidéo)

  1. Version finale : vérifiez d’abord la couverture. Le début doit avoir une image de couverture (titre + personnage principal) ; enregistrez-la séparément ; n’ajoutez pas la durée totale à la couverture, déduisez-la des séquences de début. Le texte de couverture provient de la carte de texte de conclusion de la vidéo, pas du nom de fichier ou des sections intermédiaires. Renommez la vidéo finale en <NomVideo>_<Duree>.mp4, version légère ≤9 Mo. Le storyboard et le tableau des plans dans 定稿圖表/ doivent être refaits selon la version finale. Vérifiez le md5.
  2. Nettoyage : placez les anciens storyboards, scripts, versions intermédiaires, répertoires de travail, le tout dans la corbeille avec safe_trash.sh ; le README doit indiquer le nom dans la corbeille, pour pouvoir le récupérer si nécessaire.
  3. Fermeture du ticket : fermez toutes les tâches ou tickets ouverts pour cette vidéo.
  4. Rétrospective : ce que l’utilisateur a changé à chaque version (citez ses paroles), la cause racine, comment l’éviter la prochaine fois ; vos propres erreurs listées séparément ; les méthodes réutilisables ; les déductions non vérifiées marquées « non vérifié ».
  5. Améliorer ce skill : si dans la rétrospective « comment l’éviter la prochaine fois » peut devenir une règle, réécrivez-la dans la section correspondante de ce SKILL.md, ne la mettez pas seulement à la fin du fichier.

Outils et interdits

  • Priorité aux séquences réelles (ffmpeg + animations HTML). Pour les images non filmées : génération d’images statiques (ne générez pas de caractères chinois, utilisez HTML pour les superposer) → autres séquences externes. Ne générez pas d’images pour les expériences personnelles (animaux, famille, clients).
  • Avant d’installer un outil, un package ou un modèle, vérifiez la source et la licence, demandez à l’utilisateur avant d’installer ; n’installez pas en cours de route.
  • N’exécutez pas de commande qui enverrait du texte libre vers l’extérieur (par exemple la commande feedback d’un outil) ; les rapports statistiques des outils sont désactivés par défaut.
  • N’écrivez pas de contenu non vérifié, de séquences privées de l’utilisateur ou de données personnelles dans des échantillons ou exemples publics.

Skills associés