ScreenFlow to AE
Turn a screen recording into an After Effects scene you can keep editing.
Interactive Demo A browser demo on sample data. The tool itself is not released yet.
The problem
A polished screen recording comes out locked. A new zoom or a vertical version means starting over.
What I built
A script that rebuilds the recording in After Effects as separate layers: the screen, the camera, the voice, the cursor and every zoom.
- Every zoom stays editable
- Wide, vertical and square from one recording
- Missing data is flagged, not guessed
Features and limits
Built and tested
- Reads the recording's screen, camera, audio, cursor movement, clicks and zoom ranges, and turns them into one build plan.
- Each zoom aims at a clear target: a point you set, or the clicks inside the zoom, or the cursor, or the center. The plan says which one it used.
- Zooms land where they aim instead of sliding past, and zooms close together move straight from one target to the next.
- The frame never shows an empty edge. Every frame is checked.
- The cursor is simplified from about 1,400 samples to about 120 keyframes, and stays within 2 px of the original path.
- Three motion styles (Smooth, Focused, Rapid), three shapes (16:9, 9:16, 1:1), and the camera bubble in any corner.
- Nothing missing is guessed silently. No cursor, camera, audio length or frame rate each leads to a stated fallback.
Limits
- The script was tested in After Effects 26.5.0 on macOS 27.0.1 on a sample recording. It is not offered as a download yet, because it has not been tested on a real export.
- Reading real recording folders is written from an older version's file format and has not met a real export. Newer project versions are not supported.
- The cursor is always an arrow. Changes to a text or hand cursor are not rebuilt.
- The browser preview draws a made-up app screen; it does not play video.
Planned
Testing on a real recording export, cursor types, and a download once that passes.
How to use
- Pick a motion style, an output shape and a camera corner. The plan and its checks update at once.
- Play or scrub the preview. Light blocks on the timeline are zooms; dark ticks are clicks.
- Tick "Drop cursor data" or "Drop camera" to see how the plan falls back and says so.
- Export the plan as JSON to keep it.
How it works
- Zoom targets follow a fixed order: a manual point, then the clicks inside the range, then the cursor, then the center.
- Scale and position move together on one curve, so the zoom stays aimed at its target.
- The cursor path is simplified until every frame is within 2 px of the smoothed original.
- A round-trip check compares timing, camera motion, cursor accuracy and audio length with the source.
Download
No download yet. A download appears here only after the package is built from reviewed code, installed and tested inside the host application.
Tested versions & limits
- Pass Unit: full fictional recording passes the round-trip checks Node 22, Linux
- Pass Unit: zoom targets (manual, clicks) and no empty edge at any frame Node 22, Linux
- Pass Unit: close ranges reframe; a reframe never lands before its range Node 22, Linux
- Pass Unit: cursor keys within 2 px tolerance with far fewer keys Node 22, Linux
- Pass Unit: stated fallbacks when cursor, camera, frame rate or audio length are missing Node 22, Linux
- Pass Unit: validation catches a broken plan Node 22, Linux
- Pass Unit: output formats and the recording-folder adapter (fictional fixture) Node 22, Linux
- Pass Host script: syntax check and JSON guard rejects non-JSON Node 22 parser, not After Effects
- Pass Host: build the comp inside After Effects After Effects 26.5.0, macOS 27.0.1
- Not tested yet Adapter: a real recording-app export No real export available
Last verified 2026-10-31.
The planner and its round-trip checks are tested. The After Effects script ran in After Effects 26.5.0 on macOS 27.0.1 on a fictional recording: it built the 24 s comp with 14 zoom and 123 cursor keys; values read inside After Effects show the Zoom amount control scaling every zoom at 50, 100 and 150 % with 1x frames fixed, and every click inside the frame, zoomed in; frames checked. The input adapter has not met a real recording-app export. Evidence: labs/host-tests/results/2026-10-31-mac.
Details
- Input
- A screen recording folder with its project data
- Output
- An editable After Effects comp
- Runs in
- An After Effects script, tested in After Effects 26.5.0 on macOS 27.0.1, and a planner that runs in your browser. The script is not offered as a download until it has been tested on a real recording export.
- Source
- Original, rebuilt from scratch