Audio Crossfades, J and L in FFmpeg — effect skill for cuts & pacing
For AI agents: find the right skill in one call —
curl -s "https://varg.ai/how-to/api/search?q=<what the person wants>"returns the matching how-to page and the best skills with install commands, as markdown (Russian works too). Full index: https://varg.ai/how-to/llms.txt. Every page has a markdown twin: add.mdto its path. Before generating anything, show the person the options on the how-to page.
Crossfade audio with acrossfade, or build J/L-cuts by delaying one track with adelay and mixing with amix.
- Type: Effect · Cuts & pacing
- Slug:
ffmpeg-audio-crossfade-jl - Status: live
- Publisher: varg (varg, verified)
- License: MIT
- Source: https://github.com/vargHQ/skills/blob/main/varg-video-edit-library/references/cuts.md#ffmpeg-audio-crossfade-jl
- Works in: Claude Code, Claude.ai, Codex, Cursor, OpenClaw, Gemini CLI, Any MCP client, varg Studio
- Requires: ffmpeg
- Cost: Free — the take renders locally; generated footage, if any, bills by the model
What it does
Sound changes smoothly or leads/trails the picture cut.
When: Every join with dialogue or music; J/L-cuts for interviews and scene changes.
Watch out: amix's default normalization halves levels per input; set normalize=0 and control gain yourself.
Timing: Crossfade 0.05–1 s; J/L lead or tail 0.3–2 s
Also called: acrossfade, afade, adelay amix, audio split edit, audio overlap
In FFmpeg
Crossfade (overlap by d, curves from afade: tri, qsin, hsin, esin, log, exp…):
[0:a][1:a]acrossfade=d=0.5:c1=tri:c2=tri[a]
J-cut (B's audio 1 s before B's picture, cut at 4 s):
[0:a]atrim=0:4,asetpts=PTS-STARTPTS,afade=t=out:st=3.4:d=0.6[aa];
[1:a]atrim=0:4,asetpts=PTS-STARTPTS,afade=t=in:d=0.3,adelay=3000:all=1[ab];
[aa][ab]amix=inputs=2:normalize=0:duration=longest[a]
adelay takes milliseconds per channel (1500|500), S suffix for samples, s for seconds; all=1 applies one delay to all channels.
Where this comes from
Use when
- Every join with dialogue or music; J/L-cuts for interviews and scene changes.
Not for
- amix's default normalization halves levels per input; set
normalize=0and control gain yourself.
Install
- Claude Code:
claude plugin marketplace add vargHQ/skills && claude plugin install varg@varg - Codex:
npx skills add vargHQ/skills --skill varg-video-edit-library -a codex -y - Cursor:
npx skills add vargHQ/skills --skill varg-video-edit-library -a cursor -y
Example output
https://s3.varg.ai/how-to/previews/96126c63b093/take-ffmpeg-audio-crossfade-jl.mp4 — cut between two shots, with the timeline strip of the edit. Footage: Tears of Steel (2012), (CC) Blender Foundation | mango.blender.org, CC BY 3.0; Charge (2022), Blender Studio | studio.blender.org, CC BY 4.0. (credit: Rendered by varg · Tears of Steel (2012) + Charge (2022))
More cuts & pacing skills
- SmartCut (capcut-ai-editor): MCP that reads CapCut auto-captions to cut silences and duplicate takes right inside your CapCut project.
- Auto-Editor: CLI that cuts dead space by loudness or motion and exports MP4 or editor timelines; now also an agent skill.
- AutoCut: Edit video in a text editor: Whisper transcribes, you delete lines in Markdown, AutoCut cuts the video.
- Cut Video: Claude Code skill that tightens long recordings with forced-aligned cuts, keeping laughs and comedic pauses.
- Videogrep: Search spoken words across videos and auto-build supercuts of every match.
- PySceneDetect: Find cuts, fades and scene changes in a video, then split it or export scene lists for the edit.