NAME
Video::Generator - Perl class for video generation.
SYNOPSIS
use Video::Generator;
my $obj = Video::Generator->new(%parameters);
my $type = $obj->create($out_path);
METHODS
"new(%parameters)"
Constructor.
* "delay_generator"
Delay generator.
Default value is object below:
Video::Delay::Const->new(
'const' => 1000,
)
* "duration"
Duration.
Default value is 10000 (10s).
* "fps"
Frames per second.
Default value is 60.
* "height"
Height.
Default value is 1080.
* "image_generator"
Image generator.
Default value is object below:
Image::Random->new(
'height' => $self->{'height'},
'type' => $self->{'image_type'},
'width' => $self->{'width'},
)
* "image_type"
Image type.
Defult image type is 'bmp'.
* "temp_dir"
Temporary dir.
Default value is File::Temp::tempdir().
* "video_pattern"
Video pattern generator.
Default value is object below:
Video::Pattern->new(
'delay_generator' => $self->{'delay_generator'},
'duration' => $self->{'duration'},
'fps' => $self->{'fps'},
'image_generator' => $self->{'image_generator'},
)
* "width"
Width.
Default value is 1920.
"create($out_path)"
Create video.
Returns undef.
ERRORS
new():
From Class::Utils:
Unknown parameter '%s'.
create():
Error with command '%s'.
STDERR, %s
..
EXAMPLE
# Pragmas.
use strict;
use warnings;
# Modules.
use File::Path qw(rmtree);
use File::Spec::Functions qw(catfile);
use File::Temp qw(tempdir);
use Video::Generator;
# Temporary directory.
my $temp_dir = tempdir();
# Object.
my $obj = Video::Generator->new;
# Create video.
my $video_file = catfile($temp_dir, 'foo.mpg');
$obj->create($video_file);
# Print out type.
system "ffprobe -hide_banner $video_file";
# Clean.
rmtree $temp_dir;
# Output:
# Input #0, mpeg, from '/tmp/GoCCk50JSO/foo.mpg':
# Duration: 00:00:09.98, start: 0.516667, bitrate: 1626 kb/s
# Stream #0:0[0x1e0]: Video: mpeg1video, yuv420p(tv), 1920x1080 [SAR 1:1 DAR 16:9], 104857 kb/s, 60 fps, 60 tbr, 90k tbn, 60 tbc
DEPENDENCIES
Class::Utils, Error::Pure, File::Path, File::Spec::Functions,
File::Temp, IO::CaptureOutput, Image::Random, Video::Pattern.
SEE ALSO
Image::Random, Image::Select.
REPOSITORY
<
https://github.com/tupinek/Video-Generator>.
AUTHOR
Michal Špaček <mailto:
[email protected]>
<
http://skim.cz>
LICENSE AND COPYRIGHT
BSD 2-Clause License
VERSION
0.01