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

Incredible Demos

  • By
    HTML5 download Attribute

    I tend to get caught up on the JavaScript side of the HTML5 revolution, and can you blame me?  HTML5 gives us awesome "big" stuff like WebSockets, Web Workers, History, Storage and little helpers like the Element classList collection.  There are, however, smaller features in...

  • By
    Event Delegation with MooTools

    Events play a huge role in JavaScript. I can't name one website I've created in the past two years that hasn't used JavaScript event handling on some level. Ask yourself: how often do I inject elements into the DOM and not add an...

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!