FFmpeg Concat Demuxer (Lossless) — 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.

Join files that share codec, resolution, fps and audio format without re-encoding, from a text list.

What it does

Plain hard cuts; output quality identical to the inputs.

When: Joining segments rendered by the same pipeline (same encoder settings), chunked renders, camera files from one device.

Watch out: Mixed sources: different codecs, sizes, fps or audio sample rates give glitches, wrong durations or no audio.

Timing: Hard cuts only; inpoint/outpoint snap to packets

Also called: concat demuxer, -f concat, ffconcat, lossless join, stream copy join

In FFmpeg

cat > list.txt <<'EOF'
ffconcat version 1.0
file 'part1.mp4'
file 'part2.mp4'
inpoint 1.0
outpoint 3.0
EOF
ffmpeg -f concat -safe 0 -i list.txt -c copy out.mp4

inpoint/outpoint work best with intra-frame codecs; with H.264 the first packets before the in-point leak in (a 2 s outpoint test gave 2.09 s). For frame-accurate trims, re-encode with the concat filter. -safe 0 allows absolute/odd paths.

Where this comes from

Use when

Not for

Install

Example output

https://s3.varg.ai/how-to/previews/90be7063a905/take-ffmpeg-concat-demuxer.mp4 — concat between two shots, with the timeline strip of the edit. Footage: Big Buck Bunny (2008), (c) copyright 2008, Blender Foundation | www.bigbuckbunny.org, CC BY 3.0; Cosmos Laundromat (2015), (CC) Blender Foundation | gooseberry.blender.org, CC BY 4.0. (credit: Rendered by varg · Big Buck Bunny (2008) + Cosmos Laundromat (2015))

More cuts & pacing skills