RIFF::Info - Probe DivX, AVI, and ASF files for attributes like:
-video codec -audio codec -frame height -frame width -frame count
and more!
use RIFF::Info;
my $video;
$video = RIFF::Info->new(-file=>$filename); #like this $video = RIFF::Info->new(-file=>$filename,-headersize=>$headersize); #or this
$self->probe; #parse the video file $video->vcodec; #video codec $video->acodec; #audio codec ...
RIFF::Info has one constructor, new(). It is called as:
new( -file => $filename, #your RIFF file -headersize => $headersize #optional RIFF header size to parse);
Returns a RIFF::Info object if the file was opened successfully.
Call probe()
on the RIFF::Info object to parse the file. This
does a series of sysread()s on the file to figure out what the
properties are.
Now, call one (or more) of these methods to get the low-down on your file:
method returns --------------------------------------------------- achans() number of audio channels acodec() audio codec acodecraw() audio codec numeric ID arate() audio bitrate astreams() number of audio streams fps() frames/second height() frame width in pixels scale() video bitrate type() type of file data. RIFF or AVI. vcodec() video codec vframes() number of frames vrate() video bitrate vstreams() number of video streams width() frame height in pixels
The default header_size()
(10K) may not be large enough to
successfully extract the video/audio attributes for all RIFF
files. If this module fails you, consider increasing the RIFF
header size. If it still fails, let me know.
Audio codec name mapping is incomplete. If you know the name that corresponds to an audio codec ID that I don't, tell me.
Allen Day <allenday@ucla.edu>
http://1-up.net:81/~allenday/perl/
Copyright (c) 2002, Allen Day
License: QPL Version 1.0.
This was written with liberal snarfing from transcode, a linux video stream processing tool available from:
http://www.theorie.physik.uni-goettingen.de/~ostreich/transcode/