6

I have an hour-long video that I want to split into individual clips at arbitrary timepoints. I could do this by hand in iMovie, or even borrow a machine with Final Cut, but there are upwards of thirty separate clips, so doing it manually strikes me as time-consuming and error-prone.

(It's a sequence of recordings for a language textbook, but it's all one file, and it's unwieldy not to be able to separately view, repeat, etc. the chapter-by-chapter clips. Currently it's an H.264 MPEG-4 but I'm not adverse to converting it.)

I know all the timepoints, and I'd like to feed a list of them to something, or build a script around the list, to produce the split clips without further human intervention. Linux would be okay but Mac OS would be ideal; Windows isn't really an option.

Suggestions?

2
  • 30 cuts of clips is really not much for editors. I would simply put them in my Vegas timeline and use the 'split' feature as required or put them in a Premiere CS5.5 timeline and use the 'razor'. Do you want these as separate renders too or just have time points that have perhaps a title separating them? It's just not clear to me how you see the final product?
    – filzilla
    May 17, 2012 at 19:24
  • Cross posted from Super User. Please don't cross post questions over the network — there should be only one site for them, and if they don't receive too much attention they can always be migrated.
    – slhck
    May 18, 2012 at 12:04

3 Answers 3

5

ffmpeg is the obvious choice.

ffmpeg -i x.mov -ss 00:05:00 -t 00:01:00 y.mov

will split out a segment of the movie 1 minute long from minute 5.

I've not had much luck with lip-sync when doing this. I think there a problems with both decoding and re-encoding the GOP structure and the equivalent AAC or MPEG1 audio structures; but the underlying issue must be that the audio and video frame rates are not linked, e.g. 48 kHz for the audio and 29.97 fps.

3

I wrote a Python wrapper around FFMpeg that allows to do video splitting into equal chunks and since then other folks in the community enhanced it to support splitting at arbitrary points in time (using manifest files), and splitting by target file size, number of chunks etc. Here it is: https://github.com/c0decracker/video-splitter

1
  • The segment muxer can already do this.
    – Gyan
    Oct 6, 2018 at 8:42
0

If you want to cut a sequence out of a .mov file with an alpha channel / transparency that should be preserved, use:

ffmpeg -i x.mov -ss 00:05:00 -t 00:01:00 -vcodec qtrle y.mov

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.