request - help with streaming flash video through perlbal

EJH Pollard ejhpollard at
Thu Nov 22 10:45:02 UTC 2007

Hi Eric, and the perlbal list members,

[Cross-posted to the mogilefs mailing list, where there was discussion
about perlbal and FLV streaming in april 2007, and a patch from Eric.]

I've been reading with interest the posts on the mogilefs mailing list
from April 2007 regarding FLV (flash video) streaming through perlbal.
 I'm asking for your help because I'm not 100% sure how to modify the
patch at
to enable some slightly different behaviour (for a free online archive
of the UK parliament's video coverage).

Basically, I'm working with the civic activism charity mySociety
( on a beta site that captures streaming footage of
the UK parliament, converts it into FLV format, and then makes it
available for people to view online alongside the written record
( - video not yet online, we're still in closed
beta).  At the moment we're using lighttpd on an Amazon EC2 instance,
the mod_flv_streaming module and a local store of the FLV files, which
enables our users to jump around in the footage using byte offsets and
the 13-byte header trick
 However, we're eventually going to run out of space on the local
drive, so I would prefer to run a perlbal proxy that streams from FLV
files stored on Amazon S3.  This would have the advantage of allowing
us to scale to meet future demand by simply adding more EC2 servers
running perlbal and proxying out of S3.

In other words, an HTTP GET request to the perlbal server for would be handled by 1) perlbal
sends the 13 byte FLV header to the client, 2) perlbal does an HTTP
GET request to with a "Range:
xxxx" header, and then streams the output from S3 to the client.  For
extra bonus points, rate-limited to 35kbps, to save us some money on
uncessary downloads of the whole FLV file (it plays out 33kbps, and we
don't need to seek ahead and fill up the cache).

Is it possible to configure perlbal, patched as per, to
behave in the manner described above?  If not, do you have any
suggestions for what I should do to the patch/config to make it work
like that?  We have a modest budget, and if it's a lot of work then I
would be happy to pay someone for their effort in helping us to
produce a working solution.


Etienne Pollard
email at
+44 (0) 7946 415 996

Etienne Pollard
email at
+44 (0) 7946 415 996

Etienne Pollard
email at
+44 (0) 7946 415 996

More information about the mogilefs mailing list