Slice Videos with ffmpeg

By  on  

Isolating a specified portion of a video is a very common task for those who work within the media, probably using nice GUI tools to slice clips from the full video.  I'm a developer, however, and know how amazing ffmpeg is so I prefer to do my basic video slicing from command line.

Let's look at the following command and break it down:

# Creates 12 second video
./ffmpeg -i input.mp4 -ss 00:00:05 -c copy -t 12 sliced-output.mp4

The -i obviously represents the input file, the ss represents the time to start the slicing at, and the -t represents the number of seconds from the ss to include within the slice.  I'm seeing result quality vary when it comes to -c copy; most times the quality is better with it, but on some rare occasions the quality is better without it.

If you prefer to explicitly cite the hour:minute:second mark which to cut to, use the -to option:

# Creates 2 second video
./ffmpeg -i input.mp4 -ss 00:00:05 -c copy -to 00:00:07 sliced-output.mp4

User interfaces and apps are awesome when doing work manually but aren't always great to automate. Since ffmpeg is a command line utility, automating almost anything with video is reasonably easy if you take the time to learn the tool!

Recent Features

  • By
    CSS 3D Folding Animation

    Google Plus provides loads of inspiration for front-end developers, especially when it comes to the CSS and JavaScript wonders they create. Last year I duplicated their incredible PhotoStack effect with both MooTools and pure CSS; this time I'm going to duplicate...

  • By
    Regular Expressions for the Rest of Us

    Sooner or later you'll run across a regular expression. With their cryptic syntax, confusing documentation and massive learning curve, most developers settle for copying and pasting them from StackOverflow and hoping they work. But what if you could decode regular expressions and harness their power? In...

Incredible Demos

Discussion

  1. dragos

    Love your articles! :) Everything’s explained briefly and on point! :D Thank you.

Wrap your code in <pre class="{language}"></pre> tags, link to a GitHub gist, JSFiddle fiddle, or CodePen pen to embed!