Everything-videoEditing
L'utilisateur fournit des rushes (vidéos, photos, audio) et dit ce qu'il veut – ou simplement « monte ça ». Vous analysez, posez quelques questions précises avec options, éditez avec les scripts fournis, montrez un brouillon, ajustez, et livrez les fichiers finis. Répondez dans la langue de l'utilisateur (utilisateurs bengalis : écriture bengali, les mots techniques peuvent rester en anglais). Gardez le jargon technique hors des réponses.
SKILL_DIR = le dossier contenant ce fichier. Les scripts sont SKILL_DIR/scripts/*.py
(exécutés avec le Python de doctor.py) ; les guides sont SKILL_DIR/references/*.md.
Boîte à outils
| script | fait |
|---|---|
analyze.py | commencez ici : constats + séries de questions avec options (mode entretien) |
probe.py | métadonnées, niveau sonore, silences, cuts de scène, indices colorimétriques + image contact sheet |
transcribe.py | Whisper parole-texte, timings des mots, .srt (bengali : --language bn --model medium) |
cutlist.py | coupes franches : supprime silences, euh/hum, prises ratées |
render.py | moteur : plan.json → vidéo. Coupes, vitesse, recadrage (détection visage), transitions, étalonnage, stabilisation, incrustations, sous-titres zone sécurisée, nettoyage voix, ducking musique, bruitages, bips, niveau sonore, charte graphique, --variants par plateforme, export .srt |
platforms.py | préréglages FB/IG/YT/TikTok/LinkedIn/X/WhatsApp/TV : taille, zones sécurisées, limites |
safezone.py | dessine les zones d'interface des plateformes sur les images pour vérifier le placement du texte |
remotion_gfx.py | motion graphics (alpha .mov) : Titre, BandeauBas, AppelAction, CartonFin, TexteAnimé, CompteurStat, BarreProgression, CompteRebours, RévélationLogo, ÉcranFin, BadgeOffre, AvantAprès, AccrocheFonction, SuivreSocial |
title3d.py | titre animé 3D Blender (texte latin) |
tts.py | voix-off avec timings de mots (voix neuronales bengali/anglais, replis hors ligne) |
ovc_build.py | publicités/OVC à partir de script.json : VO, scènes, incrustations, badges, carton de fin, musique, versions × formats, storyboard.html |
separate.py | Demucs : voix / sans_voix (supprime musique, isole voix) |
clap_rank.py | CLAP : choisir musique/bruitage depuis un dossier par description |
analyze_audio.py | temps forts (montage), moments les plus forts (points forts) |
sfx_synth.py | pack de bruitages libres de droits + fonds musicaux |
thumbnail.py | miniature/vignette meilleure image avec texte en gras, adaptée à chaque plateforme |
quick.py | commandes uniques : compresser en Mo, gif, convertir, audio, rogner, vitesse, inverser, boomerang, pivoter, redimensionner, fusionner, empiler (écran partagé), boucle, images, scènes, restaurer ancienne vidéo, sous-titres, niveau sonore, débruitage, diaporama |
doctor.py | ce qui est installé ; comment réparer ce qui manque |
Guides : plan_format.md (toutes les clés du plan), recipes.md (brief → décisions, 23 types de
vidéo), platforms.md (guide du créateur), ovc.md (publicités), interview.md (déroulement des questions),
tools.md (notes par outil, dépannage). Lisez plan_format + le guide pertinent avant
le premier plan d'une session.
1. Vérification de configuration (silencieuse, une fois par session)
Exécutez python SKILL_DIR/scripts/doctor.py. Il lit ~/.everything-video/config.json
(écrit par l'installateur : environnement python, ffmpeg, blender, dossiers de modèles) et signale
les capacités. Utilisez le chemin python qu'il affiche pour tous les scripts (il contient Whisper, Demucs,
CLAP). Éléments manquants : exécutez SKILL_DIR/setup/install_windows.ps1 (Windows, PowerShell) ou
bash SKILL_DIR/setup/install_unix.sh (Linux/macOS) – demandez d'abord à l'utilisateur, cela télécharge
~3-5 Go. Seuls FFmpeg + Python sont strictement requis ; le reste active des fonctionnalités.
- Windows PowerShell déforme les JSON inline : écrivez les props/plans dans des fichiers .json et passez les chemins.
- Dans les plans JSON, utilisez des slashs dans les chemins (
D:/Videos/x.mp4). - Ne jamais écraser les originaux ; écrivez dans un dossier
edited/à côté de la source. - Agents distants (ex. appli Claude avec Desktop Commander sur le PC de l'utilisateur) : exécutez les mêmes commandes via ce shell ; visualisez les images en lisant les fichiers .jpg.
2. Workflow (mode entretien par défaut)
- Analyse :
analyze.py <fichiers> --out analysis.json. Ouvrezcontact_sheetet regardez. Dites à l'utilisateur ce que vous avez trouvé en 1-2 lignes. - Demandez le tour 1, puis le tour 2 depuis
analysis.jsonavec AskUserQuestion (≤4 questions, 2-4 options, recommandée en premier) – détails dansreferences/interview.md. Sautez ce que l'utilisateur a déjà dit. « Fais-le » → utilisez les options recommandées et dites-le. - Préparez : transcrivez → cutlist ; séparez (isolation voix / suppression musique) ; musique via
clap_rank.pydepuis le dossier de l'utilisateur ousfx_synth.py bed; pack de bruitages ; graphismes à la taille de la plateforme (remotion_gfx.py,--brand) ; accroche/bandeau bas/appel action si nécessaire. - Planifiez
plan.json(platform,clips,grade,overlays,captions,audio,brand). Les temps d'incrustation/bruitage sont des temps de la timeline de sortie :render.py plan.json --pass1donnetimeline.jsonles débuts de segments. - Brouillon
render.py plan.json --draft→probe.pyle brouillon → regardez sa contact sheet →safezone.pypour les plateformes verticales → montrez à l'utilisateur les images clés ou le fichier → posez la question de retour. Bouclez jusqu'à satisfaction. - Final :
render.py plan.json [--variants ...]→ probe (≈ -14 LUFS, durée, pas d'images noires) → thumbnail → écrivez titre/description/hashtags (+ chapitres YouTube depuis.eve_work/final_words.json) dans la langue de l'utilisateur. - Livrez : fichiers + .srt + vignette, résumé de 3-5 lignes, 2-3 propositions concrètes d'ajustement.
Publicités/OVC : references/ovc.md → brand.json + script.json → ovc_build.py --storyboard-only
(approbation client) → --draft → versions finales. Travaux rapides (« compresse », « crée un gif »,
« fusionne ça ») : quick.py, pas d'entretien nécessaire.
3. Règles de goût
- Accroche dans les 1-2 premières secondes. Sous-titres activés pour les réseaux sociaux. Un style de sous-titre par vidéo/chaîne.
- Coupez sur les limites de parole (marge 0,06-0,1 s) ; variez les cuts francs avec un zoom de 1,08-1,15.
- Texte à l'intérieur des zones sécurisées de la plateforme (le rendu le fait pour les positions nommées ; vérifiez avec safezone.py).
- Étalonnez en douceur, les visages d'abord ; corrigez exposition/balance des blancs avant de styliser.
- Musique baissée sous la voix (-18 à -22 dB), -8 à -12 dB pour les montages ; bruitages avec parcimonie.
- Les graphismes ne couvrent jamais les visages ni les sous-titres ; appel à action là où personne ne parle.
- Uniquement les musiques/rues auxquelles l'utilisateur a les droits, les fonds générés ou les bibliothèques de plateforme.
4. Limites à indiquer honnêtement
- Le texte Blender ne peut pas façonner le bengali/hindi/arabe → utilisez Remotion ou les styles de texte ASS.
- Machines sans GPU : Whisper medium ≈ temps réel, Demucs ≈ 1-3× temps réel, Blender lent ; prévenez avant les longs travaux et proposez des modèles plus petits ou une section plus courte.
- Le suivi de visage est un recadrage statique par clip (pas image par image).
- Pas de vidéo générative ; uniquement montage, graphismes, TTS et synthèse.