Chris Dolan
and 1 contributors


FLV::Body - Flash video file data structure


See FLV::Info


This is a subclass of FLV::Base.


Takes a FLV::File instance and extracts the FLV body from the file stream. This method throws exceptions if the stream is not a valid FLV v1.0 or v1.1 file.

There is no return value.


Create an independent copy of this instance.


Serializes the in-memory FLV body. If that representation is not complete, this throws an exception via croak(). Returns a boolean indicating whether writing to the file handle was successful.


Returns a hash of FLV metadata. See File::Info for more details.


Returns an array of tag instances.


Replace all of the existing tags with new ones. For example, you can remove all audio from a movie like so:

  $body->set_tags(grep {!$_->isa('FLV::AudioTag')} $body->get_tags);

Returns the video tags (FLV::VideoTag instances) in the FLV stream.


Returns just the video tags which contain keyframe data.


Returns the audio tags (FLV::AudioTag instances) in the FLV stream.


Returns the meta tags (FLV::MetaTag instances) in the FLV stream.


Returns the start timestamp of the last tag, in milliseconds.

$self->set_meta($key, $value, ...);

These are convenience functions for interacting with an onMetadata tag at time 0, which is a common convention in FLV files. If the zeroth tag is not an FLV::MetaTag instance, one is created and prepended to the tag list.

See also get_value and set_value in FLV::MetaTag.


Consolidate zero or more meta tags into a single tag. If there are more than one tags and there are any duplicate keys, the first key takes precedence.


Create a new header from the body data.


See FLV::Info