Pipeline vidéo Remotion
Séquences réelles + typographie générée par code = vidéos conformes à la marque, sans fautes de frappe et avec des modifications reproductibles.
Pipeline
- Inventorier les clips bruts :
scripts/inventory.sh <raw-dir> > index.tsv(id, chemin, durée, résolution). - Proxies :
scripts/make-proxies.sh index.tsv proxy/crée des copies H.264 en 1080p, 30 ips, intra-ish (-g 15), sans audio. Éditez et effectuez le rendu sur les proxies ; les originaux 4K/HEVC ralentissent la recherche dans Remotion et peuvent planter Chrome. - Choisir les moments en voyant, pas en devinant :
scripts/contact-sheet.sh proxy/v01.mp4 sheets/v01.jpgimprime une image par seconde dans une grille. Ouvrez la planche et notez les secondes de début par coupe. - Composer dans
template/(copiez-le) :Footage(clip rogné, zoomé),Scrim(dégradé pour un texte lisible),Line(texte animé). Une composition par sortie (par ex.Main30 s,Teaser9 s,Spot16x920 s). - Rendu :
npx remotion render <CompositionId> out/<nom>.mp4. La configuration définit déjà H.264, CRF 17, yuv420p. - Vérifier : extrayez 3 images fixes (
ffmpeg -ss 5 -i out.mp4 -frames:v 1 still.png) et examinez-les ; vérifiez la durée et que la politique audio (silence ou musique) correspond à ce que le client attend.
Pièges (chacun a coûté du temps réel)
- Définissez
lang="tr"(ou la bonne langue) sur l'élément racine ; sinon, CSStext-transform: uppercasetransforme leiturc enI(MAKINASI, TEKLIF). Préférez taper la casse finale directement dans la chaîne. ffmpegdans les boucleswhile readavale l'entrée standard : passez toujours-nostdin.- zsh divise différemment de bash :
set -- $pet$2:séchouent. Écrivez les scripts avec#!/usr/bin/env bash. - De nombreuses versions de ffmpeg n'ont pas de
drawtext. Dessinez le texte dans Remotion, jamais dans ffmpeg. - Les moteurs de rendu basés sur HTML (par ex. Hyperframes) peuvent laisser des calques superposés « sombres » visibles entre les scènes ; fondez également les scènes avec une animation d'opacité explicite. Exécutez ces rendus au premier plan (les exécutions en arrière-plan avec
nohupsont annulées) et convertissez la sortie HEVC avecffmpeg -i in.mp4 -c:v libx264 -crf 18 -pix_fmt yuv420p out.mp4. - Rotation des rushs téléphone : vérifiez les balises de rotation avec
ffprobe; les clips portrait dans une composition paysage nécessitentobjectFit: coverainsi qu'un rognage explicite. - Ne revendiquez que ce que montrent les rushs. N'inventez pas de spécifications, capacités ou prix dans le texte affiché à l'écran.
- Gardez les fichiers clients hors du dépôt que vous publiez ; les rushs et logos appartiennent au client.
Voir references/checklist.md pour la liste de contrôle de livraison.