produce blank video with timecode
[HTML5TV.git] / bin / video-timecoded.pl
1 #!/usr/bin/perl
2
3 use warnings;
4 use strict;
5
6 use Graphics::Magick;
7 use File::Path qw(rmtree);
8
9 my $length = 100;
10 my $fps = 10;
11
12 rmtree "/tmp/blank";
13 mkdir "/tmp/blank";
14
15 foreach my $pos ( 0 .. $length * $fps ) {
16
17         my $im = Graphics::Magick->new( size => '320x200' );
18         $im->ReadImage( 'xc:black' );
19         my $t = $pos / $fps;
20         my $hh = int( $t / 60 / 60 );
21         my $mm = int( $t / 60 );
22         my $ss = $t - $mm * 60 - $hh * 60 * 60;
23         $im->Annotate(
24                 x => 10, y => 175,
25                 font => 'Sans', pointsize => 24,
26                 text => sprintf("%02d:%02d:%06.3f", $hh, $mm, $ss ),
27                 fill => 'yellow',
28         );
29         my $path = sprintf "/tmp/blank/f%04d.jpg", $pos;
30         $im->Write( filename => $path );
31         warn "# $hh $mm $ss $path ", -s $path, $/;
32 }
33
34 #system "oggSlideshow -f $fps -o /tmp/blank.ogv -d 20000 -e -l $fps -t p /tmp/blank/f*";
35 system "ffmpeg2theora --framerate $fps -o /tmp/blank.ogv /tmp/blank/f%04d.jpg";