← ClaudeAtlas

wjs-editing-multicamlisted

Use when the user has 2+ recordings of the same event (each with a `.sync.json` sidecar from wjs-syncing-multicam) and wants them combined into a single MP4 — auto-switching between cams second-by-second on audio energy, with optional picture-in-picture inset. Triggers — "auto-edit multicam", "做个剪辑", "切几个机位", "把这几个视频合成一个", "combine these angles", "PiP overlay".
jianshuo/claude-skills · ★ 77 · AI & Automation · score 85
Install: claude install-skill jianshuo/claude-skills
# wjs-editing-multicam Combine N synced camera angles into a single rendered MP4. Decisions are audio-energy-driven only — the cam with the loudest mic each second wins. Output is hard cuts (or hard cuts plus a corner PiP). ## 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. Install it, then drive it via its CLI: ```bash python3 -m pip install -U polysync # needs ffmpeg/ffprobe on PATH polysync edit CAM_A CAM_B CAM_C --out edl.json # build the decision list polysync render-cuts edl.json --out out.mp4 # hard cuts polysync render-pip edl.json --out out.mp4 --pip bottom-right # cuts + corner inset ``` `edit` and the renderers read each input's `.sync.json` automatically. Sync first with **wjs-syncing-multicam** (`polysync sync`) if the sidecars don't exist yet. Render flags for raw camera footage (see **Preflight** below for when to use each): ```bash # Sony S-Log3 footage, shot vertical, FX6 cams turned on their side, for 小红书: polysync render-cuts edl.json --out out.mp4 \ --log slog3 \ # S-Log3/S-Gamut3.Cine -> Rec.709 grade --rotate 1:90 --rotate 2:90 \ # rotate cam1,cam2 90° CW (FX6 with no flag) --width 1080 --height 1920 --fill \ # vertical, crop-to-fill (no black bars) --duck-audio --audio-cams 0,1 # clean speaker-gated audio (cams 0,1 =