You sure can. I currently do this (minus the remote control part; I just change the songs on the player since I'm logged in with LogMeIn.com; but, we can work out remote control of the player through a browser)
To do this, we are going to use the foobar2k media player (greatest media player ever. for audio only; not video. When you first launch it you will be surprised. It is not designed to look pretty like Winamp. However, it isn't ugly, either). Get the latest version from
http://www.foobar2000.org. At the time of this writing, it is version 0.9.4.2 (I am running 0.9.4.1 and am writing the directions from this standpoint but things should be the same. If you run into any differences, tell me). So, download foobar2k and install it to whatever directory suits you.
Now we need oddcast. Get that from
http://www.oddsock.org/tools/oddcastv3. We need the version for foobar (at the time of this writing, latest oddcast version for foobar is 3.1.15. I don't know what version I have. If there are significant differences, let me know.). Download and install it.
Now get icecast from
http://www.icecast.org. You want the windows setup (as of this writing, latest version is 2.3.1. I don't know what version I have). Install after you download it.
You'll also want columns_ui. This is an alternative UI for foobar. Despite it being alternative, it is hands down better than the default so just go ahead and get it. Link is
http://yuo.be/columns.php (version as of this writing, 0.1.3 beta 1v7. I don't know what version I have). It is a 7z file; use 7-Zip or WinRAR to extract it into the components directory of your foobar2k directory.
Start foobar and select columns_UI from the list of UIs. Now navigate to
File | Preferences and maximize the Playback group on the left and select DSP Manager. Select Oddcast V3 from the list on the right and move it to the active DSPs. Save and close the preferences.
Navigate to the directory where you installed Icecast and rename
icecast.xml to
icecast.xml.bak. Now make a new icecast.xml file and put the following in it
Code:
<!-- This config file contains a minimal set of configurable parameters,
and mostly just contains the things you need to change. We created
this for those who got scared away from the rather large and heavily
commented icecast.xml.dist file. -->
<icecast>
<limits>
[COLOR="#00ff00"]<sources>5</sources>[/COLOR]
</limits>
<authentication>
[COLOR="#00ff00"] <source-password>CHANGETHIS</source-password>
<relay-password>CHANGETHIS</relay-password>
<admin-user>CHANGETHIS</admin-user>
<admin-password>CHANGETHIS</admin-password>[/COLOR]
</authentication>
<directory>
<yp-url-timeout>15</yp-url-timeout>
<yp-url>http://dir.xiph.org/cgi-bin/yp-cgi</yp-url>
</directory>
[COLOR="#00ff00"] <hostname>your.host.comp.ip.address</hostname>[/COLOR]
<listen-socket>
<port>8000</port>
</listen-socket>
<fileserve>1</fileserve>
<paths>
<logdir>./logs</logdir>
<webroot>./web</webroot>
<adminroot>./admin</adminroot>
<alias source="/" dest="/status.xsl"/>
</paths>
<logging>
<accesslog>access.log</accesslog>
<errorlog>error.log</errorlog>
<loglevel>3</loglevel> <!-- 4 Debug, 3 Info, 2 Warn, 1 Error -->
</logging>
</icecast>
I've highlighted the things you need to/should change. The sources line is the amount of sources which can be used. I have mine set to five because I stream the same songs at four different qualities. I have it set to five incase I want to add another. I stream four different qualities because my school connection where I listen is very dependent on the number of lusers using myspace in the library. So, on good days I can listen at 128Kbps and on bad days I listen at 48Kbps (sometimes even 32Kbps!) If you are just streaming to your LAN then speed shouldn't be a problem so you could just stream one high quality version.
Now that we are done with the log file, save it. Now start Icecast and press "Start server." Now go to foobar2k and play a song. A new dialog will popup (if you don't see it try minimizing all of your windows. The oddcast window doesn't have a tray identifier). Select the "Add Encoder" button and double-click on the new line created in the box below the button.
(The following are directions for streaming MP3s. If you need to stream something else tell me. The settings will be different) First set the Encoder Type (about halfway down the page) to MP3 Lame. Set the bitrate to whatever you prefer, samplerate to 44100, Channels to 2. I don't know what "joint stereo" does but it defaults to on so I would leave it that way. Set your server type to Icecast and your Server IP to "localhost". Set your port to 8000. Change the Encoder Password to whatever you set <source-password> to in the icecast.xml config. Change your Mountpoint to something such as "/mylanmusic". Do not end it with an extension. At the top of the config window click YP Settings. You can change the Stream Name and other options here which will change the way it shows up in whatever music player you connect with. However, ensure you uncheck the box Public Server unless you are paying the appropriate broadcast fees. If you leave the box checked, your server will be listed in a public directory of online radio stations and people will connect to it (unless you bind to a specific interface; more on that later). Despite all the boxes being grayed out when you uncheck "Public Server", the info will still apply when you connect to the server. Press OK to save the settings.
Now, play a song in foobar and press Connect on the Oddcast window. The Transfer Rate of the Encoder we just finished setting up should change from Disconnected to Connected.
Now you can connect to your music from another computer by typing into a browser window "
http://ipaddress/mylanmusic.m3u". Notice that when typing it into the browser we put in .m3u at the end of whatever you specified as the mountpoint. If all worked as planned, a music player should open and play whatever is being played on the server.
Now you need to get the remote control plugin for foobar. You can find it at
http://foobar.daychanged.com. Latest version as of this writing is 1.1. I tested version 1.1 and it worked. The link at the top is a direct link to the dll file. Save it in the components directory of foobar.
Open foobar and navigate to
File | Preferences and maximize Tools on the left and select HTTP Writer. Default options are fine. Click "Start service" and check the auto start box if you don't want to do this step everytime you start foobar. You can now go to your other computer and use the command
Code:
http://ipaddress:<port>?cmd=<command>
to control the server where <port> is 4800 unless you changed it, <command> is start, stop, pause, next, previous, or random. There is a nifty little app that is supposed to make it where you don't have to type that in but it didn't work for me. You can code up a little HTML page with these links in it so you don't have to type it in all the time.
If I have enough free time I may write a simple C application which will control it. But probably not.
Okay, that is all. If you have any problems just post back here. Also, you may need to forward the appropriate ports. If you do they will probably be port 8000 and 4800.
If you notice any errors in this post please point it out so I can edit it to make it better for future reference.