J-Cut — 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 .md to its path. Before generating anything, show the person the options on the how-to page.

Shot B's sound starts before its picture. The ear arrives first and pulls the viewer into the next scene.

What it does

We still see A while B's voice or ambience fades in; then the picture cuts to B. On a timeline the audio forms a J.

When: Scene changes, interview answers (hear the reply, then see the speaker), and pulling into a location by its sound.

Watch out: A lead longer than 1–2 s without a visual cue confuses who is speaking.

Timing: Audio leads by 0.3–2 s; short fade-in on B's audio

Also called: J cut, audio lead, sound advance, split edit

In FFmpeg

Video cuts at 4 s; B's audio starts 1 s earlier. B's picture uses source 1–4 s, its audio source 0–4 s placed at 3 s:

ffmpeg -i a.mp4 -i b.mp4 -filter_complex \
"[0:v]trim=0:4,setpts=PTS-STARTPTS[va];[1:v]trim=1:4,setpts=PTS-STARTPTS[vb];\
 [va][vb]concat=n=2:v=1:a=0[v];\
 [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]" -map "[v]" -map "[a]" out.mp4

normalize=0 stops amix from halving the level.

In HyperFrames

Mute B's video and add its sound as an <audio> clip that starts earlier, with the matching source offset:

<video id="b" src="b.mp4" data-start="4" data-duration="3" data-media-start="1" muted data-track-index="0"></video>
<audio id="b-snd" src="b.mp4" data-start="3" data-duration="4" data-media-start="0" data-fade-in="0.3" data-track-index="2"></audio>

In Remotion

Picture and sound in separate sequences: B's <Audio> starts 30 frames before B's picture.

<Sequence durationInFrames={120}><Video src={a} /></Sequence>
<Sequence from={120}><Video src={b} trimBefore={30} muted /></Sequence>
<Sequence from={90}><Audio src={b} /></Sequence>

In CapCut

Right-click the clip → Separate audio (mobile: Extract audio), then drag B's audio clip left under the end of A and add a fade-in.

Where this comes from

Use when

Not for

Install

Example output

https://s3.varg.ai/how-to/previews/3a392c7a64e3/take-j-cut.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