WWW::Video::Streamer - A HTTP video streamer and browser.


WWW-Video-Streamer documentation  | view source Contained in the WWW-Video-Streamer distribution.

Index


NAME

Top

WWW::Video::Streamer - A HTTP video streamer and browser.

VERSION

Top

Version 0.0.1

SYNOPSIS

Top

    use WWW::Video::Streamer;

    my $wvs = WWW::Video::Streamer->new();

    #read the config if it exists
    if (-e './config.ini') {
	    $wvs->config('./config.ini');
    }

    #invoke the CGI stiff
    $wvs->cgi;

METHODS

Top

new

Initiates the object.

    my $wvs=WWW::Video::Streamer->new;

cgi

This handles a handles the CGI interface.

    $wvs->cgi;

config

This reads the config.

    if (-e './config.ini') {
	    $wvs->config('./config.ini');
        if($wvs->{error}){
            print "Error!\n";
        }
    }

dir

This handles displaying directories.

mencoder

Takes the template and generates a proper string to run mencoder.

    my $mencoderstring=$wvs->mencoder($file);
    if(!$wvc->{error}){
        print "Error!\n";
    }

playable

This checks if the file is playable or not.

Currently this just checks if the mimetype matches /^video\//.

This will error if no file is specified.

    $playable=$wvc->playable($file);
    if($wvc->{error}){
        print "Error!\n";
    }else{
        if($playable){
            print "Playable.\n";
        }else{
            print "Not playable.\n";
        }
    }

stream

This streams the specified file to standard out.

    $wvc->stream($file);
    if(!$wvc->{error}){
        print "Error!\n";
    }

errorblank

This blanks the error storage and is only meant for internal usage.

It does the following.

    $self->{error}=undef;
    $self->{errorString}="";

ERROR CODES

Top

1

Failed to read the config.

2

No file is defined.

3

File requested is not below the specified directory.

4

The file is below the specified directory, but is not a file or directory.

5

Opendir failed for the path.

6

Path does not exist.

7

Path is not defined.

8

Path is not a directory.

9

Failed to build mencoder string.

10

The requested file does not exist.

11

The video directory does not exist.

CONFIG FILE

Top

The below is a example config file at the defaults.

    x=100
    y=100
    vb=120
    ab=40
    dir=/arc/video/
    mt=/usr/local/bin/mencoder {$file} -oac mp3lame -ovc lavc -of avi -lavcopts vbitrate={$vb} -lameopts cbr={$ab} {$size} -vf scale={$x}:{$y} -really-quiet -o -

ab

This is the default audio bit rate to use for the encoding.

dir

This is the base directory for video.

mt

This is the mencoder template that will be used.

{$ab}

This part of the template will be replaced with the audio bit rate.

{$file}

This part of template will be replaced with the file name.

{$vb}

This part of the template will be replaced with the video bit rate.

{$x}

This part of the template will be replaced with the video width.

{$y}

This part of the template will be replaced with the video heigth.

x

This is the default video width

y

This is the default video hieght.

DOT FILES

Top

These are currently ignored by the dir function.

SECURITY

Top

The file names passed to it are escaped when they are passed to mplayer.

Care should be taken to make sure that the config file is not writable by any untrusted users as changing the 'mt' variable can allow other things to be executed.

If none-numeric values for 'x', 'y', 'ab', or 'vb' are found when it goes to play it, the defaults are used.

USING

Top

Copy 'bin/wvs.cgi' to your directory on your web server, enable CGI on that directory, and then if you want to override the defaults create 'config.ini' in hat directory.

AUTHOR

Top

Zane C. Bowers, <vvelox at vvelox.net>

BUGS

Top

Please report any bugs or feature requests to bug-www-video-streamer at rt.cpan.org, or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=WWW-Video-Streamer. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.

SUPPORT

Top

You can find documentation for this module with the perldoc command.

    perldoc WWW::Video::Streamer




You can also look for information at:

* RT: CPAN's request tracker

http://rt.cpan.org/NoAuth/Bugs.html?Dist=WWW-Video-Streamer

* AnnoCPAN: Annotated CPAN documentation

http://annocpan.org/dist/WWW-Video-Streamer

* CPAN Ratings

http://cpanratings.perl.org/d/WWW-Video-Streamer

* Search CPAN

http://search.cpan.org/dist/WWW-Video-Streamer/

ACKNOWLEDGEMENTS

Top

COPYRIGHT & LICENSE

Top


WWW-Video-Streamer documentation  | view source Contained in the WWW-Video-Streamer distribution.