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éthode | ce que reçoit chaque clip | min de GPU |
|---|---|---|
| M1 indépendants | sa part de profondeur (1-81, 81-161, 161-241), rien d'autre | 14,57 |
| M2 dernière image | sa part de profondeur + la dernière image du clip précédent, en image de départ | 14,57 |
| M3 continuation | fenêtres 1-81, 65-161, 145-241 ; les 17 dernières images de la précédente sont reprises, la profondeur guide les 80 neuves | 15,55 |
| M4 une fenêtre | les 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éthode | variation normale | saut 81|82 | saut 161|162 | ΔE 81|82 | ΔE 161|162 | note |
|---|---|---|---|---|---|---|
| M1 indépendants | 2,01 | ×12,6 | ×8,7 | 3,0 | 4,1 | 3 |
| M2 dernière image | 1,77 | ×1,8 | ×1,3 | 0,15 | 0,50 | 5 |
| M3 continuation | 1,97 | ×1,9 | ×1,7 | 0,20 | 0,36 | 6 |
| M4 témoin | 1,76 | ×1,2 | ×1,1 | 0,51 | 0,14 | 7 |
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.
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 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
- Jusqu'à 10 s, une seule fenêtre (M4) : 24 images par seconde, arrondies à 8k+1 (5 s = 121, 10 s = 241).
- 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.
- Jamais M1 dans une scène, seulement pour une vraie coupe. Pas de M2.
- À 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
- La jointure ne se voit qu'avec des clips indépendants : reprendre une image ou 17 garde couleur et mouvement.
- Reste le décor qui ne suit plus la profondeur après une reprise. Pistes : IC-LoRA plus forte ensuite, 9 images de recouvrement, jointures là où rien de neuf n'entre.
- Étalonner entre les plans, pas aux jointures.