Rendern, exportieren, reparieren
Ausführen im Verzeichnis projects/<name>/. Finale genehmigte Dateien werden auch nach exports/ im Workspace-Root kopiert.
Spickzettel
npx hyperframes render . -o renders/video.mp4 # Standard
npx hyperframes render . --fps 60 -o renders/video-60fps.mp4
npx hyperframes render . --resolution 4k -o renders/video-4k.mp4 # Seitenverhältnis muss passen; Hochformat → 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 # kleinere Datei
- Wenn Grafiken auf dem Filmmaterial des Benutzers liegen, die Bildrate des Filmmaterials beibehalten, sofern der Benutzer nichts anderes wünscht.
- Referenzzeiten auf einem 4-Kern-i3-Laptop mit ~12 GB RAM (schnellere PCs sind schneller): 6 s einfache 1080p-Grafik ≈ 24 s; 3:20 1080×1920 Filmmaterial + Paper Cut ≈ 1,5 h (~1,1 fps:
filter: drop-shadowerzwingt Screenshot-Erfassung, und schnelle Erfassung funktioniert ohnehin nur unter macOS). Den Benutzer vor langen Renderläufen warnen und einmal am Ende rendern. - Geschwindigkeitshebel:
--workers 3(jeder Chrome ~256 MB; Standardautohat hier 1 gewählt – zuerst mit einem kurzen Clip testen),--quality draftfür Prüf-Renderings oder einen kürzeren Clip. Falls ein Rendern wegen Speichermangels oder Zeitüberschreitung fehlschlägt,--low-memory-modeund/oder--protocol-timeout 600000hinzufügen. - Nur Audio-Änderungen erfordern kein erneutes Rendern:
node tools/sfx.mjs projects/<n> --mix in.mp4 out.mp4(Videostream kopiert). - Mit
npx hyperframes snapshotiterieren (schnell) und nur rendern, wenn die Frames richtig aussehen.
Transparenter Export (PROMPT 14)
MOV/PNG sind nur transparent, wenn der Hintergrund transparent ist.
- Hintergrund und jegliches Filmmaterial entfernen, sodass nur die Karte(n) übrig bleiben; alles darum herum transparent.
- Mattierte Karten verlieren ihren Weichzeichner ohne dahinterliegendes Material → für Overlays auf feste Karten umstellen.
renders/card.movexportieren (ProRes 4444 mit Alpha,--format mov) und eine PNG-Sequenz inrenders/card-png(--format png-sequence).- Mit einem Schachbrett-Muster als Schnappschuss überprüfen, ob nur die Karte sichtbar ist. (
--format webmist eine weitere transparente Option.)
Wenn etwas falsch aussieht
| Symptom | Lösung |
|---|---|
| Falsche Schriftart / einfacher Fallback | Die Datei in fonts/ per @font-face verwenden; niemals eine Web-Font-URL. lint meldet font_family_without_font_face. |
| Text auf Smartphones abgeschnitten | Gesamten Text innerhalb der mittleren 80 % der Breite halten. |
| Eine Karte überdeckt die Untertitel | Jede Karte oberhalb des unteren Drittels positionieren. |
| Eine Karte ist etwas zu früh / zu spät | Spracherkennung kann ~1 s abweichen. Auf das exakt gesprochene Wort justieren (Audio darum herum prüfen). |
| Datei ist riesig | Erneut mit --crf 23 rendern (besonders bei Grain-Stilen). |
| Stummes Rendern | Jedes <audio> benötigt eine id; das <video> darf nicht muted sein und benötigt data-has-audio="true". |
Wenn der Benutzer das Problem in eigenen Worten beschreibt, auf einen dieser Punkte oder auf einen Parameter in mg-styles übersetzen. |