NAME

FLV::Body - Flash video file data structure

LICENSE

See FLV::Info

METHODS

This is a subclass of FLV::Base.

$self->parse($fileinst)

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.

$self->clone()

Create an independent copy of this instance.

$self->serialize($filehandle)

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.

$self->get_info()

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

$self->get_tags()

Returns an array of tag instances.

$self->set_tags(@tags)

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);
$self->get_video_frames()

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

$self->get_video_keyframes()

Returns just the video tags which contain keyframe data.

$self->get_audio_packets()

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

$self->get_meta_tags()

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

$self->last_start_time()

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

$self->get_meta($key);
$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.

$self->merge_meta()

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.

$self->make_header()

Create a new header from the body data.

AUTHOR

See FLV::Info