Originally published at and try splitting your first video.
Common pitfalls when splitting video
Forgetting -reset_timestamps 1. Without this flag, each segment keeps the timestamps from the original video. Players show the wrong position on the seek bar, and some players won't play the segments at all.
Audio sync drift with -c copy. Stream copy can sometimes drift audio out of sync at cut points. If you hear pops or sync issues, switch to -c:a aac to re-encode just the audio track while keeping video as copy.
Output pattern without %d. If you forget the number pattern in the output filename, FFmpeg overwrites the same file for every segment. Always include %03d or similar.
Segment time vs. actual duration. With -c copy, segments won't be exactly the duration you requested. They'll be close, but keyframe alignment means they might vary by 1-2 seconds. If you need frame-accurate cuts, you have to re-encode.
Large video timeouts. Running the segment muxer locally on a 2-hour video is fine. Running it on a server with a 30-second HTTP timeout kills the job mid-split. If you're processing long videos in a web pipeline, use an async API or background worker.
FAQ
How do I split a video into equal parts with FFmpeg?
Use the segment muxer: ffmpeg -i input.mp4 -c copy -f segment -segment_time 60 -reset_timestamps 1 part_%03d.mp4. Replace 60 with your desired segment length in seconds. Segments will be approximately equal, with variation depending on keyframe positions.
Can I split video without re-encoding?
Yes. Use -c copy with the segment muxer for near-instant splitting. The tradeoff is that cuts happen at keyframe boundaries, so segment durations won't be frame-accurate. For most batch processing and content repurposing workflows, keyframe-aligned cuts are close enough.
What's the difference between the segment muxer and using -ss with -t?
The segment muxer (-f segment) automatically splits into multiple files in a single FFmpeg pass. The -ss/-t approach extracts one specific clip per command. The segment muxer is faster for creating many segments from one video locally. The -ss/-t approach works better with APIs and cloud pipelines where each segment runs as an independent job.
Does the FFmpeg segment muxer work with audio files?
Yes. Same syntax with audio containers: ffmpeg -i podcast.mp3 -c copy -f segment -segment_time 600 chunk_%03d.mp3. This splits a podcast into 10-minute chunks without re-encoding.
How do I split video into segments with an API?
FFmpeg Micro lets you submit transcode jobs via HTTP with -ss and -t options to extract specific segments. Each job runs on cloud infrastructure with automatic scaling. Sign up for a free API key and POST to /v1/transcodes with your input URL, output format, and seek/duration options.
Last verified: May 2026 with FFmpeg 7.x and FFmpeg Micro API v1
SOCIAL SHARE CARD GENERATOR