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