user2379: 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?

user23319: 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

user2265: 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.

2379: <p>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.</p>

<p>(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.)</p>

<p>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.</p>

<p>Suggestions?</p>
 23319: <p>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: <a href="https://github.com/c0decracker/video-splitter" rel="nofollow noreferrer">https://github.com/c0decracker/video-splitter</a></p>
 2265: <p><a href="http://howto-pages.org/ffmpeg/#basicvideo" rel="noreferrer">ffmpeg</a> is the obvious choice. </p>

<pre><code>ffmpeg -i x.mov -ss 00:05:00 -t 00:01:00 y.mov
</code></pre>

<p>will split out a segment of the movie 1 minute long from minute 5.</p>

<p>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.</p>
