Que fait Remotion Video Builder ?
Votre connaissance de Remotion peut être obsolète. Lorsque le comportement exact de l'API est important, privilégiez le serveur MCP officiel remotion-documentation ou la documentation sur remotion.dev.
Commencez ici
- Si le projet n'existe pas encore, créez-le avec
npx create-video@latestet préférez le modèle vierge. - Gardez chaque package
remotionet@remotion/*exactement sur la même version et évitez les intervalles avec caret. - Structure d'entrée standard :
src/index.tsappelleregisterRoot()src/Root.tsxenregistre toutes les vidéos avec<Composition>ou<Still>
Ordre de construction
- Modélisez d'abord le contrat d'entrée :
- schéma de props de haut niveau
- données de timeline ou d'événements
- profil de rendu
- Définissez des props partagées avec
zodet passez le schéma à chaque<Composition>. - Utilisez
calculateMetadatapour dériverdurationInFrames,width,height, les props transformées, etdefaultOutName. - Construisez la structure de la scène avec
<Series>pour l'ordre narratif et<Sequence>pour les superpositions, entrées, fenêtres de séquences vidéo, et légendes. - Dans les projets Remotion v4.x, définissez explicitement
premountForsur les éléments<Sequence>qui nécessitent le chargement des ressources avant leur apparition. - Ajoutez des exemples de données et des scripts de rendu avant de peaufiner l'animation.
Réglages et règles par défaut
- Par défaut, utilisez
fps={30}et1920x1080pour le paysage, sauf indication contraire dans le brief. - Utilisez
AbsoluteFillpour la superposition des couches. - Utilisez
staticFile()pour tout ce qui vient depublic/. - Utilisez
useCurrentFrame()etuseVideoConfig()pour la logique basée sur les images. - Privilégiez des mouvements subtils :
spring()avec un amortissement élevéinterpolate()avec clamping
- N'utilisez pas
Math.random(). Utilisezrandom(seed)deremotion. - Gardez l'animation de texte simple et lisible.
- Gardez les sorties paysage et portrait sur la même logique métier, sauf si le brief exige vraiment une divergence.
Liste de vérification pour une vidéo paramétrée
- Un seul schéma
z.object()partagé de haut niveau defaultPropscorrespondant à la forme des props du composantcalculateMetadataretournant une durée ou des dimensions dynamiques lorsque les entrées l'exigent- Exemples de données JSON ou TypeScript pour l'aperçu local
- Scripts de rendu pour chaque sortie cible
Stratégie pour les séquences vidéo
Prenez en charge au moins ces modes lorsque les séquences vidéo sont optionnelles :
noneplaceholderreal
La timeline et les superpositions doivent toujours s'afficher en l'absence de séquences réelles.
Vidéo de lancement Millrace
Si la demande concerne Millrace ou le pipeline de vidéo de lancement, lisez references/millrace-launch-video.md avant d'implémenter.