Peer-to-Peer MP3 Server & Web-based Jukebox

Background:

Many people have large music collections stored on their home computers. Digital music has largely replaced other forms of music media, namely CDs. Using a combination of a media streaming server and a web server it is possible to make these music collections available to any computer that is connected to the internet. In addition, by allowing the media server to connect to other media servers on the network, it is possible to create a shared music collection between numerous users.

Problem Statement:

There currently exist several options for listening to one’s music collection. There are numerous media players available to play music stored locally. The problem with these players is that they can only be used on the same computer that the music is stored. MP3 players provide another way of listening to such music. However, MP3 players must be purchased and all the music must be uploaded to the player. To address the problem with each of these solutions, a web-based system for streaming music will be developed. This solution will be able to be accessed from any computer connected to the internet and will not require the duplication of data or the purchasing of new hardware that MP3 players require. Finally, the peer-to-peer component will allow friends to share their music with each other without having to illegally copy each other’s music.

Team Members:

Adam Wessel adam.wessel@gmail.com

Faculty Advisor:

Dr. Annexstein

Goal:

To develop a peer-to-peer music streaming solution that will allow the user to listen to his or her music, along with his or her friend’s music, from any computer that is connected to the internet.

Subgoals:

  1. To design a peer-to-peer media server that will create and transmit music streams to the web client. The server will also communicate with other running instances of the server to process requests for songs located on other computers.

  2. To design a web-based client for accepting and playing the media streams from the server. The client will also include the ability to build, play and save play lists. Finally, the ability to add or discover friend servers will be included in the client

  3. To design a back-end database that will store song info, user preferences and play lists, and information for the friend servers.

Helpful Skills:

  • Computer programming (C#, C++, VB.NET, Java)

  • Network programmin

  • Web development

  • Database design