David Liontooth wrote: > I'd like to create thumbnails every ten seconds from a video. This works > for a continuous series: > > transcode -o thumb -y ppm,null -y im -F png -x ffmpeg,null -i > dx50.avi -c 0:0:0-0:0:01 > > Is there a way to set -c so that I get one frame every ten seconds? > Surprisingly, this exports the first ten seconds instead of the first and 300th frames:
transcode -o thumb -y im -F png -x ffmpeg,null -i dx50.avi -c 0,300 But this exports only the first and 300th frame, as desired: transcode -o thumb -y im -F png -x ffmpeg,null -i dx50.avi -c 0-1,299-300 and this way works too: transcode -o thumb -y im -F png -x ffmpeg,null -i dx50.avi -c 0:0:0-0:0:0.1,0:0:10-0:0:10.1 In a one-hour movie, I could generate a series of 360 number pairs -- in fact this works fine: #!/bin/bash transcode -o thumb -y im -F png -x ffmpeg,null -i $1 -c \ 0:00:00-0:00:00.1,\ 0:00:10-0:00:10.1,\ 0:00:20-0:00:20.1,\ 0:00:30-0:00:30.1,\ and so on -- I can generate the whole series with a for loop. Still, if there's a simpler way to tell -c to do this, that would be great. Or is there perhaps another utility that does the same thing? Dave A few hiccups, but the results are good: transcode v1.0.2 (C) 2001-2003 Thomas Oestreich, 2003-2004 T. Bitterberg [transcode] (probe) suggested AV correction -D 0 (0 ms) | AV 0 ms | 0 ms [transcode] auto-probing source 2007-01-21_1900_KCBS_60_Minutes.avi (ok) [transcode] V: import format | DivX5 RIFF data, AVI (V=ffmpeg|A=null) [transcode] V: import frame | 640x480 1.33:1 [transcode] V: bits/pixel | 0.196 [transcode] V: decoding fps,frc | 29.970,4 [transcode] V: Y'CbCr | YV12/I420 [transcode] A: import format | 0x55 MPEG layer-3 [32000,16,2] 128 kbps [transcode] A: export format | 0x55 MPEG layer-3 [32000,16,2] 128 kbps [transcode] V: encoding fps,frc | 29.970,4 [transcode] A: bytes per frame | 4272 (4270.933333) [transcode] A: adjustment | [EMAIL PROTECTED] [transcode] V: IA32/AMD64 accel | sse3 (sse3 sse2 sse 3dnowext 3dnow mmxext mmx asm C) tc_memcpy: using amd64 for memcpy [transcode] V: video buffer | 10 @ 640x480 [import_null.so] v0.2.0 (2002-01-19) (video) null | (audio) null [import_ffmpeg.so] v0.1.12 (2004-05-07) (video) ffmpeg: MS MPEG4v1-3/MPEG4/MJPEG [export_im.so] v0.0.4 (2003-11-13) (video) * skipping frames [000001-000299], 563.07 fps, EMT: 0:00:09, ( 0| 0| 9) skipping frames [000301-000598], 538.13 fps, EMT: 0:00:19, ( 0| 0| 9) skipping frames [000600-000898], 268.87 fps, EMT: 0:00:29, ( 0| 0| 3) [mpeg4 @ 0x2aaaada90490]slice end not reached but screenspace end (-9 left 3D8183, score= -2021) [mpeg4 @ 0x2aaaada90490]concealing 600 DC, 600 AC, 600 MV errors skipping frames [000900-001198], 205.76 fps, EMT: 0:00:39, ( 0| 0| 0) skipping frames [001200-001498], 205.03 fps, EMT: 0:00:49, ( 0| 0| 0) skipping frames [001500-001797], 212.15 fps, EMT: 0:00:59, ( 0| 0| 6) [mpeg4 @ 0x2aaaada90490]slice end not reached but screenspace end (-9 left 283244, score= -4202) [mpeg4 @ 0x2aaaada90490]concealing 600 DC, 600 AC, 600 MV errors skipping frames [002099-002397], 450.59 fps, EMT: 0:01:19, ( 0| 0| 9) skipping frames [002399-002696], 352.63 fps, EMT: 0:01:29, ( 0| 0| 2) skipping frames [002698-002996], 205.19 fps, EMT: 0:01:39, ( 0| 0| 1) skipping frames [002998-003296], 205.20 fps, EMT: 0:01:49, ( 0| 0| 1) skipping frames [003298-003595], 204.94 fps, EMT: 0:01:59, ( 0| 0| 3) skipping frames [003597-003895], 205.03 fps, EMT: 0:02:09, ( 0| 0| 1) skipping frames [003897-004195], 204.84 fps, EMT: 0:02:19, ( 0| 0| 0) skipping frames [004197-004495], 205.25 fps, EMT: 0:02:29, ( 0| 0| 0) [mpeg4 @ 0x2aaaada90490]slice end not reached but screenspace end (-9 left C0B45A, score= -9349) [mpeg4 @ 0x2aaaada90490]concealing 600 DC, 600 AC, 600 MV errors skipping frames [004497-004794], 204.67 fps, EMT: 0:02:39, ( 0| 0| 1) skipping frames [004796-005094], 204.68 fps, EMT: 0:02:49, ( 0| 0| 1) clean up | frame threads | unload modules | cancel signal | internal threads | done [transcode] encoded 18 frames (0 dropped, 0 cloned), clip length 0.60 s