ActionCheese

ActionCheese Sync

Free multicam sync for Mac · open source

Every camera, in sync.

Drop in the folders off your cards, your Sony, GoPro, iPhone or Zoom recorder, and ActionCheese Sync lines every clip up by its sound, fixes recorder drift and hands Premiere Pro or DaVinci Resolve one timeline with every angle in place. No timecode needed. A free, open-source alternative to PluralEyes and Syncaila. Shot with ActionCheese? Your iPhones arrive already in sync.

Free download · 0.1.0 · 53 MBActionCheese Sync for Mac

Read the help · Source on GitHub · Mac with Apple silicon (not Intel) · macOS 11 or later

IMPORTED
iPHONE
WIDE
iPHONE
HOST
SONY
A7S III
ZOOM
RECORDER

picturesoundunmatched, kept on its own track

Shot with ActionCheese

The hard part is done before you open Sync.

One clock on every iPhone; Sync only has to find the rest. Sample pictures are AI-generated.

Every ActionCheese camera stamps the same time-of-day timecode, set from one clock while you shoot, and your Mac files each take by name. Open the day’s folder in Sync and the phones are already lined up, takes and markers included.

So Sync’s job shrinks to the part only sound can solve: where your other cameras and recorders fit. It places them against a reference that’s already right, instead of guessing every angle from scratch.

One folder does it: drop the cards into the day’s shoot folder and add just that.

Syncing footage from anywhere

  • Every angle has to be found by its sound
  • A quiet or silent clip has nothing to match
  • You group the takes and name the files yourself
  • Markers get added later, by hand
  • A camera whose clock is off drags its clips with it

Shot with ActionCheese

  • The iPhones arrive locked to one shared timecode
  • Phone clips keep their place even where the sound is too quiet to match
  • Takes come grouped and named, e.g. Take 03 – Wide.mov
  • Every “mark” you said is already there, and follows its clip
  • Your other cameras are placed against a timeline that’s already right
0.03 s

How close ActionCheese’s own timings were for most phones, measured on two real shoots. Sync still double-checks them by sound: on one handset that was up to 0.7 s out, the audio caught it and the report said so. Prefer the timings exactly as recorded? Turn on Trust already-synced clips.

On set, then at home

From the shoot to the edit, one folder.

ActionCheese on a Mac during the shoot: four iPhone cameras, Host on air
01 · ON SETActionCheese rolls every iPhoneOne shared clock, your markers, and a Program cut if you switched on the deck. Takes arrive on the Mac by name.
📁 2026-09-27/
  Take 01 – 14.03.22 – Wide.mov
  Take 01 – 14.03.22 – Host.mov
  Take 02 – 14.21.07 – Wide.mov
  …
  ActionCheese 2026-09-27 – Premiere.xml
+ 📁 Sony A/   ← your card
+ 📁 Zoom/     ← your recorder
02 · AT HOMEDrop the cards inCopy each camera card and recorder into the day’s folder, one folder per device.
The ActionCheese Sync window
03 · SYNCAdd the one folder, press SyncThe phones stay put, everything else lands in place, and Premiere gets one timeline.

What it does

Everything else, found in the audio.

Every camera hears the same room. Sync listens to all of them, works out where each clip really belongs, and writes it down. It runs entirely on your Mac, offline: nothing is uploaded.

CARDS IN, TIMELINE OUT

Just the folders

Give it one folder per camera or recorder, straight off the cards, a Premiere timeline, or any mix. How a card is organised inside doesn’t matter.

SONY CARDS

Reads the card, not just the clip

On Sony cards, Sync reads each clip’s own sidecar file, which records the moment recording started: faster and more reliable than guessing from the movie.

ONE MATCH, WHOLE CARD

Quiet clips land too

Once one clip from a camera matches, Sync knows that camera’s clock, so its other clips are placed by their timestamps, even the ones with nothing to hear.

MARKERS

Markers follow the moment

Every marker stays tied to the clip it was made on, so after everything moves it still points at the same moment, not at whatever slid into its old spot.

LONG TAKES

Recorders stay locked

A field recorder’s clock can drift tens of milliseconds an hour. Sync measures it and writes a tiny speed correction to the recorder’s audio. Picture is never resampled.

SANITY CHECKS

Never out of order

A camera can’t record two things at once, so its clips never overlap and stay in shooting order. A match that breaks that is thrown out, not trusted.

NOTHING DROPPED

Every clip is accounted for

A clip it can’t match moves to its own track, marked in red, placed by its recording time where possible. Take-after-take shoots come out as tidy groups.

YOUR TIMELINE

Your edit stays yours

Give it a single Premiere timeline and it edits a copy of that very document, so everything you set up survives. The result sits beside the original, never over it.

ON RECORD

Every decision in the report

The Log lists what matched, what moved and by how much, drift in ppm and anything left over. For batch jobs, the same engine runs from Terminal.

How it works

From cards to cut in four steps.

01 · ADD

Drop in the folders

An ActionCheese shoot folder, a camera card, a recorder, a Premiere timeline, in any mix.

02 · SYNC

Press Sync

It listens to every clip, matches them in pairs, then solves the whole shoot at once.

03 · CHECK

Look it over

The Timeline tab shows your footage as imported and as synced. Anything unmatched is in red.

04 · IMPORT

Open in Premiere

File › Import the XML. The synced sequence appears beside your original, never over it.

ActionCheese Sync after a sync: the Timeline tab shows the imported tracks above the exported ones, with the Sony track moved into place, the recorder under the phones and one unmatched clip on a new track in red
Before and after, on one scale. One shoot folder in: the two iPhones (V1, V2) move together as one block, the Sony (V3) slides into place, the Zoom recorder (A4) lines up under them, and a silent B-roll clip gets its own track in red. The marker pins move with their clips.
The Log tab: 6 synced, 1 unmatched; a table of every clip with its new start and shift; the Zoom recorder's drift of 19.68 ppm corrected; the unmatched clip moved to a new track
Every decision, written down. The same run in the Log: six clips synced, the Sony pulled 31 seconds into place, the recorder’s 19.68 ppm drift corrected, and the one clip it couldn’t place, moved rather than dropped.

A demo shoot built from generated audio, run through the real app. No private footage.

Help

Using ActionCheese Sync

Getting started

What you need, what to add, and getting the result into your editor.

What you need

  • A Mac with Apple silicon and macOS 11 or later. Intel Macs can’t run it.
  • An editor that imports Final Cut Pro 7 XML, such as Premiere Pro or DaVinci Resolve.
  • Clips with sound. Sync works from the audio, so every camera needs its microphone on, even a scratch mic.

Install it

Open the downloaded zip and drag ActionCheese Sync into Applications. It's signed with Apple's Developer ID and notarized by Apple, so it opens like any other app.

Add your material

Use Add folder… and Add XML… to add any mix of these:

AddWhat Sync does with it
A camera or recorder folderTreats everything inside as one device, however the card is organised. Two cameras need two folders.
An ActionCheese shoot folderBrings in every phone as its own camera, already in sync with the others. Camera cards dropped inside the folder come along as further cameras.
A Premiere timeline (.xml)Put one camera or recorder on each track, then File › Export › Final Cut Pro XML. Its clips keep their tracks.

Sync and import

  1. Choose where to save under Output XML.
  2. Press Sync, then check the Timeline tab.
  3. In Premiere, choose File › Import and pick the XML. In Resolve, File › Import › Timeline.

The sequence is named after your first input with “_synced” added, so it appears beside the original in your bin instead of replacing it.

With a single timeline and nothing else, Sync edits a copy of that timeline and everything Premiere put in it survives. With anything else it builds a new timeline: clips keep their media, in and out points and positions, but effects, labels and speed changes already on them don't come along.

With ActionCheese

iPhones from ActionCheese plus cameras that aren't iPhones.

The one-folder workflow

  1. Import the day's shoot on your Mac with ActionCheese, as usual. It lands in its own day folder.
  2. Copy each camera card and recorder into that day folder, one folder per device, e.g. Sony A, Zoom.
  3. Add just the day folder to Sync and press Sync.

The phones come in already lined up by their shared timecode, and every other device is placed against them by its sound. Saying “action” out loud gives every microphone the same clear sound to match.

Already-synced clips are double-checked

ActionCheese's own timings are treated as strong evidence, not as fact: where the audio is confident and disagrees, the audio wins. The report lists every phone clip it moved, and by how much.

Turn on Trust already-synced clips to keep the phones' timings exactly as recorded, for example when the material has little usable sound.

Markers from the shoot

Markers you dropped with “mark”, the flag or M come across and stay with the phone clips they were made on, since the phones' clock is the one that timed them. A marker made between takes keeps its distance from the takes either side.

Options

The defaults suit most shoots. Here's what each one changes.

What each option does

OptionWhat it does
Close empty gapsRemoves every stretch where nothing plays on any track. Gaps never cut through a clip, so sync is unaffected.
Correct recorder driftWrites a small speed correction to long field-recorder clips whose clock drifts. Only recorder audio is corrected; picture never is.
Trust already-synced clipsKeeps ActionCheese's timings exactly, instead of letting a confident audio match correct them.
Unmatched clipsInline puts each unmatched clip just after the last clip shot before it. Append puts them all after the last synced clip. Either way they get new tracks and nothing is deleted.
Unmatched audioKeep leaves an unmatched clip's sound on its track and moves only the picture. Split gives the sound new tracks too, one per channel.
Mark withThe label colour for unmatched clips. Rose is Premiere's red.
Reference trackThe track that stays put, e.g. V1 or A3. Leave it blank to use the busiest camera track.
Min confidenceHow strong a match has to be, from 0 to 1. Lower catches more clips at the risk of a wrong placement. The default, 0.45, suits most shoots.
Name suffixAdded to the sequence name in the output. “_synced” by default.

Reading the result

What the Timeline tab and the report are telling you.

The Timeline tab

It draws your material as imported and as exported, on the same time scale, with each clip's waveform inside. Cyan is picture, amber is sound, rose is anything Sync couldn't place. Hover a clip for its name and timecode. There's one row per device, not per track, and empty tracks are left out of the exported XML.

A typical “before” is one solid bar per device, clips butted end to end. The “after” breaks into blocks at their true positions.

Synced, groups and unmatched

ResultMeaning
SyncedMatched and moved into place.
GroupsClips in sync with each other but with nothing in the audio linking them to the rest. Normal when one camera and one recorder shoot take after take. Each group is correct within itself.
UnmatchedNo confident match: usually no usable sound, or nothing else was recording then. Marked in colour and placed by its recording time where possible; otherwise after the last synced clip from the same device.

A camera can't record two things at once, so its clips never overlap and stay in shooting order. A match that breaks that rule is thrown out and the clip is reported as unmatched instead. The one exception: if the footage between two synced takes doesn't fit the gap left for it, the clip goes after them rather than through them.

Troubleshooting

The usual snags and what to do.

Nothing syncs

Check the media is still where the XML says it is: the Log tab names any file it couldn't open. Clips with no sound can never match.

A whole camera is missing

A folder is one device, so two cameras need two folders. A card folder inside an ActionCheese shoot folder you also added is used once, not twice; the log says so.

A clip is in the wrong place

Raise Min confidence and run again. If it persists, email the XML and the report to [email protected].

Premiere warns about a speed effect

Turn off Correct recorder drift, run again, and let us know so we can fix it.

My timeline is from Final Cut Pro

Final Cut Pro's .fcpxml is a different format and isn't supported yet. Add the camera folders directly instead, and import the result into Premiere Pro or DaVinci Resolve.

The app won't open

Download it again from this page: the download is signed and notarized by Apple. If macOS still blocks it, go to System Settings › Privacy & Security and click Open Anyway, then tell us at [email protected].

Command line

For batch jobs and scripts. The app carries the same engine.

Sync from Terminal

actioncheese-sync sync ~/cards/cam-a ~/cards/recorder -o synced.xml --report report.json
actioncheese-sync sync timeline.xml --dry-run
actioncheese-sync probe /Volumes/T7/actioncheese/2026-09-27
actioncheese-sync guide

probe shows what would be read without analysing anything, --dry-run analyses without writing a file, and guide prints the full manual. From the app bundle, run "ActionCheese Sync.app/Contents/MacOS/ActionCheese Sync" --cli followed by the same arguments.

About

Who makes it, and what it costs.