introduction
|
webplay creates from a collection of mp3s and Ogg-Vorbis files (directory, mysql or
postgres database) a Web-based jukebox with support for multiple independent
streams. If lame and oggdec/oggenc are available, it can change the codec and bit-rate of a
file in real time to a selectable value. Each user controls their stream via a web
interface and can skip back, forward or to a specific track, increment or
decrement the bitrate and check the current playlist, song or bitrate.
Playlists can be looped, randomized, played locally on the webserver, edited,
deleted, reused and renamed.
|
webplay is split into three parts: the first creates
XML and javascript caches describing the mp3 collection, the second uses that cache to
create and edit playlists and the third streams playlists.
for flexibility the caches can be created three ways: from a mySQL/postgres
database (scripts are included to create, populate & search the database), from a free-form
directory of files sorted by id3 tags and filenames or from a directory hierarchy
($pathto/artist/album/song). two interchangeable playlist editors are provided, one
javascript and the other java 1.3 (applet or standalone application).
the streamer is written in C for a small footprint.
all of it runs within the framework of a webserver.
the use for which it was originally written was streaming
files from home to work via DSL. using lame or oggdec/oggenc it steps the
bitrate down (and even changes the codec) to something reasonable like 64k
while still using 192k files as source.
check out the demos
you may also want to check out
nic's "unsupported by dave" webplay modifications
webplay started as a project in late 1999 with a particuliarly
ugly proof-of-concept (coworkers mocked me, god bless them). the
javascript playlist editor was created april 2000 and was first
released june 11, 2000. the java playlist editor was released
in version 1.00a november 25, 2001. development is primarily on OpenBSD, but
i have access to and test on Yellow Dog Linux, RedHat Linux, MacOS X and IRIX.
lack of portability is a bug (well, Unix anyway) so please mail me with
problems.
|
|
|