Apache2::EmbedFLV - Embed FLV videos into a templated web interface using Flowplayer.
On your Apache configuration file:
<Files ~ "\.flv$"> SetHandler modperl PerlResponseHandler Apache2::EmbedFLV </Files>
If you want to restrict only a certain directory to serve FLVs using Apache2::EmbedFLV, you can wrap the Files declaration on a Directory block. For more information, take a look at excellent Apache2's documentation.
Apache2::EmbedFLV
Files
Directory
By default, you have to have /flowplayer.swf and /flowplayer.controls.swf available on your webserver. Both SWFs are provided on the GPL distribution of Flowplayer. You can alias them with something like:
/flowplayer.swf
/flowplayer.controls.swf
alias
Alias /flowplayer.swf /home/web/flowplayer-3.0.3.swf Alias /flowplayer.controls.swf /home/web/flowplayer.controls.swf
That's it. Just go to any FLV video within your web server. With that setup, Apache2::EmbedFLV will use a default template.
Take a look at the default template located at example/template.tt. That is not the real file used by this module but it's a verbatim copy. The file is placed there just as an example so you can make your own template without too much internal poking.
Once you have your own template, just PerlSetVar it to the handler:
PerlSetVar
<Files ~ "\.flv$"> SetHandler modperl PerlSetVar template /path/to/my/template.tt PerlResponseHandler Apache2::EmbedFLV </Files>
In order to specify a different path than /flowplayer.swf for Flowplayer, just PerlSetVar flowplayer (remember to accompany the controls SWF):
PerlSetVar flowplayer
<Files ~ "\.flv$"> SetHandler modperl PerlSetVar template /path/to/my/template.tt # you would have to have http://yourserver.com/somewhere/flowplayer.swf: PerlSetVar flowplayer /somewhere/flowplayer.swf # or... PerlSetVar flowplayer http://my.other.server/rocks/flowplayer.swf PerlResponseHandler Apache2::EmbedFLV </Files>
I believe it's pretty obvious that the templating system used and required is Template::Toolkit. Wherever you want to embed the video within, just call: [% video %].
[% video %]
Apache2::EmbledFLV has been already described on the previous section :-)
Apache2::EmbledFLV
However...
Apache2::EmbedFLV enables Apache to show FLV videos using Flowplayer. This will ease any deployment of FLV video galleries you'd need to do since you could just put the FLVs on an Apache accessible location, and they will be presented on a proper way to your final user.
You can see it in action here: http://axiombox.com/apache2-embedflv/flv.
Find the Flowplayer distribution on http://flowplayer.org. It is a nice little GPL video player.
Download it at CPAN: http://search.cpan.org/~damog.
You can always see the latest information on this project on: http://axiombox.com/apache2-embedflv.
Code is hosted at http://github.com/damog/apache2-embedflv.
David Moreno <david@axiombox.com>, http://damog.net/. Some other similar projects are announced on the Infinite Pig Theorem blog: http://log.damog.net.
Bill Cromie, who allowed me to use my employer's resources to have some fun with this little project.
Flowplayer http://flowplayer.com/.
Raquel Hernándex, http://maggit.net, who made the default template.
Copyright (C) 2009 by David Moreno.
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
Flowplayer, also shipped with this distribution, is GPL: http://flowplayer.org/download/LICENSE_GPL.txt.
1 POD Error
The following errors were encountered while parsing the POD:
Non-ASCII character seen before =encoding in 'Hernándex,'. Assuming UTF-8
To install Apache2::EmbedFLV, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Apache2::EmbedFLV
CPAN shell
perl -MCPAN -e shell install Apache2::EmbedFLV
For more information on module installation, please visit the detailed CPAN module installation guide.