Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: Foobar2000 as a Shoutcast DJ (Read 25099 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

Foobar2000 as a Shoutcast DJ

I was recently asked if I could make foobar work as a Shoutcast DJ. I searched the forum and all I could find were vague reports that it was impossible. Well I played around a bit and got basic functionality working. I'd like to share what I have done in the hopes others can experiment around and help get some of the more advanced features working.

The key to it all is foo_dsp_winamp, a component I came accross that does not appear to have it's own discussion thread.

What you will need:

- Foobar2000, I'm using v0.9.4 as of this writing
- foo_dsp_winamp as mentioned above
- Shoutcast DSP Plug-In for Winamp 5.x, available here.
- Shoutcast, available here.
NOTE: The DSP Plug-In comes as an installer that refuses to install unless it finds winamp on your system. So unless you get your plug-in from a friend or can extract it from the installer you'll need an installed copy of winamp atleast temporarily.

What to do:

1) Install foobar, if you are new to foobar you should probably go learn how to use foobar before attempting this.
2) Copy foo_dsp_winamp.dll to your foobar components dir
3) Install the Shoutcast DSP Plug-In, install it to your winamp plugin folder
3) Copy dsp_sc.dll, dsp_sc.ini, and lamedll.dll from your winamp plugin folder to your foobar component directory

4) (re)Start Foobar
5) Navigate to File> Preferences> Playback> DSP Manager
6) Highlight "Winamp DSP Manager" in the right hand pane, then click the [<=] button to move it to the left hand pane
7) Highlight "Winamp DSP Manager" in the left hand pane and click the [Configure selected] button at the top.

8) In the section labeled "Winamp plug-in path" click the [Browse] button, highlight your foobar component directory, and click [OK]
9) Your foobar component directory should now be listed at the top, click the [Rescan] button to repopulate the list with available winamp components
10) In the section labeled "Plug-in list" click on "Nullsoft SHOUTcast Source", you should see a new popup labeled "SHOUTcast Source". This is where you can configure your station
11) Leave the "Fixed point convertion parameters" at 16bit, I havent really played with the others.
12) Click [Close] to close the DSP bridge config.
13) Click [Close] to close the foobar preferences window
14) You should now have the main foobar window and the Shoutcast Source window. Navigate through the tabs and configure your server. I'd suggest unchecking the box for "Make this server public" so you dont appear on the public yellowpages and to set your encoder to MP3 Encoder - 128kbps, 44.1khz, Stereo.

15) Install, configure, and run the nullsoft shoutcast server gui.
16) On the Shoutcast Source window, navigate to the "output" tab.
17) Under the [Connection] subtab, insert the address and password information for your server
18) Click the [Connect] button just under the "Status" box
19) You should now see a counter incrementing in the "Status" box", In the Shoutcast Server Monitor you should see something like "[source] connected from 127.0.0.1"
20) You should now be ready for any listeners, fire up a second copy of foobar to test.

Known Issues:

- Foobar will send the station name but not the song titles.

Foobar2000 as a Shoutcast DJ

Reply #1
Awesome, Yotsuya. Thanks for the detailed walkthrough. Gonna test this soon.

Foobar2000 as a Shoutcast DJ

Reply #2
there is always Oddcast as an alternative. there's also a version for foobar2000 0.9

Foobar2000 as a Shoutcast DJ

Reply #3
well.. nothing ventured nothing gained.

Thanks to the suggestion of luckz in the irc channel, and as mangix just suggested... Oddcast v3 is available for foobar. I just downloaded it and gave it a try it works a lot better than the above shoutcast instructions. Lets ditch the winamp compatibility crap and use the native oddcast it has loads more features.. it even supports song titles which is something I couldnt figure out with the shoutcast plugin.

I honestly did search for this sort of thing and found nothing. If anything I hope this points future users to the oddcast solution.

Foobar2000 as a Shoutcast DJ

Reply #4
EDITED (stupid question that I already solved)
sorry

BTW, nice tutorial
-foobar2000 + Burrrn + EAC
-HD 80Gb using High QualityVBR MP3s

Foobar2000 as a Shoutcast DJ

Reply #5
Thanks alot for the walkthrough, but there's an easier way, as you mentioned, with Oddcast, but I used Icecast instead of Shoutcast.

What you need:
Icecast Server
Oddcast Foobar DSP Plugin
and of course Foobar 0.9

Additionally, you can get lame_enc.dll (Which the oddcast installer will remind you of) and libFAAD.dll if you want to stream mp3 and AAC files aswell.
This worked really well for me as I most of my collection is in Ogg Vorbis, which shoutcast was being a bitch about.

Anyway install icecast for starters and go Configuration>Edit Configuration. This can get a bit tricky.
Sources should be set to the amount of different streams you'll be sending to icecast. So if you're only using Ogg Vorbis, you can set it to one, but if you're using Ogg and MP3 it needs to be at 2 (Which is the default). Set it to 3 if you are going to use AAC, Ogg and MP3.
Don't mess with anything until you reach the part where it says <source-password>hackme</source-password> and <admin-password>hackme</admin-password>. set those to whatever you want and remember them. The last thing you have to do is un-comment these two lines (Ignore that it says if you only want a single listener, it has nothing to do with how many people can listen to your stream)
Code: [Select]
<port>8000</port>
<bind-address>127.0.0.1</bind-address>

Now you can start the server.

Install the Oddcast DSP plugin and remember to place the lame_enc.dll and libFAAD.dll in the foobar root directory, as you wont be able to select them otherwise.
Once done, fire up foobar and go to Preferences>DSP Manager and put Oddcast over in the active DSP window. For some reason I had to restart foobar for it to work properly, so go ahead and do that.
Here's a bit of a puzzle; You have to press play to get the Oddcast window to show up, for some reason, so hit play.
I assume you either want to stream Ogg, MP3 or both (Which this tutorial is focused on), so hit the Add Encoder button twice. Double click the first one. The only thing you need to make sure of is that Encoder Type is OggVorbis, Server Type is Icecast2 and that the Encoder Password matches the one you set as Source password in the Icecast configuration. Hit ok and you're done with that one.
Double click the second encoder. This time Encoder Type should be MP3 Lame, Encoder Password should be the same as the last encoder and the source-password in the icecast config, and you should have a different mountpoint, so type in something like /mp3stream (Without the .ogg this time). Hit ok and Check AutoConnect. This might not do anything, so hit disconnect twice.
If everything is working, you should in the icecast window see two streams under source level stats.

Your stream will look something like this: http://yourip:8000/stream.ogg.m3u or http://yourip:8000/mp3stream.m3u

Cheers

Foobar2000 as a Shoutcast DJ

Reply #6
I've been using the fb2k/Oddcast/Icecast combo for 24/7 in-home streaming for years now with (usually) great results.  I recommend using foo_dsp_continuator for threshold-based crossfading and heavy use of Replaygain as opposed to dynamic range compression.

Foobar2000 as a Shoutcast DJ

Reply #7
Last time I did this, no audio went in for some reason. I'll try again another time though.
hi

Foobar2000 as a Shoutcast DJ

Reply #8
Oddsock works with 0.9.x now?

Foobar2000 as a Shoutcast DJ

Reply #9
^Not for me.

Foobar2000 as a Shoutcast DJ

Reply #10
Is there any multicasting solution? I checked Icecast but I think it doesn't have any option like this.
Maciek

Foobar2000 as a Shoutcast DJ

Reply #11
Oddcast works for me, using 0.9.4

And what do you mean by multicasting?

Foobar2000 as a Shoutcast DJ

Reply #12
nevermind

Fixed

Foobar2000 as a Shoutcast DJ

Reply #13
Oddcast works for me, using 0.9.4

And what do you mean by multicasting?


EDIT: Yay. Works now.

Foobar2000 as a Shoutcast DJ

Reply #14
And what do you mean by multicasting?


In "traditional" model, listeners connect to something like http://example.com:1234, every listener opening new stream. The more listeners you have, the more data you need to send (sending the same information for every listener).
Multicast is a smarter version of broadcast: you send data just once, no matter how many listeners you have. Users connect to something like udp://@239.255.0.1:8080

I know that - for example - VLC supports multicasting.
Maciek

Foobar2000 as a Shoutcast DJ

Reply #15
For those of you using continuator, what are some optimal settings?  I've been screwing around with it, but I can't get it to do any crossfading what so ever.


edit: oh hurrr i didn't enable it in the dsp manager. whoops. i still would like some optimal settings though.

Foobar2000 as a Shoutcast DJ

Reply #16
For those of you using continuator, what are some optimal settings?

The settings I use with pleasant results:

Mode: Overlap
Override mode with Continuator Tags: disabled (I don't use those tags)
Buffer length (ms): 10000
Threshold (rms drop in dB): 12.0
Fade-in curve: Linear
Fade-in length (ms): 40
Empty buffer...: disabled
Disable track overlapping on seamless transition: enabled
Adjust track length to Audio CD blocksize (588 samples): enabled

Foobar2000 as a Shoutcast DJ

Reply #17
ok, so it works with foo_dsp_winamp + Shoutcast DSP Plug-In for Winamp, BUT i can only choose mp3 encoder in the drop-down menu.


i've put libfaac.dll, libfaad2.dll, libfaad.dll in foobar2000\componenents\ but still no result.

my question is: where to put aac+ dlls to make it work?

thanks

ah and using Oddcast is not an answer. i think it uses aac not aac+ and the sound quality is poor.