Jidoka Lab

Vidéo · automatisation

Des films montés par script

Un voyage au Kirghizistan, un trek de trois jours, des épisodes animés : des montages entiers construits dans DaVinci Resolve par des scripts Python, du tri des rushes au rendu final. L'humain choisit la conduite et valide, la machine fait le reste.

État
en usage personnel · livrables rendus
Stack
Python, API de scripting de DaVinci Resolve, ffprobe, transcription hors ligne, agents de tri visuel
Depuis
2026
Preuves
1 240 clips triés, 106 plans posés par script, 9 livrables rendus en 4 minutes

Le problème

Un voyage filmé avec quatre caméras (un drone, une caméra de poche, deux téléphones) laisse 1 240 clips et plus de six heures de rushes. Personne ne les regarde jamais en entier. Le montage à la souris prend des jours, et l’on finit par choisir les vingt premiers plans qu’on a vus plutôt que les meilleurs. Même problème, à plus petite échelle, pour un trek de trois jours ou pour un dessin animé de trente plans qu’il faut recaler à l’image près sur sa chanson.

Ce que j’ai construit

Timeline DaVinci Resolve : 53 plans vidéo sur la piste V1, deux musiques sur la piste A1, durée 3 min 58
Le film de drone après le script : 53 plans, deux musiques, une durée cible tenue. Aucun plan n'a été posé à la souris.

Une chaîne en Python qui va des rushes au fichier publiable, en gardant DaVinci Resolve comme moteur de montage et de rendu.

D’abord l’inventaire : chaque clip est sondé (durée, résolution, date réelle), vigneté, et rangé sur des planches-contacts. Sur le voyage, cette passe a écarté d’elle-même 351 faux clips (des fichiers de prévisualisation que l’application du drone laisse traîner à côté des vrais).

Ensuite le tri : les planches sont lues par plusieurs agents en parallèle, qui notent chaque clip, le classent par catégorie (paysage, moments de vie, route, marché) et signalent ce qui ne doit pas sortir. Sur le voyage, 624 clips ont aussi été transcrits hors ligne pour retrouver les moments où quelqu’un parle : 210 moments, 95 minutes, indexés dans un fichier lisible.

Puis la conduite : un script construit la liste de coupe à partir des notes, d’une durée cible et de règles simples (varier les journées, plafonner le drone, privilégier les moments de vie). C’est un fichier texte, que je relis et que je corrige avant d’aller plus loin.

Enfin le montage lui-même : un script parle à Resolve, importe les médias, crée la timeline, pose chaque plan avec ses points d’entrée et de sortie à l’image près, applique une correction colorimétrique par plan, cale la musique à la durée exacte, et lance le rendu. Le même moteur sert aux versions courtes (verticales pour les réseaux, teasers, film 100 % drone) et aux épisodes animés, où la timeline est d’abord décrite dans un fichier de conduite généré à partir de la chanson.

Trois montages

  • Un voyage au Kirghizistan. 1 240 clips en entrée, un film principal de 106 plans et quatre minutes, une version famille, une version publique où les visages du foyer sont écartés, un film de drone, des teasers et cinq formats verticaux. La version publique est passée par une détection automatique des personnes, puis par une planche des plans écartés que j’ai validée moi-même avant toute diffusion.
  • Un trek de trois jours. 139 clips et 43 photos, avec des contraintes fermes : aucun recadrage, aucun ralenti, aucune musique ajoutée sur la première version. Neuf livrables (film long, une journée par film, film de drone, formats verticaux) rendus en quatre minutes au total.
  • Des épisodes animés. Pour une chaîne de comptines, chaque épisode est une timeline générée à partir de la chanson : les clips sont posés sur les temps forts, l’audio des clips est purgé, la piste maître est calée à l’image près, et les versions courtes gravent un karaoké mot à mot. Le détail est dans la fiche dessins animés produits en chaîne.

Ce que ça raconte

  • Le goût reste humain, la manutention devient du code. Je choisis la durée, l’ambiance, les règles de la conduite, et je relis la liste de coupe. La pose des 106 plans, elle, ne mérite pas une souris.
  • Chaque étape laisse une trace vérifiable. Un inventaire, des planches, une liste de coupe en texte, un journal de rendu horodaté. Quand un plan est faux, on sait à quelle étape il l’est devenu.
  • Un garde-fou avant de publier. Rien ne sort sur la foi d’un classifieur : la liste des plans écartés est relue par un humain.
  • Des contraintes documentées, pas contournées. La version de Resolve installée n’expose pas son interface de script à l’extérieur. J’ai appris à travailler depuis l’intérieur de l’application, et j’ai écrit ce que ça coûte (les médias doivent être recopiés dans son espace, 22 Go pour le voyage).

Ce que j’ai vérifié

  • Signal observé : des rushes de voyage jamais montés, faute d’un moyen de les trier.
  • Test ou contrôle : les conventions d’entrée et de sortie de chaque plan sont vérifiées à l’image près (une erreur d’une image décale tous les plans suivants) ; le nombre de plans en timeline est comparé à la liste de coupe après chaque construction ; les rendus sont chronométrés et journalisés.
  • Résultat : 106 plans en 1080p rendus en 27 secondes, le maître en 4K en 100 secondes, les neuf livrables du trek en quatre minutes.
  • Limite actuelle : le tri par agents note bien la beauté d’un plan, moins son intérêt narratif ; la conduite reste relue et corrigée à la main avant chaque montage.

← Tous les projets