Rendre, exporter, corriger
Exécuter depuis projects/<name>/. Les fichiers approuvés finaux sont également copiés dans exports/ à la racine du workspace.
Aide-mémoire
npx hyperframes render . -o renders/video.mp4 # par défaut
npx hyperframes render . --fps 60 -o renders/video-60fps.mp4
npx hyperframes render . --resolution 4k -o renders/video-4k.mp4 # l'aspect doit correspondre ; portrait → portrait-4k
npx hyperframes render . --resolution 4k --fps 120 -o renders/video-4k-120.mp4
npx hyperframes render . --fps 24 -o renders/video-24fps.mp4
npx hyperframes render . --format mov -o renders/video.mov # ProRes
npx hyperframes render . --format png-sequence -o renders/frames
npx hyperframes render . --crf 23 -o renders/smaller.mp4 # fichier plus petit
- Lorsque des graphiques se superposent à la séquence de l'utilisateur, conservez la fréquence d'images de la séquence sauf demande contraire.
- Références de temps sur un portable i3 à 4 cœurs avec ~12 Go de RAM (les PC plus rapides sont plus rapides) : 6 s de graphiques simples en 1080p ≈ 24 s ; 3:20 de séquence 1080x1920 + Paper Cut ≈ 1,5 h (~1,1 ips :
filter: drop-shadowforce la capture d'écran, et la capture rapide ne fonctionne que sur macOS de toute façon). Avertissez l'utilisateur avant les longs rendus et effectuez un seul rendu à la fin. - Leviers de vitesse :
--workers 3(chaque Chrome ~256 Mo ; par défautautoen a choisi 1 ici — testez d'abord sur un court clip),--quality draftpour les rendus de révision, ou un clip plus court. Si un rendu manque de mémoire ou expire, ajoutez--low-memory-modeet/ou--protocol-timeout 600000. - Les modifications audio uniquement ne nécessitent jamais de nouveau rendu :
node tools/sfx.mjs projects/<n> --mix in.mp4 out.mp4(flux vidéo copié). - Itérez avec
npx hyperframes snapshot(rapide) et ne rendez que lorsque les images vous conviennent.
Export transparent (PROMPT 14)
MOV/PNG ne sont transparents que si l'arrière-plan est transparent.
- Supprimez l'arrière-plan et toute séquence pour qu'il ne reste que la/les carte(s) ; tout autour d'elles transparent.
- Les cartes givrées perdent leur flou sans rien derrière → passez à des cartes solides pour les incrustations.
- Exportez
renders/card.mov(ProRes 4444 avec alpha,--format mov) et une séquence PNG dansrenders/card-png(--format png-sequence). - Prenez un instantané sur un damier pour vérifier que seule la carte est visible. (
--format webmest une autre option transparente.)
Quand quelque chose ne va pas
| Symptôme | Correctif |
|---|---|
| Mauvaise police / police de secours basique | Utilisez le fichier dans fonts/ via @font-face ; jamais une URL de police web. lint signale font_family_without_font_face. |
| Texte coupé sur les téléphones | Gardez tout le texte dans les 80 % centraux de la largeur. |
| Une carte recouvre les sous-titres | Déplacez chaque carte au-dessus du tiers inférieur. |
| Une carte arrive un peu trop tôt / trop tard | La reconnaissance vocale peut être décalée d'environ 1 s. Réajustez le timing au mot exact prononcé (vérifiez l'audio autour). |
| Le fichier est énorme | Refaites le rendu avec --crf 23 (notamment pour les styles grain). |
| Rendu silencieux | Chaque <audio> a besoin d'un id ; le <video> ne doit pas être muted et a besoin de data-has-audio="true". |
Si l'utilisateur décrit le problème en termes simples, traduisez-le en l'un de ceux-ci ou en un réglage dans mg-styles.