Edna - A streaming MP3 Server

What Is Edna?

edna allows you to access your MP3 collection from any networked computer. This software streams your MP3 via HTTP to any MP3 player that supports playing off a remote connection (Winamp/FreeAmp/Sonique).

This software supports

  • Accessing your music collection from a remote computer.
  • URL support to allow people to stream a specific song.
  • The merging of multiple music collections while keeping the files on the remote computer.

How Edna Works

Edna allows access to your MP3 directory through a web browser. When a song is requested a stream is set up between the media player and the edna server.

The Edna Server

The edna server is a very stable Python program that can be launched in several ways.

  1. As a command line python script.
  2. As a NT Service

Command Line

Start the program by typing ./edna.py on a machine with Python installed. If doing this from a remote terminal, try the command ./nohup edna.py to allow the server to continue running even after the connection is closed.

As an NT Service

You also need the most recent Win32 extensions, and have NT 4.0, or Windows 2000 for this code to work.

Installation
python ednaNTSvc.py -c path to edna.conf --startup auto install

Removal
python ednaNTSvc.py remove

Official usage string output by ednaNTSvc.py
   Usage: 'ednaNTSvc.py [options] install|update|remove|start [...]|stop|restart [...]|debug [...]' 
   Options for 'install' and 'update' commands only:
    --username domain\username : The Username the service is to run under
    --password password : The password for the username
    --startup [manual|auto|disabled] : How the service starts, default = manual

Some work has also been started to run edna as a taskbar service.

The Edna Clients

Web Browser

To view the edna server within a Web Browser, type the IP address of the server followed by a colon and the port the server is running on. If the edna server is configured to run on port 8000 and your ip address is 12.34.56.789, you would go visit http://12.34.56.789:8000

Some work has been started on a Windows GUI client.

Editing the source

The server code is found in edna.py. Take a look at the code and you should be able to add your own features without much hassle.

Edna also has some code in it to extract ID3 tags from MP3 files. I'm not using it yet, but will add some code to display the data on the generated web pages. I might also look into using some kind of template mechanism for generating the web pages. A number of people have requested access lists to protect their files, so I'll be adding that soon, too. If you have a pet feature, then please let me know!

Download

Edna is licensed under the GPL. It is a small Python script. At the moment, it is about 1000 lines (version 0.1 was only 250!). You can view the thing online, or grab the distribution. edna is checked into a CVS repository and is available for viewing with your web browser.

The server should work for any platform. I've tested it on Linux and Windows. I've been using Internet Explorer and WinAmp (on Windows) to navigate the pages and play the files.

download links...

Configuration

Server

Edit the edna.conf file with your setup. This is simple to do, as all you need to tell it is:

  1. what port to run on
  2. the directories for your MP3 files

Contact Information

Greg Stein - Project Leader (gstein@lyra.org)


Last modified: Wed Feb 21 20:07:48 PST 2001