SkellySync
SkellySync (skelly_synchronize) synchronizes videos of the same event after recording, without needing camera timestamps. Given a folder of videos that overlap in time, it computes the temporal offset between each video and the others, trims every video to the earliest moment all cameras were recording simultaneously, and writes the results out with matching frame counts. Two synchronization methods are available: audio cross correlation and first brightness change detection. Part of the FreeMoCap polyrepo's utility tier. Since FreeMoCap v2.0.0-alpha.23, the app uses it to synchronize imported videos.
At a glance
In the FreeMoCap app. Lines up videos that weren't recorded in sync. When you bring in videos with Playback > Import Videos and turn on synchronization, FreeMoCap uses SkellySync to align them by their audio or by a light flash. See process a recording after the fact.
| Code | freemocap/skellysync |
| Issues | Open issues |
| Version in FreeMoCap alpha.25 | 0231c41 on philip/rewrite |
| Install | FreeMoCap installs it from GitHub. The PyPI package is the older main-branch version |
| Needs | FFmpeg, installed separately |
| License | AGPL-3.0 |
FreeMoCap uses a rewrite that lives on the philip/rewrite branch, which reorganizes the package into core/, a CLI, and an optional FastAPI server and web UI. The other pages in this section were written from the older main branch, so module names and entry points there may not match what FreeMoCap runs.