user12331: Pretty much what the title says: I have a couple of video files and would like to extract one second intervals every sixty seconds or so, i.e. extract the clips 
00:59 - 01:00
01:59 - 02:00
etc.
Then I would like to join all of these individual clips. 
Is there an easy way to do this?

user1871: ffmpeg, a command-line tool, can do this in one command.
Update: New template, first below, is easier to manipulate (and understand)
This is a generalized command template:
ffmpeg -i input -filter_complex "[0:v]select='gte(mod((t\-FS),I),0)*lt(mod((t\-FS),I),D)', setpts=N/TB/FRAME_RATE[v];  [0:a]aselect='gte(mod((t\-FS),I),0)*lt(mod((t\-FS),I),D)', asetpts=N/SR/TB[a]" -c:v libx264 -crf 23 -map "[v]" -map "[a]" -fflags +genpts output.mp4

Alternate method:
ffmpeg -i input.mp4 -filter_complex "[0:v]select=isinf(t\/(mod(D*trunc(1+(t/D))\,Interval))),setpts=N/TB/FRAME_RATE[v];[0:a]aselect=isinf(t\/(mod(D*trunc(1+(t/D))\,Interval))),asetpts=N/SR/TB[a]" -c:v libx264 -crf 23 -map "[v]" -map "[a]" -fflags +genpts output.mp4

This is the first command formatted for full visibility
ffmpeg -i input -filter_complex \
"[0:v]select='gte(mod((t\-FS),I),0)*lt(mod((t\-FS),I),D)', \
setpts=N/TB/FRAME_RATE[v]; \
[0:a]aselect='gte(mod((t\-FS),I),0)*lt(mod((t\-FS),I),D)', \
asetpts=N/SR/TB[a]" \
-c:v libx264 -crf 23 -map "[v]" -map "[a]" -fflags +genpts output.mp4

Basically, replace input with your source video filename, output.mp4 with your intended output name.
Replace D with duration of segment, I for gap between the start of two segments and FS with start time of first segment . So, for 3-second segments every 45 seconds, starting at 36 seconds, from a file called fullfile.mp4, the command will be
ffmpeg -i fullfile.mp4 -filter_complex \
"[0:v]select='gte(mod((t\-36),45),0)*lt(mod((t\-36),45),3)', \
setpts=N/TB/FRAME_RATE[v]; \
[0:a]aselect='gte(mod((t\-36),45),0)*lt(mod((t\-36),45),3)', \
asetpts=N/SR/TB[a]" \
-c:v libx264 -crf 23 -map "[v]" -map "[a]" -fflags +genpts output.mp4

These segments will be extracts from seconds 36 to 39, 81 to 84..etc
Download ffmpeg for Windows (32-bit static build) from here.

12331: <p>Pretty much what the title says: I have a couple of video files and would like to extract one second intervals every sixty seconds or so, i.e. extract the clips </p>

<p>00:59 - 01:00
01:59 - 02:00
etc.</p>

<p>Then I would like to join all of these individual clips. </p>

<p>Is there an easy way to do this?</p>
 1871: <p>ffmpeg, a command-line tool, can do this in one command.</p>

<p><strong>Update</strong>: New template, first below, is easier to manipulate (and understand)</p>

<p>This is a generalized command template:</p>

<pre><code>ffmpeg -i input -filter_complex "[0:v]select='gte(mod((t\-FS),I),0)*lt(mod((t\-FS),I),D)', setpts=N/TB/FRAME_RATE[v];  [0:a]aselect='gte(mod((t\-FS),I),0)*lt(mod((t\-FS),I),D)', asetpts=N/SR/TB[a]" -c:v libx264 -crf 23 -map "[v]" -map "[a]" -fflags +genpts output.mp4
</code></pre>

<p>Alternate method:</p>

<pre><code>ffmpeg -i input.mp4 -filter_complex "[0:v]select=isinf(t\/(mod(D*trunc(1+(t/D))\,Interval))),setpts=N/TB/FRAME_RATE[v];[0:a]aselect=isinf(t\/(mod(D*trunc(1+(t/D))\,Interval))),asetpts=N/SR/TB[a]" -c:v libx264 -crf 23 -map "[v]" -map "[a]" -fflags +genpts output.mp4
</code></pre>

<p>This is the first command formatted for full visibility</p>

<pre><code>ffmpeg -i input -filter_complex \
"[0:v]select='gte(mod((t\-FS),I),0)*lt(mod((t\-FS),I),D)', \
setpts=N/TB/FRAME_RATE[v]; \
[0:a]aselect='gte(mod((t\-FS),I),0)*lt(mod((t\-FS),I),D)', \
asetpts=N/SR/TB[a]" \
-c:v libx264 -crf 23 -map "[v]" -map "[a]" -fflags +genpts output.mp4
</code></pre>

<p>Basically, replace <code>input</code> with your source video filename, <code>output.mp4</code> with your intended output name.</p>

<p>Replace <code>D</code> with duration of segment, <code>I</code> for gap between the start of two segments and <code>FS</code> with start time of first segment . So, for 3-second segments every 45 seconds, starting at 36 seconds, from a file called <code>fullfile.mp4</code>, the command will be</p>

<pre><code>ffmpeg -i fullfile.mp4 -filter_complex \
"[0:v]select='gte(mod((t\-36),45),0)*lt(mod((t\-36),45),3)', \
setpts=N/TB/FRAME_RATE[v]; \
[0:a]aselect='gte(mod((t\-36),45),0)*lt(mod((t\-36),45),3)', \
asetpts=N/SR/TB[a]" \
-c:v libx264 -crf 23 -map "[v]" -map "[a]" -fflags +genpts output.mp4
</code></pre>

<p>These segments will be extracts from seconds 36 to 39, 81 to 84..etc</p>

<p>Download ffmpeg for Windows (32-bit static build) from <a href="http://ffmpeg.zeranoe.com/builds/" rel="nofollow">here</a>.</p>
