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
    JavaScript Promise API

    While synchronous code is easier to follow and debug, async is generally better for performance and flexibility. Why "hold up the show" when you can trigger numerous requests at once and then handle them when each is ready?  Promises are becoming a big part of the JavaScript world...

  • By
    Write Simple, Elegant and Maintainable Media Queries with Sass

    I spent a few months experimenting with different approaches for writing simple, elegant and maintainable media queries with Sass. Each solution had something that I really liked, but I couldn't find one that covered everything I needed to do, so I ventured into creating my...

Incredible Demos

  • By
    Introducing MooTools LazyLoad

    Once concept I'm very fond of is lazy loading. Lazy loading defers the loading of resources (usually images) until they are needed. Why load stuff you never need if you can prevent it, right? I've created LazyLoad, a customizable MooTools plugin that...

  • By
    Create a Simple Slideshow Using MooTools

    One excellent way to add dynamism to any website is to implement a slideshow featuring images or sliding content. Of course there are numerous slideshow plugins available but many of them can be overkill if you want to do simple slideshow without controls or events.

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!