These days, most people have at least one computer and a large collection of media files. The conventional practice for most people has always been to have redundant copies of their media collection on their various computers. While this system technically works, it is highly inefficient and creates the unnecessary task of keeping the media collection on each computer synchronized and up-to-date with the others. A far better solution is to keep all the media on one computer and stream it as needed to the other machines over the network.
Streaming technology has been around for over a decade and is something that most people are at least a little familiar with. (Youtube uses streaming flash-based video to work) In the past, playing large files over the internet was usually pointless due to the fact that the software of the time required the whole file to download (often on slow connections) before the media could be played. With streaming media, the remainder of a file is fetched as the first part it is being played, so there is no need to wait to get the whole thing before watching it. The video quality on early streaming media was often quite bad, (a trade-off between quality and speed was necessary when most people were stuck on dial-up) but with the near-ubiquitous availability of broadband in most urban and suburb areas today, high-quality streaming media has finally become practical.
We have assembled this guide to help you set up a cross-platform media streaming service using a Linux computer as a server. With our guide, you will be able to stream media to any other computer you own. Other guides on the subject discuss how to set up a Samba-based solution, but we feel that our solution is simpler and easier since you only have to install and configure one program instead of several. For this purpose, we use GNUMP3d. GNUMP3d is a program that makes media available through a web-based interface. Instead of using the Samba protocol, GNUMP3d uses ordinary HTTP to get the job done.

Read on to get started!