Video::Generator - Perl class for video generation.
use Video::Generator; my $obj = Video::Generator->new(%parameters); my $type = $obj->create($out_path);
new
my $obj = Video::Generator->new(%parameters);
Constructor.
delay_generator
Delay generator. Default value is object below: Video::Delay::Const->new( 'const' => 1000, )
duration
Video duration used for implicit 'video_pattern' parameter. Possible suffixes are: - ms for milisendons. - s for seconds. - min for minute. - h for hour. Default value is 10000 (10s).
ffmpeg_pixel_format
FFmpeg pixel format. Default value is undef, use default ffmpeg.
ffmpeg_video_codec
FFmpeg video codec. Default value is undef, use default ffmpeg.
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 used for implicit 'image_generator' parameter. List of supported types: bmp, gif, jpeg, png, pnm, raw, sgi, tga, tiff. Defult image type is 'bmp'.
temp_dir
Temporary dir. Default value is File::Temp::tempdir().
verbose
Verbose mode. Default value is 0.
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.
Returns instance of object.
create
my $type = $obj->create($out_path);
Create video.
Returns undef.
new(): From Class::Utils: Unknown parameter '%s'. From Image::Random: Image type '%s' doesn't supported. From Video::Pattern: Parameter 'duration' must be numeric value or numeric value with time suffix. Parameter 'fps' must be numeric value. create(): Error with command '%s'. STDERR, %s ..
use strict; use warnings; 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
use strict; use warnings; 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( 'verbose' => 1, ); # Create video. my $video_file = catfile($temp_dir, 'foo.mpg'); $obj->create($video_file); # Clean. rmtree $temp_dir; # Output: # Video pattern generator created images for video in temporary directory. # Created video file. # Removed temporary directory.
Class::Utils, Error::Pure, FFmpeg::Command, File::Path, File::Spec::Functions, File::Temp, Image::Random, Readonly, Video::Delay::Const, Video::Pattern.
Perl class for creating random image.
Selecting image from images directory.
Selecting image from list with checking.
Selecting image from images directory by date.
Perl classes for delays between frames generation.
Video class for frame generation.
https://github.com/michal-josef-spacek/Video-Generator.
Michal Josef Špaček mailto:skim@cpan.org
http://skim.cz
© 2014-2023 Michal Josef Špaček
BSD 2-Clause License
0.10
To install Video::Generator, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Video::Generator
CPAN shell
perl -MCPAN -e shell install Video::Generator
For more information on module installation, please visit the detailed CPAN module installation guide.