WebsiteGet Ultimate VJ
DocumentationOutput & recording

Recording

On this page

Ultimate VJ records the program output only, silently, into a QuickTime .mov using H.264.

Starting and stopping

Press REC in the footer. You are asked where to save; the default filename is UltimateVJ-recording.mov. Recording then runs at the composition size and your chosen frame rate.

The button becomes Stop REC, then briefly Finalizing… (disabled) while the file is completed. The status line ends with either Saved <filename> or Recording failed: ….

There is no default recording folder - the location is entirely your choice each time.

What you get

Property Value
Container QuickTime .mov
Video codec H.264 (AVC)
Audio None - the file has no audio track
Colour Every frame declared BT.709, composited over black first
Dimensions Equal to the composition size
Frame rate Your Render frame rate preference
Minimum bit rate At least 2 Mbps (width × height × fps ÷ 5, whichever is larger)
Keyframe interval Twice the frame rate

Recording has no audio input and no connection to the audio engine at all. Both surfaces say so, in slightly different words:

  • The clip Inspector: "File audio follows forward, reverse and Bounce transport. Speed changes pitch. Recorded video is silent."
  • Settings → Clip audio: "Audio follows clip transport, including reverse and Bounce. Speed changes pitch. Recordings remain silent."

Output mapping is applied to recordings, so what you see on screen is what lands in the file.

Two constraints that bite

Dimensions must be even. Recording requires even width and height between 2 and 8192. Since the composition settings allow any size from 16 to 4096, an odd composition dimension makes recording fail with "H.264 recording needs even output dimensions and 1–120 FPS." Change one dimension to an even number and retry.

Frame rate must be 1…120 fps - the same message covers both failures.

Things that are refused while recording

Situation Message
Recording onto an existing path "Recording destination already exists. Choose a new filename."
Opening another set "Stop recording before opening another set."
Changing resolution, or matching a display's resolution "Stop recording before …"
Undo / Redo "Stop recording before undoing set edits."
Updating the app "Stop recording before updating UltimateVJ.", and later "Stop recording before restarting for the update."
Deleting a bank Blocked while recording
No Metal device "Metal is unavailable for recording."

Quitting while recording

Quit waits for finalization. The app closes output, stops the render loop, then stops the recorder and waits for any in-progress frame before replying to AppKit. A SIGTERM shutdown uses the same gate, so a CLI restart cannot truncate your file either.

Frame dropping

Encoding back-pressure is handled by dropping frames: a one-permit semaphore allows a frame to be skipped rather than queued, and the dropped count is tracked. Frames whose presentation time does not advance are skipped. Dropped frames are not reported as an error - the file completes normally.

Finalizing with zero frames fails with "Recording has no frames."

Not verified

  • Duration and file-size limits: none exist in source, but behaviour across very long recordings or under disk pressure beyond the standard Recording failed: … path was not explored.
  • Whether the default save location macOS offers you persists between takes - that is operating system behaviour, not app behaviour.