Cut a clip from a video with ffmpeg

Extract part of a video in seconds by copying streams instead of re-encoding them.

LinuxvideoffmpegeditLow risk
Run ffmpeg -ss 00:01:30 -to 00:03:00 -i input.mp4 -c copy clip.mp4 to snip 1:30–3:00 instantly and losslessly.

01Command

Command
$ ffmpeg -ss 00:01:30 -to 00:03:00 -i input.mp4 -c copy clip.mp4

02What it does

With -c copy, ffmpeg remuxes the existing audio and video packets into a new file without decoding them, so the cut finishes almost instantly and quality is untouched. -ss sets the start and -to the end (or -t a duration); putting -ss before -i seeks into the input first, which is much faster on long files. For frame-accurate cuts or unusual codecs, drop -c copy and let ffmpeg re-encode.

03Risk

RiskLow risk
Requirementsffmpeg package. Stream copy (-c copy) only cuts on keyframes, so the clip may start a second or two early.
!Warning: Stream copy can only start at a keyframe, so clips may open a few frames early or produce a brief glitch — re-encode (add -c:v libx264 -c:a aac) when precision matters. Browser and editor compatibility also improves if you add -movflags +faststart for MP4 output.

04Undo

✓No undo needed — this command does not change persistent state.

05Sources

  • ffmpeg(1) — Arch Manual Pages
    Arch Linux · community · 2026-09-17
    Evidence: Same options: input/output seeking with -ss/-to and stream copy via -c copy described in detail.
  • ffmpeg(1) — Debian bookworm
    Debian Manpages · community · 2026-09-17
    Evidence: Documents -ss position, -to position, -t duration and the -c copy stream-copy mode for cutting without re-encoding.

Last verified: 2026-09-19 · Category: Media