Enchaîner trois clips sans que ça se voie

la mesure. 4 méthodes × 10 s · 2026-09-28 · Kaggle 2 × T4 · LTX-2.5 · 0 €

« Je ne veux pas voir de différence entre les clips. » Une prise du film dure jusqu'à 52 s, et LTX génère par morceaux. Le test : 10 s de la rue v2 (241 images de profondeur Blender), coupées en trois clips après les images 81 et 161, enchaînés de trois façons — plus une quatrième sans coupe, comme témoin.

run
continuité LTX, M1 à M4
date
2026-09-28
machine
Kaggle 2 × T4
durée
55,8 min de quota (compteur 3,58 → 4,51 h)
coût
0 €
journal
releve.json

Jusqu'à 10 s, une seule fenêtre de 241 images (M4) : aucune jointure, et c'est le moins cher — 10,96 min de GPU, contre 14,57 pour trois clips (M1, M2) et 15,55 en continuation (M3). Au-delà, la continuation avec un fondu de 8 images sur le recouvrement ramène le saut à la jointure au niveau de M4.

continuite/sorties/sorties/resume_continuite.json · continuite/scripts/fondu_recouvrement.py (relecture du 28/09)

Les quatre méthodes, et comment chacune est appelée

méthodece que reçoit chaque clipmin de GPU
M1 indépendantssa part de profondeur (1-81, 81-161, 161-241), rien d'autre14,57
M2 dernière imagesa part de profondeur + la dernière image du clip précédent, en image de départ14,57
M3 continuationfenêtres 1-81, 65-161, 145-241 ; les 17 dernières images de la précédente sont reprises, la profondeur guide les 80 neuves15,55
M4 une fenêtreles 241 images de profondeur d'un coup (témoin)10,96

Même consigne, graine 42, consigne négative par NAG, 8 pas, 832×448, moteur Wan2GP (commit 2345ae1) ; le clip 1-81 est commun à M1, M2 et M3. Sources : resume_continuite.json, noyau ltx_continuite.py.

Tous passent par generate(frame_num, input_frames=profondeur, video_prompt_type="DVG") ; M2 ajoute image_start, M3 input_video et prefix_frames_count=17. Un contre-contrôle a vérifié sur les fichiers que chacune reçoit ce qui est annoncé, profondeur comprise.

contre-contrôle

Ce que mesurent les jointures

Entre deux images voisines, on compense le mouvement (flux optique DIS d'OpenCV) et on mesure l'écart restant, sur 255. Le saut est cet écart à la jointure, divisé par la variation normale, médiane des 238 autres paires. La couleur : ΔE2000 entre les 8 images avant et les 8 après.

méthodevariation normalesaut 81|82saut 161|162ΔE 81|82ΔE 161|162note
M1 indépendants2,01×12,6×8,73,04,13
M2 dernière image1,77×1,8×1,30,150,505
M3 continuation1,97×1,9×1,70,200,366
M4 témoin1,76×1,2×1,10,510,147

M4 n'a pas de jointure : ses chiffres, aux mêmes paires, sont le bruit normal (ΔE ordinaire médian : 0,35 à 0,41). Notes du relecteur sur 10, pour le plan entier : des jugements. Source : mesures_raccords.json.

M1 coupe franchement : ×12,6 et ×8,7, ΔE 3,0 et 4,1, et le mouvement saute (flux ×7,7 et ×5,8 celui des voisines). M2 et M3 gardent la couleur (ΔE 0,15 à 0,50) et le mouvement (flux ×0,89 à ×1,03). Reste un frémissement des textures fines — feuillage, stores — pendant une image : à 81|82, la paire la plus marquée des 240.

continuite/mesures_raccords.json · analyse_locale/cartes_residu_jointures.png

M4, sans jointure, fait ×1,24 (7e paire sur 240) et ×1,10 (42e) aux mêmes endroits.

continuite/mesures_raccords.json

Voir les jointures

Les 10 s, quatre fois (M1, M2 en haut ; M3, M4 en bas) ; « RACCORD » suit chaque jointure. Réduit en 960 px. Généré par LTX-2.5 depuis la profondeur d'une previz Blender de ce projet. Muet.

Images 70 à 93, puis 150 à 173, au quart de la vitesse. Muet.

Quatre lignes, une par méthode : les images 80, 82, 160 et 162

Images 80 | 82 et 160 | 162. En M1, soleil, cadrage et passants changent ; en M2 et M3, rien ne change d'un côté à l'autre.

Ce qui a raté

Après une reprise, le décor hérité l'emporte sur la profondeur : M2 et M3 gardent le mur lisse du premier clip, et les arcades que la profondeur dessine à droite deviennent un mur plein. M1 et M4 les rendent. Corrélation des contours avec la profondeur, images 82 à 161 : 0,140 (M3), 0,157 (M2), 0,190 (M1).

contre-contrôle · relecture du réalisateur

Image 201 : la profondeur avec des arcades à droite, M4 qui les rend, M3 et M2 qui montrent un mur plein

Image 201 : la profondeur de Blender, puis M4, M3 et M2. Figurants de Quaternius (licences : détail).

M2 ramollit l'image dès la première reprise : 35 à 45 % de détail en moins que M1 sur les mêmes clips (variance du Laplacien : 154 et 152 contre 235 et 275). Le relecteur y voit des murs « en pâte à modeler », une montre-bracelet et un objet jaune en forme de momie.

continuite/mesures_raccords.json · relecture du réalisateur

Même graine, même consigne : le premier clip a un ciel bleu, la fenêtre unique un ciel blanc surexposé. La graine rend un plan reproductible, pas deux plans semblables.

relecture du réalisateur

La recette retenue pour le film

  1. Jusqu'à 10 s, une seule fenêtre (M4) : 24 images par seconde, arrondies à 8k+1 (5 s = 121, 10 s = 241).
  2. Au-delà, des fenêtres de 241 images enchaînées par M3, puis au montage un fondu de 8 images entre la fin d'une fenêtre et le début re-décodé de la suivante.
  3. Jamais M1 dans une scène, seulement pour une vraie coupe. Pas de M2.
  4. À tester d'abord : une fenêtre de 361 ou 481 images. À 241, la carte monte à 10,6 Go sur 15 ; le point serré est la RAM libre au décodage (4,2 Go).

Le fondu, testé sans GPU sur les sorties réelles : saut de M3 ×1,97 → ×1,14 à 81|82, ×1,73 → ×0,97 à 161|162, sans image fantôme. Sur 16 images, rien de plus (×1,12 et ×0,95).

continuite/scripts/fondu_recouvrement.py, sortie du 28/09 (relecture)

Ce test lit les clips bruts et prend sa variation normale hors des zones de jointure (1,93 au lieu de 1,97) : d'où ×1,97 ici contre ×1,9 au tableau.

M3 avec fondu sur le recouvrement — ce fichier est la variante à 16 images ; celle à 8, retenue, mesure pareil. Muet.

M4, une fenêtre de 241 images (7/10) : arcades comprises, mais ciel surexposé et visages du second plan pâteux. Muet.

Coût : 10,96 min de GPU pour 241 images (≈ 65 s par pas), soit ≈ 1,1 min par seconde de film ; 4,86 min pour 81 images (1,44 min/s). Plus 7,4 min de mise en route par session.

continuite/sorties/sorties/resume_continuite.json

Estimation du relecteur, pas une mesure : 300 s de film en 832×448 demandent ≈ 6,5 à 7,5 h de GPU pour une prise par plan, 13 à 15 h avec deux — dans les 30 h hebdomadaires de Kaggle, hors passage en 1280×704.

Ce qu'on retient