FAQ.


So what is mod_mp3?

Where do I get it from?

What sort of license does it have?

How can I make suggestions for it?

How can I report a bug?

How do I install it?

How do I use it?

What are the directives?

XMMS is just sitting here doing nothing.

What protocols are being supported?

Can I write my own interface to it?

Will this work with Apple's OSX?

So what is up with Apple's Itunes?

So what are local streams?

Will this work with SSL?

What is the future?

So what is mod_mp3?

This turns apache into your basic RIAA hating, but every college student loving mp3 streaming server. It can play from a list of files, either straight through or randomly. It can also be used to cache mp3's into memory and have the server operate entirely from memory. Enjoy, groove, mp3s not included.


Where do I get it from?

You can get it from either here via the web or here via ftp.

What sort of license does it have?

You are pretty much free to use it as you please. Check out the License file with the distribution for more details. (Its very BSD like)

How can I make suggestions for it?

Send email to brian@tangent.org.


How can I report a bug?

Enter your bug here here.


How do I install it?

Read the INSTALL file that comes along with the module.


How do I use it?

Listen 8000
<VirtualHost www.example.com:8000>
ServerName www.exampe.com
MP3Engine On
MP3CastName "Brian's Tunes"
MP3Genre "Much, nutty"
MP3 /export/mp3
MP3 /tmp/madonna.mp3
MP3 /tmp/cows.mp3
MP3Random On
ErrorLog /usr/local/apache/logs/music_error_log
</VirtualHost>
Make sure you also enable Listen for port 80 if you are also running a regular webserver.


So what are the directives?

  • MP3 - Either a filename or directory filled with mp3s (it recurses into subdirectories)
  • MP3Engine - Turn on the streaming mp3 server.
  • MP3CastName - Name of your server
  • MP3Genre - Genre that will be sent to the client
  • MP3Random - Tells mod_mp3 to randomly dish out music
  • MP3LocalStream - Creates a local stream. Its file will be /tmp/mod_mp3.STREAM_NAME
  • MP3ReloadRequest - When enabled this causes mod_mp3 to reload all of playlists/files/directories for each request.
  • MP3Playlist - This takes a file filled with mp3 filenames and loads the filename into mod_cgi list (most MP3 player's playlists are in this format)
  • MP3Cache - Tells mod_mp3 to cache all of the files to memory instead of getting them at request time from disk. This can take up a lot of memory but is quite a bit faster if you are expecting a large load. This directive must come first if used.

  • XMMS is just sitting here doing nothing.

    Look at the example, you probably don't have your virtualhost defined correctly.


    What protocols are being supported?

    Whatever I can get my hands on. Right now that means just Icecast and Shoutcast. Shout is full supported and ice is coming along nicely.


    Can I write and interface for it?

    Yes. The idea is to let other people write the interface for mod_mp3. To enable this a couple of hooks have been added. You can find a list of the contents to a server by doing a http://example.com:8000/?op=rss. If you want, you can this grab songs based on the ID of the song (which is the filename MD5'ed). An examle is: http://avenger.tangent.org:8080/?op=play&song=475c47c405940fde1737e8bc85f65760&song=7777e58678fcc5fcc96d449b4951ebd1

    This was just a start, there is a mailing list for the interface, as I get an idea about what people want, more will be added


    Will this work with Apple's OSX?

    Several people have written in and said that it will. If I get a binary I will put it up for people to download and use.


    So what is up with Apple's Itunes?

    In theory it supports the shout protocol, but in reality it seems to ignore file names found in the stream.


    So what are local streams?

    A cute idea. I find that a number of the streaming programs are a pain to use, this should simplify creating them. What happens is that you specify a name and that name name is attached to /tmp/mod_mp3. You can then do things like cat file.mp3 > /tmp/mod_mp3.stream. This should make it trivial for people to write interfaces. This is very experimental and if it proves not to be useful it will be removed.


    Will this work with SSL?

    According to people on the mailing list, it will work just fine. Trick is you need a player that can do SSL.


    So what is the future?

    World domination? Complete online server that would make any radio station drool. Support for more then just mp3. You name it, I am open to ideas. The big thing for me is that I want to give people a voice. Just like apache opened up the web for anyone to publish thoughts and ideas that they have, I want this module to extend that same philosphy to the online airwaves. The FCC is never going to make community radio a reality, hopefully this will give people an alternative.