SWF::VideoStream.3pm

Langue: en

Autres versions - même langue

Version: 2009-11-25 (ubuntu - 24/10/10)

Section: 3 (Bibliothèques de fonctions)

NAME

SWF::VideoStream - SWF Video class

SYNOPSIS

         use SWF::VideoStream;
         $videostream = new SWF::VideoStream("test.flv");
 
 

DESCRIPTION

SWF::VideoStream is a helper class useful for playing videos via SWF applications, either via embedded video data, or controlled by ActionScript.

METHODS

$videostream = new SWF::VideoStream($filename)
Creates a SWF::VideoStream object. If the file can't be opened the constructor will return an empty object. The filename is not limited to 'flv' extension.
$frames = $videostream->getNumFrames()
This method returns the number of video-frames of an object of SWF::VideoStream, this works only for embedded streams. In case of error you will get result of -1.
$videostream->setDimension(width, height)
This method sets width and height for streamed videos, this works only on streamed videos (progressive download or rtmp).
$bool = $videostream->hasAudio()
A test whether the embedded FLV stream also has audio data.
$videostream->setFrameMode($mode)
If the mode == SWFVIDEOSTREAM_MODE_AUTO (default) on every SWF movie frame a video frame is added. In SWFVIDEOSTREAM_MODE_MANUAL mode, the user needs to call the nextFrame() method to change the video's frame. This works only with embedded video streams. Does return the previous mode or -1 if an invalid mode was passed.
$result = $videostream->nextFrame()
Switch to next video frame. Works only with embedded video streams. Returns -1 if an error happend. Here follows some demo code how to use SWF::VideoStream objects (without ActionScript):
         use SWF qw(:ALL);                       # to be lazy
         $movie = new SWF::Movie();
         $movie->setRate( 25 );
         # $movie->setRate( 5 );                 # e.g. 5 for slow motion 
         # here movie set background etc. etc.
         #
         $video=new SWF::VideoStream('MyTestVideo.flv');
         die if (-1 == $v->getNumFrames());      # abort if something went wrong
         #
         $video->setFrameMode(SWF::Constants::SWFVIDEOSTREAM_MODE_MANUAL);
         $video->seek(1000, 0);                  # for example only
         $displayitem = $movie->add($video);
         #
         # 250 for a 10 seconds movie part (at rate of 25 per minute)
         for(my $n = 0; $n < 250; ++$n)  
         {
          $video->nextFrame();
          $movie->nextFrame();
         }
         $movie->save("MyTestVideo.swf",9);
         # that's all, folks
 
 
$result = $videostream->seek($frame, $whence)
This functions allows seeking $frame in video stream, returning the old video frame position. As value of $whence use one of the following:
         0 for seeking from beginning
         1 for seeking from current position
         2 for seeking from end of file
 
 

AUTHOR

         developers of ming 
         ming.sourceforge.net
 
 

SEE ALSO

SWF, SWF::Action, SWF::Movie, SWF::MovieClip, SWF::Sound, SWF::SoundStream, SWF::Constants