Agent skill · Media & Video

wjs-syncing-multicam

Use when the user has 2+ video / audio recordings of the same event captured by different devices (cameras, phones, separate audio recorders) and wants them aligned to a single common timeline. Outputs only a lightweight `.sync.json` sidecar per input — original files are never re-encoded. Triggers — "多机位同步", "对齐这几个机位", "match camera timelines", "sync these angles", "audio drift between cameras", "separate audio recorder", "Riverside / Zoom recording that needs to line up".

jianshuogithub.com/jianshuoGitHub ↗
claude-codecodexMIT
Install
npx skills add jianshuo/claude-skills --skill wjs-syncing-multicam --agent claude-code

Same command for any agent — swap --agent for codex, cursor, copilot.

Facts
Files in the skill folder: 1
SKILL.md size: 11 KB
Bundled scripts: none
Path: wjs-syncing-multicam/SKILL.md
Open the folder on GitHub →
Where it comes from
Stars: 112
Language: Python

Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.

From the SKILL.md

# wjs-syncing-multicam Compute a single time offset for each multi-source recording of the same event using audio cross-correlation, and emit a `.sync.json` sidecar next to each original. **Originals are never modified, copied, or re-encoded.** Downstream tools use `-itsoffset` to apply the offset at consume time. ## Setup & commands The implementation lives in the open-source **`polysync`** pip package (<https://pypi.org/project/polysync/> · <https://github.com/jianshuo/polysync>) — this skill no longer ships its own scripts. Ensure it's installed, then drive it via its CLI: ```bash python3 -m pip install -U polysync # needs ffmpeg/ffprobe on PATH polysync sync REFERENCE SOURCE # align SOURCE to REFERENCE, write sidecars polysync sync REFERENCE SOURCE --partial # source covers only part of the session polysync verify REFERENCE SOURCE SOURCE.sync.json # independent residual check ``` Run one `polysync sync` per non-reference angle (reference first, same reference each time). The sections below document the algorithm, the sidecar schema, and the gotchas baked into the package — read them to interpret output and choose flags. ## Design principle — sidecar over re-encode Earlier versi

What's inside
Steps it walks through
  1. Setup & commands
  2. Design principle — sidecar over re-encode
  3. When NOT to use
  4. Why envelope-based, not raw waveform
  5. Algorithm
  6. Sidecar schema (<input>.sync.json)
  7. Field reference
  8. How downstream consumes the sidecar
  9. Partial-coverage clips — polysync sync --partial
  10. When to skip drift correction
  11. Verification (always run)
  12. Common pitfalls
Commands it runs
python3 -m pip install -U polysync      # needs ffmpeg/ffprobe on PATH
polysync sync   REFERENCE SOURCE        # align SOURCE to REFERENCE, write sidecars
polysync sync   REFERENCE SOURCE --partial   # source covers only part of the session
polysync verify REFERENCE SOURCE SOURCE.sync.json   # independent residual check
Play cam_b aligned to cam_a's timeline
ffmpeg -itsoffset $(jq -r .delta_seconds cam_b.MOV.sync.json) -i cam_b.MOV \
Trim to mutual overlap window (read from cam_b.MOV.sync.json)
ffmpeg -ss <overlap_in_source[0]> -i cam_b.MOV -t <overlap_dur> ...
More from claude-skills
All skills →
About this skill
What does the wjs-syncing-multicam skill do?

Use when the user has 2+ video / audio recordings of the same event captured by different devices (cameras, phones, separate audio recorders) and wants them aligned to a single common timeline. Outputs only a lightweight `.sync.json` sidecar per input — original files are never re-encoded. Triggers — "多机位同步", "对齐这几个机位", "match camera timelines", "sync these angles", "audio drift between cameras", "separate audio recorder", "Riverside / Zoom recording that needs to line up".

How do I install it?

Run `npx skills add jianshuo/claude-skills --skill wjs-syncing-multicam --agent claude-code` — it drops the skill into your project so the agent can pick it up. Swap the --agent value for codex, cursor or copilot if you use one of those.

Where does this skill come from?

From jianshuo/claude-skills, a repository with 112 stars. We read it straight from the repository tree rather than a submitted listing, so what you see here is what is actually published.

Is a popular skill a good skill?

Not necessarily. Stars measure attention, not adoption — a repository can trend for a week and be abandoned. That is why we show the weekly change from our own snapshots next to the total, instead of a single flattering number.

Keep going