11 |
|
|
12 |
my $tmp = '/tmp/frames'; |
my $tmp = '/tmp/frames'; |
13 |
my $out = '/tmp/frames.avi'; |
my $out = '/tmp/frames.avi'; |
14 |
my $jpeg_q = 10; |
my $jpeg_q = 100; |
15 |
|
my $repeat = 16; |
16 |
|
$repeat = 1; # off |
17 |
|
|
18 |
|
rmtree $tmp if -e $tmp; |
19 |
mkpath $tmp || die "can't create $tmp: $!"; |
mkpath $tmp || die "can't create $tmp: $!"; |
20 |
|
|
21 |
my $im = new GD::Image( 160, 120 ); |
my $im = new GD::Image( 160, 120 ); |
48 |
my $frame = 1; |
my $frame = 1; |
49 |
|
|
50 |
foreach my $c ( @cols ) { |
foreach my $c ( @cols ) { |
51 |
foreach ( 1 .. 16 ) { |
foreach ( 1 .. $repeat ) { |
52 |
$im->fill(50,50, col($c) ); |
$im->fill(50,50, col($c) ); |
53 |
warn "frame $frame\n"; |
warn "frame $frame\n"; |
54 |
my $path = sprintf('%s/%03d.jpg', $tmp, $frame++); |
my $path = sprintf('%s/%03d.jpg', $tmp, $frame++); |
62 |
die "encoding failed: $?"; |
die "encoding failed: $?"; |
63 |
|
|
64 |
rmdir $tmp || die "can't remove $tmp: $!"; |
rmdir $tmp || die "can't remove $tmp: $!"; |
65 |
|
|
66 |
|
warn "created $out ", -s $out, " bytes\n"; |