Streaming Solution

You can skip all the way down to GOAL,
stuff below is to simply describe what has been done.

:: PROJECT

I’m currently hosting an automotive community web site that has a
Download section with 20+ videos (size varies from 2mb to
100mb, all FTP’ed to the server). All the videos were re-encoded by me
using latest XVID codec (bitrate varies from 400 to 700) and MP3
(128kbps) through VirtualDub. Originally they were wmv/qt/ram/dvix and
etc, but I was looking to have them all in the same format for both
mine and visitor’s convenience.

:: WHAT I HAVE

I have a simple index file set up that shows the files available (php
script called SNIF, yet
I was looking for a more professional solution that will allow
visitors either to receive more information regarding the files or
have an option of streaming them without downloading. I know this can
be done through seperate scripts combined and that is what I’m trying
to accomplish right now.

:: ENCODING

My 3 options for re-encode were XVID/WMV or RealMedia. Real Media was
thrown out since it requires installation of RealPlayer (or
RealAlternative) which is 2mb+ download either way. I had issues
encoding to WMV using the Media Encoder since it failed to recognize a
lot of the formats. I ended up with XVID/MP3 since it seemed to give
the best quality/size ratio plus most users already have some kind of
divx variant codec installed and almost everyone has mp3 support. I
was really satisifed with the results of the re-encode.

:: POSSIBLE SOLUTIONS

Now these are the solutions that I’m exercising right now for hosting
my videos online.

ffmpeg - FFmpeg
is a complete solution to record, convert and stream audio and
video.
My host will not allow this due to hefty CPU usage.

Image gallery script - Menalto
/ Coppermine = those
will need ffmpeg to deal with video properly as well as ImageMagick
library (available) to display thumbnails.

Gstreamer - open
source multimedia network
. This sounds interesting, however I
wasn’t able to find any scripts that utilize this which can help me in
my project

Streamplug

  • Streamplug is a full Mpeg4 and Ogg streaming plug-in delivering
    ogg vorbis, divx, xvid content and much more to you instantly.

    This is the solution that I stopped at for right now. It’s indeed
    lightweight and pretty customizable, however this uses JavaScript
    embedded into your page, when I was looking for more of a PHP/Perl
    solution.

I also found some commercial products (try and buy) such as Wimpy AV
player, however like most others it requires to have conversion into
it’s own format (Flash media in this case).I will be looking around
some more on SourceForge and FreshMeat in attempt to find something
that suits my needs.

:: GOAL

An open source (or just freeware) customizable solution that will
allow me to host video on my site and if possible to offer streaming
option besides just the download.

  1. Files will be uploaded by FTP, so the solution has to be
    able to read from URL or public_html (if using relative paths)

  2. Needs to have an index file or a playlist to display all the
    files available.

  3. Must be free/open source/creative commons license/gpl or etc

  4. Needs to have support for XVID format (video) and MP3 (audio).
    Re-encode is possible, but I doubt there’s a better solution.

  5. This is optional but it would prefferable if there was an option to
    generate thumbnails from existing video clips (on-the-fly or
    manual, either way is fine) to give visitors a preview of the media
    before they download/view it.

  6. If it’s a player or a script it needs to have options such
    as forward/skip/next/full screen/etc. Just basic stuff will do, but it
    needs to be there.

  7. Needs to be lightweight so that if visitors indeed do need
    to download some extra content in order to view the media, it has to
    be less than 1MB ( for example ffdshow is about 500kb/streamplug
    plug-in is 240kb, both can be downloaded in less that a minute on
    broadband)

Please post your comment/suggestions/ideas/questions/etc below. To
motivate you: whoever will propose the most optimal solution that will
suit my needs, will have his banner displayed on my community’s web
site (700+ visitors a day). Thank you.