Media Tips, Tricks, and Hints
Setting up your SHOUTcast Server
Once you downloaded the SHOUTcast server sofware, depending on the platform, will be installed differently. Here is the basic information you need to know to install SHOUTcast listed by type of platform.
Win32 Platform : Windows users should download the server, and unzip into an appropriate folder such as "c:\Program Files\SHOUTcast". Once the files are extracted into the folder, create a shortcut for SC_SERV.EXE to the Desktop. Start up the SHOUTcast server by running the executable, then click on the "Edit config" menu option located at the top. This will start the default text editor, opening the configuration file for SHOUTcast server. Please follow all the directions that are written into the configuration file. Once you are done making changes, save the file, close the editor, and restart the SHOUTcast server application.
UNIX and Variants : Those of you serving from Unix should download the version appropriate for your operating system, gunzip the distribution, and un-tar the archive. Use a text editor to configure the sc_serv.conf file (see below for details on configuring). It doesn't matter what user the server runs at, save that the user has read access to the config file, and write access for the files you define for file storage and log storage.
Configure your SHOUTcast Server
If you wish to configure the SHOUTcast server, the configuration file contains several options that can be changed. here is a basic explanation of what each option does.
PortBase: The port SHOUTcast should send use for sending audio. The default is 8000. Unix users should be aware that they cannot use a port below 1024 unless they run the server as root.
MaxUser: The maximum allowable listeners at any one time. Make sure you set this to a realistic number depending on your bandwidth and operating system.
Maximum bandwidth used for serving is equal to the bitrate you are serving at multiplied by MaxUser x 1.1.
Password: The password to use for streaming content and administration. This needs to precisely match the password in the shoutcast dsp plug-in in order for source providers to send content with your server.
Logfile: The file to use to store the console log. Use /dev/null or leave empty to disable file-based logging.
SrcIP: The IP interface to bind the source listener to. Only important on machines with more than one IP interface or ethernet card. Default is to listen to all ip addresses, when set to ANY.
DestIP: The IP interface to listen for clients on. Only important on machines with more than one IP interface or ethernet card. Default is to listen to all ip addresses, when set to ANY.
RelayServer: [Optional] If defined, the SHOUTcast server will not accept source connections, and instead attempt to connect to the server name defined here for transmission
RelayPort: [Optional] The port that the relay server is sending audio on.
RelayPublic: [Optional] When running a relay server, use "always" to make the server always public (regardless of whether the source server is public) or "never" to make the server never public. Anything else makes the server the same as the source server.
RealTime: [Console systems only] This flag determines whether or not the server displays a real-time status indicator with listner count.
ScreenLog: [Console systems only] If this flag is set to 1, the server will display all diagnostic data on screen in addition to writing it to the logfile.
HistoryLog: [Optional] If set to anything other than 'none', the server will append to the file named here information on listener count, timestamp, and metadata at a provided interval.
HistoryLogTime: [Optional] The value, in seconds, of how often the server should update the HistoryLogFile.
Yport: [Optional] If you're located behind a web cache, you can tell the Shoutcast server to use a different inbound port to send directory data to. The only values that work are 80 and 800. The default is 80.
NameLookups: [Optional] If set to 1, the server will attempt to resolve all IP addresses into their FQDN (i.e. 188.8.131.52 becomes www.winamp.com)
AutoDumpUsers: [Optional] If set to 1, the server will disconnect listeners whenever the source becomes inactive. Otherwise, listeners are left connected and either get dead air or the BackupFile (see below).
IntroFile: [Optional] If defined, the server will send this file as-is to the listener before joining them with the content stream. CAUTION: This file MUST be in
MP3 format, and of the *PRECISE* same bitrate, samplerate, and mono/stereo setting as your stream!!! If the file differs from the stream, the user gets an earful of nastiness or dead air.
BackupFile: [Optional] If defined, the server will send this file as-is to the listener whenever the server loses contact with the source stream or the source stream idles for 30s or more. CAUTION: This file MUST be in MP3 format, and of the *PRECISE* same bitrate, samplerate, and mono/stereo setting as your stream!!! If the file differs from the stream, the user gets an earful of nastiness or dead air.
TitleFormat: [Optional] When defined, this string will repurpose how metadata appears to the player. If the flag %s is included in the parameter, then the title data from the source is included at that point in the string. For example, if your TitleFormat is 'Justin Radio: %s', and the source plug-in's title is 'Billy plays the blues', then the net title is 'Justin Radio: Billy plays the blues'. Note: only works on non-relay servers. The default is no format string.
URLFormat: [Optional] This behaves just like TitleFormat, except it applies to the minibrowser URL. Only useful when you want to do redirections and keep track of 'em.
CurrentLog: [Optional] CurrentLog provides a mechanism for regular updates to a file located on the same server as the SHOUTcast server. CurrentLog itself as a parameter does not exist, but rather is a family of parameters. They are as follows:
CurrentLogIn is the filename of an HTML template file.
CurrentLogOut is the filename the server should output the file to.
CurrentLogTime is the number of seconds the server should wait between updates to the output file.
The HTML template file is best explained with an example. Consider this file, stored on the same server and pointed to as CurrentLogIn:
<TITLE>My Current Stats</TITLE>
My SHOUTcast server is currently playing <!-- CURRENTSONG -->.
You get see more information about it at <!-- URL -->
As you can see, the server inserts parameters where it finds comment fields with appropriate parameters. The parameters it recognizes are LISTENERS, MAXLISTENERS, LISTENERTABLE, GENRE, DESCRIPTION, URL, HITS, and CURRENTSONG. More information on these parameters can be found in the sc_serv.conf or sc_serv.ini file's comments.
If you have an idea for a Tutorial, would like to contribute, or
are just interested in being notified of an update, please Contact Us.