Was macht Angles?
Schreibe eine kleine JSON-Spezifikation, führe einen Befehl aus und lies eine JSON-Zeile zurück. Öffne oder bearbeite das Studio nicht; die Spezifikation erreicht alles, was es machen kann, und lehnt alles ab, was es nicht kann.
node <dieser Ordner>/angles.mjs check spec.json # ~5s, kein Video: ein Blatt, eine Reihe von 4 Frames pro Variante
node <dieser Ordner>/angles.mjs make spec.json # das mp4 (1920 breit, etwa 4s Arbeit pro Sekunde Video) + ein Blatt
- Prüfe, bevor du erstellst. Gib die Optionen, die du abwägst, in
variantsan. Eincheckzeigt alle als beschriftete Reihen in einem einzigen kleinen Bild an. Sieh dir das Blatt an, wähle eine Reihe aus und führe dannmakeeinmal aus mit den Feldern dieser Reihe, die in die Spezifikation eingefügt wurden (undvariantswird entfernt). Rendere keine Videos, um Looks zu vergleichen. - Betrachte ein Blatt, niemals das mp4. Lies den Pfad, den es für das
sheetausgibt. Das reicht, um Bildausschnitt, Winkel und Fokus zu beurteilen. - Bei
ok: falsekorrigiere nur das, was diewarningsbenennen. Sie listen die gültigen Optionen auf.node angles.mjs schemagibt alle Optionen aus, falls du sie brauchst. Rate nicht.
{ "source": "~/Desktop/demo.mov", "out": "~/Desktop/angles", "trim": { "in": 2, "out": 8 },
"look": "bright", "background": "mist", "shadow": "soft",
"variants": [{ "style": "close", "level": "gentle" }, { "style": "raking" }, { "style": "float" }] }
| Feld | Werte |
|---|---|
source | Eine Aufnahme (.mov .mp4 .webm) oder ein Screenshot (.png .jpg). Aufnahmen werden einmal in Frames geschnitten und wiederverwendet (--fresh macht es erneut). |
style | close, raking (nah in einem echten Winkel); float, angle, flyby, focus, push, reveal, rise, tiltshift |
level | still, whisper (Standard), gentle, lively, bold. Jeder hat ein Geschwindigkeitsbudget, und die Bewegung schrumpft, um hineinzupassen. speed ≤ budget gilt als ruhig. |
trim, loop, aspect | { "in": s, "out": s }; true blendet das Ende in den Start über; 16:9 (Standard), 1:1, 9:16, beliebiges B:H |
beats | Mehrere Stile in einem Clip: [{ "at": 0, "style": "float" }, { "at": 4, "style": "close" }] |
look, lookAmount | bright, crisp grain, glossy, sunlit, pixel macro, cool studio, film print, none; 0–1 |
background, shadow | mist linen sky sage blush dusk oder #hex; none soft close float |
focus | { "at": s, "u": 0–1, "v": 0–1, "size": 30 }. Lasse u/v weg, um auf den Bereich zu fokussieren, in dem sich die Aufnahme ändert. |
overlays | [{ "at": 1, "dur": 1.5, "keys": ["⌘", "K"] }] oder { "text": "…" }: Abzeichen oberhalb der Kamera |
ease, dir, travel | steady soft settle constant; left right; 0–2 (Standard .8) |
Geschmack: Subtilität gewinnt (whisper oder gentle), eine Idee pro Clip (ein Stil oder zwei oder drei beats) und ein Trim von 3–8 s, der auf der Aktion endet.
Benötigt Chrome, ffmpeg, node 18+ und python3 mit numpy und pillow; führe npm i einmal hier aus. Es stellt sich selbst auf Port 8790 bereit (setze ANGLES_PORT, um ihn zu ändern).