summaryrefslogtreecommitdiff
path: root/dir-to-movie.pl
blob: 7bc48c57c4667902321ac13229ecd5668ce193b8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#!/usr/bin/perl

my $tag = $ARGV[0] or "pix2pixhd_" . time;
$tag =~ s/\....$//;

my $i = 0;
my $ls  = `ls -1v *.png`;
my @lines = split('\n', $ls);
my $pwd = `pwd`;
chomp $pwd;
$pwd .= '/';
print $pwd . "\n";

mkdir('./tmp');

for my $line (@lines) {
  chomp $line;
  system('ln', '-s', $pwd . $line, sprintf('./tmp/frame_%05d.png', $i));
  $i += 1;
}

system("ffmpeg",
  "-i", "./tmp/frame_%05d.png",
  "-y", "-c:v", "libx264", "-vf", "fps=25", "-pix_fmt", "yuv420p",
  "-s", "1024x512",
  $tag . ".mp4"
);

END {
  system('rm', '-rf', 'tmp');
}