http://wiki.shoutcast.com/api.php?action=feedcontributions&user=Jonathan&feedformat=atomWinamp Developer Wiki - User contributions [en]2024-03-28T18:15:59ZUser contributionsMediaWiki 1.22.3http://wiki.shoutcast.com/wiki/SHOUTcast_DNAS_Server_2SHOUTcast DNAS Server 22015-06-17T22:10:53Z<p>Jonathan: /* Introduction and Backup Files */</p>
<hr />
<div>{{Template:NavBarSC}}<br />
<br />
<br />
==Introduction==<br />
<br />
The purpose of this document is to show you the different configuration options supported by sc_serv along with basic and more advanced example configurations to enable you to get started with using sc_serv and the features it can offer.<br />
<br />
The aim of sc_serv is to provide enhanced serving features and also access to the new YP2 infrastructure whilst maintaining as much backward compatibility with previous versions of sc_serv as possible. The new features introduced include:<br />
<br />
# Serving multiple streams from a single server instance<br />
# Relaying multiple streams from a single server instance<br />
# Multiplexing all server activity through a single IP port<br />
# SHOUTcast 2 wire protocol support for sources, relays and clients<br />
# Repackaging of SHOUTcast 1 and SHOUTcast 2 data as needed for connected clients<br />
# YP2 infrastructure support<br />
# Real-time metadata and statistic reporting<br />
# Static station id support<br />
# In-stream metadata in standardised xml files<br />
# UTF-8 and international character encoding<br />
# Improved server and stream security<br />
<br />
<br />
==Overview of Features==<br />
<br />
To take full advantage of the newer features provided as part of the SHOUTcast 2 and YP2 systems then you will need to ensure you are using a compatible version of sc_serv (any version 2 will work) and that you have the required authorisation key to register as a broadcaster on the YP2 directory (see [[#Getting_Started|section 3.0]]).<br />
<br />
If you were intending on taking full advantage of the multiplexing and multiple stream support offered as part of sc_serv then you would need to make sure you enable the SHOUTcast 2 options (this is enabled by default with server builds from the end of 2010 if the 'yp2' option in the configuration file is not specified [see [[#YP_Server_Behaviour|section 4.14]] ). The reason for needing to enable this support is if you try to do it with the original SHOUTcast 1 protocol then it will not work as the original protocol has no means of expressing multiple streams from a single port due to the lack of an identifier provided for them.<br />
<br />
If you are planning on connecting multiple sc_trans instances to sc_serv then you must use the SHOUTcast 2 protocol support so that each sc_trans instance can have a unique identifier which allows for multiple streams to then be provided from a single server. It is still possible for an older source to connect to the server with a number of config options available to support this though functionality will be limited compared to what can be done with a fully supporting SHOUTcast 2 source.<br />
<br />
Finally clients connecting to your server do not need to directly support SHOUTcast 2 as sc_serv will repackage the stream data and any related metadata into the correct format the client requests (typically based on the user agent detected by the server).<br />
<br />
<br />
==Getting Started==<br />
<br />
One of the key aspects of the new YP2 directory infrastructure is an authorisation key which is used to validate your server when it tries to connect to the YP2 infrastructure for any of the station(s) you run. Once this key is obtained, it will be valid for all root servers of the station being broadcast.<br />
<br />
This can be done by going to the [[SHOUTcast_Authhash_Management|SHOUTcast Authhash Management]] page which shows how to do this via the 'Administation Summary' page as long as a valid source has been connected to the server. This process automatically updates your configuration file(s) with the new authhash and if the stream is set to be public then will attempt to get the stream listed in the SHOUTcast Radio Directory.<br />
<br />
When using an older SHOUTcast 1 server then you do not need to do this registration and the server will still be able to be listed on the directory but there is not the same level of protection over the stream as is the case with registering it.<br />
<br />
<br />
===Running the Server===<br />
----<br />
<br />
The server is able to be run either as a console application or it can be run as service (Windows) or daemon (Linux / Mac OS X / BSD). Detailed below is how to get the server running on the different operating systems supported by it.<br />
<br />
<br />
===Windows===<br />
----<br />
<br />
The Windows version of sc_serv is designed to run on fully updated and patched versions of Windows 2000, XP, Vista and Windows 7.<br />
<br />
Please note that the Windows versions of sc_serv are built with a dependency against the Microsoft Visual C++ 2008 SP1 Redistributable Package. If sc_serv is unable to start due to a dependency issue then you will need to install the correct version of the package so it can run which depends on the version of sc_serv you are attempting to run:<br />
<br />
32-bit version:<br />
http://www.microsoft.com/downloads/en/details.aspx?FamilyID=a5c84275-3b97-4ab7-a40d-3802b2af5fc2<br />
<br />
64-bit version:<br />
http://www.microsoft.com/downloads/en/details.aspx?FamilyID=ba9257ca-337f-4b40-8c14-157cfdffee4e<br />
<br />
<br />
====Install as a Service====<br />
----<br />
<br />
sc_serv.exe install <servicename> <username> <password> <conf><br />
<br />
<servicename> - Name of service<br />
Typically enter this as 'sc_serv' though you can use a different name but you will need<br />
to remember it as it is required to be the same when using the 'uninstall' mode.<br />
<br />
<username> - User under which to run the service as or '0' for the local system<br />
<br />
<password> - Password for user or '0' for the local system or with no password<br />
<br />
<conf> - File path to the configuration file<br />
If no file / an invalid file is specified then sc_serv will abort loading.<br />
<br />
When run as a service there is not a good sense of a current working directory so requires all paths in the configuration and playlist files to be fully qualified otherwise lookups will fail when sc_serv is run.<br />
<br />
To run sc_serv with a configuration file in the same folder as the server as the current system user account you would enter into the console:<br />
<br />
sc_serv.exe install sc_serv 0 0 sc_serv.conf<br />
<br />
<br />
====Uninstall the Service====<br />
----<br />
<br />
sc_serv.exe uninstall <servicename><br />
<br />
<servicename> - Name of service as used when the service was registered<br />
<br />
To uninstall sc_serv assuming it was installed as detailed in the install section above then you would enter into the console:<br />
<br />
sc_serv.exe uninstall sc_serv<br />
<br />
<br />
====Run as a Non-Service in the Console====<br />
----<br />
<br />
sc_serv.exe <conf><br />
<br />
<conf> - File path to the configuration file (can be relative or absolute)<br />
If no file / an invalid file is specified then sc_serv will abort loading.<br />
<br />
<br />
===Linux / Mac OS X / BSD===<br />
----<br />
<br />
Remember to enable the required access on the sc_trans file by doing 'chmod a+x sc_trans' after extracting it from the distribution file otherwise the OS is likely to not run it and show the error message './sc_serv: Permission denied'.<br />
<br />
====Run as a Daemon====<br />
----<br />
<br />
./sc_serv daemon <conf><br />
<br />
<conf> - File path to the configuration file (required in all cases)<br />
If no file / an invalid file is specified then sc_serv will abort loading.<br />
<br />
'''e.g.'''<br />
./sc_serv daemon ./sc_serv.conf<br />
<br />
When run this should output the following:<br />
<br />
'sc_serv going daemon with PID [XXXX]' where XXXX is the <pid> of the process.<br />
<br />
<br />
====End a Daemon====<br />
----<br />
<br />
kill -SIGTERM <pid><br />
or<br />
kill -15 <pid><br />
or<br />
kill -s TERM <pid><br />
<br />
<pid> - The PID of the daemon instance (reported when the daemon started or can be found with 'ps ax | grep sc_serv' as long as sc_serv was the file run otherwise you can just use 'ps ax' if the filename isn't known). Additionally the PID of sc_serv is listed in the log file.<br />
<br />
<br />
====Run as a Non-Daemon====<br />
----<br />
<br />
./sc_serv <conf><br />
<br />
<conf> - File path to the configuration file (can be relative or absolute)<br />
If no file / an invalid file is specified then sc_serv will abort loading.<br />
<br />
<br />
===Additional Signals===<br />
----<br />
<br />
When run on Linux / Mac OS X / BSD then some additional signals are supported to allow for additional control over the running daemon instance of sc_serv.<br />
<br />
The following signals can be used with the 'kill' command (in the manner of your choosing for using the kill command) along with the <pid> of the daemon instance to do one of the following actions:<br />
<br />
SIGKILL - Stops sc_trans (also SIGTERM, SIGINT and SIGQUIT will work)<br />
SIGHUP - Rotates logfile, w3clog and streamw3clog<br />
<br />
The result of SIGHUP is that the current log file contents will be moved into <logfile>_1 e.g. sc_serv_1.log, <logfile>_1 will be moved into <logfile>_2 e.g. sc_serv_2.log and so on for all log files which can be found which match the current log file's name. This is useful if timed to have it create day specific log files.<br />
<br />
These signals are not supported by the Windows version of sc_serv which will only<br />
respond to the Ctrl + C / Ctrl + Break / console close commands the OS provides.<br />
<br />
<br />
==Configuration File==<br />
<br />
Here you can find a complete list of all of the configuration options which are provided by sc_serv which ranges from logging to networking configuration and control over the media being used when streaming via the server.<br />
<br />
Configuration entries labelled as ''<MULTI>'' can be used to set up simultaneous connections to the server or allow for multiple connections from various sources. These are specified by adding _# to the end of the option's name as shown below where # begins with one. If you are only working with a single instance then you do not need to add the _# part as any instances of a configuration option will assume it is for _1.<br />
<br />
Note: The ''<MULTI>'' system is not hierarchical and all values beyond the default must be specified for all connections. So for example, if you wanted to connect to two servers on the same port you must do:<br />
<br />
serverport_1=8080<br />
serverport_2=8080<br />
serverip_1=www.server1.com<br />
serverip_2=www.server2.com<br />
<br />
Note that you CANNOT do it like this as it leads to not all values being set:<br />
<br />
serverport=8080<br />
serverip_1=www.server1.com<br />
serverip_2=www.server2.com<br />
<br />
The configuration files also allow for comments/notes or options to be disabled by the use of a semi-colon (''';''') or a left bracket ('''[''') or the hash / pound symbol ('''#''') at the start of a line which can be seen in all of the configuration examples.<br />
<br />
Known options in the configuration files are recognised irrespective of the case they are entered in the configuration file so maxuser and MaXuSer will be handled the same way.<br />
<br />
Any items found in the configuration file which are not known (as detailed in following sections) or is not processed as a comment will be reported in the following manner:<br />
<br />
<date + time> W msg:[CONFIG] Invalid item on line XX<br />
<br />
Where <date + time> is the date and time the event happens at and XX is the line in the configuration file where the error has been found to occur at.<br />
<br />
<br />
===Banning===<br />
----<br />
<br />
'''banfile''' : File to store the list of banned IP addresses ''[Default = sc_serv.ban]''<br />
<br />
'''savebanlistonexit''' : Re-write the 'banfile' on server exit ''[Default = 1]''<br />
<br />
If you are using a folder for saving the file into then you need to ensure that the<br />
folder already exists as sc_serv will not attempt to the create the folder for you.<br />
<br />
<br />
===Client Behaviour===<br />
----<br />
<br />
'''maxuser''' : Specify the maximum number of clients allowed to connect to the server ''[Default = 32]''<br />
This is used in conjunction with 'streammaxuser' (see [[#Stream_Configuration|section 4.12]]) to control the<br />
maximum limit on the number of client connections allowed to connect to the server instance.<br />
<br />
'''listenertime''' : Specify the maximum time in minutes a client can listen to the stream ''[Default = 0]''<br />
A value of zero means there will be no time limit.<br />
<br />
'''autodumpusers''' : Enable to allow the server to disconnect clients if the source disconnects ''[Default = 0]''<br />
<br />
'''srcip''' : Specify the server side binding address for sources to connect on ''[Default = <no value>]''<br />
<br />
'''dstip''' or '''destip''' : Specify the server side binding address for clients ''[Default = <no value>]''<br />
If 'any' or no value is specified then sc_serv listens to all addresses.<br />
<br />
If you specify a value for 'dstip / destip' then this will be used by the listen feature on the Administration Pages (see section 5.1) so it can provide a valid stream url in the generated playlist. If 'dstip / destip' is not specified then the server will attempt to auto-generate the IP required for the client to be able to connect. If this fails the generated playlist is likely to return a stream url like <nowiki>http://0.0.0.0:<portbase>/<path></nowiki><br />
<br />
The IP provided needs to be in a valid format like <nowiki>http://<my-ip></nowiki> or an address which can be resolved to an IP otherwise the internal lookups done are likely to fail (depends upon the server configuration and OS being used). Also you cannot set srcip and dstip / destip to be the same IP value and if this happens then the server will close. Closing of the server will also happen if the IP cannot be resolved or correctly bound to i.e. server is not there or an invalid value was entered.<br />
<br />
'''titleformat''' : Specify a string to be used in-place of the default icy-name string being used ''[Default = <no value>]''<br />
<br />
'''urlformat''' : Specify a string to be used in-place of the default icy-url string being used ''[Default = <no value>]''<br />
<br />
<br />
===Debugging===<br />
----<br />
<br />
In all cases, the default value is for no debug logging for the options listed below.<br />
<br />
'''yp1debug''' : Enable debug logging of YP connections<br />
<br />
'''yp2debug''' : Enable debug logging of YP2 connections<br />
<br />
'''shoutcastsourcedebug''' : Enable debug logging of SHOUTcast source connections<br />
<br />
'''uvox2sourcedebug''' : Enable debug logging of SHOUTcast 2 source connections<br />
<br />
'''shoutcast1clientdebug''' : Enable debug logging of SHOUTcast streaming clients<br />
<br />
'''shoutcast2clientdebug''' : Enable debug logging of SHOUTcast 2 streaming clients<br />
<br />
'''relayshoutcastdebug''' : Enable debug logging for SHOUTcast relays<br />
<br />
'''relayuvoxdebug''' : Enable debug logging for SHOUTcast 2 relays<br />
<br />
'''relaydebug''' : Enable debug logging of common relay code<br />
<br />
'''streamdatadebug''' : Enable debug logging of common streaming code<br />
<br />
'''httpstyledebug''' : Enable debug logging of http style requests<br />
<br />
'''statsdebug''' : Enable debug logging of statistics<br />
<br />
'''microserverdebug''' : Enable debug logging of common server activity<br />
<br />
'''threadrunnerdebug''' : Enable debug logging of the thread manager<br />
<br />
'''rtmpclientdebug''' : Enable debug logging of rtmp clients<br />
<br />
<br />
===Flash Security===<br />
----<br />
<br />
'''flashpolicyfile''' : Name of file containing flash crossdomain policies on the server ''[Default = crossdomain.xml]''<br />
<br />
<br />
===Introduction and Backup Files===<br />
----<br />
<br />
Note that intro and backup audio files must precisely match the format and bitrate for the stream! If they do not match, there will be a break in the stream and the listener will be disconnected. <br />
<br />
'''introfile''' : File to play when a client first connects to the server ''[Default = <no value>]''<br />
Note: This is used globally and also is default for stream #1 on DNAS versions greater than 2.0. To apply a specific intro file to a stream, use streamintrofile_X. <br />
<br />
'''streamintrofile_X''' : File to play when a client first connects to the server ''[Default = <no value>]''<br />
<br />
'''backupfile''' : File to play if the source disconnects from the server ''[Default = <no value>]''<br />
Note: This is used globally and also is default for stream #1 on DNAS versions greater than 2.0. To apply a specific backup file to a stream, use streambackupfile_X. <br />
<br />
'''streambackupfile_X''' : assigns a specific backup file to a streamID X [Default = <no value>]''<br />
<br />
'''specialfiletmpdir''' : place to store intro and backup files uploaded by sc_trans ''[Default = /tmp/ (*nix only)]''<br />
<br />
'''maxspecialfilesize''' : Change the maximum size in bytes of the backup and intro files ''[Default = 30000000]''<br />
<br />
===Logging===<br />
----<br />
<br />
'''log''' : Enable logging of the servers output ''[Default = 1]''<br />
<br />
'''screenlog''' : Enable logging of servers output to the console ''[Default = 1]''<br />
If log=0 then this option is ignored due to no logging happening.<br />
<br />
'''logfile''' : Specify a different logfile to save the logs into ''[Default = %temp%\sc_serv.log or /tmp/sc_serv.log]''<br />
<br />
'''logclients''' : Enable logging of details about client connections and disconnections made ''[Default = 1]''<br />
<br />
If you are using a folder for saving the logs into then you need to ensure that the folder<br />
already exists as sc_serv will not attempt to the create the folder for you.<br />
<br />
<br />
===Miscellaneous===<br />
----<br />
<br />
'''configrewrite''' : Re-write the 'config file' on server exit ''[Default = 0]''<br />
<br />
'''songhistory''' : Specify the maximum song history to preserve ''[Default = 10]''<br />
<br />
'''cpucount''' : Specify the number of cpu's present instead of the calculated number if non-zero ''[Default = 0]''<br />
<br />
'''unique''' : Specify a substitution string for the '$' character to be used when processing filenames which if specified will set any occurences of '$' to the value set. This will be used in the processing of the following filenames: '''logfile''', '''introfile''', '''streamintrofile''', '''backupfile''', '''streambackupfile''', '''banfile''', '''streambanfile''', '''ripfile''', '''streamripfile''', '''include''', '''w3clog''', '''streamw3clog'''<br />
<br />
So when 'unique' is changed from '$' to say 'test' then the following happens if 'logfile' is<br />
set to '/usr/local/shoutcast/$.log' then this would be converted to '/usr/local/shoutcast/test.log'<br />
<br />
'''include''' : Specify an additional include file containing settings to be processed from the current point in the main configuration file ''[Default = <no value>]''<br />
<br />
You can do multiple calls of this allowing for a basic configuration file with then 'specific' stream configurations set in individual conf files though you need to ensure not to include a reference to the same file in itself.<br />
<br />
You can also specify a path with a wildcard for sc_serv to use to find multiple configuration files to include '''e.g.''' 'include=stream/*.conf'. This can then be used along with the multiple stream configurations (see section 4.12) and the admin command 'admin.cgi?mode=reload' (see section 5.1) to add / remove / update stream configurations without having to close the server to apply them.<br />
<br />
'''admincssfile''' : Specify the css styling to be used on the index.html and admin pages ''[Default = v2]''<br />
<br />
This can accept the following parameters:<br />
<br />
:admincssfile='''v1''' - Uses the v1 DNAS style<br />
:admincssfile='''v2''' - Uses the newer SHOUTcast 2 style<br />
:admincssfile='''path_to_local_css_file''' e.g. my_index.css</nowiki><br />
<br />
If using a custom css file, if it does not exist on the first try to load it the server will revert to<br />
the default css style. As well the style is cached once loaded so changes require a restart of sc_serv.<br />
<br />
'''faviconfile''' : Specify the file to be returned as the favicon.ico when the administration pages are being queried by the client's browser ''[Default = <no value>]''<br />
<br />
The default behaviour is to use a SHOUTcast themed built-in icon file and support / handling the update of this will entirely depend on the browser.<br />
<br />
'''faviconmimetype''' : Specify the mime type for actual file to be served in the favicon.ico response ''[Default = image/x-icon]''<br />
<br />
Ensure this is correct for the type of image being used so it is valid.<br />
<br />
'''hidestats''' : Specify if the publically accessible stats?sid=# page can be accessed or if it is only available via the private administration pages ''[Default = 0]''<br />
<br />
'''robotstxtfile''' : Specify the file to be returned as the robots.txt when queried by search engines, etc to attempt to prevent incorrect access to the server's pages which may cause invalid client connections ''[Default = <no value>]''<br />
<br />
The default behaviour is to return a robots.txt reponse indicating not to look at any of the server's pages i.e.<br />
::User-agent:*<br />
::Disallow:/<br />
<br />
<br />
===Networking===<br />
----<br />
<br />
'''namelookups''' : Enable to allow reverse DNS look-ups on incoming IP addresses ''[Default = 0]''<br />
<br />
'''portbase''' : Specify the port which clients and sources need to use to connect to the server ''[Default = 8000]''<br />
SHOUTcast 1 sources are only able to connect to 'portbase + 1'.<br />
<br />
'''autodumpsourcetime''' : Specify how long before an idle source is dumped from the server (in seconds) ''[Default: 30]''<br />
A value of zero means there is no timeout of an idle source.<br />
Also if you set this too low then it is likely that valid sources will<br />
fail to connect during the initial stages of a source connection.<br />
<br />
'''maxheaderlinesize''' : Specify the maximum size of an HTTP header line ''[Default = 2048]''<br />
<br />
'''maxheaderlinecount''' : Specify the maximum header lines in an HTTP style exchange ''[Default = 100]''<br />
<br />
'''adminpassword''' : Specify the administrator password for accessing the remote server features ''[Default = <no value>]''<br />
<br />
'''password''' : Specify the password for broadcasters when connecting to the server ''[Default = <no value>]''<br />
This matches the 'uvoxauth' value in the sc_trans configuration file (see [[SHOUTcast_DNAS_Transcoder_2#Network_Options|sc_trans.txt - section 3.11]]).<br />
<br />
<br />
===Network Buffers===<br />
----<br />
<br />
'''buffertype''' : Specify whether the buffer size is fixed [0] or adaptive [1] ''[Default = 0]''<br />
<br />
'''adaptivebuffersize''' : Specify the buffer size in seconds if buffer is set to adaptive ''[Default = 1]''<br />
<br />
'''fixedbuffersize''' : Specify the buffer size in bytes if the buffer is set to fixed ''[Default = 1048576]''<br />
<br />
'''bufferhardlimit''' : Specify the maximum buffer size in bytes which it can never go above ''[Default = 16777216]''<br />
<br />
<br />
===Relaying===<br />
----<br />
<br />
'''allowrelay''' : Enable to allow a relay to connect to the server ''[Default = 1]''<br />
<br />
'''allowpublicrelay''' : Enable to allow relays to list themselves in the YP directory ''[Default = 1]''<br />
<br />
'''relayreconnecttime''' : Specify how many seconds to wait to reconnect on a relay failure ''[Default = 30]''<br />
Setting this to 0 will disable attempts for the relay to reconnect.<br />
<br />
'''relayconnectretries''' : Specify the number of times relays are attempted to be connected to if it is initially unable to connect ''[Default = 3]''<br />
This generally applies only to YP1 connections and is related to the<br />
actual attempts to make and get a http response from the YP server.<br />
<br />
'''maxhttpredirects''' : Specify the maximum number of times we can redirect when relaying ''[Default = 5]''<br />
<br />
<br />
''<Legacy Options>''<br />
<br />
'''relayport''' : Port of the source to use for the relay ''[Default: 80]''<br />
<br />
'''relayserver''' : Url of the source to relay ''[Default = <no value>]''<br />
<br />
Using the stream configuration options (see [[#Stream_Configuration|section 4.12]]) is the preferred method<br />
of setting up a relay. These options are only provided as a means for loading<br />
legacy configuration files. If found then these are mapped to 'streamrelayurl_1'.<br />
<br />
<br />
===Reserved List===<br />
----<br />
<br />
'''ripfile''' : File to store the list of reserved IP addresses ''[Default = sc_serv.rip]''<br />
<br />
'''saveriplistonexist''' : Re-write the 'ripfile' on server exit ''[Default = 1]''<br />
<br />
'''riponly''' : Only allow connections to be made from reserved IP addresses ''[Default = 0]''<br />
<br />
If you are using a folder for saving the file into then you need to ensure that the folder<br />
already exists as sc_serv will not attempt to the create the folder for you.<br />
<br />
<br />
===Stream Configuration===<br />
----<br />
<br />
'''Important Note:''' If you do not specify an identifier (_#) on the end of the above options then it will be treated like _1 (effectively acting like SHOUTcast 1). Additionally, _0 is not a supported identifier and will be mapped to _1.<br />
<br />
'''requirestreamconfigs''' : Only allow sources to connect if a stream configuration has been set in our configuration file ''[Default = 0]''<br />
With this enabled, you will need to ensure that any sources have their configuration details<br />
setup to match those in sc_trans's configuration, in particular the 'uvoxstreamid' value with<br />
sc_trans (see [[SHOUTcast_DNAS_Transcoder_2#Network_Options|sc_trans.txt - section 3.11]]).<br />
<br />
''<MULTI>'' (one set for each stream configuration):<br />
<br />
'''streamid''' : Specify the numerical identifier of the stream for control or referencing the stream configuration. This can only be a numeric value from 1 to 2147483647.<br />
<br />
If you use multiple stream configurations then you will need to ensure the _X<br />
part is specified and correct for each stream configuration group<br />
e.g.<br />
streamid=1<br />
streampath=random<br />
or<br />
streamid_1=1<br />
streampath_1=random_stream_path<br />
streamid_2=2<br />
streampath_2=another_stream_path<br />
<br />
'''streamauthhash''' : The authorisation key needed for YP2 directory registration.<br />
This is a requirement for using the YP2 system and without it you will not be able to<br />
successfully connect to the YP2 directory (see [[#Getting_Started|section 3.0]]).<br />
<br />
This can be used for multiple streams you are providing or can be different (as long<br />
as valid) so you can infact provide multiple stations from the same server if desired.<br />
<br />
'''streampath''' : Specify the path clients need to use to access the stream<br />
If a / is not specified on the start of the string then the server will add<br />
it to the generated path in playlist entries or other places as required so<br />
<nowiki>http://<serverurl>/<streampath></nowiki> will work so clients are able to connect.<br />
<br />
If this is not specified then <nowiki>http://<serverurl>/stream/<streamid>/</nowiki> will be<br />
used for client access and in generated playlist entries so that it will<br />
always be possible for clients to connect to the server somehow. See [[SHOUTcast_DNAS_Server_2#Stream_Addresses|section 6.0]] for more information on the<br />
server's stream address support.<br />
<br />
'''streamrelayurl''' : Specify the full url of source to relay (if this is a relay).<br />
Make sure if you use this that the full url is entered and that it is<br />
the url which clients would connect to for the stream to be relayed.<br />
<br />
'''streammaxuser''' : Specify the maximum number of clients allowed to connect to the stream ''[Default = 0]''<br />
If set to zero, not specified or higher than 'maxuser' then the value set for 'maxuser' (see [[#Client_Behaviour|section 4.2]]) will be used for all knwon streams.<br />
<br />
Changing this to a value between zero and 'maxuser' will enforce the user connection limit for the specified value in the stream configuration '''e.g.'''<br />
streammaxuser_1 = 8<br />
maxuser = 32<br />
<br />
This allows a total of 32 connections to the server but specifies the maximum number of connections to the first stream configuration is 8.<br />
<br />
With the following stream configuration<br />
streammaxuser_1 = 64<br />
maxuser = 32<br />
<br />
This allows a total of 32 connections to the server but with a per stream limit above the maximum means the maximum number of connections to the first stream group will be 32. However this also depends upon any other stream configurations and their limits as to whether 32 clients will be able to connect to this stream configuration.<br />
<br />
Finally unless a valid stream configuration is specified then this value will only be applied to the first stream configuration found i.e. there is a need to specify a streamid_XXX for streammaxuser_XXX (where XXX is the stream identifier of the stream configuration group.<br />
<br />
'''streamadminpassword''' : Specify the administrator password for accessing the remote server features for the specified stream configuration group. If this is not specified then 'adminpassword' will be used.<br />
<br />
'''streampassword''' : Specify the password for broadcasters when connecting to the server for the specified stream configuration group. If this is not specified then 'password' will be used.<br />
This matches the 'uvoxauth' value in the sc_trans configuration file (see sc_trans.txt - section 3.11).<br />
<br />
'''streampublicserver''' : This allows you to override the public flag received from the source when a connection is being made to the YP directory. If this is not specified or is set to empty then 'publicserver' will be used.<br />
<br />
'''streamallowrelay''' : Enable to allow a relay to connect to the server. If this is not specified then 'allowrelay' will be used.<br />
<br />
'''streamallowpublicrelay''' : Enable to allow relays to list themselves in the YP directory. If this is not specified then 'allowpublicrelay' will be used.<br />
<br />
'''streamriponly''' : Enable to only allow connections to be made from reserved IP addresses. If this is not specified then 'riponly' will be used.<br />
<br />
'''streamautodumpsourcetime''' : Specify how long before an idle source will be dumped from the server (in seconds). A value of zero means there is no timeout of an idle source. If not specified then 'autodumpsourcetime' will be used.<br />
<br />
'''streamautodumpusers''' : Enable to allow the server to disconnect clients if the source disconnects. If not specified then 'autodumpusers' will be used.<br />
<br />
'''streamlistenertime''' : Specify the maximum time in minutes a client is allowed to listen to the stream. A value of zero means there will be no time limit. If not specified then 'listenertime' will be used.<br />
<br />
'''streamintrofile''' : File to play when a client first connects to the server. If this is not specified then 'introfile' will be used.<br />
<br />
'''streambackupfile''' : File to play if the source disconnects from the server. If this is not specified then 'backupfile' will be used.<br />
<br />
'''streambanfile''' : File to store the list of banned IP addresses. If this is not specified then 'banfile' will be used.<br />
<br />
'''streamripfile''' : File to store the list of banned IP addresses. If this is not specified then 'ripfile' will be used.<br />
<br />
'''streamw3clog''' : File to store the web connections logs into. If this is not specified then 'w3clog' will be used.<br />
<br />
<br />
===Web Connection (W3C) Logging===<br />
----<br />
<br />
'''w3cenable''' : Enable logging of web connections to describe the duration a client has listened to a specific title ''[Default = 1]''<br />
<br />
'''w3clog''' : File to store the web connections logs into ''[Default = sc_w3c.log]''<br />
<br />
If you are using a folder for saving the log into then you need to ensure that the folder<br />
already exists as sc_serv will not attempt to the create the folder for you.<br />
<br />
'''webclientdebug''' : Enable logging of web client connections ''[Default = 0]''<br />
<br />
<br />
===YP Server Behaviour===<br />
----<br />
<br />
'''uvoxcipherkey''' : Specify the key used to obfuscate the initial handshaking with the source ''[Default = foobar]''<br />
This is a SHOUTcast 2 only feature and it matches the 'djcipher' value in the sc_trans<br />
configuration file (see [[SHOUTcast_DNAS_Transcoder_2#DJ_Support|sc_trans.txt - section 3.3]]).<br />
<br />
Only change this if you really need to do so as not all SHOUTcast 2 clients will allow you to edit this value from the default value. If using the Source DSP plug-in then see [[Source_DSP_Plug-in#SHOUTcast_2_Cipher_Key|dsp_sc.txt - section 5.0]] for details on how to change the plug-in to use a differnet value.<br />
<br />
'''metainterval''' : Specify the metadata transmission interval in bytes ''[Default = 8192]''<br />
YP1 only<br />
<br />
'''yp2''' : Enable to use the SHOUTcast 2 protocol and related server features for access to the YP2 directory ''[Default = 1]''<br />
<br />
If this is enabled and not all of the required values are set then the server will throw an error and will abort from its start-up attempt. It should be indicated what needs to be set to allow the server to start with this set.<br />
<br />
Additionally if there is an issue then the server will report an error in its log ouput of 'Connection attempt failed. YP2 error code is XXX (<message>)' where XXX is one of the following error codes and <message> is a message set in the error response to indicate a bit more what the error relates to. All current error codes can be found [[#YP_Server_Errors|here]].<br />
<br />
'''ypaddr''' : Allows you to specify a different YP server if required ''[Default = yp.shoutcast.com]''<br />
<br />
'''ypport''' : Allows you to specify the port of the YP server if required ''[Default = 80]''<br />
<br />
'''ypPath''' : Allows you to specify the path to YP2 services on the server ''[Default = /yp2]''<br />
<br />
'''ypTimeout''' : Specify the timeout interval in seconds for requests made to the YP server ''[Default = 60]''<br />
<br />
'''ypmaxretries''' : Specify the maximum number of times a YP request will be attempted ''[Default = 10]''<br />
This generally applies only to YP1 connections and is related to the<br />
actual attempts to make and get a http response from the YP server.<br />
<br />
'''ypreportinterval''' : Specify the maximum time in which the YP must have contacted our server in seconds ''[Default = 300]''<br />
<br />
'''ypminreportinterval''' : Specify the minimum time in which the YP can contact our server in seconds ''[Default = 10]''<br />
<br />
'''publicserver''' : This allows you to override the public flag from the connected source when a connection is being made to the YP directory ''[Default = default]''<br />
This can be one of the following values:<br />
'''default''' - use the flag provided by the source<br />
'''always''' - force the source to be public<br />
'''never''' - never allow the use the flag provided by the source<br />
<br />
When using sc_trans this would match with the 'public' value (see [[SHOUTcast_DNAS_Transcoder_2#Metadata_Control|sc_trans.txt - section 3.8]]).<br />
<br />
<br />
===YP Server Errors===<br />
----<br />
<br />
If not all of the required values are set for a public listing then the DNAS server will throw an error and will abort its attempt to be listed in the Directory. It should be indicated the error is with one of the error codes provided below so it can be resolved.<br />
<br />
Additionally if there is an issue during Directory updates or removals, then the server will report an error in its log ouput as one of the following error codes and <message>.<br />
<br />
<br />
::{| class="wikitable" border="1" cellpadding="4" cellspacing="0" style="border: 1px thin black; margin: .46em 0 0 .2em;"<br />
|-<br />
! Status Code<br />
! Status Message<br />
|-<br />
| 400 || Generic error ''(covers all other cases usually from internal failures)''<br />
|-<br />
| 457 || Unrecoverable error while updating station information - DNAS restart required.<br />
|-<br />
| 470 || Invalid authorization hash<br />
|-<br />
| 471 || Invalid stream type (could be a bad bitrate or mime type)<br />
|-<br />
| 472 || Missing or invalid stream url<br />
|-<br />
| 473 || Server unreachable by YP<br />
|-<br />
| 474 || Relay url does not exist<br />
|-<br />
| 475 || Invalid server ID<br />
|-<br />
| 476 || Invalid max clients (value out of range or missing)<br />
|-<br />
| 477 || Terms of Service violator. You are being reported.<br />
|-<br />
| 478 || Incompatible protocol.<br />
|-<br />
| 479 || Streams requiring authorization are not public and cannot list here.<br />
|-<br />
| 480 || Cannot see your station/computer (URL: <streamurl>) from the Internet, disable Internet Sharing/NAT/firewall/ISP cache.<br />
|-<br />
| 481 || Cannot verify server since all listener slots are full. Please wait.<br />
|-<br />
| 482 || This network has been permanently banned due to a previous violation of the SHOUTcast directory terms of service<br />
|-<br />
| 483 || Invalid listeners (value out of range / missing)<br />
|-<br />
| 484 || Invalid avglistentime (value out of range / missing)<br />
|-<br />
| 485 || Invalid newsessions (value out of range / missing)<br />
|-<br />
| 486 || Invalid connects (value out of range / missing)<br />
|-<br />
| 487 || Request & Response objects are null<br />
|-<br />
| 488 || Request xml is null<br />
|-<br />
| 489 || YP command not specified<br />
|-<br />
| 490 || Generic error, while doing xml parsing<br />
|-<br />
| 491 || Generic error, while reading xml request<br />
|-<br />
| 492 || Error closing buffer / HTTP connection<br />
|-<br />
| 493 || Internal error - unable to acquire data source<br />
|-<br />
| 494 || Error updating information - DNAS restart required<br />
|-<br />
| 495 || Error acquiring station ID - DNAS restart required<br />
|-<br />
| 496 || Error converting data type<br />
|-<br />
| 497 || Inconsistent stream behaviour<br />
|-<br />
| 498 || Invalid Request (Invalid request received)<br />
|-<br />
| 499 || Error while getting information<br />
|}<br />
<br />
==Administration==<br />
<br />
With sc_serv there are administration pages available for accessing and controlling the server remotely which allows you to monitor and control clients connected to the stream (or not if banning them). These pages can now be accessed through a summary page at /index.html which will show a link to any active stream(s) or you explicitly access them via the /index.html?sid=# path where # is the ID of the stream (see [[#Stream_Configuration|section 4.12]] for more about using 'streamid') '''e.g.'''<br />
<streamurl>/index.html?sid=1<br />
<br />
If no sid or an invalid sid is passed then you will be taken to the summary /index.html and this will be applied even if you were on a page with a known ID and then enter an invalid sid or remove it purposefully.<br />
<br />
<br />
===Administration Pages===<br />
----<br />
<br />
As part of the administrative features provided there are the following pages where # is the streamid you want to use). This is not a complete list but should cover all of the pages which allow for a direct http url to be entered to get an administation action to work. The ban and reserve IP actions require input fields and do not map to direct sends.<br />
<br />
<br />
====Public Pages====<br />
----<br />
<br />
'''index.html''' - Shows a summary page with links to get to any active stream(s)<br />
<br />
'''currentsong?sid=#''' - Returns the current song title or a null response<br />
<br />
'''nextsong?sid=#''' - Returns the next song title (if known) or a null response<br />
currentsong and nextsong both provide a UTF-8 encoded string of the song title<br />
otherwise it will return effectively no response (ignoring the http header).<br />
<br />
'''nextsongs?sid=#''' - Returns in an xml format the next song title(s) (if known) to be played when using a compatible v2 stream source. See [[#XML_Responses|section 5.2]] for more details on the format of the xml returned).<br />
<br />
'''index.html?sid=#''' - Shows current status of the specified stream<br />
<br />
'''played.html?sid=#''' - Song history of specified playing history<br />
:or<br />
'''played?sid=#'''<br />
<br />
'''listen.pls?sid=#''' - Provides a PLS for file clients to use to connect to the stream.<br />
:or<br />
'''listen?sid=#'''<br />
<br />
'''listen.m3u?sid=#''' - Provides a M3U file for clients to use to connect to the stream.<br />
<br />
'''listen.asx?sid=#''' - Provides a ASX file for clients to use to connect to the stream.<br />
<br />
With the listen pages you either need to have specified an IP with 'dstip / destip'<br />
(see section 4.2) or leave empty and allow the server to attempt to auto-generate<br />
the IP required for the client to be able to connect. If this fails the generated<br />
playlist is likely to return a stream url like <nowiki>http://0.0.0.0:<portbase>/<path></nowiki><br />
<br />
'''home.html?sid=#''' or '''home?sid=#''' - Opens in a new window or tab (depending on the client browser) the 'streamurl' as specified by the stream source. If this is not set then the client will be redirected to the shoutcast.com main page.<br />
<br />
'''stats?sid=#''' - Provides an xml response for public accessibility which matches the private version from admin.cgi?sid=#&mode=viewxml&page=1. This is the modern version of the 7.html page as provided by the legacy v1 servers. See [[#XML_Responses|section 5.2]] for information on what is provided in the xml response.<br />
<br />
<br />
====Private Pages====<br />
----<br />
<br />
By passing &pass=password where password is the 'adminpassword' (see section [[#Networking|4.8]]) then it is possible<br />
to directly access the administration page(s) required. As well the base64 encoded version of the password<br />
can be passed as long as it is prefixed with ''YWRtaW46''<br />
e.g.<br />
&pass=changeme is the same as &pass=YWRtaW46Y2hhbmdlbWU=<br />
<br />
'''admin.cgi''' - Shows the an overal summary admin page for the streams provided by the server including direct links to certain information pages (see notes about the 'admin.cgi?sid=#&mode=viewxml' command for more info)<br />
:or<br />
'''admin.cgi?sid=0'''<br />
<br />
'''admin.cgi?sid=#''' - Shows the base admin page for the stream and information<br />
<br />
'''admin.cgi?sid=#&mode=updinfo&song=title''' <br />
:or<br />
'''admin.cgi?sid=#&mode=updinfo&type=xml&song=xml''' <br />
If 'title' is not empty then it will be set as the current song title for the stream<br />
specified until the next use of this action or the next title update is received from<br />
the source. Specifying '&type=xml' will process the value of 'song' as [[SHOUTcast_XML_Metadata_Specification|v2 XML metadata]]<br />
instead of a v1 title.<br />
<br />
'''admin.cgi?sid=#&mode=viewlog''' - View logfile<br />
<br />
'''admin.cgi?sid=#&mode=viewlog&viewlog=tail''' - View logfile (tailing)<br />
<br />
The tailing option keeps adding additional log entries to the end of the view whilst the view is active.<br />
As well any html or xml data in the log will not be shown correctly in the view as < > & are not escaped<br />
to their html entities. See [[#Logging|section 4.6]] for more information on the log file.<br />
<br />
'''admin.cgi?sid=#&mode=viewban''' - Ban view which matches the ban file and allows you to ban a single IP or an IP range from it (see [[#Banning|section 4.1]] for more info on the file)<br />
<br />
'''admin.cgi?sid=#&mode=viewrip''' - Reserved IP list that matches the rip file (see [[#Reserved_IP_.28RIP.29|section 4.11]] for more info on the file)<br />
<br />
'''admin.cgi?sid=#&mode=art''' or '''admin.cgi?sid=#&mode=art&art=playing''' - Displays the artwork SHOUTcast v2 compatible clients may be able to display if the SHOUTcast v2 source does provide it.<br />
<br />
The artwork mode is primarily intended as a debugging option to make it possible<br />
to see what (if anything) has been provided by the SHOUTcast v2 source.<br />
<br />
If no '&art=' is specified or not a matching option then the stream artwork (if<br />
available) will be shown. If no '&art=playing' is specified then this will show<br />
the playing file's artwork (if available).<br />
<br />
'''admin.cgi?sid=#&mode=viewxml''' or '''admin.cgi?sid=#&mode=viewxml&page=#''' - Returns an xml output of the current stream information<br />
<br />
If page is not set or is outside of the range zero to 6 then this will output all of the<br />
information as the standard viewxml action does. Otherwise this only display information<br />
depending on the value assigned to page which can be from 1 to 6 which maps as follows:<br />
<br />
1 - Server Summary (this is the same as using the public stats?sid=# action)<br />
2 - Not used (previously used for Webdata Stats but not in current builds)<br />
3 - Listener Stats<br />
4 - Song History<br />
5 - Stream Metadata (if supported by the source otherwise can just be title)<br />
6 - Stream Configurations (displays all of the known stream configurations though this is only available on admin.cgi)<br />
<br />
If accessing the standard viewxml or the listener stats (page = 3), you can also send<br />
'&iponly=1' which will filter the listener information (if there are any) to just output<br />
the IP instead of the additional information provided normally.<br />
<br />
'''admin.cgi?mode=resetxml&sid=#''' - Will flush the held stream information to refresh it<br />
<br />
'''admin.cgi?sid=#&mode=kicksrc''' - Will allow you to kick the currently connected source for the specified stream.<br />
<br />
'''admin.cgi?sid=#&mode=unripdst&ripdst=<IP>''' - Where <IP> is the IP to reserve (see [[#Reserved_IP_.28RIP.29|section 4.11]] for more information).<br />
<br />
'''admin.cgi?sid=#&mode=unbandst&bandst=<IP>.0&banmsk=0''' - Where <IP> is the first 3 parts of a subnet IP to unban.<br />
<br />
'''admin.cgi?sid=#&mode=unbandst&bandst=<IP>&banmsk=255''' - Where <IP> is that of a single IP to unban.<br />
<br />
'''admin.cgi?mode=rotate''' or '''admin.cgi?mode=rotate&files=log|w3c''' - This will rotate the log files set via the 'logfile', 'w3clog' and 'streamw3clog' options.<br />
If &files is specified then passing log or w3c will allow you to only<br />
rotate one type of file otherwise both will be rotated by this command.<br />
<br />
'''admin.cgi?mode=reload''' or '''admin.cgi?mode=reload&force=1''' - This reloads the stream configuration details in the main configuration file the server used when started and is only available on the admin summary page and so can only be run by the master administrator password.<br />
<br />
This command works on the server as a whole (hence no sid parameter) and it will add or<br />
remove or update any stream configuration as applicable which will cause any connected<br />
sources and clients to be kicked as applicable (usually if a stream configuration was removed).<br />
<br />
This will recognise any configurations included via 'include' entries so you can have 'include=stream/*.conf'<br />
in your main configuration file which the server can then use to detect different stream configurations.<br />
<br />
If '&force=1' is passed then the reload will treat the updating of active stream configurations in the<br />
same manner as a stream configuration removal instead of trying to update compatible stream configuration<br />
details without resetting the stream '''e.g.''' not increasing the 'streammaxuser' when it could be increased.<br />
<br />
The following configuration options are updated when using this command:<br />
<br />
password or streampassword (*) streamadminpassword (#)<br />
requirestreamconfigs streamid<br />
streamauthhash streampath<br />
streamrelayurl streammaxuser<br />
streampublicserver streamallowrelay<br />
streamallowpublicrelay streamriponly<br />
streamautodumpsourcetime streamautodumpusers<br />
streamlistenertime streamintrofile<br />
streambackupfile streambanfile<br />
streamripfile<br />
<br />
(*) This will depend upon the current values versus the new configuration values<br />
(#) The master 'adminpassword' can only be changed after a restart of the server<br />
<br />
<br />
===XML Responses===<br />
----<br />
<br />
As detailed in the previous sections, some of the administration actions will provide the information in an xml response. For information on what is actually returned in these xml responses see [[SHOUTcast_DNAS_Server_2_XML_Reponses|sc_serv2_xml_responses.txt]].<br />
<br />
<br />
==Stream Addresses==<br />
<br />
Clients connecting to the streams provided by sc_serv are able to so in a number of ways depending upon how the streams have been configured and also depending upon the number of streams you have available.<br />
<br />
The two main ways for a client to connect to a stream are as follows:<br />
<br />
<serverurl>/stream/<streamid>/<br />
or<br />
<serverurl>/<streampath><br />
<br />
<serverurl> is typically formed as <nowiki>http://dstip:portbase</nowiki> (see sections [[#Client_Behaviour|4.2]] and [[#Networking|4.8]])<br />
<streamid> is the 'streamid' set from the stream configuration (see [[#Stream_Configuration|section 4.12]])<br />
<streampath> is the 'streampath' set from the stream configuration (see [[#Stream_Configuration|section 4.12]])<br />
<br />
If the client attempting to connect to the server instance does not specify <streampath> or <streamid> in the stream url it attempts to access or if only one stream is provided then the server will usually default to the first stream it knows about and will allow the client to make a valid connection (though this is not guaranteed to happen).<br />
<br />
This handling of the stream addresses provided is something to keep in mind especially if you are providing multiple streams as this will allow you to provide different addresses for certain clients to be able to use a specific stream '''e.g.''' if you wanted to have mobile clients connect to a lower bandwidth stream then you could direct them to '<serverurl>/mobile'<br />
<br />
The server options available for controlling how the stream's path is specified can be seen in [[#Stream_Configuration|section 4.12]] which also details the equivalent values needing to be set in the sc_trans configuration if you use sc_trans to provide a source to sc_serv.<br />
<br />
<br />
==Locale Error (Linux / Mac OS X / BSD)==<br />
<br />
If you receive the following error then you have a locale related issues:<br />
<br />
terminate called after throwing an instance of 'std::runtime_error'<br />
what(): locale::facet::_S_create_c_locale name not valid<br />
Abort trap<br />
<br />
If this happens then you need to set the 'POSIX' locale in your terminal's environment values. If this does not happen then everything is fine or you are using a newer version of sc_serv from the end of 2010 which should no longer exhibit this issue.<br />
<br />
Linux:<br />
export LC_ALL=POSIX<br />
<br />
BSD:<br />
setenv LC_ALL POSIX<br />
<br />
Mac OS X:<br />
export LC_ALL=POSIX<br />
<br />
You can test to see if this has worked by checking the shell command "locale":<br />
<br />
LANG=<br />
LC_COLLATE="POSIX"<br />
LC_CTYPE="POSIX"<br />
LC_MESSAGES="POSIX"<br />
LC_MONETARY="POSIX"<br />
LC_NUMERIC="POSIX"<br />
LC_TIME="POSIX"<br />
LC_ALL="POSIX"<br />
<br />
<br />
==Virtual Memory Footprint (Linux / Mac OS X / BSD)==<br />
<br />
Due to how sc_serv works it will create a large number of threads which may become an issue due to the default virtual memory stack allocation per thread potentially being large (typically 10MB per thread). For most people this should not be an issue as the memory is not really allocated unless it is used. If however if you have a resource constrained system or if you plan on running many copies of sc_trans then you could potentially run out of virtual memory.<br />
<br />
The default thread allocation can be reduced by issuing a "ulimit" command before running sc_trans and in the example reduces it to 512KB per-thread '''e.g.''' ulimit -s 512<br />
<br />
<br />
==Maximum Client Connection Limits==<br />
<br />
In general, there are inherent limits on the maximum number of client connections which may be made to a running instances of sc_serv which can either be set by configuration limits e.g. 'maxuser', Operating System limits or bandwidth limits being reached.<br />
<br />
The first two are easy to resolve whereas the last (bandwidth limits) is something which will usually require obtaining additional hosting or paying for more available bandwidth.<br />
<br />
If reaching the Operating System limit, this is usually indicated by the maximum number of clients never going above a fixed value even if there is the bandwidth and the server has been configured to go higher. This usually appears as around 1016 maximum connections (though this can vary a bit)<br />
<br />
If using a non-Windows Operating System then you can use the 'ulimit -n xxxx' command to change the upper limit from what is already set which can be found from just 'ulimit -n' e.g. to change the limit to 4096 connections you would run ulimit -n 4096<br />
<br />
If using a Windows Operating System then there isn't any real way to change such things due to the OS hopefully being configured with limits that will not be reached when using sc_serv. If in doubt then consult the Microsoft support documentation for the OS used.<br />
<br />
<br />
==Example Configurations==<br />
<br />
Include as part of the sc_serv installation are a number of example configurations to get things started with using some of the features of the server. The provided examples are:<br />
<br />
sc_serv_basic.conf<br />
sc_serv_public.conf<br />
sc_serv_relay.conf<br />
sc_serv_simple.conf<br />
<br />
All of the configuration examples are documented and will relate back to details in this file appropriately. You will need to change some details in these example files or to obtain any applicable authorisation keys for the setup you are making ([[#Getting_Started|see section 3.0]]). In all cases the examples are designed to work from the same install folder as sc_serv.<br />
<br />
Remember these examples are a way to get you up and running faster though you are still likely to have to adjust things depending upon the systems you are using and how you want to manage your sources and server connections which are covered in previous sections.<br />
<br />
Additionally if you are not happy with editing the files or find it still too confusing then you can use the configuration builder which (if installed) can be found in the 'config_builder'. Open 'config_builder.html' in your browser and then use this graphical tool to setup a configuration file for the server (and additionally the transcoder).<br />
<br />
<br />
===sc_serv_basic===<br />
----<br />
<br />
This is the base configuration from which the other configuration examples are based and this will get a sc_serv instance running as a local setup with no connection made to the YP directory.<br />
<br />
<br />
===sc_serv_public===<br />
----<br />
<br />
This configuration file changes the required options in the sc_serv_basic configuration to get a sc_serv instance running as a public setup with a connection made to the YP for listing the stream in the directory. This shows the use of the 'include' option (see section [[#Miscellaneous|4.7]]) and how specifying a configuration option twice uses the last value found.<br />
<br />
<br />
===sc_serv_relay===<br />
----<br />
<br />
This configuration file changes the required options in the sc_serv_public configuration to get a sc_serv instance running as a public setup with a source coming in from a relay server providing a SHOUTcast 2 stream.<br />
<br />
<br />
===sc_serv_debug===<br />
----<br />
<br />
This configuration file can be included in any other configuration files to allow you to get debug logging output when trying to investigate any issues you may be experiencing.<br />
<br />
<br />
===sc_serv_simple===<br />
----<br />
<br />
Use this if you just need to get a very basic server running or are impatient<br />
or are struggling to get it running despite the previous example configurations.<br />
<br />
This configuration file is designed to be used just as is and is the simplest form of the configuration file you can have which will allow you to get a running server to appear on the YP. This works on using the default settings of the server though does change some of the file paths inorder to fit in with the existing setup as used in the other examples.<br />
<br />
All you need to do when using this configuration file is to enter your authorisation key in the 'streamauthhash' line '''e.g.''' if your authorisation key is '''123456789''' then you change ''streamauthhash=<enter_your_auth_key_here>'' to ''streamauthhash='''123456789''''' and save the file.</div>Jonathanhttp://wiki.shoutcast.com/wiki/SHOUTcast_DNAS_Server_2SHOUTcast DNAS Server 22015-06-17T22:04:09Z<p>Jonathan: /* Introduction and Backup Files */</p>
<hr />
<div>{{Template:NavBarSC}}<br />
<br />
<br />
==Introduction==<br />
<br />
The purpose of this document is to show you the different configuration options supported by sc_serv along with basic and more advanced example configurations to enable you to get started with using sc_serv and the features it can offer.<br />
<br />
The aim of sc_serv is to provide enhanced serving features and also access to the new YP2 infrastructure whilst maintaining as much backward compatibility with previous versions of sc_serv as possible. The new features introduced include:<br />
<br />
# Serving multiple streams from a single server instance<br />
# Relaying multiple streams from a single server instance<br />
# Multiplexing all server activity through a single IP port<br />
# SHOUTcast 2 wire protocol support for sources, relays and clients<br />
# Repackaging of SHOUTcast 1 and SHOUTcast 2 data as needed for connected clients<br />
# YP2 infrastructure support<br />
# Real-time metadata and statistic reporting<br />
# Static station id support<br />
# In-stream metadata in standardised xml files<br />
# UTF-8 and international character encoding<br />
# Improved server and stream security<br />
<br />
<br />
==Overview of Features==<br />
<br />
To take full advantage of the newer features provided as part of the SHOUTcast 2 and YP2 systems then you will need to ensure you are using a compatible version of sc_serv (any version 2 will work) and that you have the required authorisation key to register as a broadcaster on the YP2 directory (see [[#Getting_Started|section 3.0]]).<br />
<br />
If you were intending on taking full advantage of the multiplexing and multiple stream support offered as part of sc_serv then you would need to make sure you enable the SHOUTcast 2 options (this is enabled by default with server builds from the end of 2010 if the 'yp2' option in the configuration file is not specified [see [[#YP_Server_Behaviour|section 4.14]] ). The reason for needing to enable this support is if you try to do it with the original SHOUTcast 1 protocol then it will not work as the original protocol has no means of expressing multiple streams from a single port due to the lack of an identifier provided for them.<br />
<br />
If you are planning on connecting multiple sc_trans instances to sc_serv then you must use the SHOUTcast 2 protocol support so that each sc_trans instance can have a unique identifier which allows for multiple streams to then be provided from a single server. It is still possible for an older source to connect to the server with a number of config options available to support this though functionality will be limited compared to what can be done with a fully supporting SHOUTcast 2 source.<br />
<br />
Finally clients connecting to your server do not need to directly support SHOUTcast 2 as sc_serv will repackage the stream data and any related metadata into the correct format the client requests (typically based on the user agent detected by the server).<br />
<br />
<br />
==Getting Started==<br />
<br />
One of the key aspects of the new YP2 directory infrastructure is an authorisation key which is used to validate your server when it tries to connect to the YP2 infrastructure for any of the station(s) you run. Once this key is obtained, it will be valid for all root servers of the station being broadcast.<br />
<br />
This can be done by going to the [[SHOUTcast_Authhash_Management|SHOUTcast Authhash Management]] page which shows how to do this via the 'Administation Summary' page as long as a valid source has been connected to the server. This process automatically updates your configuration file(s) with the new authhash and if the stream is set to be public then will attempt to get the stream listed in the SHOUTcast Radio Directory.<br />
<br />
When using an older SHOUTcast 1 server then you do not need to do this registration and the server will still be able to be listed on the directory but there is not the same level of protection over the stream as is the case with registering it.<br />
<br />
<br />
===Running the Server===<br />
----<br />
<br />
The server is able to be run either as a console application or it can be run as service (Windows) or daemon (Linux / Mac OS X / BSD). Detailed below is how to get the server running on the different operating systems supported by it.<br />
<br />
<br />
===Windows===<br />
----<br />
<br />
The Windows version of sc_serv is designed to run on fully updated and patched versions of Windows 2000, XP, Vista and Windows 7.<br />
<br />
Please note that the Windows versions of sc_serv are built with a dependency against the Microsoft Visual C++ 2008 SP1 Redistributable Package. If sc_serv is unable to start due to a dependency issue then you will need to install the correct version of the package so it can run which depends on the version of sc_serv you are attempting to run:<br />
<br />
32-bit version:<br />
http://www.microsoft.com/downloads/en/details.aspx?FamilyID=a5c84275-3b97-4ab7-a40d-3802b2af5fc2<br />
<br />
64-bit version:<br />
http://www.microsoft.com/downloads/en/details.aspx?FamilyID=ba9257ca-337f-4b40-8c14-157cfdffee4e<br />
<br />
<br />
====Install as a Service====<br />
----<br />
<br />
sc_serv.exe install <servicename> <username> <password> <conf><br />
<br />
<servicename> - Name of service<br />
Typically enter this as 'sc_serv' though you can use a different name but you will need<br />
to remember it as it is required to be the same when using the 'uninstall' mode.<br />
<br />
<username> - User under which to run the service as or '0' for the local system<br />
<br />
<password> - Password for user or '0' for the local system or with no password<br />
<br />
<conf> - File path to the configuration file<br />
If no file / an invalid file is specified then sc_serv will abort loading.<br />
<br />
When run as a service there is not a good sense of a current working directory so requires all paths in the configuration and playlist files to be fully qualified otherwise lookups will fail when sc_serv is run.<br />
<br />
To run sc_serv with a configuration file in the same folder as the server as the current system user account you would enter into the console:<br />
<br />
sc_serv.exe install sc_serv 0 0 sc_serv.conf<br />
<br />
<br />
====Uninstall the Service====<br />
----<br />
<br />
sc_serv.exe uninstall <servicename><br />
<br />
<servicename> - Name of service as used when the service was registered<br />
<br />
To uninstall sc_serv assuming it was installed as detailed in the install section above then you would enter into the console:<br />
<br />
sc_serv.exe uninstall sc_serv<br />
<br />
<br />
====Run as a Non-Service in the Console====<br />
----<br />
<br />
sc_serv.exe <conf><br />
<br />
<conf> - File path to the configuration file (can be relative or absolute)<br />
If no file / an invalid file is specified then sc_serv will abort loading.<br />
<br />
<br />
===Linux / Mac OS X / BSD===<br />
----<br />
<br />
Remember to enable the required access on the sc_trans file by doing 'chmod a+x sc_trans' after extracting it from the distribution file otherwise the OS is likely to not run it and show the error message './sc_serv: Permission denied'.<br />
<br />
====Run as a Daemon====<br />
----<br />
<br />
./sc_serv daemon <conf><br />
<br />
<conf> - File path to the configuration file (required in all cases)<br />
If no file / an invalid file is specified then sc_serv will abort loading.<br />
<br />
'''e.g.'''<br />
./sc_serv daemon ./sc_serv.conf<br />
<br />
When run this should output the following:<br />
<br />
'sc_serv going daemon with PID [XXXX]' where XXXX is the <pid> of the process.<br />
<br />
<br />
====End a Daemon====<br />
----<br />
<br />
kill -SIGTERM <pid><br />
or<br />
kill -15 <pid><br />
or<br />
kill -s TERM <pid><br />
<br />
<pid> - The PID of the daemon instance (reported when the daemon started or can be found with 'ps ax | grep sc_serv' as long as sc_serv was the file run otherwise you can just use 'ps ax' if the filename isn't known). Additionally the PID of sc_serv is listed in the log file.<br />
<br />
<br />
====Run as a Non-Daemon====<br />
----<br />
<br />
./sc_serv <conf><br />
<br />
<conf> - File path to the configuration file (can be relative or absolute)<br />
If no file / an invalid file is specified then sc_serv will abort loading.<br />
<br />
<br />
===Additional Signals===<br />
----<br />
<br />
When run on Linux / Mac OS X / BSD then some additional signals are supported to allow for additional control over the running daemon instance of sc_serv.<br />
<br />
The following signals can be used with the 'kill' command (in the manner of your choosing for using the kill command) along with the <pid> of the daemon instance to do one of the following actions:<br />
<br />
SIGKILL - Stops sc_trans (also SIGTERM, SIGINT and SIGQUIT will work)<br />
SIGHUP - Rotates logfile, w3clog and streamw3clog<br />
<br />
The result of SIGHUP is that the current log file contents will be moved into <logfile>_1 e.g. sc_serv_1.log, <logfile>_1 will be moved into <logfile>_2 e.g. sc_serv_2.log and so on for all log files which can be found which match the current log file's name. This is useful if timed to have it create day specific log files.<br />
<br />
These signals are not supported by the Windows version of sc_serv which will only<br />
respond to the Ctrl + C / Ctrl + Break / console close commands the OS provides.<br />
<br />
<br />
==Configuration File==<br />
<br />
Here you can find a complete list of all of the configuration options which are provided by sc_serv which ranges from logging to networking configuration and control over the media being used when streaming via the server.<br />
<br />
Configuration entries labelled as ''<MULTI>'' can be used to set up simultaneous connections to the server or allow for multiple connections from various sources. These are specified by adding _# to the end of the option's name as shown below where # begins with one. If you are only working with a single instance then you do not need to add the _# part as any instances of a configuration option will assume it is for _1.<br />
<br />
Note: The ''<MULTI>'' system is not hierarchical and all values beyond the default must be specified for all connections. So for example, if you wanted to connect to two servers on the same port you must do:<br />
<br />
serverport_1=8080<br />
serverport_2=8080<br />
serverip_1=www.server1.com<br />
serverip_2=www.server2.com<br />
<br />
Note that you CANNOT do it like this as it leads to not all values being set:<br />
<br />
serverport=8080<br />
serverip_1=www.server1.com<br />
serverip_2=www.server2.com<br />
<br />
The configuration files also allow for comments/notes or options to be disabled by the use of a semi-colon (''';''') or a left bracket ('''[''') or the hash / pound symbol ('''#''') at the start of a line which can be seen in all of the configuration examples.<br />
<br />
Known options in the configuration files are recognised irrespective of the case they are entered in the configuration file so maxuser and MaXuSer will be handled the same way.<br />
<br />
Any items found in the configuration file which are not known (as detailed in following sections) or is not processed as a comment will be reported in the following manner:<br />
<br />
<date + time> W msg:[CONFIG] Invalid item on line XX<br />
<br />
Where <date + time> is the date and time the event happens at and XX is the line in the configuration file where the error has been found to occur at.<br />
<br />
<br />
===Banning===<br />
----<br />
<br />
'''banfile''' : File to store the list of banned IP addresses ''[Default = sc_serv.ban]''<br />
<br />
'''savebanlistonexit''' : Re-write the 'banfile' on server exit ''[Default = 1]''<br />
<br />
If you are using a folder for saving the file into then you need to ensure that the<br />
folder already exists as sc_serv will not attempt to the create the folder for you.<br />
<br />
<br />
===Client Behaviour===<br />
----<br />
<br />
'''maxuser''' : Specify the maximum number of clients allowed to connect to the server ''[Default = 32]''<br />
This is used in conjunction with 'streammaxuser' (see [[#Stream_Configuration|section 4.12]]) to control the<br />
maximum limit on the number of client connections allowed to connect to the server instance.<br />
<br />
'''listenertime''' : Specify the maximum time in minutes a client can listen to the stream ''[Default = 0]''<br />
A value of zero means there will be no time limit.<br />
<br />
'''autodumpusers''' : Enable to allow the server to disconnect clients if the source disconnects ''[Default = 0]''<br />
<br />
'''srcip''' : Specify the server side binding address for sources to connect on ''[Default = <no value>]''<br />
<br />
'''dstip''' or '''destip''' : Specify the server side binding address for clients ''[Default = <no value>]''<br />
If 'any' or no value is specified then sc_serv listens to all addresses.<br />
<br />
If you specify a value for 'dstip / destip' then this will be used by the listen feature on the Administration Pages (see section 5.1) so it can provide a valid stream url in the generated playlist. If 'dstip / destip' is not specified then the server will attempt to auto-generate the IP required for the client to be able to connect. If this fails the generated playlist is likely to return a stream url like <nowiki>http://0.0.0.0:<portbase>/<path></nowiki><br />
<br />
The IP provided needs to be in a valid format like <nowiki>http://<my-ip></nowiki> or an address which can be resolved to an IP otherwise the internal lookups done are likely to fail (depends upon the server configuration and OS being used). Also you cannot set srcip and dstip / destip to be the same IP value and if this happens then the server will close. Closing of the server will also happen if the IP cannot be resolved or correctly bound to i.e. server is not there or an invalid value was entered.<br />
<br />
'''titleformat''' : Specify a string to be used in-place of the default icy-name string being used ''[Default = <no value>]''<br />
<br />
'''urlformat''' : Specify a string to be used in-place of the default icy-url string being used ''[Default = <no value>]''<br />
<br />
<br />
===Debugging===<br />
----<br />
<br />
In all cases, the default value is for no debug logging for the options listed below.<br />
<br />
'''yp1debug''' : Enable debug logging of YP connections<br />
<br />
'''yp2debug''' : Enable debug logging of YP2 connections<br />
<br />
'''shoutcastsourcedebug''' : Enable debug logging of SHOUTcast source connections<br />
<br />
'''uvox2sourcedebug''' : Enable debug logging of SHOUTcast 2 source connections<br />
<br />
'''shoutcast1clientdebug''' : Enable debug logging of SHOUTcast streaming clients<br />
<br />
'''shoutcast2clientdebug''' : Enable debug logging of SHOUTcast 2 streaming clients<br />
<br />
'''relayshoutcastdebug''' : Enable debug logging for SHOUTcast relays<br />
<br />
'''relayuvoxdebug''' : Enable debug logging for SHOUTcast 2 relays<br />
<br />
'''relaydebug''' : Enable debug logging of common relay code<br />
<br />
'''streamdatadebug''' : Enable debug logging of common streaming code<br />
<br />
'''httpstyledebug''' : Enable debug logging of http style requests<br />
<br />
'''statsdebug''' : Enable debug logging of statistics<br />
<br />
'''microserverdebug''' : Enable debug logging of common server activity<br />
<br />
'''threadrunnerdebug''' : Enable debug logging of the thread manager<br />
<br />
'''rtmpclientdebug''' : Enable debug logging of rtmp clients<br />
<br />
<br />
===Flash Security===<br />
----<br />
<br />
'''flashpolicyfile''' : Name of file containing flash crossdomain policies on the server ''[Default = crossdomain.xml]''<br />
<br />
<br />
===Introduction and Backup Files===<br />
----<br />
<br />
'''introfile''' : File to play when a client first connects to the server ''[Default = <no value>]''<br />
<br />
'''backupfile''' : File to play if the source disconnects from the server ''[Default = <no value>]''<br />
Note: This is used globally and also is default for stream #1 on DNAS versions greater than 2.0<br />
<br />
'''streambackupfile_X''' : assigns a specific backup file to a streamID X [Default = <no value>]''<br />
<br />
'''specialfiletmpdir''' : place to store intro and backup files uploaded by sc_trans ''[Default = /tmp/ (*nix only)]''<br />
<br />
'''maxspecialfilesize''' : Change the maximum size in bytes of the backup and intro files ''[Default = 30000000]''<br />
<br />
===Logging===<br />
----<br />
<br />
'''log''' : Enable logging of the servers output ''[Default = 1]''<br />
<br />
'''screenlog''' : Enable logging of servers output to the console ''[Default = 1]''<br />
If log=0 then this option is ignored due to no logging happening.<br />
<br />
'''logfile''' : Specify a different logfile to save the logs into ''[Default = %temp%\sc_serv.log or /tmp/sc_serv.log]''<br />
<br />
'''logclients''' : Enable logging of details about client connections and disconnections made ''[Default = 1]''<br />
<br />
If you are using a folder for saving the logs into then you need to ensure that the folder<br />
already exists as sc_serv will not attempt to the create the folder for you.<br />
<br />
<br />
===Miscellaneous===<br />
----<br />
<br />
'''configrewrite''' : Re-write the 'config file' on server exit ''[Default = 0]''<br />
<br />
'''songhistory''' : Specify the maximum song history to preserve ''[Default = 10]''<br />
<br />
'''cpucount''' : Specify the number of cpu's present instead of the calculated number if non-zero ''[Default = 0]''<br />
<br />
'''unique''' : Specify a substitution string for the '$' character to be used when processing filenames which if specified will set any occurences of '$' to the value set. This will be used in the processing of the following filenames: '''logfile''', '''introfile''', '''streamintrofile''', '''backupfile''', '''streambackupfile''', '''banfile''', '''streambanfile''', '''ripfile''', '''streamripfile''', '''include''', '''w3clog''', '''streamw3clog'''<br />
<br />
So when 'unique' is changed from '$' to say 'test' then the following happens if 'logfile' is<br />
set to '/usr/local/shoutcast/$.log' then this would be converted to '/usr/local/shoutcast/test.log'<br />
<br />
'''include''' : Specify an additional include file containing settings to be processed from the current point in the main configuration file ''[Default = <no value>]''<br />
<br />
You can do multiple calls of this allowing for a basic configuration file with then 'specific' stream configurations set in individual conf files though you need to ensure not to include a reference to the same file in itself.<br />
<br />
You can also specify a path with a wildcard for sc_serv to use to find multiple configuration files to include '''e.g.''' 'include=stream/*.conf'. This can then be used along with the multiple stream configurations (see section 4.12) and the admin command 'admin.cgi?mode=reload' (see section 5.1) to add / remove / update stream configurations without having to close the server to apply them.<br />
<br />
'''admincssfile''' : Specify the css styling to be used on the index.html and admin pages ''[Default = v2]''<br />
<br />
This can accept the following parameters:<br />
<br />
:admincssfile='''v1''' - Uses the v1 DNAS style<br />
:admincssfile='''v2''' - Uses the newer SHOUTcast 2 style<br />
:admincssfile='''path_to_local_css_file''' e.g. my_index.css</nowiki><br />
<br />
If using a custom css file, if it does not exist on the first try to load it the server will revert to<br />
the default css style. As well the style is cached once loaded so changes require a restart of sc_serv.<br />
<br />
'''faviconfile''' : Specify the file to be returned as the favicon.ico when the administration pages are being queried by the client's browser ''[Default = <no value>]''<br />
<br />
The default behaviour is to use a SHOUTcast themed built-in icon file and support / handling the update of this will entirely depend on the browser.<br />
<br />
'''faviconmimetype''' : Specify the mime type for actual file to be served in the favicon.ico response ''[Default = image/x-icon]''<br />
<br />
Ensure this is correct for the type of image being used so it is valid.<br />
<br />
'''hidestats''' : Specify if the publically accessible stats?sid=# page can be accessed or if it is only available via the private administration pages ''[Default = 0]''<br />
<br />
'''robotstxtfile''' : Specify the file to be returned as the robots.txt when queried by search engines, etc to attempt to prevent incorrect access to the server's pages which may cause invalid client connections ''[Default = <no value>]''<br />
<br />
The default behaviour is to return a robots.txt reponse indicating not to look at any of the server's pages i.e.<br />
::User-agent:*<br />
::Disallow:/<br />
<br />
<br />
===Networking===<br />
----<br />
<br />
'''namelookups''' : Enable to allow reverse DNS look-ups on incoming IP addresses ''[Default = 0]''<br />
<br />
'''portbase''' : Specify the port which clients and sources need to use to connect to the server ''[Default = 8000]''<br />
SHOUTcast 1 sources are only able to connect to 'portbase + 1'.<br />
<br />
'''autodumpsourcetime''' : Specify how long before an idle source is dumped from the server (in seconds) ''[Default: 30]''<br />
A value of zero means there is no timeout of an idle source.<br />
Also if you set this too low then it is likely that valid sources will<br />
fail to connect during the initial stages of a source connection.<br />
<br />
'''maxheaderlinesize''' : Specify the maximum size of an HTTP header line ''[Default = 2048]''<br />
<br />
'''maxheaderlinecount''' : Specify the maximum header lines in an HTTP style exchange ''[Default = 100]''<br />
<br />
'''adminpassword''' : Specify the administrator password for accessing the remote server features ''[Default = <no value>]''<br />
<br />
'''password''' : Specify the password for broadcasters when connecting to the server ''[Default = <no value>]''<br />
This matches the 'uvoxauth' value in the sc_trans configuration file (see [[SHOUTcast_DNAS_Transcoder_2#Network_Options|sc_trans.txt - section 3.11]]).<br />
<br />
<br />
===Network Buffers===<br />
----<br />
<br />
'''buffertype''' : Specify whether the buffer size is fixed [0] or adaptive [1] ''[Default = 0]''<br />
<br />
'''adaptivebuffersize''' : Specify the buffer size in seconds if buffer is set to adaptive ''[Default = 1]''<br />
<br />
'''fixedbuffersize''' : Specify the buffer size in bytes if the buffer is set to fixed ''[Default = 1048576]''<br />
<br />
'''bufferhardlimit''' : Specify the maximum buffer size in bytes which it can never go above ''[Default = 16777216]''<br />
<br />
<br />
===Relaying===<br />
----<br />
<br />
'''allowrelay''' : Enable to allow a relay to connect to the server ''[Default = 1]''<br />
<br />
'''allowpublicrelay''' : Enable to allow relays to list themselves in the YP directory ''[Default = 1]''<br />
<br />
'''relayreconnecttime''' : Specify how many seconds to wait to reconnect on a relay failure ''[Default = 30]''<br />
Setting this to 0 will disable attempts for the relay to reconnect.<br />
<br />
'''relayconnectretries''' : Specify the number of times relays are attempted to be connected to if it is initially unable to connect ''[Default = 3]''<br />
This generally applies only to YP1 connections and is related to the<br />
actual attempts to make and get a http response from the YP server.<br />
<br />
'''maxhttpredirects''' : Specify the maximum number of times we can redirect when relaying ''[Default = 5]''<br />
<br />
<br />
''<Legacy Options>''<br />
<br />
'''relayport''' : Port of the source to use for the relay ''[Default: 80]''<br />
<br />
'''relayserver''' : Url of the source to relay ''[Default = <no value>]''<br />
<br />
Using the stream configuration options (see [[#Stream_Configuration|section 4.12]]) is the preferred method<br />
of setting up a relay. These options are only provided as a means for loading<br />
legacy configuration files. If found then these are mapped to 'streamrelayurl_1'.<br />
<br />
<br />
===Reserved List===<br />
----<br />
<br />
'''ripfile''' : File to store the list of reserved IP addresses ''[Default = sc_serv.rip]''<br />
<br />
'''saveriplistonexist''' : Re-write the 'ripfile' on server exit ''[Default = 1]''<br />
<br />
'''riponly''' : Only allow connections to be made from reserved IP addresses ''[Default = 0]''<br />
<br />
If you are using a folder for saving the file into then you need to ensure that the folder<br />
already exists as sc_serv will not attempt to the create the folder for you.<br />
<br />
<br />
===Stream Configuration===<br />
----<br />
<br />
'''Important Note:''' If you do not specify an identifier (_#) on the end of the above options then it will be treated like _1 (effectively acting like SHOUTcast 1). Additionally, _0 is not a supported identifier and will be mapped to _1.<br />
<br />
'''requirestreamconfigs''' : Only allow sources to connect if a stream configuration has been set in our configuration file ''[Default = 0]''<br />
With this enabled, you will need to ensure that any sources have their configuration details<br />
setup to match those in sc_trans's configuration, in particular the 'uvoxstreamid' value with<br />
sc_trans (see [[SHOUTcast_DNAS_Transcoder_2#Network_Options|sc_trans.txt - section 3.11]]).<br />
<br />
''<MULTI>'' (one set for each stream configuration):<br />
<br />
'''streamid''' : Specify the numerical identifier of the stream for control or referencing the stream configuration. This can only be a numeric value from 1 to 2147483647.<br />
<br />
If you use multiple stream configurations then you will need to ensure the _X<br />
part is specified and correct for each stream configuration group<br />
e.g.<br />
streamid=1<br />
streampath=random<br />
or<br />
streamid_1=1<br />
streampath_1=random_stream_path<br />
streamid_2=2<br />
streampath_2=another_stream_path<br />
<br />
'''streamauthhash''' : The authorisation key needed for YP2 directory registration.<br />
This is a requirement for using the YP2 system and without it you will not be able to<br />
successfully connect to the YP2 directory (see [[#Getting_Started|section 3.0]]).<br />
<br />
This can be used for multiple streams you are providing or can be different (as long<br />
as valid) so you can infact provide multiple stations from the same server if desired.<br />
<br />
'''streampath''' : Specify the path clients need to use to access the stream<br />
If a / is not specified on the start of the string then the server will add<br />
it to the generated path in playlist entries or other places as required so<br />
<nowiki>http://<serverurl>/<streampath></nowiki> will work so clients are able to connect.<br />
<br />
If this is not specified then <nowiki>http://<serverurl>/stream/<streamid>/</nowiki> will be<br />
used for client access and in generated playlist entries so that it will<br />
always be possible for clients to connect to the server somehow. See [[SHOUTcast_DNAS_Server_2#Stream_Addresses|section 6.0]] for more information on the<br />
server's stream address support.<br />
<br />
'''streamrelayurl''' : Specify the full url of source to relay (if this is a relay).<br />
Make sure if you use this that the full url is entered and that it is<br />
the url which clients would connect to for the stream to be relayed.<br />
<br />
'''streammaxuser''' : Specify the maximum number of clients allowed to connect to the stream ''[Default = 0]''<br />
If set to zero, not specified or higher than 'maxuser' then the value set for 'maxuser' (see [[#Client_Behaviour|section 4.2]]) will be used for all knwon streams.<br />
<br />
Changing this to a value between zero and 'maxuser' will enforce the user connection limit for the specified value in the stream configuration '''e.g.'''<br />
streammaxuser_1 = 8<br />
maxuser = 32<br />
<br />
This allows a total of 32 connections to the server but specifies the maximum number of connections to the first stream configuration is 8.<br />
<br />
With the following stream configuration<br />
streammaxuser_1 = 64<br />
maxuser = 32<br />
<br />
This allows a total of 32 connections to the server but with a per stream limit above the maximum means the maximum number of connections to the first stream group will be 32. However this also depends upon any other stream configurations and their limits as to whether 32 clients will be able to connect to this stream configuration.<br />
<br />
Finally unless a valid stream configuration is specified then this value will only be applied to the first stream configuration found i.e. there is a need to specify a streamid_XXX for streammaxuser_XXX (where XXX is the stream identifier of the stream configuration group.<br />
<br />
'''streamadminpassword''' : Specify the administrator password for accessing the remote server features for the specified stream configuration group. If this is not specified then 'adminpassword' will be used.<br />
<br />
'''streampassword''' : Specify the password for broadcasters when connecting to the server for the specified stream configuration group. If this is not specified then 'password' will be used.<br />
This matches the 'uvoxauth' value in the sc_trans configuration file (see sc_trans.txt - section 3.11).<br />
<br />
'''streampublicserver''' : This allows you to override the public flag received from the source when a connection is being made to the YP directory. If this is not specified or is set to empty then 'publicserver' will be used.<br />
<br />
'''streamallowrelay''' : Enable to allow a relay to connect to the server. If this is not specified then 'allowrelay' will be used.<br />
<br />
'''streamallowpublicrelay''' : Enable to allow relays to list themselves in the YP directory. If this is not specified then 'allowpublicrelay' will be used.<br />
<br />
'''streamriponly''' : Enable to only allow connections to be made from reserved IP addresses. If this is not specified then 'riponly' will be used.<br />
<br />
'''streamautodumpsourcetime''' : Specify how long before an idle source will be dumped from the server (in seconds). A value of zero means there is no timeout of an idle source. If not specified then 'autodumpsourcetime' will be used.<br />
<br />
'''streamautodumpusers''' : Enable to allow the server to disconnect clients if the source disconnects. If not specified then 'autodumpusers' will be used.<br />
<br />
'''streamlistenertime''' : Specify the maximum time in minutes a client is allowed to listen to the stream. A value of zero means there will be no time limit. If not specified then 'listenertime' will be used.<br />
<br />
'''streamintrofile''' : File to play when a client first connects to the server. If this is not specified then 'introfile' will be used.<br />
<br />
'''streambackupfile''' : File to play if the source disconnects from the server. If this is not specified then 'backupfile' will be used.<br />
<br />
'''streambanfile''' : File to store the list of banned IP addresses. If this is not specified then 'banfile' will be used.<br />
<br />
'''streamripfile''' : File to store the list of banned IP addresses. If this is not specified then 'ripfile' will be used.<br />
<br />
'''streamw3clog''' : File to store the web connections logs into. If this is not specified then 'w3clog' will be used.<br />
<br />
<br />
===Web Connection (W3C) Logging===<br />
----<br />
<br />
'''w3cenable''' : Enable logging of web connections to describe the duration a client has listened to a specific title ''[Default = 1]''<br />
<br />
'''w3clog''' : File to store the web connections logs into ''[Default = sc_w3c.log]''<br />
<br />
If you are using a folder for saving the log into then you need to ensure that the folder<br />
already exists as sc_serv will not attempt to the create the folder for you.<br />
<br />
'''webclientdebug''' : Enable logging of web client connections ''[Default = 0]''<br />
<br />
<br />
===YP Server Behaviour===<br />
----<br />
<br />
'''uvoxcipherkey''' : Specify the key used to obfuscate the initial handshaking with the source ''[Default = foobar]''<br />
This is a SHOUTcast 2 only feature and it matches the 'djcipher' value in the sc_trans<br />
configuration file (see [[SHOUTcast_DNAS_Transcoder_2#DJ_Support|sc_trans.txt - section 3.3]]).<br />
<br />
Only change this if you really need to do so as not all SHOUTcast 2 clients will allow you to edit this value from the default value. If using the Source DSP plug-in then see [[Source_DSP_Plug-in#SHOUTcast_2_Cipher_Key|dsp_sc.txt - section 5.0]] for details on how to change the plug-in to use a differnet value.<br />
<br />
'''metainterval''' : Specify the metadata transmission interval in bytes ''[Default = 8192]''<br />
YP1 only<br />
<br />
'''yp2''' : Enable to use the SHOUTcast 2 protocol and related server features for access to the YP2 directory ''[Default = 1]''<br />
<br />
If this is enabled and not all of the required values are set then the server will throw an error and will abort from its start-up attempt. It should be indicated what needs to be set to allow the server to start with this set.<br />
<br />
Additionally if there is an issue then the server will report an error in its log ouput of 'Connection attempt failed. YP2 error code is XXX (<message>)' where XXX is one of the following error codes and <message> is a message set in the error response to indicate a bit more what the error relates to. All current error codes can be found [[#YP_Server_Errors|here]].<br />
<br />
'''ypaddr''' : Allows you to specify a different YP server if required ''[Default = yp.shoutcast.com]''<br />
<br />
'''ypport''' : Allows you to specify the port of the YP server if required ''[Default = 80]''<br />
<br />
'''ypPath''' : Allows you to specify the path to YP2 services on the server ''[Default = /yp2]''<br />
<br />
'''ypTimeout''' : Specify the timeout interval in seconds for requests made to the YP server ''[Default = 60]''<br />
<br />
'''ypmaxretries''' : Specify the maximum number of times a YP request will be attempted ''[Default = 10]''<br />
This generally applies only to YP1 connections and is related to the<br />
actual attempts to make and get a http response from the YP server.<br />
<br />
'''ypreportinterval''' : Specify the maximum time in which the YP must have contacted our server in seconds ''[Default = 300]''<br />
<br />
'''ypminreportinterval''' : Specify the minimum time in which the YP can contact our server in seconds ''[Default = 10]''<br />
<br />
'''publicserver''' : This allows you to override the public flag from the connected source when a connection is being made to the YP directory ''[Default = default]''<br />
This can be one of the following values:<br />
'''default''' - use the flag provided by the source<br />
'''always''' - force the source to be public<br />
'''never''' - never allow the use the flag provided by the source<br />
<br />
When using sc_trans this would match with the 'public' value (see [[SHOUTcast_DNAS_Transcoder_2#Metadata_Control|sc_trans.txt - section 3.8]]).<br />
<br />
<br />
===YP Server Errors===<br />
----<br />
<br />
If not all of the required values are set for a public listing then the DNAS server will throw an error and will abort its attempt to be listed in the Directory. It should be indicated the error is with one of the error codes provided below so it can be resolved.<br />
<br />
Additionally if there is an issue during Directory updates or removals, then the server will report an error in its log ouput as one of the following error codes and <message>.<br />
<br />
<br />
::{| class="wikitable" border="1" cellpadding="4" cellspacing="0" style="border: 1px thin black; margin: .46em 0 0 .2em;"<br />
|-<br />
! Status Code<br />
! Status Message<br />
|-<br />
| 400 || Generic error ''(covers all other cases usually from internal failures)''<br />
|-<br />
| 457 || Unrecoverable error while updating station information - DNAS restart required.<br />
|-<br />
| 470 || Invalid authorization hash<br />
|-<br />
| 471 || Invalid stream type (could be a bad bitrate or mime type)<br />
|-<br />
| 472 || Missing or invalid stream url<br />
|-<br />
| 473 || Server unreachable by YP<br />
|-<br />
| 474 || Relay url does not exist<br />
|-<br />
| 475 || Invalid server ID<br />
|-<br />
| 476 || Invalid max clients (value out of range or missing)<br />
|-<br />
| 477 || Terms of Service violator. You are being reported.<br />
|-<br />
| 478 || Incompatible protocol.<br />
|-<br />
| 479 || Streams requiring authorization are not public and cannot list here.<br />
|-<br />
| 480 || Cannot see your station/computer (URL: <streamurl>) from the Internet, disable Internet Sharing/NAT/firewall/ISP cache.<br />
|-<br />
| 481 || Cannot verify server since all listener slots are full. Please wait.<br />
|-<br />
| 482 || This network has been permanently banned due to a previous violation of the SHOUTcast directory terms of service<br />
|-<br />
| 483 || Invalid listeners (value out of range / missing)<br />
|-<br />
| 484 || Invalid avglistentime (value out of range / missing)<br />
|-<br />
| 485 || Invalid newsessions (value out of range / missing)<br />
|-<br />
| 486 || Invalid connects (value out of range / missing)<br />
|-<br />
| 487 || Request & Response objects are null<br />
|-<br />
| 488 || Request xml is null<br />
|-<br />
| 489 || YP command not specified<br />
|-<br />
| 490 || Generic error, while doing xml parsing<br />
|-<br />
| 491 || Generic error, while reading xml request<br />
|-<br />
| 492 || Error closing buffer / HTTP connection<br />
|-<br />
| 493 || Internal error - unable to acquire data source<br />
|-<br />
| 494 || Error updating information - DNAS restart required<br />
|-<br />
| 495 || Error acquiring station ID - DNAS restart required<br />
|-<br />
| 496 || Error converting data type<br />
|-<br />
| 497 || Inconsistent stream behaviour<br />
|-<br />
| 498 || Invalid Request (Invalid request received)<br />
|-<br />
| 499 || Error while getting information<br />
|}<br />
<br />
==Administration==<br />
<br />
With sc_serv there are administration pages available for accessing and controlling the server remotely which allows you to monitor and control clients connected to the stream (or not if banning them). These pages can now be accessed through a summary page at /index.html which will show a link to any active stream(s) or you explicitly access them via the /index.html?sid=# path where # is the ID of the stream (see [[#Stream_Configuration|section 4.12]] for more about using 'streamid') '''e.g.'''<br />
<streamurl>/index.html?sid=1<br />
<br />
If no sid or an invalid sid is passed then you will be taken to the summary /index.html and this will be applied even if you were on a page with a known ID and then enter an invalid sid or remove it purposefully.<br />
<br />
<br />
===Administration Pages===<br />
----<br />
<br />
As part of the administrative features provided there are the following pages where # is the streamid you want to use). This is not a complete list but should cover all of the pages which allow for a direct http url to be entered to get an administation action to work. The ban and reserve IP actions require input fields and do not map to direct sends.<br />
<br />
<br />
====Public Pages====<br />
----<br />
<br />
'''index.html''' - Shows a summary page with links to get to any active stream(s)<br />
<br />
'''currentsong?sid=#''' - Returns the current song title or a null response<br />
<br />
'''nextsong?sid=#''' - Returns the next song title (if known) or a null response<br />
currentsong and nextsong both provide a UTF-8 encoded string of the song title<br />
otherwise it will return effectively no response (ignoring the http header).<br />
<br />
'''nextsongs?sid=#''' - Returns in an xml format the next song title(s) (if known) to be played when using a compatible v2 stream source. See [[#XML_Responses|section 5.2]] for more details on the format of the xml returned).<br />
<br />
'''index.html?sid=#''' - Shows current status of the specified stream<br />
<br />
'''played.html?sid=#''' - Song history of specified playing history<br />
:or<br />
'''played?sid=#'''<br />
<br />
'''listen.pls?sid=#''' - Provides a PLS for file clients to use to connect to the stream.<br />
:or<br />
'''listen?sid=#'''<br />
<br />
'''listen.m3u?sid=#''' - Provides a M3U file for clients to use to connect to the stream.<br />
<br />
'''listen.asx?sid=#''' - Provides a ASX file for clients to use to connect to the stream.<br />
<br />
With the listen pages you either need to have specified an IP with 'dstip / destip'<br />
(see section 4.2) or leave empty and allow the server to attempt to auto-generate<br />
the IP required for the client to be able to connect. If this fails the generated<br />
playlist is likely to return a stream url like <nowiki>http://0.0.0.0:<portbase>/<path></nowiki><br />
<br />
'''home.html?sid=#''' or '''home?sid=#''' - Opens in a new window or tab (depending on the client browser) the 'streamurl' as specified by the stream source. If this is not set then the client will be redirected to the shoutcast.com main page.<br />
<br />
'''stats?sid=#''' - Provides an xml response for public accessibility which matches the private version from admin.cgi?sid=#&mode=viewxml&page=1. This is the modern version of the 7.html page as provided by the legacy v1 servers. See [[#XML_Responses|section 5.2]] for information on what is provided in the xml response.<br />
<br />
<br />
====Private Pages====<br />
----<br />
<br />
By passing &pass=password where password is the 'adminpassword' (see section [[#Networking|4.8]]) then it is possible<br />
to directly access the administration page(s) required. As well the base64 encoded version of the password<br />
can be passed as long as it is prefixed with ''YWRtaW46''<br />
e.g.<br />
&pass=changeme is the same as &pass=YWRtaW46Y2hhbmdlbWU=<br />
<br />
'''admin.cgi''' - Shows the an overal summary admin page for the streams provided by the server including direct links to certain information pages (see notes about the 'admin.cgi?sid=#&mode=viewxml' command for more info)<br />
:or<br />
'''admin.cgi?sid=0'''<br />
<br />
'''admin.cgi?sid=#''' - Shows the base admin page for the stream and information<br />
<br />
'''admin.cgi?sid=#&mode=updinfo&song=title''' <br />
:or<br />
'''admin.cgi?sid=#&mode=updinfo&type=xml&song=xml''' <br />
If 'title' is not empty then it will be set as the current song title for the stream<br />
specified until the next use of this action or the next title update is received from<br />
the source. Specifying '&type=xml' will process the value of 'song' as [[SHOUTcast_XML_Metadata_Specification|v2 XML metadata]]<br />
instead of a v1 title.<br />
<br />
'''admin.cgi?sid=#&mode=viewlog''' - View logfile<br />
<br />
'''admin.cgi?sid=#&mode=viewlog&viewlog=tail''' - View logfile (tailing)<br />
<br />
The tailing option keeps adding additional log entries to the end of the view whilst the view is active.<br />
As well any html or xml data in the log will not be shown correctly in the view as < > & are not escaped<br />
to their html entities. See [[#Logging|section 4.6]] for more information on the log file.<br />
<br />
'''admin.cgi?sid=#&mode=viewban''' - Ban view which matches the ban file and allows you to ban a single IP or an IP range from it (see [[#Banning|section 4.1]] for more info on the file)<br />
<br />
'''admin.cgi?sid=#&mode=viewrip''' - Reserved IP list that matches the rip file (see [[#Reserved_IP_.28RIP.29|section 4.11]] for more info on the file)<br />
<br />
'''admin.cgi?sid=#&mode=art''' or '''admin.cgi?sid=#&mode=art&art=playing''' - Displays the artwork SHOUTcast v2 compatible clients may be able to display if the SHOUTcast v2 source does provide it.<br />
<br />
The artwork mode is primarily intended as a debugging option to make it possible<br />
to see what (if anything) has been provided by the SHOUTcast v2 source.<br />
<br />
If no '&art=' is specified or not a matching option then the stream artwork (if<br />
available) will be shown. If no '&art=playing' is specified then this will show<br />
the playing file's artwork (if available).<br />
<br />
'''admin.cgi?sid=#&mode=viewxml''' or '''admin.cgi?sid=#&mode=viewxml&page=#''' - Returns an xml output of the current stream information<br />
<br />
If page is not set or is outside of the range zero to 6 then this will output all of the<br />
information as the standard viewxml action does. Otherwise this only display information<br />
depending on the value assigned to page which can be from 1 to 6 which maps as follows:<br />
<br />
1 - Server Summary (this is the same as using the public stats?sid=# action)<br />
2 - Not used (previously used for Webdata Stats but not in current builds)<br />
3 - Listener Stats<br />
4 - Song History<br />
5 - Stream Metadata (if supported by the source otherwise can just be title)<br />
6 - Stream Configurations (displays all of the known stream configurations though this is only available on admin.cgi)<br />
<br />
If accessing the standard viewxml or the listener stats (page = 3), you can also send<br />
'&iponly=1' which will filter the listener information (if there are any) to just output<br />
the IP instead of the additional information provided normally.<br />
<br />
'''admin.cgi?mode=resetxml&sid=#''' - Will flush the held stream information to refresh it<br />
<br />
'''admin.cgi?sid=#&mode=kicksrc''' - Will allow you to kick the currently connected source for the specified stream.<br />
<br />
'''admin.cgi?sid=#&mode=unripdst&ripdst=<IP>''' - Where <IP> is the IP to reserve (see [[#Reserved_IP_.28RIP.29|section 4.11]] for more information).<br />
<br />
'''admin.cgi?sid=#&mode=unbandst&bandst=<IP>.0&banmsk=0''' - Where <IP> is the first 3 parts of a subnet IP to unban.<br />
<br />
'''admin.cgi?sid=#&mode=unbandst&bandst=<IP>&banmsk=255''' - Where <IP> is that of a single IP to unban.<br />
<br />
'''admin.cgi?mode=rotate''' or '''admin.cgi?mode=rotate&files=log|w3c''' - This will rotate the log files set via the 'logfile', 'w3clog' and 'streamw3clog' options.<br />
If &files is specified then passing log or w3c will allow you to only<br />
rotate one type of file otherwise both will be rotated by this command.<br />
<br />
'''admin.cgi?mode=reload''' or '''admin.cgi?mode=reload&force=1''' - This reloads the stream configuration details in the main configuration file the server used when started and is only available on the admin summary page and so can only be run by the master administrator password.<br />
<br />
This command works on the server as a whole (hence no sid parameter) and it will add or<br />
remove or update any stream configuration as applicable which will cause any connected<br />
sources and clients to be kicked as applicable (usually if a stream configuration was removed).<br />
<br />
This will recognise any configurations included via 'include' entries so you can have 'include=stream/*.conf'<br />
in your main configuration file which the server can then use to detect different stream configurations.<br />
<br />
If '&force=1' is passed then the reload will treat the updating of active stream configurations in the<br />
same manner as a stream configuration removal instead of trying to update compatible stream configuration<br />
details without resetting the stream '''e.g.''' not increasing the 'streammaxuser' when it could be increased.<br />
<br />
The following configuration options are updated when using this command:<br />
<br />
password or streampassword (*) streamadminpassword (#)<br />
requirestreamconfigs streamid<br />
streamauthhash streampath<br />
streamrelayurl streammaxuser<br />
streampublicserver streamallowrelay<br />
streamallowpublicrelay streamriponly<br />
streamautodumpsourcetime streamautodumpusers<br />
streamlistenertime streamintrofile<br />
streambackupfile streambanfile<br />
streamripfile<br />
<br />
(*) This will depend upon the current values versus the new configuration values<br />
(#) The master 'adminpassword' can only be changed after a restart of the server<br />
<br />
<br />
===XML Responses===<br />
----<br />
<br />
As detailed in the previous sections, some of the administration actions will provide the information in an xml response. For information on what is actually returned in these xml responses see [[SHOUTcast_DNAS_Server_2_XML_Reponses|sc_serv2_xml_responses.txt]].<br />
<br />
<br />
==Stream Addresses==<br />
<br />
Clients connecting to the streams provided by sc_serv are able to so in a number of ways depending upon how the streams have been configured and also depending upon the number of streams you have available.<br />
<br />
The two main ways for a client to connect to a stream are as follows:<br />
<br />
<serverurl>/stream/<streamid>/<br />
or<br />
<serverurl>/<streampath><br />
<br />
<serverurl> is typically formed as <nowiki>http://dstip:portbase</nowiki> (see sections [[#Client_Behaviour|4.2]] and [[#Networking|4.8]])<br />
<streamid> is the 'streamid' set from the stream configuration (see [[#Stream_Configuration|section 4.12]])<br />
<streampath> is the 'streampath' set from the stream configuration (see [[#Stream_Configuration|section 4.12]])<br />
<br />
If the client attempting to connect to the server instance does not specify <streampath> or <streamid> in the stream url it attempts to access or if only one stream is provided then the server will usually default to the first stream it knows about and will allow the client to make a valid connection (though this is not guaranteed to happen).<br />
<br />
This handling of the stream addresses provided is something to keep in mind especially if you are providing multiple streams as this will allow you to provide different addresses for certain clients to be able to use a specific stream '''e.g.''' if you wanted to have mobile clients connect to a lower bandwidth stream then you could direct them to '<serverurl>/mobile'<br />
<br />
The server options available for controlling how the stream's path is specified can be seen in [[#Stream_Configuration|section 4.12]] which also details the equivalent values needing to be set in the sc_trans configuration if you use sc_trans to provide a source to sc_serv.<br />
<br />
<br />
==Locale Error (Linux / Mac OS X / BSD)==<br />
<br />
If you receive the following error then you have a locale related issues:<br />
<br />
terminate called after throwing an instance of 'std::runtime_error'<br />
what(): locale::facet::_S_create_c_locale name not valid<br />
Abort trap<br />
<br />
If this happens then you need to set the 'POSIX' locale in your terminal's environment values. If this does not happen then everything is fine or you are using a newer version of sc_serv from the end of 2010 which should no longer exhibit this issue.<br />
<br />
Linux:<br />
export LC_ALL=POSIX<br />
<br />
BSD:<br />
setenv LC_ALL POSIX<br />
<br />
Mac OS X:<br />
export LC_ALL=POSIX<br />
<br />
You can test to see if this has worked by checking the shell command "locale":<br />
<br />
LANG=<br />
LC_COLLATE="POSIX"<br />
LC_CTYPE="POSIX"<br />
LC_MESSAGES="POSIX"<br />
LC_MONETARY="POSIX"<br />
LC_NUMERIC="POSIX"<br />
LC_TIME="POSIX"<br />
LC_ALL="POSIX"<br />
<br />
<br />
==Virtual Memory Footprint (Linux / Mac OS X / BSD)==<br />
<br />
Due to how sc_serv works it will create a large number of threads which may become an issue due to the default virtual memory stack allocation per thread potentially being large (typically 10MB per thread). For most people this should not be an issue as the memory is not really allocated unless it is used. If however if you have a resource constrained system or if you plan on running many copies of sc_trans then you could potentially run out of virtual memory.<br />
<br />
The default thread allocation can be reduced by issuing a "ulimit" command before running sc_trans and in the example reduces it to 512KB per-thread '''e.g.''' ulimit -s 512<br />
<br />
<br />
==Maximum Client Connection Limits==<br />
<br />
In general, there are inherent limits on the maximum number of client connections which may be made to a running instances of sc_serv which can either be set by configuration limits e.g. 'maxuser', Operating System limits or bandwidth limits being reached.<br />
<br />
The first two are easy to resolve whereas the last (bandwidth limits) is something which will usually require obtaining additional hosting or paying for more available bandwidth.<br />
<br />
If reaching the Operating System limit, this is usually indicated by the maximum number of clients never going above a fixed value even if there is the bandwidth and the server has been configured to go higher. This usually appears as around 1016 maximum connections (though this can vary a bit)<br />
<br />
If using a non-Windows Operating System then you can use the 'ulimit -n xxxx' command to change the upper limit from what is already set which can be found from just 'ulimit -n' e.g. to change the limit to 4096 connections you would run ulimit -n 4096<br />
<br />
If using a Windows Operating System then there isn't any real way to change such things due to the OS hopefully being configured with limits that will not be reached when using sc_serv. If in doubt then consult the Microsoft support documentation for the OS used.<br />
<br />
<br />
==Example Configurations==<br />
<br />
Include as part of the sc_serv installation are a number of example configurations to get things started with using some of the features of the server. The provided examples are:<br />
<br />
sc_serv_basic.conf<br />
sc_serv_public.conf<br />
sc_serv_relay.conf<br />
sc_serv_simple.conf<br />
<br />
All of the configuration examples are documented and will relate back to details in this file appropriately. You will need to change some details in these example files or to obtain any applicable authorisation keys for the setup you are making ([[#Getting_Started|see section 3.0]]). In all cases the examples are designed to work from the same install folder as sc_serv.<br />
<br />
Remember these examples are a way to get you up and running faster though you are still likely to have to adjust things depending upon the systems you are using and how you want to manage your sources and server connections which are covered in previous sections.<br />
<br />
Additionally if you are not happy with editing the files or find it still too confusing then you can use the configuration builder which (if installed) can be found in the 'config_builder'. Open 'config_builder.html' in your browser and then use this graphical tool to setup a configuration file for the server (and additionally the transcoder).<br />
<br />
<br />
===sc_serv_basic===<br />
----<br />
<br />
This is the base configuration from which the other configuration examples are based and this will get a sc_serv instance running as a local setup with no connection made to the YP directory.<br />
<br />
<br />
===sc_serv_public===<br />
----<br />
<br />
This configuration file changes the required options in the sc_serv_basic configuration to get a sc_serv instance running as a public setup with a connection made to the YP for listing the stream in the directory. This shows the use of the 'include' option (see section [[#Miscellaneous|4.7]]) and how specifying a configuration option twice uses the last value found.<br />
<br />
<br />
===sc_serv_relay===<br />
----<br />
<br />
This configuration file changes the required options in the sc_serv_public configuration to get a sc_serv instance running as a public setup with a source coming in from a relay server providing a SHOUTcast 2 stream.<br />
<br />
<br />
===sc_serv_debug===<br />
----<br />
<br />
This configuration file can be included in any other configuration files to allow you to get debug logging output when trying to investigate any issues you may be experiencing.<br />
<br />
<br />
===sc_serv_simple===<br />
----<br />
<br />
Use this if you just need to get a very basic server running or are impatient<br />
or are struggling to get it running despite the previous example configurations.<br />
<br />
This configuration file is designed to be used just as is and is the simplest form of the configuration file you can have which will allow you to get a running server to appear on the YP. This works on using the default settings of the server though does change some of the file paths inorder to fit in with the existing setup as used in the other examples.<br />
<br />
All you need to do when using this configuration file is to enter your authorisation key in the 'streamauthhash' line '''e.g.''' if your authorisation key is '''123456789''' then you change ''streamauthhash=<enter_your_auth_key_here>'' to ''streamauthhash='''123456789''''' and save the file.</div>Jonathanhttp://wiki.shoutcast.com/wiki/SHOUTcast_DNAS_UpgradeSHOUTcast DNAS Upgrade2015-06-17T16:00:15Z<p>Jonathan: /* Easy Upgrading From SHOUTcast 1.98 */</p>
<hr />
<div>{{Template:NavBarSC}}<br />
<br />
<br />
== Easy Upgrading From SHOUTcast 1.98 == <br />
(First Revision - April 22, 2015) <br />
<br />
<br />
Many stations are still using Version 1.98, even though this software is now 10 years old and will not be supported much longer! The current version of the SHOUTcast software provides the exact same functionality as 1.98, but has many new features along with increased stability and efficiency. All stations are encouraged to update to the latest version as soon as possible. The update is easy, has been done thousands of times, and should only take about 5 minutes to accomplish.<br />
<br />
Here's how easy it is to update an existing SHOUTcast 1.98 server:<br />
<br />
1) Download the latest version of SHOUTcast by using the "Download" button at http://shoutcast.com/broadcastnow<br />
<br />
2) Make a backup copy of the folder containing your existing SHOUTcast DNAS server (1.98).<br />
<br />
3) Double-click on the file you downloaded containing the new SHOUTcast version – on Linux/Mac this will create a new folder with all the necessary files in it. On Windows, change the name of the destination folder to “ShoutcastV2”. <br />
<br />
4) Temporarily stop the SHOUTcast server.<br />
<br />
5) Look in the folder that was just created and locate three things - #1: the sc_serv[.exe] file, #2: the cacert.pem file and #3: the docs folder. Take the files (#1 & #2) and move them to the folder containing your old SHOUTcast server software (replacing what’s already there if necessary). Set aside the software documentation contained in #3 the docs folder so you have a local copy to refer to.<br />
<br />
6) Restart the SHOUTcast server. You're now running the latest version of SHOUTcast!<br />
<br />
NOTE: All audio encoders software are now supported by SHOUTcast version 2.4.7 (or greater). You may need to place <br />
:#StreamID<br />
after the password in your audio encoder(s) so it will connect to the SHOUTcast server after this upgrade. (Every SHOUTcast v2 stream is assigned a StreamID by the server) Check out [http://wiki.shoutcast.com/wiki/SHOUTcast_Server_Source_Support] for an in-depth guide on connecting older/legacy source audio encoders.<br />
<br />
OPTIONAL: Following the software upgrade, most stations will need to take one additional step to list their stream on SHOUTcast.com. A unique authorization key ("authhash") needs to be assigned to your stream. This key can be generated by the DNAS, or by registering your stream at the [http://shoutcast.com/broadcastnow SHOUTcast website]. For more information on getting your authhash, please see [http://wiki.shoutcast.com/wiki/SHOUTcast_Authhash_Management HERE]</div>Jonathanhttp://wiki.shoutcast.com/wiki/SHOUTcast_DNAS_UpgradeSHOUTcast DNAS Upgrade2015-06-17T15:58:55Z<p>Jonathan: /* Easy Upgrading From SHOUTcast 1.98 */</p>
<hr />
<div>{{Template:NavBarSC}}<br />
<br />
<br />
== Easy Upgrading From SHOUTcast 1.98 == <br />
(First Revision - April 22, 2015) <br />
<br />
<br />
Many stations are still using Version 1.98, even though this software is now 10 years old and will not be supported much longer! The current version of the SHOUTcast software provides the exact same functionality as 1.98, but has many new features along with increased stability and efficiency. All stations are encouraged to update to the latest version as soon as possible. The update is easy, has been done thousands of times, and should only take about 5 minutes to accomplish.<br />
<br />
Here's how easy it is to update an existing SHOUTcast 1.98 server:<br />
<br />
1) Download the latest version of SHOUTcast by using the "Download" button at http://shoutcast.com/broadcastnow<br />
<br />
2) Make a backup copy of the folder containing your existing SHOUTcast DNAS server (1.98).<br />
<br />
3) Double-click on the file you downloaded containing the new SHOUTcast version – on Linux/Mac this will create a new folder with all the necessary files in it. On Windows, change the name of the destination folder to “ShoutcastV2”. <br />
<br />
4) Temporarily stop the SHOUTcast server.<br />
<br />
5) Look in the folder that was just created and locate three things - #1: the sc_serv[.exe] file, #2: the cacert.pem file and #3: the docs folder. Take the files (#1 & #2) and move them to the folder containing your old SHOUTcast server software (replacing what’s already there if necessary). Set aside the software documentation contained in #3 the docs folder so you have a local copy to refer to.<br />
<br />
6) Restart the SHOUTcast server. You're now running the latest version of SHOUTcast!<br />
<br />
NOTE: All audio encoders software are now supported by SHOUTcast version 2.4.7 (or greater). You may need to place <br />
:#StreamID<br />
after the password in your audio encoder(s) so it will connect to the SHOUTcast server after this upgrade. Check out [http://wiki.shoutcast.com/wiki/SHOUTcast_Server_Source_Support] for an in-depth guide on connecting older "legacy" source audio encoders.<br />
<br />
OPTIONAL: Following the software upgrade, most stations will need to take one additional step to list their stream on SHOUTcast.com. A unique authorization key ("authhash") needs to be assigned to your stream. This key can be generated by the DNAS, or by registering your stream at the [http://shoutcast.com/broadcastnow SHOUTcast website]. For more information on getting your authhash, please see [http://wiki.shoutcast.com/wiki/SHOUTcast_Authhash_Management HERE]</div>Jonathanhttp://wiki.shoutcast.com/wiki/SHOUTcast_DNAS_Server_2SHOUTcast DNAS Server 22015-06-10T19:03:50Z<p>Jonathan: /* Configuration File */</p>
<hr />
<div>{{Template:NavBarSC}}<br />
<br />
<br />
==Introduction==<br />
<br />
The purpose of this document is to show you the different configuration options supported by sc_serv along with basic and more advanced example configurations to enable you to get started with using sc_serv and the features it can offer.<br />
<br />
The aim of sc_serv is to provide enhanced serving features and also access to the new YP2 infrastructure whilst maintaining as much backward compatibility with previous versions of sc_serv as possible. The new features introduced include:<br />
<br />
# Serving multiple streams from a single server instance<br />
# Relaying multiple streams from a single server instance<br />
# Multiplexing all server activity through a single IP port<br />
# SHOUTcast 2 wire protocol support for sources, relays and clients<br />
# Repackaging of SHOUTcast 1 and SHOUTcast 2 data as needed for connected clients<br />
# YP2 infrastructure support<br />
# Real-time metadata and statistic reporting<br />
# Static station id support<br />
# In-stream metadata in standardised xml files<br />
# UTF-8 and international character encoding<br />
# Improved server and stream security<br />
<br />
<br />
==Overview of Features==<br />
<br />
To take full advantage of the newer features provided as part of the SHOUTcast 2 and YP2 systems then you will need to ensure you are using a compatible version of sc_serv (any version 2 will work) and that you have the required authorisation key to register as a broadcaster on the YP2 directory (see [[#Getting_Started|section 3.0]]).<br />
<br />
If you were intending on taking full advantage of the multiplexing and multiple stream support offered as part of sc_serv then you would need to make sure you enable the SHOUTcast 2 options (this is enabled by default with server builds from the end of 2010 if the 'yp2' option in the configuration file is not specified [see [[#YP_Server_Behaviour|section 4.14]] ). The reason for needing to enable this support is if you try to do it with the original SHOUTcast 1 protocol then it will not work as the original protocol has no means of expressing multiple streams from a single port due to the lack of an identifier provided for them.<br />
<br />
If you are planning on connecting multiple sc_trans instances to sc_serv then you must use the SHOUTcast 2 protocol support so that each sc_trans instance can have a unique identifier which allows for multiple streams to then be provided from a single server. It is still possible for an older source to connect to the server with a number of config options available to support this though functionality will be limited compared to what can be done with a fully supporting SHOUTcast 2 source.<br />
<br />
Finally clients connecting to your server do not need to directly support SHOUTcast 2 as sc_serv will repackage the stream data and any related metadata into the correct format the client requests (typically based on the user agent detected by the server).<br />
<br />
<br />
==Getting Started==<br />
<br />
One of the key aspects of the new YP2 directory infrastructure is an authorisation key which is used to validate your server when it tries to connect to the YP2 infrastructure for any of the station(s) you run. Once this key is obtained, it will be valid for all root servers of the station being broadcast.<br />
<br />
This can be done by going to the [[SHOUTcast_Authhash_Management|SHOUTcast Authhash Management]] page which shows how to do this via the 'Administation Summary' page as long as a valid source has been connected to the server. This process automatically updates your configuration file(s) with the new authhash and if the stream is set to be public then will attempt to get the stream listed in the SHOUTcast Radio Directory.<br />
<br />
When using an older SHOUTcast 1 server then you do not need to do this registration and the server will still be able to be listed on the directory but there is not the same level of protection over the stream as is the case with registering it.<br />
<br />
<br />
===Running the Server===<br />
----<br />
<br />
The server is able to be run either as a console application or it can be run as service (Windows) or daemon (Linux / Mac OS X / BSD). Detailed below is how to get the server running on the different operating systems supported by it.<br />
<br />
<br />
===Windows===<br />
----<br />
<br />
The Windows version of sc_serv is designed to run on fully updated and patched versions of Windows 2000, XP, Vista and Windows 7.<br />
<br />
Please note that the Windows versions of sc_serv are built with a dependency against the Microsoft Visual C++ 2008 SP1 Redistributable Package. If sc_serv is unable to start due to a dependency issue then you will need to install the correct version of the package so it can run which depends on the version of sc_serv you are attempting to run:<br />
<br />
32-bit version:<br />
http://www.microsoft.com/downloads/en/details.aspx?FamilyID=a5c84275-3b97-4ab7-a40d-3802b2af5fc2<br />
<br />
64-bit version:<br />
http://www.microsoft.com/downloads/en/details.aspx?FamilyID=ba9257ca-337f-4b40-8c14-157cfdffee4e<br />
<br />
<br />
====Install as a Service====<br />
----<br />
<br />
sc_serv.exe install <servicename> <username> <password> <conf><br />
<br />
<servicename> - Name of service<br />
Typically enter this as 'sc_serv' though you can use a different name but you will need<br />
to remember it as it is required to be the same when using the 'uninstall' mode.<br />
<br />
<username> - User under which to run the service as or '0' for the local system<br />
<br />
<password> - Password for user or '0' for the local system or with no password<br />
<br />
<conf> - File path to the configuration file<br />
If no file / an invalid file is specified then sc_serv will abort loading.<br />
<br />
When run as a service there is not a good sense of a current working directory so requires all paths in the configuration and playlist files to be fully qualified otherwise lookups will fail when sc_serv is run.<br />
<br />
To run sc_serv with a configuration file in the same folder as the server as the current system user account you would enter into the console:<br />
<br />
sc_serv.exe install sc_serv 0 0 sc_serv.conf<br />
<br />
<br />
====Uninstall the Service====<br />
----<br />
<br />
sc_serv.exe uninstall <servicename><br />
<br />
<servicename> - Name of service as used when the service was registered<br />
<br />
To uninstall sc_serv assuming it was installed as detailed in the install section above then you would enter into the console:<br />
<br />
sc_serv.exe uninstall sc_serv<br />
<br />
<br />
====Run as a Non-Service in the Console====<br />
----<br />
<br />
sc_serv.exe <conf><br />
<br />
<conf> - File path to the configuration file (can be relative or absolute)<br />
If no file / an invalid file is specified then sc_serv will abort loading.<br />
<br />
<br />
===Linux / Mac OS X / BSD===<br />
----<br />
<br />
Remember to enable the required access on the sc_trans file by doing 'chmod a+x sc_trans' after extracting it from the distribution file otherwise the OS is likely to not run it and show the error message './sc_serv: Permission denied'.<br />
<br />
====Run as a Daemon====<br />
----<br />
<br />
./sc_serv daemon <conf><br />
<br />
<conf> - File path to the configuration file (required in all cases)<br />
If no file / an invalid file is specified then sc_serv will abort loading.<br />
<br />
'''e.g.'''<br />
./sc_serv daemon ./sc_serv.conf<br />
<br />
When run this should output the following:<br />
<br />
'sc_serv going daemon with PID [XXXX]' where XXXX is the <pid> of the process.<br />
<br />
<br />
====End a Daemon====<br />
----<br />
<br />
kill -SIGTERM <pid><br />
or<br />
kill -15 <pid><br />
or<br />
kill -s TERM <pid><br />
<br />
<pid> - The PID of the daemon instance (reported when the daemon started or can be found with 'ps ax | grep sc_serv' as long as sc_serv was the file run otherwise you can just use 'ps ax' if the filename isn't known). Additionally the PID of sc_serv is listed in the log file.<br />
<br />
<br />
====Run as a Non-Daemon====<br />
----<br />
<br />
./sc_serv <conf><br />
<br />
<conf> - File path to the configuration file (can be relative or absolute)<br />
If no file / an invalid file is specified then sc_serv will abort loading.<br />
<br />
<br />
===Additional Signals===<br />
----<br />
<br />
When run on Linux / Mac OS X / BSD then some additional signals are supported to allow for additional control over the running daemon instance of sc_serv.<br />
<br />
The following signals can be used with the 'kill' command (in the manner of your choosing for using the kill command) along with the <pid> of the daemon instance to do one of the following actions:<br />
<br />
SIGKILL - Stops sc_trans (also SIGTERM, SIGINT and SIGQUIT will work)<br />
SIGHUP - Rotates logfile, w3clog and streamw3clog<br />
<br />
The result of SIGHUP is that the current log file contents will be moved into <logfile>_1 e.g. sc_serv_1.log, <logfile>_1 will be moved into <logfile>_2 e.g. sc_serv_2.log and so on for all log files which can be found which match the current log file's name. This is useful if timed to have it create day specific log files.<br />
<br />
These signals are not supported by the Windows version of sc_serv which will only<br />
respond to the Ctrl + C / Ctrl + Break / console close commands the OS provides.<br />
<br />
<br />
==Configuration File==<br />
<br />
Here you can find a complete list of all of the configuration options which are provided by sc_serv which ranges from logging to networking configuration and control over the media being used when streaming via the server.<br />
<br />
Configuration entries labelled as ''<MULTI>'' can be used to set up simultaneous connections to the server or allow for multiple connections from various sources. These are specified by adding _# to the end of the option's name as shown below where # begins with one. If you are only working with a single instance then you do not need to add the _# part as any instances of a configuration option will assume it is for _1.<br />
<br />
Note: The ''<MULTI>'' system is not hierarchical and all values beyond the default must be specified for all connections. So for example, if you wanted to connect to two servers on the same port you must do:<br />
<br />
serverport_1=8080<br />
serverport_2=8080<br />
serverip_1=www.server1.com<br />
serverip_2=www.server2.com<br />
<br />
Note that you CANNOT do it like this as it leads to not all values being set:<br />
<br />
serverport=8080<br />
serverip_1=www.server1.com<br />
serverip_2=www.server2.com<br />
<br />
The configuration files also allow for comments/notes or options to be disabled by the use of a semi-colon (''';''') or a left bracket ('''[''') or the hash / pound symbol ('''#''') at the start of a line which can be seen in all of the configuration examples.<br />
<br />
Known options in the configuration files are recognised irrespective of the case they are entered in the configuration file so maxuser and MaXuSer will be handled the same way.<br />
<br />
Any items found in the configuration file which are not known (as detailed in following sections) or is not processed as a comment will be reported in the following manner:<br />
<br />
<date + time> W msg:[CONFIG] Invalid item on line XX<br />
<br />
Where <date + time> is the date and time the event happens at and XX is the line in the configuration file where the error has been found to occur at.<br />
<br />
<br />
===Banning===<br />
----<br />
<br />
'''banfile''' : File to store the list of banned IP addresses ''[Default = sc_serv.ban]''<br />
<br />
'''savebanlistonexit''' : Re-write the 'banfile' on server exit ''[Default = 1]''<br />
<br />
If you are using a folder for saving the file into then you need to ensure that the<br />
folder already exists as sc_serv will not attempt to the create the folder for you.<br />
<br />
<br />
===Client Behaviour===<br />
----<br />
<br />
'''maxuser''' : Specify the maximum number of clients allowed to connect to the server ''[Default = 32]''<br />
This is used in conjunction with 'streammaxuser' (see [[#Stream_Configuration|section 4.12]]) to control the<br />
maximum limit on the number of client connections allowed to connect to the server instance.<br />
<br />
'''listenertime''' : Specify the maximum time in minutes a client can listen to the stream ''[Default = 0]''<br />
A value of zero means there will be no time limit.<br />
<br />
'''autodumpusers''' : Enable to allow the server to disconnect clients if the source disconnects ''[Default = 0]''<br />
<br />
'''srcip''' : Specify the server side binding address for sources to connect on ''[Default = <no value>]''<br />
<br />
'''dstip''' or '''destip''' : Specify the server side binding address for clients ''[Default = <no value>]''<br />
If 'any' or no value is specified then sc_serv listens to all addresses.<br />
<br />
If you specify a value for 'dstip / destip' then this will be used by the listen feature on the Administration Pages (see section 5.1) so it can provide a valid stream url in the generated playlist. If 'dstip / destip' is not specified then the server will attempt to auto-generate the IP required for the client to be able to connect. If this fails the generated playlist is likely to return a stream url like <nowiki>http://0.0.0.0:<portbase>/<path></nowiki><br />
<br />
The IP provided needs to be in a valid format like <nowiki>http://<my-ip></nowiki> or an address which can be resolved to an IP otherwise the internal lookups done are likely to fail (depends upon the server configuration and OS being used). Also you cannot set srcip and dstip / destip to be the same IP value and if this happens then the server will close. Closing of the server will also happen if the IP cannot be resolved or correctly bound to i.e. server is not there or an invalid value was entered.<br />
<br />
'''titleformat''' : Specify a string to be used in-place of the default icy-name string being used ''[Default = <no value>]''<br />
<br />
'''urlformat''' : Specify a string to be used in-place of the default icy-url string being used ''[Default = <no value>]''<br />
<br />
<br />
===Debugging===<br />
----<br />
<br />
In all cases, the default value is for no debug logging for the options listed below.<br />
<br />
'''yp1debug''' : Enable debug logging of YP connections<br />
<br />
'''yp2debug''' : Enable debug logging of YP2 connections<br />
<br />
'''shoutcastsourcedebug''' : Enable debug logging of SHOUTcast source connections<br />
<br />
'''uvox2sourcedebug''' : Enable debug logging of SHOUTcast 2 source connections<br />
<br />
'''shoutcast1clientdebug''' : Enable debug logging of SHOUTcast streaming clients<br />
<br />
'''shoutcast2clientdebug''' : Enable debug logging of SHOUTcast 2 streaming clients<br />
<br />
'''relayshoutcastdebug''' : Enable debug logging for SHOUTcast relays<br />
<br />
'''relayuvoxdebug''' : Enable debug logging for SHOUTcast 2 relays<br />
<br />
'''relaydebug''' : Enable debug logging of common relay code<br />
<br />
'''streamdatadebug''' : Enable debug logging of common streaming code<br />
<br />
'''httpstyledebug''' : Enable debug logging of http style requests<br />
<br />
'''statsdebug''' : Enable debug logging of statistics<br />
<br />
'''microserverdebug''' : Enable debug logging of common server activity<br />
<br />
'''threadrunnerdebug''' : Enable debug logging of the thread manager<br />
<br />
'''rtmpclientdebug''' : Enable debug logging of rtmp clients<br />
<br />
<br />
===Flash Security===<br />
----<br />
<br />
'''flashpolicyfile''' : Name of file containing flash crossdomain policies on the server ''[Default = crossdomain.xml]''<br />
<br />
<br />
===Introduction and Backup Files===<br />
----<br />
<br />
'''introfile''' : File to play when a client first connects to the server ''[Default = <no value>]''<br />
<br />
'''backupfile''' : File to play if the source disconnects from the server ''[Default = <no value>]''<br />
<br />
'''specialfiletmpdir''' : place to store intro and backup files uploaded by sc_trans ''[Default = /tmp/ (*nix only)]''<br />
<br />
'''maxspecialfilesize''' : Change the maximum size in bytes of the backup and intro files ''[Default = 30000000]''<br />
<br />
<br />
===Logging===<br />
----<br />
<br />
'''log''' : Enable logging of the servers output ''[Default = 1]''<br />
<br />
'''screenlog''' : Enable logging of servers output to the console ''[Default = 1]''<br />
If log=0 then this option is ignored due to no logging happening.<br />
<br />
'''logfile''' : Specify a different logfile to save the logs into ''[Default = %temp%\sc_serv.log or /tmp/sc_serv.log]''<br />
<br />
'''logclients''' : Enable logging of details about client connections and disconnections made ''[Default = 1]''<br />
<br />
If you are using a folder for saving the logs into then you need to ensure that the folder<br />
already exists as sc_serv will not attempt to the create the folder for you.<br />
<br />
<br />
===Miscellaneous===<br />
----<br />
<br />
'''configrewrite''' : Re-write the 'config file' on server exit ''[Default = 0]''<br />
<br />
'''songhistory''' : Specify the maximum song history to preserve ''[Default = 10]''<br />
<br />
'''cpucount''' : Specify the number of cpu's present instead of the calculated number if non-zero ''[Default = 0]''<br />
<br />
'''unique''' : Specify a substitution string for the '$' character to be used when processing filenames which if specified will set any occurences of '$' to the value set. This will be used in the processing of the following filenames: '''logfile''', '''introfile''', '''streamintrofile''', '''backupfile''', '''streambackupfile''', '''banfile''', '''streambanfile''', '''ripfile''', '''streamripfile''', '''include''', '''w3clog''', '''streamw3clog'''<br />
<br />
So when 'unique' is changed from '$' to say 'test' then the following happens if 'logfile' is<br />
set to '/usr/local/shoutcast/$.log' then this would be converted to '/usr/local/shoutcast/test.log'<br />
<br />
'''include''' : Specify an additional include file containing settings to be processed from the current point in the main configuration file ''[Default = <no value>]''<br />
<br />
You can do multiple calls of this allowing for a basic configuration file with then 'specific' stream configurations set in individual conf files though you need to ensure not to include a reference to the same file in itself.<br />
<br />
You can also specify a path with a wildcard for sc_serv to use to find multiple configuration files to include '''e.g.''' 'include=stream/*.conf'. This can then be used along with the multiple stream configurations (see section 4.12) and the admin command 'admin.cgi?mode=reload' (see section 5.1) to add / remove / update stream configurations without having to close the server to apply them.<br />
<br />
'''admincssfile''' : Specify the css styling to be used on the index.html and admin pages ''[Default = v2]''<br />
<br />
This can accept the following parameters:<br />
<br />
:admincssfile='''v1''' - Uses the v1 DNAS style<br />
:admincssfile='''v2''' - Uses the newer SHOUTcast 2 style<br />
:admincssfile='''path_to_local_css_file''' e.g. my_index.css</nowiki><br />
<br />
If using a custom css file, if it does not exist on the first try to load it the server will revert to<br />
the default css style. As well the style is cached once loaded so changes require a restart of sc_serv.<br />
<br />
'''faviconfile''' : Specify the file to be returned as the favicon.ico when the administration pages are being queried by the client's browser ''[Default = <no value>]''<br />
<br />
The default behaviour is to use a SHOUTcast themed built-in icon file and support / handling the update of this will entirely depend on the browser.<br />
<br />
'''faviconmimetype''' : Specify the mime type for actual file to be served in the favicon.ico response ''[Default = image/x-icon]''<br />
<br />
Ensure this is correct for the type of image being used so it is valid.<br />
<br />
'''hidestats''' : Specify if the publically accessible stats?sid=# page can be accessed or if it is only available via the private administration pages ''[Default = 0]''<br />
<br />
'''robotstxtfile''' : Specify the file to be returned as the robots.txt when queried by search engines, etc to attempt to prevent incorrect access to the server's pages which may cause invalid client connections ''[Default = <no value>]''<br />
<br />
The default behaviour is to return a robots.txt reponse indicating not to look at any of the server's pages i.e.<br />
::User-agent:*<br />
::Disallow:/<br />
<br />
<br />
===Networking===<br />
----<br />
<br />
'''namelookups''' : Enable to allow reverse DNS look-ups on incoming IP addresses ''[Default = 0]''<br />
<br />
'''portbase''' : Specify the port which clients and sources need to use to connect to the server ''[Default = 8000]''<br />
SHOUTcast 1 sources are only able to connect to 'portbase + 1'.<br />
<br />
'''autodumpsourcetime''' : Specify how long before an idle source is dumped from the server (in seconds) ''[Default: 30]''<br />
A value of zero means there is no timeout of an idle source.<br />
Also if you set this too low then it is likely that valid sources will<br />
fail to connect during the initial stages of a source connection.<br />
<br />
'''maxheaderlinesize''' : Specify the maximum size of an HTTP header line ''[Default = 2048]''<br />
<br />
'''maxheaderlinecount''' : Specify the maximum header lines in an HTTP style exchange ''[Default = 100]''<br />
<br />
'''adminpassword''' : Specify the administrator password for accessing the remote server features ''[Default = <no value>]''<br />
<br />
'''password''' : Specify the password for broadcasters when connecting to the server ''[Default = <no value>]''<br />
This matches the 'uvoxauth' value in the sc_trans configuration file (see [[SHOUTcast_DNAS_Transcoder_2#Network_Options|sc_trans.txt - section 3.11]]).<br />
<br />
<br />
===Network Buffers===<br />
----<br />
<br />
'''buffertype''' : Specify whether the buffer size is fixed [0] or adaptive [1] ''[Default = 0]''<br />
<br />
'''adaptivebuffersize''' : Specify the buffer size in seconds if buffer is set to adaptive ''[Default = 1]''<br />
<br />
'''fixedbuffersize''' : Specify the buffer size in bytes if the buffer is set to fixed ''[Default = 1048576]''<br />
<br />
'''bufferhardlimit''' : Specify the maximum buffer size in bytes which it can never go above ''[Default = 16777216]''<br />
<br />
<br />
===Relaying===<br />
----<br />
<br />
'''allowrelay''' : Enable to allow a relay to connect to the server ''[Default = 1]''<br />
<br />
'''allowpublicrelay''' : Enable to allow relays to list themselves in the YP directory ''[Default = 1]''<br />
<br />
'''relayreconnecttime''' : Specify how many seconds to wait to reconnect on a relay failure ''[Default = 30]''<br />
Setting this to 0 will disable attempts for the relay to reconnect.<br />
<br />
'''relayconnectretries''' : Specify the number of times relays are attempted to be connected to if it is initially unable to connect ''[Default = 3]''<br />
This generally applies only to YP1 connections and is related to the<br />
actual attempts to make and get a http response from the YP server.<br />
<br />
'''maxhttpredirects''' : Specify the maximum number of times we can redirect when relaying ''[Default = 5]''<br />
<br />
<br />
''<Legacy Options>''<br />
<br />
'''relayport''' : Port of the source to use for the relay ''[Default: 80]''<br />
<br />
'''relayserver''' : Url of the source to relay ''[Default = <no value>]''<br />
<br />
Using the stream configuration options (see [[#Stream_Configuration|section 4.12]]) is the preferred method<br />
of setting up a relay. These options are only provided as a means for loading<br />
legacy configuration files. If found then these are mapped to 'streamrelayurl_1'.<br />
<br />
<br />
===Reserved List===<br />
----<br />
<br />
'''ripfile''' : File to store the list of reserved IP addresses ''[Default = sc_serv.rip]''<br />
<br />
'''saveriplistonexist''' : Re-write the 'ripfile' on server exit ''[Default = 1]''<br />
<br />
'''riponly''' : Only allow connections to be made from reserved IP addresses ''[Default = 0]''<br />
<br />
If you are using a folder for saving the file into then you need to ensure that the folder<br />
already exists as sc_serv will not attempt to the create the folder for you.<br />
<br />
<br />
===Stream Configuration===<br />
----<br />
<br />
'''Important Note:''' If you do not specify an identifier (_#) on the end of the above options then it will be treated like _1 (effectively acting like SHOUTcast 1). Additionally, _0 is not a supported identifier and will be mapped to _1.<br />
<br />
'''requirestreamconfigs''' : Only allow sources to connect if a stream configuration has been set in our configuration file ''[Default = 0]''<br />
With this enabled, you will need to ensure that any sources have their configuration details<br />
setup to match those in sc_trans's configuration, in particular the 'uvoxstreamid' value with<br />
sc_trans (see [[SHOUTcast_DNAS_Transcoder_2#Network_Options|sc_trans.txt - section 3.11]]).<br />
<br />
''<MULTI>'' (one set for each stream configuration):<br />
<br />
'''streamid''' : Specify the numerical identifier of the stream for control or referencing the stream configuration. This can only be a numeric value from 1 to 2147483647.<br />
<br />
If you use multiple stream configurations then you will need to ensure the _X<br />
part is specified and correct for each stream configuration group<br />
e.g.<br />
streamid=1<br />
streampath=random<br />
or<br />
streamid_1=1<br />
streampath_1=random_stream_path<br />
streamid_2=2<br />
streampath_2=another_stream_path<br />
<br />
'''streamauthhash''' : The authorisation key needed for YP2 directory registration.<br />
This is a requirement for using the YP2 system and without it you will not be able to<br />
successfully connect to the YP2 directory (see [[#Getting_Started|section 3.0]]).<br />
<br />
This can be used for multiple streams you are providing or can be different (as long<br />
as valid) so you can infact provide multiple stations from the same server if desired.<br />
<br />
'''streampath''' : Specify the path clients need to use to access the stream<br />
If a / is not specified on the start of the string then the server will add<br />
it to the generated path in playlist entries or other places as required so<br />
<nowiki>http://<serverurl>/<streampath></nowiki> will work so clients are able to connect.<br />
<br />
If this is not specified then <nowiki>http://<serverurl>/stream/<streamid>/</nowiki> will be<br />
used for client access and in generated playlist entries so that it will<br />
always be possible for clients to connect to the server somehow. See [[SHOUTcast_DNAS_Server_2#Stream_Addresses|section 6.0]] for more information on the<br />
server's stream address support.<br />
<br />
'''streamrelayurl''' : Specify the full url of source to relay (if this is a relay).<br />
Make sure if you use this that the full url is entered and that it is<br />
the url which clients would connect to for the stream to be relayed.<br />
<br />
'''streammaxuser''' : Specify the maximum number of clients allowed to connect to the stream ''[Default = 0]''<br />
If set to zero, not specified or higher than 'maxuser' then the value set for 'maxuser' (see [[#Client_Behaviour|section 4.2]]) will be used for all knwon streams.<br />
<br />
Changing this to a value between zero and 'maxuser' will enforce the user connection limit for the specified value in the stream configuration '''e.g.'''<br />
streammaxuser_1 = 8<br />
maxuser = 32<br />
<br />
This allows a total of 32 connections to the server but specifies the maximum number of connections to the first stream configuration is 8.<br />
<br />
With the following stream configuration<br />
streammaxuser_1 = 64<br />
maxuser = 32<br />
<br />
This allows a total of 32 connections to the server but with a per stream limit above the maximum means the maximum number of connections to the first stream group will be 32. However this also depends upon any other stream configurations and their limits as to whether 32 clients will be able to connect to this stream configuration.<br />
<br />
Finally unless a valid stream configuration is specified then this value will only be applied to the first stream configuration found i.e. there is a need to specify a streamid_XXX for streammaxuser_XXX (where XXX is the stream identifier of the stream configuration group.<br />
<br />
'''streamadminpassword''' : Specify the administrator password for accessing the remote server features for the specified stream configuration group. If this is not specified then 'adminpassword' will be used.<br />
<br />
'''streampassword''' : Specify the password for broadcasters when connecting to the server for the specified stream configuration group. If this is not specified then 'password' will be used.<br />
This matches the 'uvoxauth' value in the sc_trans configuration file (see sc_trans.txt - section 3.11).<br />
<br />
'''streampublicserver''' : This allows you to override the public flag received from the source when a connection is being made to the YP directory. If this is not specified or is set to empty then 'publicserver' will be used.<br />
<br />
'''streamallowrelay''' : Enable to allow a relay to connect to the server. If this is not specified then 'allowrelay' will be used.<br />
<br />
'''streamallowpublicrelay''' : Enable to allow relays to list themselves in the YP directory. If this is not specified then 'allowpublicrelay' will be used.<br />
<br />
'''streamriponly''' : Enable to only allow connections to be made from reserved IP addresses. If this is not specified then 'riponly' will be used.<br />
<br />
'''streamautodumpsourcetime''' : Specify how long before an idle source will be dumped from the server (in seconds). A value of zero means there is no timeout of an idle source. If not specified then 'autodumpsourcetime' will be used.<br />
<br />
'''streamautodumpusers''' : Enable to allow the server to disconnect clients if the source disconnects. If not specified then 'autodumpusers' will be used.<br />
<br />
'''streamlistenertime''' : Specify the maximum time in minutes a client is allowed to listen to the stream. A value of zero means there will be no time limit. If not specified then 'listenertime' will be used.<br />
<br />
'''streamintrofile''' : File to play when a client first connects to the server. If this is not specified then 'introfile' will be used.<br />
<br />
'''streambackupfile''' : File to play if the source disconnects from the server. If this is not specified then 'backupfile' will be used.<br />
<br />
'''streambanfile''' : File to store the list of banned IP addresses. If this is not specified then 'banfile' will be used.<br />
<br />
'''streamripfile''' : File to store the list of banned IP addresses. If this is not specified then 'ripfile' will be used.<br />
<br />
'''streamw3clog''' : File to store the web connections logs into. If this is not specified then 'w3clog' will be used.<br />
<br />
<br />
===Web Connection (W3C) Logging===<br />
----<br />
<br />
'''w3cenable''' : Enable logging of web connections to describe the duration a client has listened to a specific title ''[Default = 1]''<br />
<br />
'''w3clog''' : File to store the web connections logs into ''[Default = sc_w3c.log]''<br />
<br />
If you are using a folder for saving the log into then you need to ensure that the folder<br />
already exists as sc_serv will not attempt to the create the folder for you.<br />
<br />
'''webclientdebug''' : Enable logging of web client connections ''[Default = 0]''<br />
<br />
<br />
===YP Server Behaviour===<br />
----<br />
<br />
'''uvoxcipherkey''' : Specify the key used to obfuscate the initial handshaking with the source ''[Default = foobar]''<br />
This is a SHOUTcast 2 only feature and it matches the 'djcipher' value in the sc_trans<br />
configuration file (see [[SHOUTcast_DNAS_Transcoder_2#DJ_Support|sc_trans.txt - section 3.3]]).<br />
<br />
Only change this if you really need to do so as not all SHOUTcast 2 clients will allow you to edit this value from the default value. If using the Source DSP plug-in then see [[Source_DSP_Plug-in#SHOUTcast_2_Cipher_Key|dsp_sc.txt - section 5.0]] for details on how to change the plug-in to use a differnet value.<br />
<br />
'''metainterval''' : Specify the metadata transmission interval in bytes ''[Default = 8192]''<br />
YP1 only<br />
<br />
'''yp2''' : Enable to use the SHOUTcast 2 protocol and related server features for access to the YP2 directory ''[Default = 1]''<br />
<br />
If this is enabled and not all of the required values are set then the server will throw an error and will abort from its start-up attempt. It should be indicated what needs to be set to allow the server to start with this set.<br />
<br />
Additionally if there is an issue then the server will report an error in its log ouput of 'Connection attempt failed. YP2 error code is XXX (<message>)' where XXX is one of the following error codes and <message> is a message set in the error response to indicate a bit more what the error relates to. All current error codes can be found [[#YP_Server_Errors|here]].<br />
<br />
'''ypaddr''' : Allows you to specify a different YP server if required ''[Default = yp.shoutcast.com]''<br />
<br />
'''ypport''' : Allows you to specify the port of the YP server if required ''[Default = 80]''<br />
<br />
'''ypPath''' : Allows you to specify the path to YP2 services on the server ''[Default = /yp2]''<br />
<br />
'''ypTimeout''' : Specify the timeout interval in seconds for requests made to the YP server ''[Default = 60]''<br />
<br />
'''ypmaxretries''' : Specify the maximum number of times a YP request will be attempted ''[Default = 10]''<br />
This generally applies only to YP1 connections and is related to the<br />
actual attempts to make and get a http response from the YP server.<br />
<br />
'''ypreportinterval''' : Specify the maximum time in which the YP must have contacted our server in seconds ''[Default = 300]''<br />
<br />
'''ypminreportinterval''' : Specify the minimum time in which the YP can contact our server in seconds ''[Default = 10]''<br />
<br />
'''publicserver''' : This allows you to override the public flag from the connected source when a connection is being made to the YP directory ''[Default = default]''<br />
This can be one of the following values:<br />
'''default''' - use the flag provided by the source<br />
'''always''' - force the source to be public<br />
'''never''' - never allow the use the flag provided by the source<br />
<br />
When using sc_trans this would match with the 'public' value (see [[SHOUTcast_DNAS_Transcoder_2#Metadata_Control|sc_trans.txt - section 3.8]]).<br />
<br />
<br />
===YP Server Errors===<br />
----<br />
<br />
If not all of the required values are set for a public listing then the DNAS server will throw an error and will abort its attempt to be listed in the Directory. It should be indicated the error is with one of the error codes provided below so it can be resolved.<br />
<br />
Additionally if there is an issue during Directory updates or removals, then the server will report an error in its log ouput as one of the following error codes and <message>.<br />
<br />
<br />
::{| class="wikitable" border="1" cellpadding="4" cellspacing="0" style="border: 1px thin black; margin: .46em 0 0 .2em;"<br />
|-<br />
! Status Code<br />
! Status Message<br />
|-<br />
| 400 || Generic error ''(covers all other cases usually from internal failures)''<br />
|-<br />
| 457 || Unrecoverable error while updating station information - DNAS restart required.<br />
|-<br />
| 470 || Invalid authorization hash<br />
|-<br />
| 471 || Invalid stream type (could be a bad bitrate or mime type)<br />
|-<br />
| 472 || Missing or invalid stream url<br />
|-<br />
| 473 || Server unreachable by YP<br />
|-<br />
| 474 || Relay url does not exist<br />
|-<br />
| 475 || Invalid server ID<br />
|-<br />
| 476 || Invalid max clients (value out of range or missing)<br />
|-<br />
| 477 || Terms of Service violator. You are being reported.<br />
|-<br />
| 478 || Incompatible protocol.<br />
|-<br />
| 479 || Streams requiring authorization are not public and cannot list here.<br />
|-<br />
| 480 || Cannot see your station/computer (URL: <streamurl>) from the Internet, disable Internet Sharing/NAT/firewall/ISP cache.<br />
|-<br />
| 481 || Cannot verify server since all listener slots are full. Please wait.<br />
|-<br />
| 482 || This network has been permanently banned due to a previous violation of the SHOUTcast directory terms of service<br />
|-<br />
| 483 || Invalid listeners (value out of range / missing)<br />
|-<br />
| 484 || Invalid avglistentime (value out of range / missing)<br />
|-<br />
| 485 || Invalid newsessions (value out of range / missing)<br />
|-<br />
| 486 || Invalid connects (value out of range / missing)<br />
|-<br />
| 487 || Request & Response objects are null<br />
|-<br />
| 488 || Request xml is null<br />
|-<br />
| 489 || YP command not specified<br />
|-<br />
| 490 || Generic error, while doing xml parsing<br />
|-<br />
| 491 || Generic error, while reading xml request<br />
|-<br />
| 492 || Error closing buffer / HTTP connection<br />
|-<br />
| 493 || Internal error - unable to acquire data source<br />
|-<br />
| 494 || Error updating information - DNAS restart required<br />
|-<br />
| 495 || Error acquiring station ID - DNAS restart required<br />
|-<br />
| 496 || Error converting data type<br />
|-<br />
| 497 || Inconsistent stream behaviour<br />
|-<br />
| 498 || Invalid Request (Invalid request received)<br />
|-<br />
| 499 || Error while getting information<br />
|}<br />
<br />
==Administration==<br />
<br />
With sc_serv there are administration pages available for accessing and controlling the server remotely which allows you to monitor and control clients connected to the stream (or not if banning them). These pages can now be accessed through a summary page at /index.html which will show a link to any active stream(s) or you explicitly access them via the /index.html?sid=# path where # is the ID of the stream (see [[#Stream_Configuration|section 4.12]] for more about using 'streamid') '''e.g.'''<br />
<streamurl>/index.html?sid=1<br />
<br />
If no sid or an invalid sid is passed then you will be taken to the summary /index.html and this will be applied even if you were on a page with a known ID and then enter an invalid sid or remove it purposefully.<br />
<br />
<br />
===Administration Pages===<br />
----<br />
<br />
As part of the administrative features provided there are the following pages where # is the streamid you want to use). This is not a complete list but should cover all of the pages which allow for a direct http url to be entered to get an administation action to work. The ban and reserve IP actions require input fields and do not map to direct sends.<br />
<br />
<br />
====Public Pages====<br />
----<br />
<br />
'''index.html''' - Shows a summary page with links to get to any active stream(s)<br />
<br />
'''currentsong?sid=#''' - Returns the current song title or a null response<br />
<br />
'''nextsong?sid=#''' - Returns the next song title (if known) or a null response<br />
currentsong and nextsong both provide a UTF-8 encoded string of the song title<br />
otherwise it will return effectively no response (ignoring the http header).<br />
<br />
'''nextsongs?sid=#''' - Returns in an xml format the next song title(s) (if known) to be played when using a compatible v2 stream source. See [[#XML_Responses|section 5.2]] for more details on the format of the xml returned).<br />
<br />
'''index.html?sid=#''' - Shows current status of the specified stream<br />
<br />
'''played.html?sid=#''' - Song history of specified playing history<br />
:or<br />
'''played?sid=#'''<br />
<br />
'''listen.pls?sid=#''' - Provides a PLS for file clients to use to connect to the stream.<br />
:or<br />
'''listen?sid=#'''<br />
<br />
'''listen.m3u?sid=#''' - Provides a M3U file for clients to use to connect to the stream.<br />
<br />
'''listen.asx?sid=#''' - Provides a ASX file for clients to use to connect to the stream.<br />
<br />
With the listen pages you either need to have specified an IP with 'dstip / destip'<br />
(see section 4.2) or leave empty and allow the server to attempt to auto-generate<br />
the IP required for the client to be able to connect. If this fails the generated<br />
playlist is likely to return a stream url like <nowiki>http://0.0.0.0:<portbase>/<path></nowiki><br />
<br />
'''home.html?sid=#''' or '''home?sid=#''' - Opens in a new window or tab (depending on the client browser) the 'streamurl' as specified by the stream source. If this is not set then the client will be redirected to the shoutcast.com main page.<br />
<br />
'''stats?sid=#''' - Provides an xml response for public accessibility which matches the private version from admin.cgi?sid=#&mode=viewxml&page=1. This is the modern version of the 7.html page as provided by the legacy v1 servers. See [[#XML_Responses|section 5.2]] for information on what is provided in the xml response.<br />
<br />
<br />
====Private Pages====<br />
----<br />
<br />
By passing &pass=password where password is the 'adminpassword' (see section [[#Networking|4.8]]) then it is possible<br />
to directly access the administration page(s) required. As well the base64 encoded version of the password<br />
can be passed as long as it is prefixed with ''YWRtaW46''<br />
e.g.<br />
&pass=changeme is the same as &pass=YWRtaW46Y2hhbmdlbWU=<br />
<br />
'''admin.cgi''' - Shows the an overal summary admin page for the streams provided by the server including direct links to certain information pages (see notes about the 'admin.cgi?sid=#&mode=viewxml' command for more info)<br />
:or<br />
'''admin.cgi?sid=0'''<br />
<br />
'''admin.cgi?sid=#''' - Shows the base admin page for the stream and information<br />
<br />
'''admin.cgi?sid=#&mode=updinfo&song=title''' <br />
:or<br />
'''admin.cgi?sid=#&mode=updinfo&type=xml&song=xml''' <br />
If 'title' is not empty then it will be set as the current song title for the stream<br />
specified until the next use of this action or the next title update is received from<br />
the source. Specifying '&type=xml' will process the value of 'song' as [[SHOUTcast_XML_Metadata_Specification|v2 XML metadata]]<br />
instead of a v1 title.<br />
<br />
'''admin.cgi?sid=#&mode=viewlog''' - View logfile<br />
<br />
'''admin.cgi?sid=#&mode=viewlog&viewlog=tail''' - View logfile (tailing)<br />
<br />
The tailing option keeps adding additional log entries to the end of the view whilst the view is active.<br />
As well any html or xml data in the log will not be shown correctly in the view as < > & are not escaped<br />
to their html entities. See [[#Logging|section 4.6]] for more information on the log file.<br />
<br />
'''admin.cgi?sid=#&mode=viewban''' - Ban view which matches the ban file and allows you to ban a single IP or an IP range from it (see [[#Banning|section 4.1]] for more info on the file)<br />
<br />
'''admin.cgi?sid=#&mode=viewrip''' - Reserved IP list that matches the rip file (see [[#Reserved_IP_.28RIP.29|section 4.11]] for more info on the file)<br />
<br />
'''admin.cgi?sid=#&mode=art''' or '''admin.cgi?sid=#&mode=art&art=playing''' - Displays the artwork SHOUTcast v2 compatible clients may be able to display if the SHOUTcast v2 source does provide it.<br />
<br />
The artwork mode is primarily intended as a debugging option to make it possible<br />
to see what (if anything) has been provided by the SHOUTcast v2 source.<br />
<br />
If no '&art=' is specified or not a matching option then the stream artwork (if<br />
available) will be shown. If no '&art=playing' is specified then this will show<br />
the playing file's artwork (if available).<br />
<br />
'''admin.cgi?sid=#&mode=viewxml''' or '''admin.cgi?sid=#&mode=viewxml&page=#''' - Returns an xml output of the current stream information<br />
<br />
If page is not set or is outside of the range zero to 6 then this will output all of the<br />
information as the standard viewxml action does. Otherwise this only display information<br />
depending on the value assigned to page which can be from 1 to 6 which maps as follows:<br />
<br />
1 - Server Summary (this is the same as using the public stats?sid=# action)<br />
2 - Not used (previously used for Webdata Stats but not in current builds)<br />
3 - Listener Stats<br />
4 - Song History<br />
5 - Stream Metadata (if supported by the source otherwise can just be title)<br />
6 - Stream Configurations (displays all of the known stream configurations though this is only available on admin.cgi)<br />
<br />
If accessing the standard viewxml or the listener stats (page = 3), you can also send<br />
'&iponly=1' which will filter the listener information (if there are any) to just output<br />
the IP instead of the additional information provided normally.<br />
<br />
'''admin.cgi?mode=resetxml&sid=#''' - Will flush the held stream information to refresh it<br />
<br />
'''admin.cgi?sid=#&mode=kicksrc''' - Will allow you to kick the currently connected source for the specified stream.<br />
<br />
'''admin.cgi?sid=#&mode=unripdst&ripdst=<IP>''' - Where <IP> is the IP to reserve (see [[#Reserved_IP_.28RIP.29|section 4.11]] for more information).<br />
<br />
'''admin.cgi?sid=#&mode=unbandst&bandst=<IP>.0&banmsk=0''' - Where <IP> is the first 3 parts of a subnet IP to unban.<br />
<br />
'''admin.cgi?sid=#&mode=unbandst&bandst=<IP>&banmsk=255''' - Where <IP> is that of a single IP to unban.<br />
<br />
'''admin.cgi?mode=rotate''' or '''admin.cgi?mode=rotate&files=log|w3c''' - This will rotate the log files set via the 'logfile', 'w3clog' and 'streamw3clog' options.<br />
If &files is specified then passing log or w3c will allow you to only<br />
rotate one type of file otherwise both will be rotated by this command.<br />
<br />
'''admin.cgi?mode=reload''' or '''admin.cgi?mode=reload&force=1''' - This reloads the stream configuration details in the main configuration file the server used when started and is only available on the admin summary page and so can only be run by the master administrator password.<br />
<br />
This command works on the server as a whole (hence no sid parameter) and it will add or<br />
remove or update any stream configuration as applicable which will cause any connected<br />
sources and clients to be kicked as applicable (usually if a stream configuration was removed).<br />
<br />
This will recognise any configurations included via 'include' entries so you can have 'include=stream/*.conf'<br />
in your main configuration file which the server can then use to detect different stream configurations.<br />
<br />
If '&force=1' is passed then the reload will treat the updating of active stream configurations in the<br />
same manner as a stream configuration removal instead of trying to update compatible stream configuration<br />
details without resetting the stream '''e.g.''' not increasing the 'streammaxuser' when it could be increased.<br />
<br />
The following configuration options are updated when using this command:<br />
<br />
password or streampassword (*) streamadminpassword (#)<br />
requirestreamconfigs streamid<br />
streamauthhash streampath<br />
streamrelayurl streammaxuser<br />
streampublicserver streamallowrelay<br />
streamallowpublicrelay streamriponly<br />
streamautodumpsourcetime streamautodumpusers<br />
streamlistenertime streamintrofile<br />
streambackupfile streambanfile<br />
streamripfile<br />
<br />
(*) This will depend upon the current values versus the new configuration values<br />
(#) The master 'adminpassword' can only be changed after a restart of the server<br />
<br />
<br />
===XML Responses===<br />
----<br />
<br />
As detailed in the previous sections, some of the administration actions will provide the information in an xml response. For information on what is actually returned in these xml responses see [[SHOUTcast_DNAS_Server_2_XML_Reponses|sc_serv2_xml_responses.txt]].<br />
<br />
<br />
==Stream Addresses==<br />
<br />
Clients connecting to the streams provided by sc_serv are able to so in a number of ways depending upon how the streams have been configured and also depending upon the number of streams you have available.<br />
<br />
The two main ways for a client to connect to a stream are as follows:<br />
<br />
<serverurl>/stream/<streamid>/<br />
or<br />
<serverurl>/<streampath><br />
<br />
<serverurl> is typically formed as <nowiki>http://dstip:portbase</nowiki> (see sections [[#Client_Behaviour|4.2]] and [[#Networking|4.8]])<br />
<streamid> is the 'streamid' set from the stream configuration (see [[#Stream_Configuration|section 4.12]])<br />
<streampath> is the 'streampath' set from the stream configuration (see [[#Stream_Configuration|section 4.12]])<br />
<br />
If the client attempting to connect to the server instance does not specify <streampath> or <streamid> in the stream url it attempts to access or if only one stream is provided then the server will usually default to the first stream it knows about and will allow the client to make a valid connection (though this is not guaranteed to happen).<br />
<br />
This handling of the stream addresses provided is something to keep in mind especially if you are providing multiple streams as this will allow you to provide different addresses for certain clients to be able to use a specific stream '''e.g.''' if you wanted to have mobile clients connect to a lower bandwidth stream then you could direct them to '<serverurl>/mobile'<br />
<br />
The server options available for controlling how the stream's path is specified can be seen in [[#Stream_Configuration|section 4.12]] which also details the equivalent values needing to be set in the sc_trans configuration if you use sc_trans to provide a source to sc_serv.<br />
<br />
<br />
==Locale Error (Linux / Mac OS X / BSD)==<br />
<br />
If you receive the following error then you have a locale related issues:<br />
<br />
terminate called after throwing an instance of 'std::runtime_error'<br />
what(): locale::facet::_S_create_c_locale name not valid<br />
Abort trap<br />
<br />
If this happens then you need to set the 'POSIX' locale in your terminal's environment values. If this does not happen then everything is fine or you are using a newer version of sc_serv from the end of 2010 which should no longer exhibit this issue.<br />
<br />
Linux:<br />
export LC_ALL=POSIX<br />
<br />
BSD:<br />
setenv LC_ALL POSIX<br />
<br />
Mac OS X:<br />
export LC_ALL=POSIX<br />
<br />
You can test to see if this has worked by checking the shell command "locale":<br />
<br />
LANG=<br />
LC_COLLATE="POSIX"<br />
LC_CTYPE="POSIX"<br />
LC_MESSAGES="POSIX"<br />
LC_MONETARY="POSIX"<br />
LC_NUMERIC="POSIX"<br />
LC_TIME="POSIX"<br />
LC_ALL="POSIX"<br />
<br />
<br />
==Virtual Memory Footprint (Linux / Mac OS X / BSD)==<br />
<br />
Due to how sc_serv works it will create a large number of threads which may become an issue due to the default virtual memory stack allocation per thread potentially being large (typically 10MB per thread). For most people this should not be an issue as the memory is not really allocated unless it is used. If however if you have a resource constrained system or if you plan on running many copies of sc_trans then you could potentially run out of virtual memory.<br />
<br />
The default thread allocation can be reduced by issuing a "ulimit" command before running sc_trans and in the example reduces it to 512KB per-thread '''e.g.''' ulimit -s 512<br />
<br />
<br />
==Maximum Client Connection Limits==<br />
<br />
In general, there are inherent limits on the maximum number of client connections which may be made to a running instances of sc_serv which can either be set by configuration limits e.g. 'maxuser', Operating System limits or bandwidth limits being reached.<br />
<br />
The first two are easy to resolve whereas the last (bandwidth limits) is something which will usually require obtaining additional hosting or paying for more available bandwidth.<br />
<br />
If reaching the Operating System limit, this is usually indicated by the maximum number of clients never going above a fixed value even if there is the bandwidth and the server has been configured to go higher. This usually appears as around 1016 maximum connections (though this can vary a bit)<br />
<br />
If using a non-Windows Operating System then you can use the 'ulimit -n xxxx' command to change the upper limit from what is already set which can be found from just 'ulimit -n' e.g. to change the limit to 4096 connections you would run ulimit -n 4096<br />
<br />
If using a Windows Operating System then there isn't any real way to change such things due to the OS hopefully being configured with limits that will not be reached when using sc_serv. If in doubt then consult the Microsoft support documentation for the OS used.<br />
<br />
<br />
==Example Configurations==<br />
<br />
Include as part of the sc_serv installation are a number of example configurations to get things started with using some of the features of the server. The provided examples are:<br />
<br />
sc_serv_basic.conf<br />
sc_serv_public.conf<br />
sc_serv_relay.conf<br />
sc_serv_simple.conf<br />
<br />
All of the configuration examples are documented and will relate back to details in this file appropriately. You will need to change some details in these example files or to obtain any applicable authorisation keys for the setup you are making ([[#Getting_Started|see section 3.0]]). In all cases the examples are designed to work from the same install folder as sc_serv.<br />
<br />
Remember these examples are a way to get you up and running faster though you are still likely to have to adjust things depending upon the systems you are using and how you want to manage your sources and server connections which are covered in previous sections.<br />
<br />
Additionally if you are not happy with editing the files or find it still too confusing then you can use the configuration builder which (if installed) can be found in the 'config_builder'. Open 'config_builder.html' in your browser and then use this graphical tool to setup a configuration file for the server (and additionally the transcoder).<br />
<br />
<br />
===sc_serv_basic===<br />
----<br />
<br />
This is the base configuration from which the other configuration examples are based and this will get a sc_serv instance running as a local setup with no connection made to the YP directory.<br />
<br />
<br />
===sc_serv_public===<br />
----<br />
<br />
This configuration file changes the required options in the sc_serv_basic configuration to get a sc_serv instance running as a public setup with a connection made to the YP for listing the stream in the directory. This shows the use of the 'include' option (see section [[#Miscellaneous|4.7]]) and how specifying a configuration option twice uses the last value found.<br />
<br />
<br />
===sc_serv_relay===<br />
----<br />
<br />
This configuration file changes the required options in the sc_serv_public configuration to get a sc_serv instance running as a public setup with a source coming in from a relay server providing a SHOUTcast 2 stream.<br />
<br />
<br />
===sc_serv_debug===<br />
----<br />
<br />
This configuration file can be included in any other configuration files to allow you to get debug logging output when trying to investigate any issues you may be experiencing.<br />
<br />
<br />
===sc_serv_simple===<br />
----<br />
<br />
Use this if you just need to get a very basic server running or are impatient<br />
or are struggling to get it running despite the previous example configurations.<br />
<br />
This configuration file is designed to be used just as is and is the simplest form of the configuration file you can have which will allow you to get a running server to appear on the YP. This works on using the default settings of the server though does change some of the file paths inorder to fit in with the existing setup as used in the other examples.<br />
<br />
All you need to do when using this configuration file is to enter your authorisation key in the 'streamauthhash' line '''e.g.''' if your authorisation key is '''123456789''' then you change ''streamauthhash=<enter_your_auth_key_here>'' to ''streamauthhash='''123456789''''' and save the file.</div>Jonathanhttp://wiki.shoutcast.com/wiki/SHOUTcast_DNAS_UpgradeSHOUTcast DNAS Upgrade2015-04-27T20:41:30Z<p>Jonathan: </p>
<hr />
<div>{{Template:NavBarSC}}<br />
<br />
<br />
== Easy Upgrading From SHOUTcast 1.98 == <br />
(First Revision - April 22, 2015) <br />
<br />
<br />
Many stations are still using Version 1.98, even though this software is now 10 years old and will not be supported much longer! The current version of the SHOUTcast software provides the exact same functionality as 1.98, but has many new features along with increased stability and efficiency. All stations are encouraged to update to the latest version as soon as possible. The update is easy, has been done thousands of times, and should only take about 5 minutes to accomplish.<br />
<br />
Here's how easy it is to update an existing SHOUTcast 1.98 server:<br />
<br />
1) Download the latest version of SHOUTcast by using the "Download" button at http://shoutcast.com/broadcastnow<br />
<br />
2) Make a backup copy of the folder containing your existing SHOUTcast DNAS server (1.98).<br />
<br />
3) Double-click on the file you downloaded containing the new SHOUTcast version – on Linux/Mac this will create a new folder with all the necessary files in it. On Windows, change the name of the destination folder to “ShoutcastV2”. <br />
<br />
4) Temporarily stop the SHOUTcast server.<br />
<br />
5) Look in the folder that was just created and locate three things - #1: the sc_serv[.exe] file, #2: the cacert.pem file and #3: the docs folder. Take the files (#1 & #2) and move them to the folder containing your old SHOUTcast server software (replacing what’s already there if necessary). Set aside the software documentation contained in #3 the docs folder so you have a local copy to refer to.<br />
<br />
6) Restart the SHOUTcast server. You're now running the latest version of SHOUTcast!<br />
<br />
Lastly, be aware that each stream on your new server is automatically assigned a "Stream ID". Depending on your situation, you may need to place <br />
:#StreamID<br />
after the password in any audio encoder(s) so they will connect to the server after the upgrade. Check out [http://wiki.shoutcast.com/wiki/SHOUTcast_Server_Source_Support] for an in-depth guide on connecting older "legacy" source audio encoders.<br />
<br />
OPTIONAL: Following the software upgrade, most stations will need to take one additional step to list their stream on SHOUTcast.com. A unique authorization key ("authhash") needs to be assigned to your stream. This key can be generated by the DNAS, or by registering your stream at the [http://shoutcast.com/broadcastnow SHOUTcast website]. For more information on getting your authhash, please see [http://wiki.shoutcast.com/wiki/SHOUTcast_Authhash_Management HERE]</div>Jonathanhttp://wiki.shoutcast.com/wiki/SHOUTcast_DNAS_UpgradeSHOUTcast DNAS Upgrade2015-04-27T20:40:35Z<p>Jonathan: </p>
<hr />
<div>{{Template:NavBarSC}}<br />
<br />
<br />
== Easy Upgrading From SHOUTcast 1.98 == <br />
(First Revision - April 22, 2015) <br />
<br />
<br />
Many stations are still using Version 1.98, even though this software is now 10 years old and will not be supported much longer! The current version of the SHOUTcast software provides the exact same functionality as 1.98, but has many new features along with increased stability and efficiency. All stations are encouraged to update to the latest version as soon as possible. The update is easy, has been done thousands of times, and should only take about 5 minutes to accomplish.<br />
<br />
Here's how easy it is to update an existing SHOUTcast 1.98 server:<br />
<br />
1) Download the latest version of SHOUTcast by using the "Download" button at http://shoutcast.com/broadcastnow<br />
<br />
2) Make a backup copy of the folder containing your existing SHOUTcast DNAS server (1.98).<br />
<br />
3) Double-click on the file you downloaded containing the new SHOUTcast version – on Linux/Mac this will create a new folder with all the necessary files in it. On Windows, change the name of the destination folder to “ShoutcastV2”. <br />
<br />
4) Temporarily stop the SHOUTcast server.<br />
<br />
5) Look in the folder that was just created and locate three things - #1: the sc_serv[.exe] file, #2: the cacert.pem file and #3: the docs folder. Take the files (#1 & #2) and move them to the folder containing your old SHOUTcast server software (replacing what’s already there if necessary). Set aside the software documentation contained in #3 the docs folder so you have a local copy to refer to.<br />
<br />
6) Restart the SHOUTcast server. You're now running the latest version of SHOUTcast!<br />
<br />
Lastly, be aware that each stream on your new server is automatically assigned a "Stream ID". Depending on your situation, you may need to place <br />
:#StreamID<br />
after the password in any audio encoder(s) so they will connect to the server after the upgrade. Check out [http://wiki.shoutcast.com/wiki/SHOUTcast_Server_Source_Support] for an in-depth guide on connecting older "legacy" source audio encoders.<br />
<br />
OPTIONAL: Following the software upgrade, most stations will need to take one additional step to list their stream on SHOUTcast.com. A unique authorization key ("authhash") needs to be assigned to your stream. This key can be generated by the DNAS, or by registering your stream at the [SHOUTcast website]. For more information on getting your authhash, please see [http://wiki.shoutcast.com/wiki/SHOUTcast_Authhash_Management]</div>Jonathanhttp://wiki.shoutcast.com/wiki/SHOUTcast_DNAS_UpgradeSHOUTcast DNAS Upgrade2015-04-27T20:40:11Z<p>Jonathan: </p>
<hr />
<div>{{Template:NavBarSC}}<br />
<br />
<br />
== Easy Upgrading From SHOUTcast 1.98 == <br />
(First Revision - April 22, 2015) <br />
<br />
<br />
Many stations are still using Version 1.98, even though this software is now 10 years old and will not be supported much longer! The current version of the SHOUTcast software provides the exact same functionality as 1.98, but has many new features along with increased stability and efficiency. All stations are encouraged to update to the latest version as soon as possible. The update is easy, has been done thousands of times, and should only take about 5 minutes to accomplish.<br />
<br />
Here's how easy it is to update an existing SHOUTcast 1.98 server:<br />
<br />
1) Download the latest version of SHOUTcast by using the "Download" button at http://shoutcast.com/broadcastnow<br />
<br />
2) Make a backup copy of the folder containing your existing SHOUTcast DNAS server (1.98).<br />
<br />
3) Double-click on the file you downloaded containing the new SHOUTcast version – on Linux/Mac this will create a new folder with all the necessary files in it. On Windows, change the name of the destination folder to “ShoutcastV2”. <br />
<br />
4) Temporarily stop the SHOUTcast server.<br />
<br />
5) Look in the folder that was just created and locate three things - #1: the sc_serv[.exe] file, #2: the cacert.pem file and #3: the docs folder. Take the files (#1 & #2) and move them to the folder containing your old SHOUTcast server software (replacing what’s already there if necessary). Set aside the software documentation contained in #3 the docs folder so you have a local copy to refer to.<br />
<br />
6) Restart the SHOUTcast server. You're now running the latest version of SHOUTcast!<br />
<br />
Lastly, be aware that each stream on your new server is automatically assigned a "Stream ID". Depending on your situation, you may need to place <br />
:#StreamID<br />
after the password in any audio encoder(s) so they will connect to the server after the upgrade. Check out [http://wiki.shoutcast.com/wiki/SHOUTcast_Server_Source_Support] for an in-depth guide on connecting older "legacy" source audio encoders.<br />
<br />
OPTIONAL: Following the software upgrade, most stations will need to take one additional step to list their stream on SHOUTcast.com. A unique authorization key ("authhash") needs to be assigned to your stream. This key can be generated by the DNAS, or by registering your stream at the [SHOUTcast website]. For more information on getting your authhash, please see [http://wiki.shoutcast.com/wiki/SHOUTcast_Authhash_Management]</div>Jonathanhttp://wiki.shoutcast.com/wiki/SHOUTcast_DNAS_UpgradeSHOUTcast DNAS Upgrade2015-04-27T20:39:25Z<p>Jonathan: </p>
<hr />
<div>{{Template:NavBarSC}}<br />
<br />
<br />
== Easy Upgrading From SHOUTcast 1.98 == (First Revision - April 22, 2015) <br />
<br />
<br />
Many stations are still using Version 1.98, even though this software is now 10 years old and will not be supported much longer! The current version of the SHOUTcast software provides the exact same functionality as 1.98, but has many new features along with increased stability and efficiency. All stations are encouraged to update to the latest version as soon as possible. The update is easy, has been done thousands of times, and should only take about 5 minutes to accomplish.<br />
<br />
Here's how easy it is to update an existing SHOUTcast 1.98 server:<br />
<br />
1) Download the latest version of SHOUTcast by using the "Download" button at http://shoutcast.com/broadcastnow<br />
<br />
2) Make a backup copy of the folder containing your existing SHOUTcast DNAS server (1.98).<br />
<br />
3) Double-click on the file you downloaded containing the new SHOUTcast version – on Linux/Mac this will create a new folder with all the necessary files in it. On Windows, change the name of the destination folder to “ShoutcastV2”. <br />
<br />
4) Temporarily stop the SHOUTcast server.<br />
<br />
5) Look in the folder that was just created and locate three things - #1: the sc_serv[.exe] file, #2: the cacert.pem file and #3: the docs folder. Take the files (#1 & #2) and move them to the folder containing your old SHOUTcast server software (replacing what’s already there if necessary). Set aside the software documentation contained in #3 the docs folder so you have a local copy to refer to.<br />
<br />
6) Restart the SHOUTcast server. You're now running the latest version of SHOUTcast!<br />
<br />
Lastly, be aware that each stream on your new server is automatically assigned a "Stream ID". Depending on your situation, you may need to place ":#StreamID" after the password in any audio encoder(s) so they will connect to the server after the upgrade. Check out [http://wiki.shoutcast.com/wiki/SHOUTcast_Server_Source_Support] for an in-depth guide on connecting older "legacy" source audio encoders.<br />
<br />
OPTIONAL: Following the software upgrade, most stations will need to take one additional step to list their stream on SHOUTcast.com. A unique authorization key ("authhash") needs to be assigned to your stream. This key can be generated by the DNAS, or by registering your stream at the [SHOUTcast website]. For more information on getting your authhash, please see [http://wiki.shoutcast.com/wiki/SHOUTcast_Authhash_Management]</div>Jonathanhttp://wiki.shoutcast.com/wiki/SHOUTcast_DNAS_UpgradeSHOUTcast DNAS Upgrade2015-04-27T20:39:10Z<p>Jonathan: </p>
<hr />
<div>{{Template:NavBarSC}}<br />
<br />
<br />
== Easy Upgrading From SHOUTcast 1.98 == (First Revision - April 22, 2015) <br />
<br />
<br />
Many stations are still using Version 1.98, even though this software is now 10 years old and will not be supported much longer! The current version of the SHOUTcast software provides the exact same functionality as 1.98, but has many new features along with increased stability and efficiency. All stations are encouraged to update to the latest version as soon as possible. The update is easy, has been done thousands of times, and should only take about 5 minutes to accomplish.<br />
<br />
Here's how easy it is to update an existing SHOUTcast 1.98 server:<br />
<br />
1) Download the latest version of SHOUTcast by using the "Download" button at http://shoutcast.com/broadcastnow<br />
<br />
2) Make a backup copy of the folder containing your existing SHOUTcast DNAS server (1.98).<br />
<br />
3) Double-click on the file you downloaded containing the new SHOUTcast version – on Linux/Mac this will create a new folder with all the necessary files in it. On Windows, change the name of the destination folder to “ShoutcastV2”. <br />
<br />
4) Temporarily stop the SHOUTcast server.<br />
<br />
5) Look in the folder that was just created and locate three things - #1: the sc_serv[.exe] file, #2: the cacert.pem file and #3: the docs folder. Take the files (#1 & #2) and move them to the folder containing your old SHOUTcast server software (replacing what’s already there if necessary). Set aside the software documentation contained in #3 the docs folder so you have a local copy to refer to.<br />
<br />
6) Restart the SHOUTcast server. You're now running the latest version of SHOUTcast!<br />
<br />
Lastly, be aware that each stream on your new server is automatically assigned a "Stream ID". Depending on your situation, you may need to place ":#StreamID" after the password in any audio encoder(s) so they will connect to the server after the upgrade. Check out [http://wiki.shoutcast.com/wiki/SHOUTcast_Server_Source_Support] for an in-depth guide on connecting older "legacy" source audio encoders.<br />
<br />
OPTIONAL: Following the software upgrade, most stations will need to take one additional step to list their stream on SHOUTcast.com. A unique authorization key ("authhash") needs to be assigned to your stream. This key can be generated by the DNAS, or by registering your stream at the [SHOUTcast website]. For more information on getting your authhash, please see [http://wiki.shoutcast.com/wiki/SHOUTcast_Authhash_Management]</div>Jonathanhttp://wiki.shoutcast.com/wiki/SHOUTcast_DNAS_UpgradeSHOUTcast DNAS Upgrade2015-04-27T20:38:57Z<p>Jonathan: </p>
<hr />
<div>{{Template:NavBarSC}}<br />
<br />
<br />
== Easy Upgrading From SHOUTcast 1.98 = = (First Revision - April 22, 2015) <br />
<br />
<br />
Many stations are still using Version 1.98, even though this software is now 10 years old and will not be supported much longer! The current version of the SHOUTcast software provides the exact same functionality as 1.98, but has many new features along with increased stability and efficiency. All stations are encouraged to update to the latest version as soon as possible. The update is easy, has been done thousands of times, and should only take about 5 minutes to accomplish.<br />
<br />
Here's how easy it is to update an existing SHOUTcast 1.98 server:<br />
<br />
1) Download the latest version of SHOUTcast by using the "Download" button at http://shoutcast.com/broadcastnow<br />
<br />
2) Make a backup copy of the folder containing your existing SHOUTcast DNAS server (1.98).<br />
<br />
3) Double-click on the file you downloaded containing the new SHOUTcast version – on Linux/Mac this will create a new folder with all the necessary files in it. On Windows, change the name of the destination folder to “ShoutcastV2”. <br />
<br />
4) Temporarily stop the SHOUTcast server.<br />
<br />
5) Look in the folder that was just created and locate three things - #1: the sc_serv[.exe] file, #2: the cacert.pem file and #3: the docs folder. Take the files (#1 & #2) and move them to the folder containing your old SHOUTcast server software (replacing what’s already there if necessary). Set aside the software documentation contained in #3 the docs folder so you have a local copy to refer to.<br />
<br />
6) Restart the SHOUTcast server. You're now running the latest version of SHOUTcast!<br />
<br />
Lastly, be aware that each stream on your new server is automatically assigned a "Stream ID". Depending on your situation, you may need to place ":#StreamID" after the password in any audio encoder(s) so they will connect to the server after the upgrade. Check out [http://wiki.shoutcast.com/wiki/SHOUTcast_Server_Source_Support] for an in-depth guide on connecting older "legacy" source audio encoders.<br />
<br />
OPTIONAL: Following the software upgrade, most stations will need to take one additional step to list their stream on SHOUTcast.com. A unique authorization key ("authhash") needs to be assigned to your stream. This key can be generated by the DNAS, or by registering your stream at the [SHOUTcast website]. For more information on getting your authhash, please see [http://wiki.shoutcast.com/wiki/SHOUTcast_Authhash_Management]</div>Jonathanhttp://wiki.shoutcast.com/wiki/SHOUTcast_Streaming_ServiceSHOUTcast Streaming Service2015-04-23T21:12:49Z<p>Jonathan: /* Free TuneIn API Access */</p>
<hr />
<div>{{Template:NavBarSC}}<br />
<br />
<br />
SHOUTcast's streaming and monetization program includes free tools for experienced internet broadcasters who desire to generate revenue with their stations. Utilizing a metadata or tone trigger (executed by the station), SHOUTcast's server-side ad injection system sends geotargeted ads to listeners based on their worldwide DMA (Designated Market Area). All inventory is supplied by TargetSpot, the largest audio ad house in the U.S, which recently added offices in europe. SHOUTcast's monetization program plays ads for listeners in the US, Spain, France, Germany, The UK, Belgium, and Switzerland, with more to come.<br />
<br />
Since TargetSpot is part of the Radionomy Group along with SHOUTcast, there are no middlemen or ad insertion fees, allowing SHOUTcast partner stations to earn a higher revenue share than they could with competitors. <br />
<br />
For stations not wishing to maintain their own servers, SHOUTcast offers free streaming using an advanced network of servers which host over 65 million hours of programming every month. <br />
<br />
All-in-all, SHOUTcast monetization is the most complete option for generating revenue with an audio stream. Find out more information about the SHOUTcast products at [http://shoutcast.com/broadcastnow?products&utm_source=footer&utm_medium=email&utm_term=TFN&utm_content=any%20outbound%20email&utm_campaign=SCwiki '''http://shoutcast.com/broadcastnow''']<br />
<br />
<br />
== Free TuneIn API Access ==<br />
<br />
All stations who participate in SHOUTcast's Revenue and Streaming Solutions can use the TuneIn's API (AirAPI), which helps grow your audience. TuneIn displays the currently playing song/artist in real time in their directory and with SHOUTcast's API integration, your station's "now playing" information will be sent to listeners looking for the music you're playing!<br />
<br />
You'll first need to get your station's API keys from TuneIn, just follow these simple instructions:<br />
(1) Goto http://tunein.com/broadcasters/api/ and get your API keys <br />
(2) Contact support@shoutcast.com and have them add your API information onto your account. <br />
(3) This service is provided FREE to stations who get approved for the SHOUTcast Monetization or Streaming services.<br />
<br />
==Licensing==<br />
''Note: SHOUTcast does not provide any music licensing of any kind to the stations that stream using our software and services, though we do partner with other services like Stream Licensing and Pronet which provide licensing coverage to online broadcasters.''</div>Jonathanhttp://wiki.shoutcast.com/wiki/SHOUTcast_Streaming_ServiceSHOUTcast Streaming Service2015-04-23T21:09:44Z<p>Jonathan: </p>
<hr />
<div>{{Template:NavBarSC}}<br />
<br />
<br />
SHOUTcast's streaming and monetization program includes free tools for experienced internet broadcasters who desire to generate revenue with their stations. Utilizing a metadata or tone trigger (executed by the station), SHOUTcast's server-side ad injection system sends geotargeted ads to listeners based on their worldwide DMA (Designated Market Area). All inventory is supplied by TargetSpot, the largest audio ad house in the U.S, which recently added offices in europe. SHOUTcast's monetization program plays ads for listeners in the US, Spain, France, Germany, The UK, Belgium, and Switzerland, with more to come.<br />
<br />
Since TargetSpot is part of the Radionomy Group along with SHOUTcast, there are no middlemen or ad insertion fees, allowing SHOUTcast partner stations to earn a higher revenue share than they could with competitors. <br />
<br />
For stations not wishing to maintain their own servers, SHOUTcast offers free streaming using an advanced network of servers which host over 65 million hours of programming every month. <br />
<br />
All-in-all, SHOUTcast monetization is the most complete option for generating revenue with an audio stream. Find out more information about the SHOUTcast products at [http://shoutcast.com/broadcastnow?products&utm_source=footer&utm_medium=email&utm_term=TFN&utm_content=any%20outbound%20email&utm_campaign=SCwiki '''http://shoutcast.com/broadcastnow''']<br />
<br />
<br />
== Free TuneIn API Access ==<br />
<br />
All stations who participate in SHOUTcast's Revenue and Streaming Solutions can use the TuneIn Radio API (AirAPI), which helps grow your audience. TuneIn displays the currently playing song/artist in real time in their directory and with SHOUTcast's API integration, your station's "now playing" information will be sent to listeners looking for the music you're playing!<br />
<br />
You'll first need to get your station's API keys from Tune In Radio, just follow these simple instructions:<br />
(1) Goto http://tunein.com/broadcasters/api/ and get your API keys <br />
(2) Contact support@shoutcast.com and have them add your API information onto your account. <br />
(3) This service is provided FREE to stations who get approved for the SHOUTcast Monetization or Streaming services. <br />
<br />
==Licensing==<br />
''Note: SHOUTcast does not provide any music licensing of any kind to the stations that stream using our software and services, though we do partner with other services like Stream Licensing and Pronet which provide licensing coverage to online broadcasters.''</div>Jonathanhttp://wiki.shoutcast.com/wiki/SHOUTcast_BroadcasterSHOUTcast Broadcaster2015-04-22T20:46:23Z<p>Jonathan: /* Supporting Documentation */</p>
<hr />
<div>{{Template:NavBarSC}}<br />
<br />
<br />
Here you can find copies of the SHOUTcast tools documentation and other information relating to using the SHOUTcast v2 system from the tools to details about the the SHOUTcast Radio Directory API. Most of the documentation is also provided in the installers / distribution files of the different SHOUTcast v2 system tools though the versions provided here should typically contain the most up-to-date version of the documentation relating to the currently provided version of the tools.<br />
<br />
<br />
=SHOUTcast Overview=<br />
<br />
This provides a look at how the SHOUTcast v2 system is designed to work along with some examples on different configurations of the SHOUTcast tools for getting a valid SHOUTcast system ''' → [[SHOUTcast_System_Overview|SHOUTcast System Overview]]'''<br />
<br />
<br />
=Getting Started=<br />
<br />
''' → [[SHOUTcast_Getting_Started_Guide|Getting Started Guide]]'''<br />
This is a step by step guide for how to get going with creating a SHOUTcast v2 system based around the provided example configuration files included with the current versions of the SHOUTcast tools and the Core documentation also provided <br />
<br />
'''Important:''' You need to be comfortable with the use of command-line tools before attempting to install or run<br />
a SHOUTcast server since the software is designed to be run using command-line tools. (HTML management is supported once the server is running)<br />
<br />
Current versions of SHOUTcast can be obtained from:<br />
<br />
::'''[http://shoutcast.com/broadcastnow?products&utm_source=follow%20up%20email&utm_medium=Smart%20Focus&utm_term=SHOUTcast&utm_content=feb2015&utm_campaign=wiki SHOUTcast Downloads]'''<br />
::or<br />
::'''[http://forums.shoutcast.com/showthread.php?t=324877 Support Forum Current Downloads Summary] (*)'''<br />
<br />
The forum link is a summary page and contains links to the latest versions of the tools such as when a new<br />
release has just happened or is being tested before it is provided via the '''[http://shoutcast.com/broadcastnow?products&utm_source=follow%20up%20email&utm_medium=Smart%20Focus&utm_term=SHOUTcast&utm_content=feb2015&utm_campaign=wiki Broadcast Tool Downloads]''' page.<br />
<br />
<br />
==Documentation / Help Files==<br />
<br />
::'''[[SHOUTcast_DNAS_Server_2|SHOUTcast DNAS Server v2 Core Documentation]]'''<br />
<br />
This link contains detailed documentation relating to the SHOUTcast 2.x DNAS software. These documents contain details on the configuration options provided along with useful information on the configuration along with specifics situations which may be experienced.<br />
<br />
==Supporting Documentation==<br />
<br />
Here you can find additional documentation which is helpful for many broadcasting setups:<br />
<br />
<br />
::'''[[SHOUTcast_Authhash_Management|SHOUTcast Authhash Management]]'''<br />
<br />
::'''[[SHOUTcast_Listing_Requirements|SHOUTcast Listing Requirements]]'''<br />
<br />
::'''[[SHOUTcast_Server_CDN_Features|SHOUTcast Server CDN Features]]'''<br />
<br />
::'''[[SHOUTcast_Server_Source_Support|SHOUTcast Server Source (Encoder) Support]]'''<br />
<br />
::'''[[SHOUTcast_DNAS_Server_2_XML_Reponses|SHOUTcast DNAS Server 2 XML Reponses]]'''<br />
<br />
::'''[[SHOUTcast_YP_Nak_Errors|SHOUTcast YP Nak Error Information]]'''<br />
<br />
::'''[[SHOUTcast_DNAS_Upgrade|Updating a SHOUTcast v1 server]]'''</div>Jonathanhttp://wiki.shoutcast.com/wiki/SHOUTcast_BroadcasterSHOUTcast Broadcaster2015-04-22T20:46:03Z<p>Jonathan: /* Getting Started */</p>
<hr />
<div>{{Template:NavBarSC}}<br />
<br />
<br />
Here you can find copies of the SHOUTcast tools documentation and other information relating to using the SHOUTcast v2 system from the tools to details about the the SHOUTcast Radio Directory API. Most of the documentation is also provided in the installers / distribution files of the different SHOUTcast v2 system tools though the versions provided here should typically contain the most up-to-date version of the documentation relating to the currently provided version of the tools.<br />
<br />
<br />
=SHOUTcast Overview=<br />
<br />
This provides a look at how the SHOUTcast v2 system is designed to work along with some examples on different configurations of the SHOUTcast tools for getting a valid SHOUTcast system ''' → [[SHOUTcast_System_Overview|SHOUTcast System Overview]]'''<br />
<br />
<br />
=Getting Started=<br />
<br />
''' → [[SHOUTcast_Getting_Started_Guide|Getting Started Guide]]'''<br />
This is a step by step guide for how to get going with creating a SHOUTcast v2 system based around the provided example configuration files included with the current versions of the SHOUTcast tools and the Core documentation also provided <br />
<br />
'''Important:''' You need to be comfortable with the use of command-line tools before attempting to install or run<br />
a SHOUTcast server since the software is designed to be run using command-line tools. (HTML management is supported once the server is running)<br />
<br />
Current versions of SHOUTcast can be obtained from:<br />
<br />
::'''[http://shoutcast.com/broadcastnow?products&utm_source=follow%20up%20email&utm_medium=Smart%20Focus&utm_term=SHOUTcast&utm_content=feb2015&utm_campaign=wiki SHOUTcast Downloads]'''<br />
::or<br />
::'''[http://forums.shoutcast.com/showthread.php?t=324877 Support Forum Current Downloads Summary] (*)'''<br />
<br />
The forum link is a summary page and contains links to the latest versions of the tools such as when a new<br />
release has just happened or is being tested before it is provided via the '''[http://shoutcast.com/broadcastnow?products&utm_source=follow%20up%20email&utm_medium=Smart%20Focus&utm_term=SHOUTcast&utm_content=feb2015&utm_campaign=wiki Broadcast Tool Downloads]''' page.<br />
<br />
<br />
==Documentation / Help Files==<br />
<br />
::'''[[SHOUTcast_DNAS_Server_2|SHOUTcast DNAS Server v2 Core Documentation]]'''<br />
<br />
This link contains detailed documentation relating to the SHOUTcast 2.x DNAS software. These documents contain details on the configuration options provided along with useful information on the configuration along with specifics situations which may be experienced.<br />
<br />
==Supporting Documentation==<br />
<br />
Here you can find additional documentation which is helpful for many broadcasting setups:<br />
<br />
::'''[[SHOUTcast_DNAS_Upgrade|Updating a SHOUTcast v1 server]]''' <br />
<br />
::'''[[SHOUTcast_Authhash_Management|SHOUTcast Authhash Management]]'''<br />
<br />
::'''[[SHOUTcast_Listing_Requirements|SHOUTcast Listing Requirements]]'''<br />
<br />
::'''[[SHOUTcast_Server_CDN_Features|SHOUTcast Server CDN Features]]'''<br />
<br />
::'''[[SHOUTcast_Server_Source_Support|SHOUTcast Server Source (Encoder) Support]]'''<br />
<br />
::'''[[SHOUTcast_DNAS_Server_2_XML_Reponses|SHOUTcast DNAS Server 2 XML Reponses]]'''<br />
<br />
::'''[[SHOUTcast_YP_Nak_Errors|SHOUTcast YP Nak Error Information]]'''</div>Jonathanhttp://wiki.shoutcast.com/wiki/SHOUTcast_BroadcasterSHOUTcast Broadcaster2015-04-22T20:41:04Z<p>Jonathan: /* Getting Started */</p>
<hr />
<div>{{Template:NavBarSC}}<br />
<br />
<br />
Here you can find copies of the SHOUTcast tools documentation and other information relating to using the SHOUTcast v2 system from the tools to details about the the SHOUTcast Radio Directory API. Most of the documentation is also provided in the installers / distribution files of the different SHOUTcast v2 system tools though the versions provided here should typically contain the most up-to-date version of the documentation relating to the currently provided version of the tools.<br />
<br />
<br />
=SHOUTcast Overview=<br />
<br />
This provides a look at how the SHOUTcast v2 system is designed to work along with some examples on different configurations of the SHOUTcast tools for getting a valid SHOUTcast system ''' → [[SHOUTcast_System_Overview|SHOUTcast System Overview]]'''<br />
<br />
<br />
=Getting Started=<br />
<br />
This is a step by step guide for how to get going with creating a SHOUTcast v2 system based around the provided example configuration files included with the current versions of the SHOUTcast tools and the Core documentation also provided ''' → [[SHOUTcast_Getting_Started_Guide|Getting Started Guide]]'''<br />
'''Important:''' You need to be happy with the use of command-line tools before attempting to install or run<br />
a SHOUTcast system as all versions of the 2.x DNAS Server are designed to work as command-line tools.<br />
<br />
Current versions of the SHOUTcast tools can be obtained from:<br />
<br />
::'''[http://shoutcast.com/broadcastnow?products&utm_source=follow%20up%20email&utm_medium=Smart%20Focus&utm_term=SHOUTcast&utm_content=feb2015&utm_campaign=wiki SHOUTcast Downloads]'''<br />
::or<br />
::'''[http://forums.shoutcast.com/showthread.php?t=324877 Support Forum Current Downloads Summary] (*)'''<br />
<br />
The forum link is a summary page and contains links to the latest versions of the tools such as when a new<br />
release has just happened or is being tested before it is provided via the '''[http://shoutcast.com/broadcastnow?products&utm_source=follow%20up%20email&utm_medium=Smart%20Focus&utm_term=SHOUTcast&utm_content=feb2015&utm_campaign=wiki Broadcast Tool Downloads]''' page.<br />
<br />
<br />
==Core Documentation==<br />
<br />
::'''[[SHOUTcast_DNAS_Server_2|SHOUTcast DNAS Server v2 Documentation]]'''<br />
<br />
This link contains detailed, core documentation relating to the SHOUTcast 2.x DNAS software. These documents contain details on the configuration options provided along with useful information on the configuration along with specifics situations which may be experienced.<br />
<br />
==Supporting Documentation==<br />
<br />
Here you can find copies of additional documentation which is referenced by the core documentation or helpful for broadcasting setups and related SHOUTcast interactions.<br />
<br />
::'''[[SHOUTcast_DNAS_Upgrade|Updating a SHOUTcast v1 server]]''' <br />
<br />
::'''[[SHOUTcast_Authhash_Management|SHOUTcast Authhash Management]]'''<br />
<br />
::'''[[SHOUTcast_Listing_Requirements|SHOUTcast Listing Requirements]]'''<br />
<br />
::'''[[SHOUTcast_Server_CDN_Features|SHOUTcast Server CDN Features]]'''<br />
<br />
::'''[[SHOUTcast_Server_Source_Support|SHOUTcast Server Source (Encoder) Support]]'''<br />
<br />
::'''[[SHOUTcast_DNAS_Server_2_XML_Reponses|SHOUTcast DNAS Server 2 XML Reponses]]'''<br />
<br />
::'''[[SHOUTcast_YP_Nak_Errors|SHOUTcast YP Nak Error Information]]'''</div>Jonathanhttp://wiki.shoutcast.com/wiki/SHOUTcast_BroadcasterSHOUTcast Broadcaster2015-04-22T20:40:27Z<p>Jonathan: /* Core Documentation */</p>
<hr />
<div>{{Template:NavBarSC}}<br />
<br />
<br />
Here you can find copies of the SHOUTcast tools documentation and other information relating to using the SHOUTcast v2 system from the tools to details about the the SHOUTcast Radio Directory API. Most of the documentation is also provided in the installers / distribution files of the different SHOUTcast v2 system tools though the versions provided here should typically contain the most up-to-date version of the documentation relating to the currently provided version of the tools.<br />
<br />
<br />
=SHOUTcast Overview=<br />
<br />
This provides a look at how the SHOUTcast v2 system is designed to work along with some examples on different configurations of the SHOUTcast tools for getting a valid SHOUTcast system ''' → [[SHOUTcast_System_Overview|SHOUTcast System Overview]]'''<br />
<br />
<br />
=Getting Started=<br />
<br />
This is a step by step guide for how to get going with creating a SHOUTcast v2 system based around the provided example configuration files included with the current versions of the SHOUTcast tools and the Core documentation also provided ''' → [[SHOUTcast_Getting_Started_Guide|Getting Started Guide]]'''<br />
'''Important:''' You need to be happy with the use of command-line tools before attempting to install or run<br />
a SHOUTcast system as all versions of the 2.x DNAS Server are designed to work as command-line tools.<br />
<br />
Current versions of the SHOUTcast tools can be obtained from:<br />
<br />
::'''[http://shoutcast.com/broadcastnow?products&utm_source=follow%20up%20email&utm_medium=Smart%20Focus&utm_term=SHOUTcast&utm_content=feb2015&utm_campaign=wiki Broadcast Tool Downloads]'''<br />
::or<br />
::'''[http://forums.shoutcast.com/showthread.php?t=324877 Support Forum Current Downloads Summary] (*)'''<br />
<br />
The forum link is a summary page and contains links to the latest versions of the tools such as when a new<br />
release has just happened or is being tested before it is provided via the '''[http://shoutcast.com/broadcastnow?products&utm_source=follow%20up%20email&utm_medium=Smart%20Focus&utm_term=SHOUTcast&utm_content=feb2015&utm_campaign=wiki Broadcast Tool Downloads]''' page.<br />
<br />
<br />
==Core Documentation==<br />
<br />
::'''[[SHOUTcast_DNAS_Server_2|SHOUTcast DNAS Server v2 Documentation]]'''<br />
<br />
This link contains detailed, core documentation relating to the SHOUTcast 2.x DNAS software. These documents contain details on the configuration options provided along with useful information on the configuration along with specifics situations which may be experienced.<br />
<br />
==Supporting Documentation==<br />
<br />
Here you can find copies of additional documentation which is referenced by the core documentation or helpful for broadcasting setups and related SHOUTcast interactions.<br />
<br />
::'''[[SHOUTcast_DNAS_Upgrade|Updating a SHOUTcast v1 server]]''' <br />
<br />
::'''[[SHOUTcast_Authhash_Management|SHOUTcast Authhash Management]]'''<br />
<br />
::'''[[SHOUTcast_Listing_Requirements|SHOUTcast Listing Requirements]]'''<br />
<br />
::'''[[SHOUTcast_Server_CDN_Features|SHOUTcast Server CDN Features]]'''<br />
<br />
::'''[[SHOUTcast_Server_Source_Support|SHOUTcast Server Source (Encoder) Support]]'''<br />
<br />
::'''[[SHOUTcast_DNAS_Server_2_XML_Reponses|SHOUTcast DNAS Server 2 XML Reponses]]'''<br />
<br />
::'''[[SHOUTcast_YP_Nak_Errors|SHOUTcast YP Nak Error Information]]'''</div>Jonathanhttp://wiki.shoutcast.com/wiki/SHOUTcast_BroadcasterSHOUTcast Broadcaster2015-04-22T20:39:39Z<p>Jonathan: /* Supporting Documentation */</p>
<hr />
<div>{{Template:NavBarSC}}<br />
<br />
<br />
Here you can find copies of the SHOUTcast tools documentation and other information relating to using the SHOUTcast v2 system from the tools to details about the the SHOUTcast Radio Directory API. Most of the documentation is also provided in the installers / distribution files of the different SHOUTcast v2 system tools though the versions provided here should typically contain the most up-to-date version of the documentation relating to the currently provided version of the tools.<br />
<br />
<br />
=SHOUTcast Overview=<br />
<br />
This provides a look at how the SHOUTcast v2 system is designed to work along with some examples on different configurations of the SHOUTcast tools for getting a valid SHOUTcast system ''' → [[SHOUTcast_System_Overview|SHOUTcast System Overview]]'''<br />
<br />
<br />
=Getting Started=<br />
<br />
This is a step by step guide for how to get going with creating a SHOUTcast v2 system based around the provided example configuration files included with the current versions of the SHOUTcast tools and the Core documentation also provided ''' → [[SHOUTcast_Getting_Started_Guide|Getting Started Guide]]'''<br />
'''Important:''' You need to be happy with the use of command-line tools before attempting to install or run<br />
a SHOUTcast system as all versions of the 2.x DNAS Server are designed to work as command-line tools.<br />
<br />
Current versions of the SHOUTcast tools can be obtained from:<br />
<br />
::'''[http://shoutcast.com/broadcastnow?products&utm_source=follow%20up%20email&utm_medium=Smart%20Focus&utm_term=SHOUTcast&utm_content=feb2015&utm_campaign=wiki Broadcast Tool Downloads]'''<br />
::or<br />
::'''[http://forums.shoutcast.com/showthread.php?t=324877 Support Forum Current Downloads Summary] (*)'''<br />
<br />
The forum link is a summary page and contains links to the latest versions of the tools such as when a new<br />
release has just happened or is being tested before it is provided via the '''[http://shoutcast.com/broadcastnow?products&utm_source=follow%20up%20email&utm_medium=Smart%20Focus&utm_term=SHOUTcast&utm_content=feb2015&utm_campaign=wiki Broadcast Tool Downloads]''' page.<br />
<br />
<br />
==Core Documentation==<br />
<br />
::'''[[SHOUTcast_DNAS_Server_2|SHOUTcast DNAS Server 2 (sc_serv)]]'''<br />
<br />
This link contains detailed, core documentation relating to the SHOUTcast 2.x DNAS software. These documents contain details on the configuration options provided along with useful information on the configuration along with specifics situations which may be experienced.<br />
<br />
==Supporting Documentation==<br />
<br />
Here you can find copies of additional documentation which is referenced by the core documentation or helpful for broadcasting setups and related SHOUTcast interactions.<br />
<br />
::'''[[SHOUTcast_DNAS_Upgrade|Updating a SHOUTcast v1 server]]''' <br />
<br />
::'''[[SHOUTcast_Authhash_Management|SHOUTcast Authhash Management]]'''<br />
<br />
::'''[[SHOUTcast_Listing_Requirements|SHOUTcast Listing Requirements]]'''<br />
<br />
::'''[[SHOUTcast_Server_CDN_Features|SHOUTcast Server CDN Features]]'''<br />
<br />
::'''[[SHOUTcast_Server_Source_Support|SHOUTcast Server Source (Encoder) Support]]'''<br />
<br />
::'''[[SHOUTcast_DNAS_Server_2_XML_Reponses|SHOUTcast DNAS Server 2 XML Reponses]]'''<br />
<br />
::'''[[SHOUTcast_YP_Nak_Errors|SHOUTcast YP Nak Error Information]]'''</div>Jonathanhttp://wiki.shoutcast.com/wiki/SHOUTcast_DNAS_UpgradeSHOUTcast DNAS Upgrade2015-04-22T20:38:25Z<p>Jonathan: </p>
<hr />
<div>{{Template:NavBarSC}}<br />
<br />
<br />
This is a placeholder. Instructions coming on 4/22</div>Jonathanhttp://wiki.shoutcast.com/wiki/SHOUTcast_DNAS_UpgradeSHOUTcast DNAS Upgrade2015-04-22T20:37:25Z<p>Jonathan: Created page with "This is a placeholder. Instructions coming on 4/22"</p>
<hr />
<div>This is a placeholder. Instructions coming on 4/22</div>Jonathanhttp://wiki.shoutcast.com/wiki/SHOUTcast_Server_CDN_FeaturesSHOUTcast Server CDN Features2015-04-22T20:36:32Z<p>Jonathan: /* Introduction */</p>
<hr />
<div>{{Template:NavBarSC}}<br />
<br />
<br />
==Introduction==<br />
<br />
When running the SHOUTcast DNAS server in a CDN (streaming provider) situation, since v2.4.1, there are some additional configuration options which can be used to make it easier to automatically setup CDN master-slave (relay) configurations and allow for streams not listed in the SHOUTcast Directory to still be able to make use of the DNAS+ functionality i.e. the magnetization services when streaming.<br />
<br />
The automatic setup provided is where a CDN slave is able to inherit the authhash of the CDN master when it connects to the CDN master which can make it quicker to create and update multi-DNAS clusters without having to manually configure all aspects of the DNAS configurations (though you can still do that it you prefer to do so).<br />
<br />
Also, SHOUTcast now offers partnerships with select CDN's which allows them to offer monetization to their clients through our sister company, TargetSpot. This includes a generous revenue share percentage for the CDN! Please see the [http://shoutcast.com/broadcastnow] website for details.<br />
<br />
==Configuration Options==<br />
<br />
The configuration options work in-conjunction with the existing DNAS server configuration options (unless otherwise stated) as detailed in the [[SHOUTcast_DNAS_Server_2#Configuration_File|DNAS Server (section 4.0)]] documentation. It is assumed throughout that the DNAS server has been correctly configured with all applicable passwords, etc as needed so that the DNAS server will allow the YP server, source clients and listener clients to connect as required.<br />
<br />
'''cdn''' : This is used to control whether the DNAS is running in CDN mode or not and the specific level of functionality enabled ''[Default = <no value>]''<br />
<br />
This has to be one of the following values when using the DNAS+ for CDN service:<br />
<br />
:: '''on''' → This enables '''opt-in''' mode where all streams needing CDN behaviour have to be specifically configured to use it<br />
:: '''always''' → This enables '''opt-out''' mode where all streams will by default be able to work as CDN masters and CDN slaves<br />
:: '''master''' → This is a hybrid mode so all streams will by default be able to work as a CDN master but need to be manually configured to work as a CDN slave (if required)<br />
<br />
Using 'cdn=master' is recommended for source DNAS in a master-slave<br />
configuration where it is not needed to have any CDN slave configured.<br />
<br />
<br />
'''<MULTI>''' (one set for each stream configuration as required). See [[SHOUTcast_DNAS_Server_2#Configuration_File|DNAS Server (section 4.0)]] if unsure how to use <MULTI> options.<br />
<br />
In all cases it is possible to override the behaviour (opt-in or opt-out)<br />
on a per-stream basis. If not specified then the global value is used.<br />
<br />
<br />
'''cdnmaster''' : This controls if the stream is allowed to act as a CDN master ''[Default = <automatic>]''<br />
<br />
If not specified then this is assumed as one of the following values based on the ''''cdn'''' mode:<br />
<br />
:: '''cdn=on''' → cdnmaster=0<br />
:: '''cdn=always''' → cdnmaster=1<br />
:: '''cdn=master''' → cdnmaster=1<br />
<br />
<br />
'''cdnslave''' : This controls if the stream is allowed to act as a CDN slave ''[Default = <automatic>]''<br />
<br />
If not specified then this is assumed as one of the following values based on the ''''cdn'''' mode:<br />
<br />
:: '''cdn=on''' → cdnslave=0<br />
:: '''cdn=always''' → cdnslave=1<br />
:: '''cdn=master''' → cdnslave=0<br />
<br />
<br />
The Server Admin Summary page ('''admin.cgi?sid=0''') will show the CDN mode that each of the streams have been configured. Additionally the Admin Summary page ('''admin.cgi?sid=x''' where '''x''' is the stream number) will indicate if a CDN slave is connected to the stream.<br />
<br />
<br />
===Relay Streams===<br />
----<br />
A key feature of the CDN functionality is the ability to make it simpler to create master-slave relay setups and so allow for easier multiple DNAS clustering if such functionality is required for the stream(s). If not required see [[#Standard Streams|Standard Streams]].<br />
<br />
By configuring the DNAS for a stream as master(s) and slave(s) as needed and following the requirements detailed in the following sections, it is possible to have a CDN slave automatically obtain the details needed (via authhash inheritence) to then be listed in the SHOUTcast Directory or to act as an intermediary DNAS server which in-turn is able to provide authhash inheritence to CDN slaves connected to it and so on.<br />
<br />
<br />
====Master====<br />
----<br />
When a stream is configured as a CDN master, it will only allow authhash inheritence for a CDN slave if the connecting CDN slave is correctly reported as one and that the address of the slave is in the [[SHOUTcast_DNAS_Server_2#Reserved_List|Reserved List (section 4.11)]].<br />
<br />
This requirement of the CDN slave being in the Reserved List is force enabled (equivalent of setting ''''riponly=1'''' or ''''streamriponly=1'''') when enabling CDN mode and is done to ensure that only allowed CDN slave connections can join the stream(s) on the CDN master.<br />
<br />
<br />
====Slave====<br />
----<br />
When a stream is configured as a CDN slave, it will only be allowed to connect to a CDN master if the master has been correctly configured to allow connections from the host / IP address reported by the CDN slave on connection.<br />
<br />
If the master is not configured as a valid CDN master then the CDN slave will not inherit the authhash of the CDN master and it also may not be allowed to connect as relay (due to the [[SHOUTcast_DNAS_Server_2#Reserved_List|Reserved List (section 4.11)]] requirement).<br />
<br />
<br />
====Intermediary====<br />
----<br />
When a stream is configured as a CDN intermediary, it will work as both a CDN master and as a CDN slave. This is helpful if wanting to have intermediary layers in a CDN setup whilst still being able to have authhash inheritence to ensure that all of the public facing CDN slaves provide the correct stream details.<br />
<br />
<br />
===Standard Streams===<br />
----<br />
A standard stream is one where you are not needing to have a master-slave pairing (when there is no relaying required) or you do not require authhash inheritence support but still require the monetisation functionality to work.<br />
<br />
For such setups, ensuring you have ''''cdn=on'''' specified in the DNAS server configuration file is all that is needed so the streams are handled in the ''''opt-in'''' mode which will prevent unwanted master-slave relay configurations whilst still allowing all other functionality to work.<br />
<br />
This mode does not prevent you from configuring other streams on the same DNAS server to be able to work as a CDN master or CDN slave which requires specifying the ''''cdnmaster'''' and / or ''''cdnslave'''' configuration options as required for the setup</div>Jonathanhttp://wiki.shoutcast.com/wiki/SHOUTcast_Authhash_ManagementSHOUTcast Authhash Management2015-04-17T22:29:18Z<p>Jonathan: /* Updating */</p>
<hr />
<div>{{Template:NavBarSC}}<br />
<br />
<br />
==Introduction==<br />
One of the key aspects of the new YP2 directory infrastructure is an authorization key (authhash) which is used to validate your server when it tries to connect to the YP2 infrastructure for any of the station(s) you run. Once this key is obtained, it will be valid for all root servers of the station being broadcast.<br />
<br />
You can obtain multiple authorization keys if broadcasting the same stream content at different bitrates so they will appear separately in the SHOUTcast Directory listings. This is not needed if broadcasting the same content in MP3 and AAC+ formats as the SHOUTcast Directory will automatically list those streams separately.<br />
<br />
Make sure you are using a recent version of the DNAS which can be downloaded from http://www.shoutcast.com/broadcastnow.<br />
<br />
<br />
===When is an Authorization Key needed?===<br />
<br />
The DNAS server can be run in two modes:<br />
*'''Public''' - If you want your station to appear in the SHOUTcast Directory listings<br />
*'''Private''' - If you do not want your station to be listed e.g. an internal company station<br />
<br />
If you want the station to be '''public''' then you will need an authorization key, otherwise it is not needed for '''private''' stations.<br />
<br />
If you want to run the DNAS privately then you can change the appropriate setting in the stream source being used. Otherwise you can change '''publicserver''' or '''streampublicserver''' (if needing stream specific control) to be ''never'' in the DNAS's configuration file e.g. '''publicserver=never'''.<br />
<br />
==Management==<br />
[[Image:Summary.png|thumb|right|DNAS Summary Page]][[Image:Starting.png|thumb|right|Administrator Summary Page]]To obtain a unique authentication key you first need to have setup the DNAS and have a source (such as the Source DSP or Transcoder) correctly connected so the stream is recognised by the DNAS. This can be determined from looking at the '''DNAS Summary''' page which will show any active stream(s) - if there are none then you will need to re-check the source is showing it is connected to the DNAS server.<br />
<br />
<br />
The next step is to login to the '''Administrator Summary''' page which is accessed via the '''Administrator Login''' on the '''DNAS Summary''' page (found at the top right as shown in the image of the '''DNAS Summary''' page). If DNAS server is running on the same machine then you can usually access it directly at http://127.0.0.1:8000/admin.cgi. If you have changed 'portbase' then change 8000 to the value specified for 'portbase' in your config file.<br />
<br />
To login, the username is '''admin''' and the password is the configured [[SHOUTcast_DNAS_Server_2#Networking|'''adminpassword''']]<br />
<br />
If you are accessing the DNAS server remotely or on another machine then you will need to change 127.0.0.1 to the appropriate IP address of the machine you are trying to access.<br />
<br />
On the '''Administrator Summary''' page, you will see all streams with a source connected to them, with '''Create Authhash''', '''Update Authhash''' and '''Remove Authhash''' options shown as appropriate beneath the stream number.<br />
<br />
<br />
===Creating===<br />
[[Image:Editing.png|thumb|right|Creating an Authhash]][[Image:Completed.png|thumb|right|Created an Authhash]]To create an authhash for a stream then you need to click the '''Create Authhash''' link. This will take you to another page where you need to fill in the missing fields as applicable for your stream as the DNAS attempts to fill in fields with the information obtained from the connected source. Once all of the required information has been entered then click the '''Create Authhash''' button.<br />
<br />
If there is a missing field or something is not right when attempting to create the authhash, then you will see a message showing what needs to be entered or changed or what to do to get additional help.<br />
<br />
On successful creation, the new authhash will be saved into your configuration file either in the root configuration file or one where there's an empty streamauthhash entry matching the stream identifier. When you go back to the '''Administrator Summary''' page the '''Create Authhash''' link will have changed to '''Update Authhash''' and '''Remove Authhash''' links.<br />
<br />
It can take up to 10 minutes for the new authhash to be fully recognised so if you have made a mistake or are trying to get listed quickly, please allow the required time for your changes to take effect.<br />
<br />
===Updating===<br />
Updating an authhash is the same as creating an authhash just with the existing information of the authhash shown in the fields allowing for them to be edited. If there are no issues and the authhash can be updated from the machine used (with it having the same external IP as used to create the authhash) then any changes made should be updated in the YP system.<br />
<br />
If there is a missing field or something is not right when attempting to create the authhash, then you will see a message showing what needs to be entered or changed or what to do to get additional help.<br />
<br />
It can take up to 10 minutes for changed details to be fully recognized so if you have made a mistake or are trying to get listed then you will need to wait.<br />
<br />
===Removing===<br />
[[Image:Removed.png|thumb|right|Removed an Authhash]]Removing an authhash is a simple action of clicking the '''Remove Authhash''' link. If there are no issues and the authhash can be removed from the machine used (with it having the same external IP as used to create the authhash) then it will be removed from the YP system and also from your configuration file.<br />
<br />
<br />
===Duplicating===<br />
If you want to use the same authhash on another stream (e.g. if only the stream format is different or you want to group the same stream content) then you will need to manually edit you configuration file by setting the relevant streamauthhash entry for the required stream configuration group and use the '''Reload All Stream Configuration(s)''' option on the '''Administrator Summary''' page.<br />
<br />
<br />
==Management Issues==<br />
<br />
Updating or removing an authhash requires the same external IP of the machine to be found by the YP against what was used when the authhash was created. If this external IP has changed then you will need to contact support via [http://forums.winamp.com/showthread.php?t=331394 this forum thread] ensuring all required information is provided as is detailed.<br />
<br />
If you experience other issues with managing your authhashes via the options provided, make sure you follow any information provided to attempt to resolve the issue. If that still does not work then you will need to contact support via [http://forums.winamp.com/showthread.php?t=331394 this forum thread] ensuring all required information is provided as is detailed.<br />
<br />
<br />
===Supported Browsers===<br />
<br />
The following browsers have been tested and are supported when using the authhash management pages:<br />
<br />
*Firefox 3.6.x to 7.0 (tested on Windows and Linux)<br />
*Internet Explorer 8 & 9<br />
*Google Chrome 12 & 13 (will likely work on older versions)<br />
*Safari 4.x (only tested on Mac)<br />
<br />
<br />
The following are browsers which have been tested and are known to have issues causing reduced functionality (not related to security options which can be changed):<br />
<br />
*Opera (tested on Windows against 11.51)<br />
<br />
<br />
Currently DNAS v2.0.0 Build 29 will show the following message when using this browser:<br />
Problem was experienced retrieving the details for the dropdown options.<br />
<br />
You will need to change your browser's security settings to allow remote<br />
content to be downloadable in this domain. Please fix and refresh this page.<br />
<br />
Future versions of the DNAS will show the more appropriate message of:<br />
Unable to download the details for the dropdown options. You need to<br />
use a browser with 'Cross Origin Resource Sharing' (CORS) support.<br />
<br />
<br />
<br />
===Using Internet Explorer===<br />
<br />
Using a different browser is recommended as changing security levels is not ideal and is done at your own risk.<br />
<br />
If using Internet Explorer (8 or 9), you will need to do the following to allow the browser to access the remote content needed for the drop-down options which the page uses.<br />
<br />
Go to '''Options''' -> '''Security''' -> Select ''''Trusted Sites'''' -> Click ''''Sites'''' and then add the current page to the list (unchecking the HTTPS option). Then change the ''''Trusted Level'''' to Medium-low or Low and refresh the authhash management page.<br />
<br />
Choosing Medium-low will cause a prompt to appear on loading the pages in IE8 (but not normally in IE9) which you will need to choose ''''Yes'''' to allow the page to load. Choosing Low will not show a prompt.</div>Jonathanhttp://wiki.shoutcast.com/wiki/SHOUTcast_Authhash_ManagementSHOUTcast Authhash Management2015-04-17T22:29:01Z<p>Jonathan: /* Creating */</p>
<hr />
<div>{{Template:NavBarSC}}<br />
<br />
<br />
==Introduction==<br />
One of the key aspects of the new YP2 directory infrastructure is an authorization key (authhash) which is used to validate your server when it tries to connect to the YP2 infrastructure for any of the station(s) you run. Once this key is obtained, it will be valid for all root servers of the station being broadcast.<br />
<br />
You can obtain multiple authorization keys if broadcasting the same stream content at different bitrates so they will appear separately in the SHOUTcast Directory listings. This is not needed if broadcasting the same content in MP3 and AAC+ formats as the SHOUTcast Directory will automatically list those streams separately.<br />
<br />
Make sure you are using a recent version of the DNAS which can be downloaded from http://www.shoutcast.com/broadcastnow.<br />
<br />
<br />
===When is an Authorization Key needed?===<br />
<br />
The DNAS server can be run in two modes:<br />
*'''Public''' - If you want your station to appear in the SHOUTcast Directory listings<br />
*'''Private''' - If you do not want your station to be listed e.g. an internal company station<br />
<br />
If you want the station to be '''public''' then you will need an authorization key, otherwise it is not needed for '''private''' stations.<br />
<br />
If you want to run the DNAS privately then you can change the appropriate setting in the stream source being used. Otherwise you can change '''publicserver''' or '''streampublicserver''' (if needing stream specific control) to be ''never'' in the DNAS's configuration file e.g. '''publicserver=never'''.<br />
<br />
==Management==<br />
[[Image:Summary.png|thumb|right|DNAS Summary Page]][[Image:Starting.png|thumb|right|Administrator Summary Page]]To obtain a unique authentication key you first need to have setup the DNAS and have a source (such as the Source DSP or Transcoder) correctly connected so the stream is recognised by the DNAS. This can be determined from looking at the '''DNAS Summary''' page which will show any active stream(s) - if there are none then you will need to re-check the source is showing it is connected to the DNAS server.<br />
<br />
<br />
The next step is to login to the '''Administrator Summary''' page which is accessed via the '''Administrator Login''' on the '''DNAS Summary''' page (found at the top right as shown in the image of the '''DNAS Summary''' page). If DNAS server is running on the same machine then you can usually access it directly at http://127.0.0.1:8000/admin.cgi. If you have changed 'portbase' then change 8000 to the value specified for 'portbase' in your config file.<br />
<br />
To login, the username is '''admin''' and the password is the configured [[SHOUTcast_DNAS_Server_2#Networking|'''adminpassword''']]<br />
<br />
If you are accessing the DNAS server remotely or on another machine then you will need to change 127.0.0.1 to the appropriate IP address of the machine you are trying to access.<br />
<br />
On the '''Administrator Summary''' page, you will see all streams with a source connected to them, with '''Create Authhash''', '''Update Authhash''' and '''Remove Authhash''' options shown as appropriate beneath the stream number.<br />
<br />
<br />
===Creating===<br />
[[Image:Editing.png|thumb|right|Creating an Authhash]][[Image:Completed.png|thumb|right|Created an Authhash]]To create an authhash for a stream then you need to click the '''Create Authhash''' link. This will take you to another page where you need to fill in the missing fields as applicable for your stream as the DNAS attempts to fill in fields with the information obtained from the connected source. Once all of the required information has been entered then click the '''Create Authhash''' button.<br />
<br />
If there is a missing field or something is not right when attempting to create the authhash, then you will see a message showing what needs to be entered or changed or what to do to get additional help.<br />
<br />
On successful creation, the new authhash will be saved into your configuration file either in the root configuration file or one where there's an empty streamauthhash entry matching the stream identifier. When you go back to the '''Administrator Summary''' page the '''Create Authhash''' link will have changed to '''Update Authhash''' and '''Remove Authhash''' links.<br />
<br />
It can take up to 10 minutes for the new authhash to be fully recognised so if you have made a mistake or are trying to get listed quickly, please allow the required time for your changes to take effect.<br />
<br />
===Updating===<br />
Updating an authhash is the same as creating an authhash just with the existing information of the authhash shown in the fields allowing for them to be edited. If there are no issues and the authhash can be updated from the machine used (with it having the same external IP as used to create the authhash) then any changes made should be updated in the YP system.<br />
<br />
If there is a missing field or something is not right when attempting to create the authhash, then you will see a message showing what needs to be entered or changed or what to do to get additional help.<br />
<br />
It can take up to 10 minutes for changed details to be fully recognised so if<br />
you have made a mistake or are trying to get listed then you will need to wait.<br />
<br />
===Removing===<br />
[[Image:Removed.png|thumb|right|Removed an Authhash]]Removing an authhash is a simple action of clicking the '''Remove Authhash''' link. If there are no issues and the authhash can be removed from the machine used (with it having the same external IP as used to create the authhash) then it will be removed from the YP system and also from your configuration file.<br />
<br />
<br />
===Duplicating===<br />
If you want to use the same authhash on another stream (e.g. if only the stream format is different or you want to group the same stream content) then you will need to manually edit you configuration file by setting the relevant streamauthhash entry for the required stream configuration group and use the '''Reload All Stream Configuration(s)''' option on the '''Administrator Summary''' page.<br />
<br />
<br />
==Management Issues==<br />
<br />
Updating or removing an authhash requires the same external IP of the machine to be found by the YP against what was used when the authhash was created. If this external IP has changed then you will need to contact support via [http://forums.winamp.com/showthread.php?t=331394 this forum thread] ensuring all required information is provided as is detailed.<br />
<br />
If you experience other issues with managing your authhashes via the options provided, make sure you follow any information provided to attempt to resolve the issue. If that still does not work then you will need to contact support via [http://forums.winamp.com/showthread.php?t=331394 this forum thread] ensuring all required information is provided as is detailed.<br />
<br />
<br />
===Supported Browsers===<br />
<br />
The following browsers have been tested and are supported when using the authhash management pages:<br />
<br />
*Firefox 3.6.x to 7.0 (tested on Windows and Linux)<br />
*Internet Explorer 8 & 9<br />
*Google Chrome 12 & 13 (will likely work on older versions)<br />
*Safari 4.x (only tested on Mac)<br />
<br />
<br />
The following are browsers which have been tested and are known to have issues causing reduced functionality (not related to security options which can be changed):<br />
<br />
*Opera (tested on Windows against 11.51)<br />
<br />
<br />
Currently DNAS v2.0.0 Build 29 will show the following message when using this browser:<br />
Problem was experienced retrieving the details for the dropdown options.<br />
<br />
You will need to change your browser's security settings to allow remote<br />
content to be downloadable in this domain. Please fix and refresh this page.<br />
<br />
Future versions of the DNAS will show the more appropriate message of:<br />
Unable to download the details for the dropdown options. You need to<br />
use a browser with 'Cross Origin Resource Sharing' (CORS) support.<br />
<br />
<br />
<br />
===Using Internet Explorer===<br />
<br />
Using a different browser is recommended as changing security levels is not ideal and is done at your own risk.<br />
<br />
If using Internet Explorer (8 or 9), you will need to do the following to allow the browser to access the remote content needed for the drop-down options which the page uses.<br />
<br />
Go to '''Options''' -> '''Security''' -> Select ''''Trusted Sites'''' -> Click ''''Sites'''' and then add the current page to the list (unchecking the HTTPS option). Then change the ''''Trusted Level'''' to Medium-low or Low and refresh the authhash management page.<br />
<br />
Choosing Medium-low will cause a prompt to appear on loading the pages in IE8 (but not normally in IE9) which you will need to choose ''''Yes'''' to allow the page to load. Choosing Low will not show a prompt.</div>Jonathanhttp://wiki.shoutcast.com/wiki/SHOUTcast_Authhash_ManagementSHOUTcast Authhash Management2015-04-17T21:43:19Z<p>Jonathan: /* Creating */</p>
<hr />
<div>{{Template:NavBarSC}}<br />
<br />
<br />
==Introduction==<br />
One of the key aspects of the new YP2 directory infrastructure is an authorization key (authhash) which is used to validate your server when it tries to connect to the YP2 infrastructure for any of the station(s) you run. Once this key is obtained, it will be valid for all root servers of the station being broadcast.<br />
<br />
You can obtain multiple authorization keys if broadcasting the same stream content at different bitrates so they will appear separately in the SHOUTcast Directory listings. This is not needed if broadcasting the same content in MP3 and AAC+ formats as the SHOUTcast Directory will automatically list those streams separately.<br />
<br />
Make sure you are using a recent version of the DNAS which can be downloaded from http://www.shoutcast.com/broadcastnow.<br />
<br />
<br />
===When is an Authorization Key needed?===<br />
<br />
The DNAS server can be run in two modes:<br />
*'''Public''' - If you want your station to appear in the SHOUTcast Directory listings<br />
*'''Private''' - If you do not want your station to be listed e.g. an internal company station<br />
<br />
If you want the station to be '''public''' then you will need an authorization key, otherwise it is not needed for '''private''' stations.<br />
<br />
If you want to run the DNAS privately then you can change the appropriate setting in the stream source being used. Otherwise you can change '''publicserver''' or '''streampublicserver''' (if needing stream specific control) to be ''never'' in the DNAS's configuration file e.g. '''publicserver=never'''.<br />
<br />
==Management==<br />
[[Image:Summary.png|thumb|right|DNAS Summary Page]][[Image:Starting.png|thumb|right|Administrator Summary Page]]To obtain a unique authentication key you first need to have setup the DNAS and have a source (such as the Source DSP or Transcoder) correctly connected so the stream is recognised by the DNAS. This can be determined from looking at the '''DNAS Summary''' page which will show any active stream(s) - if there are none then you will need to re-check the source is showing it is connected to the DNAS server.<br />
<br />
<br />
The next step is to login to the '''Administrator Summary''' page which is accessed via the '''Administrator Login''' on the '''DNAS Summary''' page (found at the top right as shown in the image of the '''DNAS Summary''' page). If DNAS server is running on the same machine then you can usually access it directly at http://127.0.0.1:8000/admin.cgi. If you have changed 'portbase' then change 8000 to the value specified for 'portbase' in your config file.<br />
<br />
To login, the username is '''admin''' and the password is the configured [[SHOUTcast_DNAS_Server_2#Networking|'''adminpassword''']]<br />
<br />
If you are accessing the DNAS server remotely or on another machine then you will need to change 127.0.0.1 to the appropriate IP address of the machine you are trying to access.<br />
<br />
On the '''Administrator Summary''' page, you will see all streams with a source connected to them, with '''Create Authhash''', '''Update Authhash''' and '''Remove Authhash''' options shown as appropriate beneath the stream number.<br />
<br />
<br />
===Creating===<br />
[[Image:Editing.png|thumb|right|Creating an Authhash]][[Image:Completed.png|thumb|right|Created an Authhash]]To create an authhash for a stream then you need to click the '''Create Authhash''' link. This will take you to another page where you need to fill in the missing fields as applicable for your stream as the DNAS attempts to fill in fields with the information obtained from the connected source. Once all of the required information has been entered then click the '''Create Authhash''' button.<br />
<br />
If there is a missing field or something is not right when attempting to create the authhash, then you will see a message showing what needs to be entered or changed or what to do to get additional help.<br />
<br />
On successful creation, the new authhash will be saved into your configuration file either in the root configuration file or one where there's an empty streamauthhash entry matching the stream identifier. When you go back to the '''Administrator Summary''' page the '''Create Authhash''' link will have changed to '''Update Authhash''' and '''Remove Authhash''' links.<br />
<br />
It can take up to 10 minutes for the new authhash to be fully recognised so if you<br />
have made a mistake or are trying to get listed quickly, please allow the required time for your changes to take effect.<br />
<br />
===Updating===<br />
Updating an authhash is the same as creating an authhash just with the existing information of the authhash shown in the fields allowing for them to be edited. If there are no issues and the authhash can be updated from the machine used (with it having the same external IP as used to create the authhash) then any changes made should be updated in the YP system.<br />
<br />
If there is a missing field or something is not right when attempting to create the authhash, then you will see a message showing what needs to be entered or changed or what to do to get additional help.<br />
<br />
It can take up to 10 minutes for changed details to be fully recognised so if<br />
you have made a mistake or are trying to get listed then you will need to wait.<br />
<br />
===Removing===<br />
[[Image:Removed.png|thumb|right|Removed an Authhash]]Removing an authhash is a simple action of clicking the '''Remove Authhash''' link. If there are no issues and the authhash can be removed from the machine used (with it having the same external IP as used to create the authhash) then it will be removed from the YP system and also from your configuration file.<br />
<br />
<br />
===Duplicating===<br />
If you want to use the same authhash on another stream (e.g. if only the stream format is different or you want to group the same stream content) then you will need to manually edit you configuration file by setting the relevant streamauthhash entry for the required stream configuration group and use the '''Reload All Stream Configuration(s)''' option on the '''Administrator Summary''' page.<br />
<br />
<br />
==Management Issues==<br />
<br />
Updating or removing an authhash requires the same external IP of the machine to be found by the YP against what was used when the authhash was created. If this external IP has changed then you will need to contact support via [http://forums.winamp.com/showthread.php?t=331394 this forum thread] ensuring all required information is provided as is detailed.<br />
<br />
If you experience other issues with managing your authhashes via the options provided, make sure you follow any information provided to attempt to resolve the issue. If that still does not work then you will need to contact support via [http://forums.winamp.com/showthread.php?t=331394 this forum thread] ensuring all required information is provided as is detailed.<br />
<br />
<br />
===Supported Browsers===<br />
<br />
The following browsers have been tested and are supported when using the authhash management pages:<br />
<br />
*Firefox 3.6.x to 7.0 (tested on Windows and Linux)<br />
*Internet Explorer 8 & 9<br />
*Google Chrome 12 & 13 (will likely work on older versions)<br />
*Safari 4.x (only tested on Mac)<br />
<br />
<br />
The following are browsers which have been tested and are known to have issues causing reduced functionality (not related to security options which can be changed):<br />
<br />
*Opera (tested on Windows against 11.51)<br />
<br />
<br />
Currently DNAS v2.0.0 Build 29 will show the following message when using this browser:<br />
Problem was experienced retrieving the details for the dropdown options.<br />
<br />
You will need to change your browser's security settings to allow remote<br />
content to be downloadable in this domain. Please fix and refresh this page.<br />
<br />
Future versions of the DNAS will show the more appropriate message of:<br />
Unable to download the details for the dropdown options. You need to<br />
use a browser with 'Cross Origin Resource Sharing' (CORS) support.<br />
<br />
<br />
<br />
===Using Internet Explorer===<br />
<br />
Using a different browser is recommended as changing security levels is not ideal and is done at your own risk.<br />
<br />
If using Internet Explorer (8 or 9), you will need to do the following to allow the browser to access the remote content needed for the drop-down options which the page uses.<br />
<br />
Go to '''Options''' -> '''Security''' -> Select ''''Trusted Sites'''' -> Click ''''Sites'''' and then add the current page to the list (unchecking the HTTPS option). Then change the ''''Trusted Level'''' to Medium-low or Low and refresh the authhash management page.<br />
<br />
Choosing Medium-low will cause a prompt to appear on loading the pages in IE8 (but not normally in IE9) which you will need to choose ''''Yes'''' to allow the page to load. Choosing Low will not show a prompt.</div>Jonathanhttp://wiki.shoutcast.com/wiki/SHOUTcast_Authhash_ManagementSHOUTcast Authhash Management2015-04-17T21:36:48Z<p>Jonathan: /* Introduction */</p>
<hr />
<div>{{Template:NavBarSC}}<br />
<br />
<br />
==Introduction==<br />
One of the key aspects of the new YP2 directory infrastructure is an authorization key (authhash) which is used to validate your server when it tries to connect to the YP2 infrastructure for any of the station(s) you run. Once this key is obtained, it will be valid for all root servers of the station being broadcast.<br />
<br />
You can obtain multiple authorization keys if broadcasting the same stream content at different bitrates so they will appear separately in the SHOUTcast Directory listings. This is not needed if broadcasting the same content in MP3 and AAC+ formats as the SHOUTcast Directory will automatically list those streams separately.<br />
<br />
Make sure you are using a recent version of the DNAS which can be downloaded from http://www.shoutcast.com/broadcastnow.<br />
<br />
<br />
===When is an Authorization Key needed?===<br />
<br />
The DNAS server can be run in two modes:<br />
*'''Public''' - If you want your station to appear in the SHOUTcast Directory listings<br />
*'''Private''' - If you do not want your station to be listed e.g. an internal company station<br />
<br />
If you want the station to be '''public''' then you will need an authorization key, otherwise it is not needed for '''private''' stations.<br />
<br />
If you want to run the DNAS privately then you can change the appropriate setting in the stream source being used. Otherwise you can change '''publicserver''' or '''streampublicserver''' (if needing stream specific control) to be ''never'' in the DNAS's configuration file e.g. '''publicserver=never'''.<br />
<br />
==Management==<br />
[[Image:Summary.png|thumb|right|DNAS Summary Page]][[Image:Starting.png|thumb|right|Administrator Summary Page]]To obtain a unique authentication key you first need to have setup the DNAS and have a source (such as the Source DSP or Transcoder) correctly connected so the stream is recognised by the DNAS. This can be determined from looking at the '''DNAS Summary''' page which will show any active stream(s) - if there are none then you will need to re-check the source is showing it is connected to the DNAS server.<br />
<br />
<br />
The next step is to login to the '''Administrator Summary''' page which is accessed via the '''Administrator Login''' on the '''DNAS Summary''' page (found at the top right as shown in the image of the '''DNAS Summary''' page). If DNAS server is running on the same machine then you can usually access it directly at http://127.0.0.1:8000/admin.cgi. If you have changed 'portbase' then change 8000 to the value specified for 'portbase' in your config file.<br />
<br />
To login, the username is '''admin''' and the password is the configured [[SHOUTcast_DNAS_Server_2#Networking|'''adminpassword''']]<br />
<br />
If you are accessing the DNAS server remotely or on another machine then you will need to change 127.0.0.1 to the appropriate IP address of the machine you are trying to access.<br />
<br />
On the '''Administrator Summary''' page, you will see all streams with a source connected to them, with '''Create Authhash''', '''Update Authhash''' and '''Remove Authhash''' options shown as appropriate beneath the stream number.<br />
<br />
<br />
===Creating===<br />
[[Image:Editing.png|thumb|right|Creating an Authhash]][[Image:Completed.png|thumb|right|Created an Authhash]]To create an authhash for a stream then you need to click the '''Create Authhash''' link. This will take you to another page where you need to fill in the missing fields as applicable for your stream as the DNAS attempts to fill in fields with the information obtained from the connected source. Once all of the required information has been entered then click the '''Create Authhash''' button.<br />
<br />
If there is a missing field or something is not right when attempting to create the authhash, then you will see a message showing what needs to be entered or changed or what to do to get additional help.<br />
<br />
On successful creation, the new authhash will be saved into your configuration file either in the root configuration file or one where there's an empty streamauthhash entry matching the stream identifier. When you go back to the '''Administrator Summary''' page the '''Create Authhash''' link will have changed to '''Update Authhash''' and '''Remove Authhash''' links.<br />
<br />
It can take up to 10 minutes for the new authhash to be fully recognised so if you<br />
have made a mistake or are trying to get listed then you will need to be wait.<br />
<br />
===Updating===<br />
Updating an authhash is the same as creating an authhash just with the existing information of the authhash shown in the fields allowing for them to be edited. If there are no issues and the authhash can be updated from the machine used (with it having the same external IP as used to create the authhash) then any changes made should be updated in the YP system.<br />
<br />
If there is a missing field or something is not right when attempting to create the authhash, then you will see a message showing what needs to be entered or changed or what to do to get additional help.<br />
<br />
It can take up to 10 minutes for changed details to be fully recognised so if<br />
you have made a mistake or are trying to get listed then you will need to wait.<br />
<br />
===Removing===<br />
[[Image:Removed.png|thumb|right|Removed an Authhash]]Removing an authhash is a simple action of clicking the '''Remove Authhash''' link. If there are no issues and the authhash can be removed from the machine used (with it having the same external IP as used to create the authhash) then it will be removed from the YP system and also from your configuration file.<br />
<br />
<br />
===Duplicating===<br />
If you want to use the same authhash on another stream (e.g. if only the stream format is different or you want to group the same stream content) then you will need to manually edit you configuration file by setting the relevant streamauthhash entry for the required stream configuration group and use the '''Reload All Stream Configuration(s)''' option on the '''Administrator Summary''' page.<br />
<br />
<br />
==Management Issues==<br />
<br />
Updating or removing an authhash requires the same external IP of the machine to be found by the YP against what was used when the authhash was created. If this external IP has changed then you will need to contact support via [http://forums.winamp.com/showthread.php?t=331394 this forum thread] ensuring all required information is provided as is detailed.<br />
<br />
If you experience other issues with managing your authhashes via the options provided, make sure you follow any information provided to attempt to resolve the issue. If that still does not work then you will need to contact support via [http://forums.winamp.com/showthread.php?t=331394 this forum thread] ensuring all required information is provided as is detailed.<br />
<br />
<br />
===Supported Browsers===<br />
<br />
The following browsers have been tested and are supported when using the authhash management pages:<br />
<br />
*Firefox 3.6.x to 7.0 (tested on Windows and Linux)<br />
*Internet Explorer 8 & 9<br />
*Google Chrome 12 & 13 (will likely work on older versions)<br />
*Safari 4.x (only tested on Mac)<br />
<br />
<br />
The following are browsers which have been tested and are known to have issues causing reduced functionality (not related to security options which can be changed):<br />
<br />
*Opera (tested on Windows against 11.51)<br />
<br />
<br />
Currently DNAS v2.0.0 Build 29 will show the following message when using this browser:<br />
Problem was experienced retrieving the details for the dropdown options.<br />
<br />
You will need to change your browser's security settings to allow remote<br />
content to be downloadable in this domain. Please fix and refresh this page.<br />
<br />
Future versions of the DNAS will show the more appropriate message of:<br />
Unable to download the details for the dropdown options. You need to<br />
use a browser with 'Cross Origin Resource Sharing' (CORS) support.<br />
<br />
<br />
<br />
===Using Internet Explorer===<br />
<br />
Using a different browser is recommended as changing security levels is not ideal and is done at your own risk.<br />
<br />
If using Internet Explorer (8 or 9), you will need to do the following to allow the browser to access the remote content needed for the drop-down options which the page uses.<br />
<br />
Go to '''Options''' -> '''Security''' -> Select ''''Trusted Sites'''' -> Click ''''Sites'''' and then add the current page to the list (unchecking the HTTPS option). Then change the ''''Trusted Level'''' to Medium-low or Low and refresh the authhash management page.<br />
<br />
Choosing Medium-low will cause a prompt to appear on loading the pages in IE8 (but not normally in IE9) which you will need to choose ''''Yes'''' to allow the page to load. Choosing Low will not show a prompt.</div>Jonathanhttp://wiki.shoutcast.com/wiki/SHOUTcast_Authhash_ManagementSHOUTcast Authhash Management2015-04-17T21:36:31Z<p>Jonathan: /* Introduction */</p>
<hr />
<div>{{Template:NavBarSC}}<br />
<br />
<br />
==Introduction==<br />
One of the key aspects of the new YP2 directory infrastructure is an authorization key (authhash) which is used to validate your server when it tries to connect to the YP2 infrastructure for any of the station(s) you run. Once this key is obtained, it will be valid for all root servers of the station being broadcast.<br />
<br />
You can obtain multiple authorization keys if broadcasting the same stream content at different bitrates so they will appear separately in the SHOUTcast Directory listings. This is not needed if broadcasting the same content in MP3 and AAC+ formats as the SHOUTcast Directory will automatically list those streams separately.<br />
<br />
Make sure you are using a recent version of the DNAS which can be downloaded from http://www.shoutcast.com/broadcastnow.<br />
<br />
<br />
===When is an Authorization Key needed?===<br />
<br />
The DNAS server can be run in two modes:<br />
*'''Public''' - If you want your station to appear in the SHOUTcast Directory listings<br />
*'''Private''' - If you do not want your station to be listed e.g. an internal company station<br />
<br />
If you want the station to be '''public''' then you will need an authorization key, otherwise it is not needed for '''private''' stations.<br />
<br />
If you want to run the DNAS privately then you can change the appropriate setting in the stream source being used. Otherwise you can change '''publicserver''' or '''streampublicserver''' (if needing stream specific control) to be ''never'' in the DNAS's configuration file e.g. '''publicserver=never'''.<br />
<br />
==Management==<br />
[[Image:Summary.png|thumb|right|DNAS Summary Page]][[Image:Starting.png|thumb|right|Administrator Summary Page]]To obtain a unique authentication key you first need to have setup the DNAS and have a source (such as the Source DSP or Transcoder) correctly connected so the stream is recognised by the DNAS. This can be determined from looking at the '''DNAS Summary''' page which will show any active stream(s) - if there are none then you will need to re-check the source is showing it is connected to the DNAS server.<br />
<br />
<br />
The next step is to login to the '''Administrator Summary''' page which is accessed via the '''Administrator Login''' on the '''DNAS Summary''' page (found at the top right as shown in the image of the '''DNAS Summary''' page). If DNAS server is running on the same machine then you can usually access it directly at http://127.0.0.1:8000/admin.cgi. If you have changed 'portbase' then change 8000 to the value specified for 'portbase' in your config file.<br />
<br />
To login, the username is '''admin''' and the password is the configured [[SHOUTcast_DNAS_Server_2#Networking|'''adminpassword''']]<br />
<br />
If you are accessing the DNAS server remotely or on another machine then you will need to change 127.0.0.1 to the appropriate IP address of the machine you are trying to access.<br />
<br />
On the '''Administrator Summary''' page, you will see all streams with a source connected to them, with '''Create Authhash''', '''Update Authhash''' and '''Remove Authhash''' options shown as appropriate beneath the stream number.<br />
<br />
<br />
===Creating===<br />
[[Image:Editing.png|thumb|right|Creating an Authhash]][[Image:Completed.png|thumb|right|Created an Authhash]]To create an authhash for a stream then you need to click the '''Create Authhash''' link. This will take you to another page where you need to fill in the missing fields as applicable for your stream as the DNAS attempts to fill in fields with the information obtained from the connected source. Once all of the required information has been entered then click the '''Create Authhash''' button.<br />
<br />
If there is a missing field or something is not right when attempting to create the authhash, then you will see a message showing what needs to be entered or changed or what to do to get additional help.<br />
<br />
On successful creation, the new authhash will be saved into your configuration file either in the root configuration file or one where there's an empty streamauthhash entry matching the stream identifier. When you go back to the '''Administrator Summary''' page the '''Create Authhash''' link will have changed to '''Update Authhash''' and '''Remove Authhash''' links.<br />
<br />
It can take up to 10 minutes for the new authhash to be fully recognised so if you<br />
have made a mistake or are trying to get listed then you will need to be wait.<br />
<br />
===Updating===<br />
Updating an authhash is the same as creating an authhash just with the existing information of the authhash shown in the fields allowing for them to be edited. If there are no issues and the authhash can be updated from the machine used (with it having the same external IP as used to create the authhash) then any changes made should be updated in the YP system.<br />
<br />
If there is a missing field or something is not right when attempting to create the authhash, then you will see a message showing what needs to be entered or changed or what to do to get additional help.<br />
<br />
It can take up to 10 minutes for changed details to be fully recognised so if<br />
you have made a mistake or are trying to get listed then you will need to wait.<br />
<br />
===Removing===<br />
[[Image:Removed.png|thumb|right|Removed an Authhash]]Removing an authhash is a simple action of clicking the '''Remove Authhash''' link. If there are no issues and the authhash can be removed from the machine used (with it having the same external IP as used to create the authhash) then it will be removed from the YP system and also from your configuration file.<br />
<br />
<br />
===Duplicating===<br />
If you want to use the same authhash on another stream (e.g. if only the stream format is different or you want to group the same stream content) then you will need to manually edit you configuration file by setting the relevant streamauthhash entry for the required stream configuration group and use the '''Reload All Stream Configuration(s)''' option on the '''Administrator Summary''' page.<br />
<br />
<br />
==Management Issues==<br />
<br />
Updating or removing an authhash requires the same external IP of the machine to be found by the YP against what was used when the authhash was created. If this external IP has changed then you will need to contact support via [http://forums.winamp.com/showthread.php?t=331394 this forum thread] ensuring all required information is provided as is detailed.<br />
<br />
If you experience other issues with managing your authhashes via the options provided, make sure you follow any information provided to attempt to resolve the issue. If that still does not work then you will need to contact support via [http://forums.winamp.com/showthread.php?t=331394 this forum thread] ensuring all required information is provided as is detailed.<br />
<br />
<br />
===Supported Browsers===<br />
<br />
The following browsers have been tested and are supported when using the authhash management pages:<br />
<br />
*Firefox 3.6.x to 7.0 (tested on Windows and Linux)<br />
*Internet Explorer 8 & 9<br />
*Google Chrome 12 & 13 (will likely work on older versions)<br />
*Safari 4.x (only tested on Mac)<br />
<br />
<br />
The following are browsers which have been tested and are known to have issues causing reduced functionality (not related to security options which can be changed):<br />
<br />
*Opera (tested on Windows against 11.51)<br />
<br />
<br />
Currently DNAS v2.0.0 Build 29 will show the following message when using this browser:<br />
Problem was experienced retrieving the details for the dropdown options.<br />
<br />
You will need to change your browser's security settings to allow remote<br />
content to be downloadable in this domain. Please fix and refresh this page.<br />
<br />
Future versions of the DNAS will show the more appropriate message of:<br />
Unable to download the details for the dropdown options. You need to<br />
use a browser with 'Cross Origin Resource Sharing' (CORS) support.<br />
<br />
<br />
<br />
===Using Internet Explorer===<br />
<br />
Using a different browser is recommended as changing security levels is not ideal and is done at your own risk.<br />
<br />
If using Internet Explorer (8 or 9), you will need to do the following to allow the browser to access the remote content needed for the drop-down options which the page uses.<br />
<br />
Go to '''Options''' -> '''Security''' -> Select ''''Trusted Sites'''' -> Click ''''Sites'''' and then add the current page to the list (unchecking the HTTPS option). Then change the ''''Trusted Level'''' to Medium-low or Low and refresh the authhash management page.<br />
<br />
Choosing Medium-low will cause a prompt to appear on loading the pages in IE8 (but not normally in IE9) which you will need to choose ''''Yes'''' to allow the page to load. Choosing Low will not show a prompt.</div>Jonathanhttp://wiki.shoutcast.com/wiki/Source_DSP_Plug-inSource DSP Plug-in2015-04-17T21:32:40Z<p>Jonathan: /* Documentation and Support */</p>
<hr />
<div>{{Template:NavBarSC}}<br />
<br />
<br />
==Introduction to the Source DSP==<br />
<br />
The aim of this document is to show you the different features offered by the Source DSP plug-in. Version 2 of the plug-in is designed to work only on Winamp 5.5 and higher due to better api usage and integration with the player. If you want to use the Source DSP in an alternative player, then it would need to support all of the required Winamp apis.<br />
<br />
The key feature of the plug-in is the ability to use Winamp as a source to a DNAS server or a Transcoder / AutoDJ instance or any compatible tool which accepts SHOUTcast streams.<br />
<br />
Additionally the plug-in will allow you to capture an audio input from the soundcard and its line-in or microphone inputs ([[#Soundcard Mixer Control|section 3.3.2]]) subject to OS and the audio system.<br />
<br />
<br />
==Getting Started==<br />
<br />
To start using the Source DSP you need a configured and running DNAS server (sc_serv) or an alternative server to connect to like the Transcoder (sc_trans) and to have all of the login details required to connect as a source. The plug-in can be used as either a full full source or it can be used as a DJ connection in the case of being used with sc_trans.<br />
<br />
<br />
===Installing the Plug-in===<br />
----<br />
[[Image:Select_Source_DSP_in_Winamp.png|225px|thumb|right|Select_Source_DSP_in_Winamp.png]]<br />
<br />
The DSP plugin can be downloaded for free at [http://shoutcast.com/broadcastnow?products&utm_source=follow%20up%20email&utm_medium=Smart%20Focus&utm_term=SHOUTcast&utm_content=feb2015&utm_campaign=wiki the bottom of the Broadcast Tools page.]<br />
<br />
The installer will detect the Winamp install on your machine and will then install it to the correct location. If the detected Winamp version is prior to v5.5 or if there is no winamp.exe present in the folder chosen then the installer will abort the installation.<br />
<br />
Once installed, if you have not chosen to make the Source DSP the default DSP plug-in, you will need to open Winamp and go to the following location:<br />
<br />
Preferences -> Plug-ins -> DSP/Effect<br />
<br />
follwed by selecting the 'Nullsoft SHOUTcast Source DSP' entry shown in the plug-in list.<br />
<br />
==Configuration Window==<br />
<br />
The configuration window is the main interface of the plug-in and is where login details for the connection to the server can be changed or the current status viewed.<br />
<br />
When the configuration window is closed then any active connections will be closed. If you want to hide the window then you can click use the minimise button on the window and click on the notification area icon added when the minimise happened.<br />
<br />
<br />
===Summary Tab===<br />
----<br />
<br />
[[Image:Summary_tab.png|100px|thumb|right|SHOUTcast Source Summary Tab]]<br />
'''Status / Info''' : This will show information about the status of the 5 possible outputs the plug-in is able to provide going from not connected to current duration of the connection.<br />
<br />
If you double-click one of the output items you will be taken to the '[[#Output Tab|see section 3.2]]'<br />
(see section 3.2) where it will show the current settings for the output selected.<br />
<br />
'''Active Input Device''' : This allows you to toggle between using Winamp and the configured soundcard input as well seeing the current audio capture mode. For more configuration options go to the 'Input Tab' ([[#Input Tab|see section 3.3]]).<br />
<br />
'''Input Meters''' : These show the current and peak audio level of the left and right channels as is being passed through the plug-ins core. This can aid in seeing if the input source is possibly not working or to check the audio is clipped.<br />
<br />
<br />
===Output Tab===<br />
----<br />
[[Image:Output_tag_configuration_error.png|100px|thumb|right|SHOUTcast Source Output Tab showing password configuration error]]<br />
This tab allows you to configure the 5 separate outputs the plug-in is able to generate where the settings for the output are selected by clicking the required item in the list.<br />
<br />
'''Status''' : This will show the current information about the output source ranging from not being connected to error messages due to invalid passwords to running correctly.<br />
<br />
'''Auto Connect''' : This will make the plug-in attempt to run this output as soon as it is started or when the option is checked if not already running when checked.<br />
<br />
'''Connect / Abort / Disconnect / Kill Button''' : This allows you to start a connection, abort a connection try or kill / disconnect an active connection. If 'Auto Connect' is checked and you click this for a disconnect action then the plug-in automatically re-starts the connection.<br />
<br />
If there is an issue the 'Connect / Abort / Disconnect / Kill Button' will<br />
show the configuration setting which is invalid e.g. 'Set Password' if the<br />
encoder has not been specified. The tab and the title above where the value<br />
is not set will have it's text changed to red to make it easier to identify.<br />
<br />
<br />
====Login Tab====<br />
----<br />
<br />
This tab allows you to specify the details needed for connecting to a DNAS server.<br />
[[Image:Output_tab_login_tab_v1_enabled.png|100px|thumb|right|SHOUTcast Source Output Connection Tab in v1 (Legacy) mode]]<br />
'''Server Address''' : This is the address of the server to connect to and will depend upon the setup which is being used. If the server being connected to is on the same machine then 'localhost' can be entered, otherwise the exact IP or DNS name of the server e.g. myserver.com needs to be entered here.<br />
<br />
'''Port''' : This is the port related to the 'address' of the server to connect to. This needs to match 'portbase' ([[SHOUTcast_DNAS_Server_2#Networking|DNAS Server - section 4.8]]) or 'serverport' ([[SHOUTcast_DNAS_Transcoder_2#Network_Options|Transcoder - section 3.11]]) if connecting to the official tools or the port value given to use.<br />
<br />
'''Stream ID''' : This is the identifier used to identify the source to the server when using a SHOUTcast 2 supporting setup. This needs to match 'streamid' ([[SHOUTcast_DNAS_Server_2#Networking|DNAS Server - section 4.8]]) or 'streamid' ([[SHOUTcast_DNAS_Transcoder_2#Network_Options|Transcoder - section 3.11]]) if connecting to the official tools or the port value given to use.<br />
<br />
This is disabled if 'Use SHOUTcast v1 mode (for legacy servers)' is checked.<br />
<br />
'''DJ / User ID''' : This is the user id as specified on the server for the type of connection the plug-in is being asked to make. Examples of using this would be the 'djlogin' value from [[SHOUTcast_DNAS_Transcoder_2#DJ_Support|Transcoder - section 3.3]] though this depends on the server configuration being used. Most likely you will be provided with a user id only if it is applicable to your setup.<br />
<br />
If using a compatible v2 DNAS server then this can be entered and will<br />
be used as an identifier of the current DJ but it is not used for the login.<br />
<br />
'''Password''' : This is the password required for accessing the server (if set on the server). This needs to match 'password' ([[SHOUTcast_DNAS_Server_2#Networking|DNAS Server - section 4.8]]) or 'password' ([[SHOUTcast_DNAS_Transcoder_2#Network_Options|Transcoder - section 3.11]]) if connecting to the official tools.<br />
<br />
'''Automatic reconnection on connection failure''' : This will make the plug-in attempt to connect back to the server if there is a break in the connection.<br />
<br />
'''Reconnection timeout''' : This is the number of seconds for the plug-in to wait in-between any connection attempts which fail before it will try again.<br />
[[Image:Output_tab_login_tab_v2_enabled.png|100px|thumb|right|SHOUTcast Source Output Connection Tab in v2 mode]]<br />
'''Use SHOUTcast v1 mode (for legacy servers)''' : This controls the mode the plug-in will run as. When checked it will create a SHOUTcast v1 connection otherwise it will create a SHOUTcast v2 connection (this is the default on new installs).<br />
<br />
Not setting the correct mode for the server you want to connect to will cause the connection attempt to fail or enter into what appears to be a hung state where you are likely to see a 'Cipher response received' if connecting in v2 mode to v1 server. If the plug-in determines this is likely to have happened then it will show the following in status area:<br />
Cipher response received<br />
Try enabling 'SHOUTcast v1 mode'.<br />
<br />
<br />
When SHOUTcast v2 mode is enabled the information panel displayed below this option shows the following message:<br />
Connecting to a SHOUTcast v1 server in<br />
non-legacy mode will likely cause the last<br />
status message to remain on "Cipher<br />
response received". To fix this you need to<br />
enable the "SHOUTcast v1 mode" above.<br />
<br />
When SHOUTcast v1 mode is enabled the information panel displayed below this option shows the following message:<br />
When the DJ password is formatted as<br />
<djlogin>:<djpassword> e.g. dj_1:noise<br />
<br />
Enter <djlogin> in 'DJ / User ID' e.g. dj_1<br />
Enter <djpassword> in 'Password' e.g. noise<br />
<br />
<br />
<br />
====Directory Tab====<br />
----<br />
<br />
This tab allows you to specify values specific to the stream for being listed or for what is provided to listeners when they connect to the DNAS server based on the version set.<br />
<br />
[[Image:Output_tab_directory_tab.png|100px|thumb|right|SHOUTcast Source Output Directory Tab]]<br />
'''Make this server public (Recommended)''' : With this enabled, the stream is indicated as being allowed to appear in the SHOUTcast Directory. This will enable options as applicable based also on the mode the plug-in is set to run as.<br />
<br />
'''Name''' : This is the name you want to use for the source (often what will be used in SHOUTcast Directory listing).<br />
<br />
'''URL''' : This is the url for the stream allowing listeners to view or get more information.<br />
<br />
'''Genre''' : This is the genre for the source and is used to categorise the stream if listed on the SHOUTcast Directory listing. Select the genre from the arrow button menu. It is not possible to manually enter the genre and the input field is read-only.<br />
<br />
'''Arrow Button''' : This will show a menu with known genres and sub-genres allowed for any SHOUTcast Directory listings. This will only be enabled if using v1 mode or if using v2 mode and 'Make this server public' is unchecked.<br />
<br />
'''AIM / ICQ / IRC''' : These allow you to specify some contact information for clients though support of these fields is only available when using SHOUTcat v1 mode.<br />
<br />
<br />
====Encoder Tab====<br />
----<br />
<br />
[[Image:Output_tab_encoder_tab.png|100px|thumb|right|SHOUTcast Source Output Encoder Tab]]<br />
This tab allows you to specify the encoder to be used to create the output stream from the input stream the plug-in gets. The following encoders are available with the plug-in:<br />
<br />
MP3 (audio/mpeg)<br />
AAC (audio/aacp)<br />
<br />
The AAC (actually ADTS-AAC) encoding is provided by enc_aacplus.dll (Winamp 5.1 to 5.61) or enc_fhgaac.dll (Winamp 5.62 and up). If this is not detected in the Winamp plug-ins folder then only MP3 encoding is available.<br />
<br />
Based on the encoder selected, the 'encoder settings' section will provide different options for controlling the encoder settings as either a button to open a configuration window or a dropdown list with options to choose from.<br />
<br />
<br />
=====Save Encoded Output=====<br />
----<br />
<br />
This allows you to make a backup of the stream audio data sent to the DNAS server.<br />
<br />
'''Save a copy of the encoded stream audio''' : Enables or disables saving a copy of the audio.<br />
<br />
The extension of the output file is automatically changed based on the selected<br />
encoder option to ensure that the file can be easily played in most media players.<br />
<br />
<br />
====Titles Tab====<br />
----<br />
[[Image:Output_tab_titles_tab.png|100px|thumb|right|SHOUTcast Source Output Titles Tab]]<br />
This tab allows you to specify how the stream metadata is gathered from Winamp or if it is manually entered with the options provided.<br />
<br />
'''Disable title updates''' : This will prevent the Source DSP from sending any title updates.<br />
<br />
'''Follow Winamp's title updates''' : his makes the Source DSP use Winamp's title updates for stream title updates, sent in the format based on the 'Use SHOUTcast v1 mode (for legacy servers)' setting.<br />
<br />
'''Send next track title to the server (if applicable)''' : This sends the next track title to the server when using the v2 mode and if the plug-in can determine the next track.<br />
<br />
The current version of Winamp is always recommended to use<br />
due to the improved support for this feature since Winamp v5.61.<br />
<br />
'''Manual title updates''' : This will only send titles updates when 'Send Update' is pressed which uses the custom title information entered into the 'now' and 'next' fields (which are enabled as applicable to the mode in use).<br />
<br />
The 'Send Update' button is enabled when a title is entered or it is<br />
different from the existing title. When using SHOUTcast v2 mode the<br />
'next' title field will become available as long as title field is not empty.<br />
<br />
<br />
====Artwork====<br />
----<br />
<br />
[[Image:Output_tab_artwork_tab_v2_enabled.png|100px|thumb|right|SHOUTcast Source Output Artwork in v2 mode]]<br />
This tab allows you to specify whether in-stream artwork will be sent to the SHOUTcast server and if so the type of artwork which will be sent which can be for the station in general as well as per file artwork (much like album art display in most media players).<br />
<br />
'''Send in-stream artwork''' : Enables or disables sending of in-stream artwork.<br />
<br />
If this is enabled and then disabled, it is possible that the<br />
plug-in will send some clear artwork messages after disabling<br />
this option to ensure there is no artwork cached by the server.<br />
<br />
'''Send artwork from the playing file (if available)''' : This sends artwork from the currently playing song to the server and acts in the same way as the album art view in most media players.<br />
<br />
If unchecked or there is no artwork for the playing song then the<br />
DNAS server may be sent a clear artwork message as applicable.<br />
<br />
This is sent as a PNG image to the SHOUTcast server.<br />
<br />
'''Send artwork for stream branding''' : This will send the image as selected in the box below to the server to act as the station or stream image.<br />
<br />
If left empty then the DNAS server may be sent a clear artwork message as applicable.<br />
<br />
<br />
[[Image:Output_tab_artwork_tab_v1_enabled.png|100px|thumb|right|SHOUTcast Source Output Artwork in v1 (Legacy) mode]]<br />
Using the plug-in with a connection to a legacy server will cause the following notice to be shown:<br />
<br />
Stream is setup for a SHOUTcast v1 server<br />
which does not support in-stream artwork.<br />
<br />
To send in-stream artwork, uncheck the<br />
"SHOUTcast v1 mode" option and ensure<br />
you connect to a SHOUTcast v2 server.'<br />
<br />
<br />
The plug-in is only able to send in-stream artwork upto 511 KiB (523680 bytes) in size due to the SHOUTcast 2 protocol specification for metadata packets. If this limit is reached then the artwork will not be sent and instead the server will get a clear artwork message. This tab page will show if the artwork cannot be used.<br />
<br />
Viewing the in-stream artwork depends on native playback support of SHOUTcast v2 streams in the player used by the client so without a compatible player the client will not be able to view it is as it is not available with SHOUTcast v1 streams.<br />
<br />
<br />
====Logs====<br />
----<br />
<br />
[[Image:Output_tab_logs_tab.png|100px|thumb|right|SHOUTcast Source Output Logs Tab]]<br />
This tab allows you to specify the logging options of the status messages as shown at the top of this page. Additionally it also provides the means to log the filepath of the next tracks (if known) which are going to be played by Winamp with support for logging of the track titles if using the xml output mode.<br />
<br />
The main logging options are not enabled by default though this can be used<br />
for tracking problems with the plug-in e.g. if you are having connection issues.<br />
<br />
<br />
'''Enable logging of connection status messages''' : Enables or disables connection logging.<br />
<br />
'''Clear log file on logging startup''' : This will reset the log everytime the plug-in starts.<br />
<br />
'''Open log file...''' : This will open the log file in the associated program for .log files.<br />
<br />
'''Clear log file''' : This will clear the log file if it exists. It will not remove the file.<br />
<br />
<br />
'''Enable next track logging''' : This will enable creating a log file (based on the following options) of the known next tracks to be played by Winamp.<br />
<br />
'''Save report as xml instead of plain text''' : Changing this will create the log as an xml file containing filepath and title with each item identified by the 'seq' attribute.<br />
<br />
The next track logging is only updated when the plug-in detects a track<br />
change. If the plain text / xml mode is changed or the plug-in starts then<br />
the file contents will be cleared until the next track title change happens.<br />
<br />
<br />
===Input Tab===<br />
----<br />
[[Image:Input_tab_winamp_input.png|100px|thumb|right|SHOUTcast Source Input Tab in Winamp mode]]<br />
<br />
====Input Configuration====<br />
----<br />
<br />
'''Input Device''' : This allows you to choose between using Winamp or your soundcard (usually the line-in) as the input source for the output stream the plug-in makes. Depending upon the selection made additional options will be shown below.<br />
<br />
'''Input Levels''' : These show the current and peak audio level of the left and right channels as is being passed through the plug-ins core. This can aid in seeing if the input source is possibly not working or to check the audio is clipped.<br />
<br />
'''Input Settings''' : When the soundcard input is selected then this allows for control over the sample rate used on the input source.<br />
<br />
<br />
====Soundcard Mixer Control====<br />
----<br />
<br />
[[Image:Input_tab_soundcard_input.png|100px|thumb|right|SHOUTcast Source Input Tab in soundcard mode]]'''Choose Microphone''' : This will allow you to choose any of the input devices reported by the OS for use with the microphone overlay mode the plug-in provides.<br />
<br />
'''Refresh Button''' : This allows you to refresh the capture device list on Vista / Windows 7 (is disabled otherwise) since the plug-in was started. This is useful if you have connected a device to the machine and now want to use it.<br />
<br />
'''Open Mixer''' : This will open the operating systems recording and playback options (when using Windows 2000 / XP) which will allow you to change any required input and output settings for the system (though the amount you can change does depend upon the operating system being used - ([[#Known Issues|see section 4.0]])).<br />
<br />
'''Music Level''' : This controls the Winamp output level (from no audio to full audio level).<br />
<br />
'''BG Level''' : This controls the Winamp output level when the 'Push to Talk' option is active (from no audio to full audio level).<br />
<br />
'''Mic Level''' : This controls the chosen microphone device's output level when the 'Push to Talk' option is active (from no audio to full audio level).<br />
<br />
'''Fade Time''' : This controls the amount of time it takes for the audio to fade from the non 'Push to Talk' mode to 'Push to Talk' being the active mode in usage (from no fade i.e. instantly changes to 2.5 second fade duration).<br />
<br />
'''Capture Device Fade Time''' : This controls the amount of time it takes for the selected capture device to fade from the non 'Push to Talk' mode to 'Push to Talk' being the active mode in usage (from no fade i.e. instantly changes to 2.5 second fade duration).<br />
<br />
'''Push to Talk''' : When this is pressed then the chosen microphone device becomes the active input source as used by any active output streams ([[#Output Tab|see section 3.2]]). When enabled this button will appear in an activated state.<br />
<br />
'''Lock''' : When this is pressed it will toggle the 'Push to Talk' mode on or off depending on the current state of this option when it pressed. When enabled this will appear in an activated state along with the 'Push to Talk' button.<br />
<br />
'''Arrow Button''' : This will show a menu with the option "Enable 'Push to Talk' on startup" allowing for the mode to be re-enabled when the plug-in is started. This may be of use as the plug-in turns off the mode and sets the system levels back to the non-pushed mode when the plug-in's window is closed.<br />
<br />
<br />
===About Tab===<br />
----<br />
<br />
[[Image:About_tab.png|100px|thumb|right|SHOUTcast Source About Tab]]<br />
This tab provides information about the version of the plug-in you are using - useful for determining if you are using an older version of the plug-in or when reporting issues.<br />
<br />
<br />
====Documentation and Support====<br />
----<br />
<br />
This part of the tab provides links to access the available documentation and also for going to the SHOUTcast support forum if issues are being experienced with the plug-in.<br />
<br />
The documentation is either the current version as shipped with the plug-in if selected during install (stored in '''<winampdir>\Plugins\SHOUTcast Source DSP''').<br />
<br />
The support forums is accessed via http://forums.shoutcast.com/forumdisplay.php?f=140<br />
<br />
Additional documentation is available here: '''[[Source_DSP_Plug-in_Configuration_Examples|SHOUTcast Source DSP Plug-in Configuration Examples]]'''<br />
<br />
==Known Issues==<br />
<br />
The following are currently known issue(s) to affect the currently released build of the Source DSP plug-in:<br />
<br />
<br />
===Soundcard Mixer Control===<br />
----<br />
<br />
'''Issue''': The soundcard mixer control does not work correctly or as expected on Vista / Windows 7 especially with the handling of the selected 'microphone' device due to changes in the audio system which prevent the capture handling from Windows 2000 / XP working in the same way. Windows 2000 / XP should still work as expected.<br />
<br />
'''Workaround''': The only obvious work around is to use the features the OS provides to enable the 'Listen to this device' option via the system's recording devices feature and then mix the levels with the controls the OS provides.<br />
<br />
'''Expected Resolution''': This issue is still being investigated and hopefully a solution will be provided to allow for control of the input device in unison with the selected 'microphone' device with-in the plug-ins interface when using this mode.<br />
<br />
<br />
==SHOUTcast 2 Cipher Key==<br />
<br />
If you find that you do need to change the uvoxcipherkey ([[SHOUTcast_DNAS_Server_2#YP_Server_Behaviour|DNAS Server - section 4.14]]) or the djcipher ([[SHOUTcast_DNAS_Transcoder_2#DJ_Support|Transcoder - section 3.3]]) in you sc_serv and / or sc_trans setups then you can change the cipher key the DSP uses. You will only need to do this if you get the following status message when making a connection:<br />
<br />
Authentication Error:<br />
Cipher Does Not Match<br />
<br />
This is done currently via editing 'Cipherkey' entry in dsp_sc.ini in your Winamp config folder where you just need to change the string after the equal sign to the value from 'uvoxcipherkey' or 'djcipher' depending upon what you are trying to connect to.<br />
<br />
The dsp_sc.ini file can usually be found by entering '''%appdata%\Winamp\plugins''' into the address bar in Windows Explorer. If it is not there then you should search for '''dsp_sc.ini''' and make sure to have the search program you are using to look for hidden files (this is just incase the OS is hiding the settings folder).<br />
<br />
<br />
==Example Configurations==<br />
<br />
If you are unsure of what to enter to get the Source DSP connected to the official tools, you should look at the '''[[Source_DSP_Plug-in_Configuration_Examples|Source DSP Plug-in Example Configurations]]'''. This shows you where to take configuration values from the official tool configuration file(s) and where in the plug-in configuration you need to enter them for the different operating modes available.<br />
<br />
For 3rd party servers or broadcast tools, you may need to consult their documentation to determine from where you get the required configuration values.</div>Jonathanhttp://wiki.shoutcast.com/wiki/Source_DSP_Plug-inSource DSP Plug-in2015-04-17T21:31:02Z<p>Jonathan: /* Documentation and Support */</p>
<hr />
<div>{{Template:NavBarSC}}<br />
<br />
<br />
==Introduction to the Source DSP==<br />
<br />
The aim of this document is to show you the different features offered by the Source DSP plug-in. Version 2 of the plug-in is designed to work only on Winamp 5.5 and higher due to better api usage and integration with the player. If you want to use the Source DSP in an alternative player, then it would need to support all of the required Winamp apis.<br />
<br />
The key feature of the plug-in is the ability to use Winamp as a source to a DNAS server or a Transcoder / AutoDJ instance or any compatible tool which accepts SHOUTcast streams.<br />
<br />
Additionally the plug-in will allow you to capture an audio input from the soundcard and its line-in or microphone inputs ([[#Soundcard Mixer Control|section 3.3.2]]) subject to OS and the audio system.<br />
<br />
<br />
==Getting Started==<br />
<br />
To start using the Source DSP you need a configured and running DNAS server (sc_serv) or an alternative server to connect to like the Transcoder (sc_trans) and to have all of the login details required to connect as a source. The plug-in can be used as either a full full source or it can be used as a DJ connection in the case of being used with sc_trans.<br />
<br />
<br />
===Installing the Plug-in===<br />
----<br />
[[Image:Select_Source_DSP_in_Winamp.png|225px|thumb|right|Select_Source_DSP_in_Winamp.png]]<br />
<br />
The DSP plugin can be downloaded for free at [http://shoutcast.com/broadcastnow?products&utm_source=follow%20up%20email&utm_medium=Smart%20Focus&utm_term=SHOUTcast&utm_content=feb2015&utm_campaign=wiki the bottom of the Broadcast Tools page.]<br />
<br />
The installer will detect the Winamp install on your machine and will then install it to the correct location. If the detected Winamp version is prior to v5.5 or if there is no winamp.exe present in the folder chosen then the installer will abort the installation.<br />
<br />
Once installed, if you have not chosen to make the Source DSP the default DSP plug-in, you will need to open Winamp and go to the following location:<br />
<br />
Preferences -> Plug-ins -> DSP/Effect<br />
<br />
follwed by selecting the 'Nullsoft SHOUTcast Source DSP' entry shown in the plug-in list.<br />
<br />
==Configuration Window==<br />
<br />
The configuration window is the main interface of the plug-in and is where login details for the connection to the server can be changed or the current status viewed.<br />
<br />
When the configuration window is closed then any active connections will be closed. If you want to hide the window then you can click use the minimise button on the window and click on the notification area icon added when the minimise happened.<br />
<br />
<br />
===Summary Tab===<br />
----<br />
<br />
[[Image:Summary_tab.png|100px|thumb|right|SHOUTcast Source Summary Tab]]<br />
'''Status / Info''' : This will show information about the status of the 5 possible outputs the plug-in is able to provide going from not connected to current duration of the connection.<br />
<br />
If you double-click one of the output items you will be taken to the '[[#Output Tab|see section 3.2]]'<br />
(see section 3.2) where it will show the current settings for the output selected.<br />
<br />
'''Active Input Device''' : This allows you to toggle between using Winamp and the configured soundcard input as well seeing the current audio capture mode. For more configuration options go to the 'Input Tab' ([[#Input Tab|see section 3.3]]).<br />
<br />
'''Input Meters''' : These show the current and peak audio level of the left and right channels as is being passed through the plug-ins core. This can aid in seeing if the input source is possibly not working or to check the audio is clipped.<br />
<br />
<br />
===Output Tab===<br />
----<br />
[[Image:Output_tag_configuration_error.png|100px|thumb|right|SHOUTcast Source Output Tab showing password configuration error]]<br />
This tab allows you to configure the 5 separate outputs the plug-in is able to generate where the settings for the output are selected by clicking the required item in the list.<br />
<br />
'''Status''' : This will show the current information about the output source ranging from not being connected to error messages due to invalid passwords to running correctly.<br />
<br />
'''Auto Connect''' : This will make the plug-in attempt to run this output as soon as it is started or when the option is checked if not already running when checked.<br />
<br />
'''Connect / Abort / Disconnect / Kill Button''' : This allows you to start a connection, abort a connection try or kill / disconnect an active connection. If 'Auto Connect' is checked and you click this for a disconnect action then the plug-in automatically re-starts the connection.<br />
<br />
If there is an issue the 'Connect / Abort / Disconnect / Kill Button' will<br />
show the configuration setting which is invalid e.g. 'Set Password' if the<br />
encoder has not been specified. The tab and the title above where the value<br />
is not set will have it's text changed to red to make it easier to identify.<br />
<br />
<br />
====Login Tab====<br />
----<br />
<br />
This tab allows you to specify the details needed for connecting to a DNAS server.<br />
[[Image:Output_tab_login_tab_v1_enabled.png|100px|thumb|right|SHOUTcast Source Output Connection Tab in v1 (Legacy) mode]]<br />
'''Server Address''' : This is the address of the server to connect to and will depend upon the setup which is being used. If the server being connected to is on the same machine then 'localhost' can be entered, otherwise the exact IP or DNS name of the server e.g. myserver.com needs to be entered here.<br />
<br />
'''Port''' : This is the port related to the 'address' of the server to connect to. This needs to match 'portbase' ([[SHOUTcast_DNAS_Server_2#Networking|DNAS Server - section 4.8]]) or 'serverport' ([[SHOUTcast_DNAS_Transcoder_2#Network_Options|Transcoder - section 3.11]]) if connecting to the official tools or the port value given to use.<br />
<br />
'''Stream ID''' : This is the identifier used to identify the source to the server when using a SHOUTcast 2 supporting setup. This needs to match 'streamid' ([[SHOUTcast_DNAS_Server_2#Networking|DNAS Server - section 4.8]]) or 'streamid' ([[SHOUTcast_DNAS_Transcoder_2#Network_Options|Transcoder - section 3.11]]) if connecting to the official tools or the port value given to use.<br />
<br />
This is disabled if 'Use SHOUTcast v1 mode (for legacy servers)' is checked.<br />
<br />
'''DJ / User ID''' : This is the user id as specified on the server for the type of connection the plug-in is being asked to make. Examples of using this would be the 'djlogin' value from [[SHOUTcast_DNAS_Transcoder_2#DJ_Support|Transcoder - section 3.3]] though this depends on the server configuration being used. Most likely you will be provided with a user id only if it is applicable to your setup.<br />
<br />
If using a compatible v2 DNAS server then this can be entered and will<br />
be used as an identifier of the current DJ but it is not used for the login.<br />
<br />
'''Password''' : This is the password required for accessing the server (if set on the server). This needs to match 'password' ([[SHOUTcast_DNAS_Server_2#Networking|DNAS Server - section 4.8]]) or 'password' ([[SHOUTcast_DNAS_Transcoder_2#Network_Options|Transcoder - section 3.11]]) if connecting to the official tools.<br />
<br />
'''Automatic reconnection on connection failure''' : This will make the plug-in attempt to connect back to the server if there is a break in the connection.<br />
<br />
'''Reconnection timeout''' : This is the number of seconds for the plug-in to wait in-between any connection attempts which fail before it will try again.<br />
[[Image:Output_tab_login_tab_v2_enabled.png|100px|thumb|right|SHOUTcast Source Output Connection Tab in v2 mode]]<br />
'''Use SHOUTcast v1 mode (for legacy servers)''' : This controls the mode the plug-in will run as. When checked it will create a SHOUTcast v1 connection otherwise it will create a SHOUTcast v2 connection (this is the default on new installs).<br />
<br />
Not setting the correct mode for the server you want to connect to will cause the connection attempt to fail or enter into what appears to be a hung state where you are likely to see a 'Cipher response received' if connecting in v2 mode to v1 server. If the plug-in determines this is likely to have happened then it will show the following in status area:<br />
Cipher response received<br />
Try enabling 'SHOUTcast v1 mode'.<br />
<br />
<br />
When SHOUTcast v2 mode is enabled the information panel displayed below this option shows the following message:<br />
Connecting to a SHOUTcast v1 server in<br />
non-legacy mode will likely cause the last<br />
status message to remain on "Cipher<br />
response received". To fix this you need to<br />
enable the "SHOUTcast v1 mode" above.<br />
<br />
When SHOUTcast v1 mode is enabled the information panel displayed below this option shows the following message:<br />
When the DJ password is formatted as<br />
<djlogin>:<djpassword> e.g. dj_1:noise<br />
<br />
Enter <djlogin> in 'DJ / User ID' e.g. dj_1<br />
Enter <djpassword> in 'Password' e.g. noise<br />
<br />
<br />
<br />
====Directory Tab====<br />
----<br />
<br />
This tab allows you to specify values specific to the stream for being listed or for what is provided to listeners when they connect to the DNAS server based on the version set.<br />
<br />
[[Image:Output_tab_directory_tab.png|100px|thumb|right|SHOUTcast Source Output Directory Tab]]<br />
'''Make this server public (Recommended)''' : With this enabled, the stream is indicated as being allowed to appear in the SHOUTcast Directory. This will enable options as applicable based also on the mode the plug-in is set to run as.<br />
<br />
'''Name''' : This is the name you want to use for the source (often what will be used in SHOUTcast Directory listing).<br />
<br />
'''URL''' : This is the url for the stream allowing listeners to view or get more information.<br />
<br />
'''Genre''' : This is the genre for the source and is used to categorise the stream if listed on the SHOUTcast Directory listing. Select the genre from the arrow button menu. It is not possible to manually enter the genre and the input field is read-only.<br />
<br />
'''Arrow Button''' : This will show a menu with known genres and sub-genres allowed for any SHOUTcast Directory listings. This will only be enabled if using v1 mode or if using v2 mode and 'Make this server public' is unchecked.<br />
<br />
'''AIM / ICQ / IRC''' : These allow you to specify some contact information for clients though support of these fields is only available when using SHOUTcat v1 mode.<br />
<br />
<br />
====Encoder Tab====<br />
----<br />
<br />
[[Image:Output_tab_encoder_tab.png|100px|thumb|right|SHOUTcast Source Output Encoder Tab]]<br />
This tab allows you to specify the encoder to be used to create the output stream from the input stream the plug-in gets. The following encoders are available with the plug-in:<br />
<br />
MP3 (audio/mpeg)<br />
AAC (audio/aacp)<br />
<br />
The AAC (actually ADTS-AAC) encoding is provided by enc_aacplus.dll (Winamp 5.1 to 5.61) or enc_fhgaac.dll (Winamp 5.62 and up). If this is not detected in the Winamp plug-ins folder then only MP3 encoding is available.<br />
<br />
Based on the encoder selected, the 'encoder settings' section will provide different options for controlling the encoder settings as either a button to open a configuration window or a dropdown list with options to choose from.<br />
<br />
<br />
=====Save Encoded Output=====<br />
----<br />
<br />
This allows you to make a backup of the stream audio data sent to the DNAS server.<br />
<br />
'''Save a copy of the encoded stream audio''' : Enables or disables saving a copy of the audio.<br />
<br />
The extension of the output file is automatically changed based on the selected<br />
encoder option to ensure that the file can be easily played in most media players.<br />
<br />
<br />
====Titles Tab====<br />
----<br />
[[Image:Output_tab_titles_tab.png|100px|thumb|right|SHOUTcast Source Output Titles Tab]]<br />
This tab allows you to specify how the stream metadata is gathered from Winamp or if it is manually entered with the options provided.<br />
<br />
'''Disable title updates''' : This will prevent the Source DSP from sending any title updates.<br />
<br />
'''Follow Winamp's title updates''' : his makes the Source DSP use Winamp's title updates for stream title updates, sent in the format based on the 'Use SHOUTcast v1 mode (for legacy servers)' setting.<br />
<br />
'''Send next track title to the server (if applicable)''' : This sends the next track title to the server when using the v2 mode and if the plug-in can determine the next track.<br />
<br />
The current version of Winamp is always recommended to use<br />
due to the improved support for this feature since Winamp v5.61.<br />
<br />
'''Manual title updates''' : This will only send titles updates when 'Send Update' is pressed which uses the custom title information entered into the 'now' and 'next' fields (which are enabled as applicable to the mode in use).<br />
<br />
The 'Send Update' button is enabled when a title is entered or it is<br />
different from the existing title. When using SHOUTcast v2 mode the<br />
'next' title field will become available as long as title field is not empty.<br />
<br />
<br />
====Artwork====<br />
----<br />
<br />
[[Image:Output_tab_artwork_tab_v2_enabled.png|100px|thumb|right|SHOUTcast Source Output Artwork in v2 mode]]<br />
This tab allows you to specify whether in-stream artwork will be sent to the SHOUTcast server and if so the type of artwork which will be sent which can be for the station in general as well as per file artwork (much like album art display in most media players).<br />
<br />
'''Send in-stream artwork''' : Enables or disables sending of in-stream artwork.<br />
<br />
If this is enabled and then disabled, it is possible that the<br />
plug-in will send some clear artwork messages after disabling<br />
this option to ensure there is no artwork cached by the server.<br />
<br />
'''Send artwork from the playing file (if available)''' : This sends artwork from the currently playing song to the server and acts in the same way as the album art view in most media players.<br />
<br />
If unchecked or there is no artwork for the playing song then the<br />
DNAS server may be sent a clear artwork message as applicable.<br />
<br />
This is sent as a PNG image to the SHOUTcast server.<br />
<br />
'''Send artwork for stream branding''' : This will send the image as selected in the box below to the server to act as the station or stream image.<br />
<br />
If left empty then the DNAS server may be sent a clear artwork message as applicable.<br />
<br />
<br />
[[Image:Output_tab_artwork_tab_v1_enabled.png|100px|thumb|right|SHOUTcast Source Output Artwork in v1 (Legacy) mode]]<br />
Using the plug-in with a connection to a legacy server will cause the following notice to be shown:<br />
<br />
Stream is setup for a SHOUTcast v1 server<br />
which does not support in-stream artwork.<br />
<br />
To send in-stream artwork, uncheck the<br />
"SHOUTcast v1 mode" option and ensure<br />
you connect to a SHOUTcast v2 server.'<br />
<br />
<br />
The plug-in is only able to send in-stream artwork upto 511 KiB (523680 bytes) in size due to the SHOUTcast 2 protocol specification for metadata packets. If this limit is reached then the artwork will not be sent and instead the server will get a clear artwork message. This tab page will show if the artwork cannot be used.<br />
<br />
Viewing the in-stream artwork depends on native playback support of SHOUTcast v2 streams in the player used by the client so without a compatible player the client will not be able to view it is as it is not available with SHOUTcast v1 streams.<br />
<br />
<br />
====Logs====<br />
----<br />
<br />
[[Image:Output_tab_logs_tab.png|100px|thumb|right|SHOUTcast Source Output Logs Tab]]<br />
This tab allows you to specify the logging options of the status messages as shown at the top of this page. Additionally it also provides the means to log the filepath of the next tracks (if known) which are going to be played by Winamp with support for logging of the track titles if using the xml output mode.<br />
<br />
The main logging options are not enabled by default though this can be used<br />
for tracking problems with the plug-in e.g. if you are having connection issues.<br />
<br />
<br />
'''Enable logging of connection status messages''' : Enables or disables connection logging.<br />
<br />
'''Clear log file on logging startup''' : This will reset the log everytime the plug-in starts.<br />
<br />
'''Open log file...''' : This will open the log file in the associated program for .log files.<br />
<br />
'''Clear log file''' : This will clear the log file if it exists. It will not remove the file.<br />
<br />
<br />
'''Enable next track logging''' : This will enable creating a log file (based on the following options) of the known next tracks to be played by Winamp.<br />
<br />
'''Save report as xml instead of plain text''' : Changing this will create the log as an xml file containing filepath and title with each item identified by the 'seq' attribute.<br />
<br />
The next track logging is only updated when the plug-in detects a track<br />
change. If the plain text / xml mode is changed or the plug-in starts then<br />
the file contents will be cleared until the next track title change happens.<br />
<br />
<br />
===Input Tab===<br />
----<br />
[[Image:Input_tab_winamp_input.png|100px|thumb|right|SHOUTcast Source Input Tab in Winamp mode]]<br />
<br />
====Input Configuration====<br />
----<br />
<br />
'''Input Device''' : This allows you to choose between using Winamp or your soundcard (usually the line-in) as the input source for the output stream the plug-in makes. Depending upon the selection made additional options will be shown below.<br />
<br />
'''Input Levels''' : These show the current and peak audio level of the left and right channels as is being passed through the plug-ins core. This can aid in seeing if the input source is possibly not working or to check the audio is clipped.<br />
<br />
'''Input Settings''' : When the soundcard input is selected then this allows for control over the sample rate used on the input source.<br />
<br />
<br />
====Soundcard Mixer Control====<br />
----<br />
<br />
[[Image:Input_tab_soundcard_input.png|100px|thumb|right|SHOUTcast Source Input Tab in soundcard mode]]'''Choose Microphone''' : This will allow you to choose any of the input devices reported by the OS for use with the microphone overlay mode the plug-in provides.<br />
<br />
'''Refresh Button''' : This allows you to refresh the capture device list on Vista / Windows 7 (is disabled otherwise) since the plug-in was started. This is useful if you have connected a device to the machine and now want to use it.<br />
<br />
'''Open Mixer''' : This will open the operating systems recording and playback options (when using Windows 2000 / XP) which will allow you to change any required input and output settings for the system (though the amount you can change does depend upon the operating system being used - ([[#Known Issues|see section 4.0]])).<br />
<br />
'''Music Level''' : This controls the Winamp output level (from no audio to full audio level).<br />
<br />
'''BG Level''' : This controls the Winamp output level when the 'Push to Talk' option is active (from no audio to full audio level).<br />
<br />
'''Mic Level''' : This controls the chosen microphone device's output level when the 'Push to Talk' option is active (from no audio to full audio level).<br />
<br />
'''Fade Time''' : This controls the amount of time it takes for the audio to fade from the non 'Push to Talk' mode to 'Push to Talk' being the active mode in usage (from no fade i.e. instantly changes to 2.5 second fade duration).<br />
<br />
'''Capture Device Fade Time''' : This controls the amount of time it takes for the selected capture device to fade from the non 'Push to Talk' mode to 'Push to Talk' being the active mode in usage (from no fade i.e. instantly changes to 2.5 second fade duration).<br />
<br />
'''Push to Talk''' : When this is pressed then the chosen microphone device becomes the active input source as used by any active output streams ([[#Output Tab|see section 3.2]]). When enabled this button will appear in an activated state.<br />
<br />
'''Lock''' : When this is pressed it will toggle the 'Push to Talk' mode on or off depending on the current state of this option when it pressed. When enabled this will appear in an activated state along with the 'Push to Talk' button.<br />
<br />
'''Arrow Button''' : This will show a menu with the option "Enable 'Push to Talk' on startup" allowing for the mode to be re-enabled when the plug-in is started. This may be of use as the plug-in turns off the mode and sets the system levels back to the non-pushed mode when the plug-in's window is closed.<br />
<br />
<br />
===About Tab===<br />
----<br />
<br />
[[Image:About_tab.png|100px|thumb|right|SHOUTcast Source About Tab]]<br />
This tab provides information about the version of the plug-in you are using - useful for determining if you are using an older version of the plug-in or when reporting issues.<br />
<br />
<br />
====Documentation and Support====<br />
----<br />
<br />
This part of the tab provides links to access the available documentation and also for going to the SHOUTcast support forum if issues are being experienced with the plug-in.<br />
<br />
The documentation is either the current version as shipped with the plug-in if selected during install (stored in '''<winampdir>\Plugins\SHOUTcast Source DSP''') or if not found it directs you to an online copy available at http://wiki.shoutcast.com/wiki/Source_DSP_Plug-in<br />
<br />
The support forum is accessed via http://forums.shoutcast.com/forumdisplay.php?f=140<br />
<br />
::'''[[Source_DSP_Plug-in_Configuration_Examples|SHOUTcast Source DSP Plug-in Configuration Examples]]'''<br />
<br />
==Known Issues==<br />
<br />
The following are currently known issue(s) to affect the currently released build of the Source DSP plug-in:<br />
<br />
<br />
===Soundcard Mixer Control===<br />
----<br />
<br />
'''Issue''': The soundcard mixer control does not work correctly or as expected on Vista / Windows 7 especially with the handling of the selected 'microphone' device due to changes in the audio system which prevent the capture handling from Windows 2000 / XP working in the same way. Windows 2000 / XP should still work as expected.<br />
<br />
'''Workaround''': The only obvious work around is to use the features the OS provides to enable the 'Listen to this device' option via the system's recording devices feature and then mix the levels with the controls the OS provides.<br />
<br />
'''Expected Resolution''': This issue is still being investigated and hopefully a solution will be provided to allow for control of the input device in unison with the selected 'microphone' device with-in the plug-ins interface when using this mode.<br />
<br />
<br />
==SHOUTcast 2 Cipher Key==<br />
<br />
If you find that you do need to change the uvoxcipherkey ([[SHOUTcast_DNAS_Server_2#YP_Server_Behaviour|DNAS Server - section 4.14]]) or the djcipher ([[SHOUTcast_DNAS_Transcoder_2#DJ_Support|Transcoder - section 3.3]]) in you sc_serv and / or sc_trans setups then you can change the cipher key the DSP uses. You will only need to do this if you get the following status message when making a connection:<br />
<br />
Authentication Error:<br />
Cipher Does Not Match<br />
<br />
This is done currently via editing 'Cipherkey' entry in dsp_sc.ini in your Winamp config folder where you just need to change the string after the equal sign to the value from 'uvoxcipherkey' or 'djcipher' depending upon what you are trying to connect to.<br />
<br />
The dsp_sc.ini file can usually be found by entering '''%appdata%\Winamp\plugins''' into the address bar in Windows Explorer. If it is not there then you should search for '''dsp_sc.ini''' and make sure to have the search program you are using to look for hidden files (this is just incase the OS is hiding the settings folder).<br />
<br />
<br />
==Example Configurations==<br />
<br />
If you are unsure of what to enter to get the Source DSP connected to the official tools, you should look at the '''[[Source_DSP_Plug-in_Configuration_Examples|Source DSP Plug-in Example Configurations]]'''. This shows you where to take configuration values from the official tool configuration file(s) and where in the plug-in configuration you need to enter them for the different operating modes available.<br />
<br />
For 3rd party servers or broadcast tools, you may need to consult their documentation to determine from where you get the required configuration values.</div>Jonathanhttp://wiki.shoutcast.com/wiki/Source_DSP_Plug-inSource DSP Plug-in2015-04-17T21:29:35Z<p>Jonathan: /* Documentation and Support */</p>
<hr />
<div>{{Template:NavBarSC}}<br />
<br />
<br />
==Introduction to the Source DSP==<br />
<br />
The aim of this document is to show you the different features offered by the Source DSP plug-in. Version 2 of the plug-in is designed to work only on Winamp 5.5 and higher due to better api usage and integration with the player. If you want to use the Source DSP in an alternative player, then it would need to support all of the required Winamp apis.<br />
<br />
The key feature of the plug-in is the ability to use Winamp as a source to a DNAS server or a Transcoder / AutoDJ instance or any compatible tool which accepts SHOUTcast streams.<br />
<br />
Additionally the plug-in will allow you to capture an audio input from the soundcard and its line-in or microphone inputs ([[#Soundcard Mixer Control|section 3.3.2]]) subject to OS and the audio system.<br />
<br />
<br />
==Getting Started==<br />
<br />
To start using the Source DSP you need a configured and running DNAS server (sc_serv) or an alternative server to connect to like the Transcoder (sc_trans) and to have all of the login details required to connect as a source. The plug-in can be used as either a full full source or it can be used as a DJ connection in the case of being used with sc_trans.<br />
<br />
<br />
===Installing the Plug-in===<br />
----<br />
[[Image:Select_Source_DSP_in_Winamp.png|225px|thumb|right|Select_Source_DSP_in_Winamp.png]]<br />
<br />
The DSP plugin can be downloaded for free at [http://shoutcast.com/broadcastnow?products&utm_source=follow%20up%20email&utm_medium=Smart%20Focus&utm_term=SHOUTcast&utm_content=feb2015&utm_campaign=wiki the bottom of the Broadcast Tools page.]<br />
<br />
The installer will detect the Winamp install on your machine and will then install it to the correct location. If the detected Winamp version is prior to v5.5 or if there is no winamp.exe present in the folder chosen then the installer will abort the installation.<br />
<br />
Once installed, if you have not chosen to make the Source DSP the default DSP plug-in, you will need to open Winamp and go to the following location:<br />
<br />
Preferences -> Plug-ins -> DSP/Effect<br />
<br />
follwed by selecting the 'Nullsoft SHOUTcast Source DSP' entry shown in the plug-in list.<br />
<br />
==Configuration Window==<br />
<br />
The configuration window is the main interface of the plug-in and is where login details for the connection to the server can be changed or the current status viewed.<br />
<br />
When the configuration window is closed then any active connections will be closed. If you want to hide the window then you can click use the minimise button on the window and click on the notification area icon added when the minimise happened.<br />
<br />
<br />
===Summary Tab===<br />
----<br />
<br />
[[Image:Summary_tab.png|100px|thumb|right|SHOUTcast Source Summary Tab]]<br />
'''Status / Info''' : This will show information about the status of the 5 possible outputs the plug-in is able to provide going from not connected to current duration of the connection.<br />
<br />
If you double-click one of the output items you will be taken to the '[[#Output Tab|see section 3.2]]'<br />
(see section 3.2) where it will show the current settings for the output selected.<br />
<br />
'''Active Input Device''' : This allows you to toggle between using Winamp and the configured soundcard input as well seeing the current audio capture mode. For more configuration options go to the 'Input Tab' ([[#Input Tab|see section 3.3]]).<br />
<br />
'''Input Meters''' : These show the current and peak audio level of the left and right channels as is being passed through the plug-ins core. This can aid in seeing if the input source is possibly not working or to check the audio is clipped.<br />
<br />
<br />
===Output Tab===<br />
----<br />
[[Image:Output_tag_configuration_error.png|100px|thumb|right|SHOUTcast Source Output Tab showing password configuration error]]<br />
This tab allows you to configure the 5 separate outputs the plug-in is able to generate where the settings for the output are selected by clicking the required item in the list.<br />
<br />
'''Status''' : This will show the current information about the output source ranging from not being connected to error messages due to invalid passwords to running correctly.<br />
<br />
'''Auto Connect''' : This will make the plug-in attempt to run this output as soon as it is started or when the option is checked if not already running when checked.<br />
<br />
'''Connect / Abort / Disconnect / Kill Button''' : This allows you to start a connection, abort a connection try or kill / disconnect an active connection. If 'Auto Connect' is checked and you click this for a disconnect action then the plug-in automatically re-starts the connection.<br />
<br />
If there is an issue the 'Connect / Abort / Disconnect / Kill Button' will<br />
show the configuration setting which is invalid e.g. 'Set Password' if the<br />
encoder has not been specified. The tab and the title above where the value<br />
is not set will have it's text changed to red to make it easier to identify.<br />
<br />
<br />
====Login Tab====<br />
----<br />
<br />
This tab allows you to specify the details needed for connecting to a DNAS server.<br />
[[Image:Output_tab_login_tab_v1_enabled.png|100px|thumb|right|SHOUTcast Source Output Connection Tab in v1 (Legacy) mode]]<br />
'''Server Address''' : This is the address of the server to connect to and will depend upon the setup which is being used. If the server being connected to is on the same machine then 'localhost' can be entered, otherwise the exact IP or DNS name of the server e.g. myserver.com needs to be entered here.<br />
<br />
'''Port''' : This is the port related to the 'address' of the server to connect to. This needs to match 'portbase' ([[SHOUTcast_DNAS_Server_2#Networking|DNAS Server - section 4.8]]) or 'serverport' ([[SHOUTcast_DNAS_Transcoder_2#Network_Options|Transcoder - section 3.11]]) if connecting to the official tools or the port value given to use.<br />
<br />
'''Stream ID''' : This is the identifier used to identify the source to the server when using a SHOUTcast 2 supporting setup. This needs to match 'streamid' ([[SHOUTcast_DNAS_Server_2#Networking|DNAS Server - section 4.8]]) or 'streamid' ([[SHOUTcast_DNAS_Transcoder_2#Network_Options|Transcoder - section 3.11]]) if connecting to the official tools or the port value given to use.<br />
<br />
This is disabled if 'Use SHOUTcast v1 mode (for legacy servers)' is checked.<br />
<br />
'''DJ / User ID''' : This is the user id as specified on the server for the type of connection the plug-in is being asked to make. Examples of using this would be the 'djlogin' value from [[SHOUTcast_DNAS_Transcoder_2#DJ_Support|Transcoder - section 3.3]] though this depends on the server configuration being used. Most likely you will be provided with a user id only if it is applicable to your setup.<br />
<br />
If using a compatible v2 DNAS server then this can be entered and will<br />
be used as an identifier of the current DJ but it is not used for the login.<br />
<br />
'''Password''' : This is the password required for accessing the server (if set on the server). This needs to match 'password' ([[SHOUTcast_DNAS_Server_2#Networking|DNAS Server - section 4.8]]) or 'password' ([[SHOUTcast_DNAS_Transcoder_2#Network_Options|Transcoder - section 3.11]]) if connecting to the official tools.<br />
<br />
'''Automatic reconnection on connection failure''' : This will make the plug-in attempt to connect back to the server if there is a break in the connection.<br />
<br />
'''Reconnection timeout''' : This is the number of seconds for the plug-in to wait in-between any connection attempts which fail before it will try again.<br />
[[Image:Output_tab_login_tab_v2_enabled.png|100px|thumb|right|SHOUTcast Source Output Connection Tab in v2 mode]]<br />
'''Use SHOUTcast v1 mode (for legacy servers)''' : This controls the mode the plug-in will run as. When checked it will create a SHOUTcast v1 connection otherwise it will create a SHOUTcast v2 connection (this is the default on new installs).<br />
<br />
Not setting the correct mode for the server you want to connect to will cause the connection attempt to fail or enter into what appears to be a hung state where you are likely to see a 'Cipher response received' if connecting in v2 mode to v1 server. If the plug-in determines this is likely to have happened then it will show the following in status area:<br />
Cipher response received<br />
Try enabling 'SHOUTcast v1 mode'.<br />
<br />
<br />
When SHOUTcast v2 mode is enabled the information panel displayed below this option shows the following message:<br />
Connecting to a SHOUTcast v1 server in<br />
non-legacy mode will likely cause the last<br />
status message to remain on "Cipher<br />
response received". To fix this you need to<br />
enable the "SHOUTcast v1 mode" above.<br />
<br />
When SHOUTcast v1 mode is enabled the information panel displayed below this option shows the following message:<br />
When the DJ password is formatted as<br />
<djlogin>:<djpassword> e.g. dj_1:noise<br />
<br />
Enter <djlogin> in 'DJ / User ID' e.g. dj_1<br />
Enter <djpassword> in 'Password' e.g. noise<br />
<br />
<br />
<br />
====Directory Tab====<br />
----<br />
<br />
This tab allows you to specify values specific to the stream for being listed or for what is provided to listeners when they connect to the DNAS server based on the version set.<br />
<br />
[[Image:Output_tab_directory_tab.png|100px|thumb|right|SHOUTcast Source Output Directory Tab]]<br />
'''Make this server public (Recommended)''' : With this enabled, the stream is indicated as being allowed to appear in the SHOUTcast Directory. This will enable options as applicable based also on the mode the plug-in is set to run as.<br />
<br />
'''Name''' : This is the name you want to use for the source (often what will be used in SHOUTcast Directory listing).<br />
<br />
'''URL''' : This is the url for the stream allowing listeners to view or get more information.<br />
<br />
'''Genre''' : This is the genre for the source and is used to categorise the stream if listed on the SHOUTcast Directory listing. Select the genre from the arrow button menu. It is not possible to manually enter the genre and the input field is read-only.<br />
<br />
'''Arrow Button''' : This will show a menu with known genres and sub-genres allowed for any SHOUTcast Directory listings. This will only be enabled if using v1 mode or if using v2 mode and 'Make this server public' is unchecked.<br />
<br />
'''AIM / ICQ / IRC''' : These allow you to specify some contact information for clients though support of these fields is only available when using SHOUTcat v1 mode.<br />
<br />
<br />
====Encoder Tab====<br />
----<br />
<br />
[[Image:Output_tab_encoder_tab.png|100px|thumb|right|SHOUTcast Source Output Encoder Tab]]<br />
This tab allows you to specify the encoder to be used to create the output stream from the input stream the plug-in gets. The following encoders are available with the plug-in:<br />
<br />
MP3 (audio/mpeg)<br />
AAC (audio/aacp)<br />
<br />
The AAC (actually ADTS-AAC) encoding is provided by enc_aacplus.dll (Winamp 5.1 to 5.61) or enc_fhgaac.dll (Winamp 5.62 and up). If this is not detected in the Winamp plug-ins folder then only MP3 encoding is available.<br />
<br />
Based on the encoder selected, the 'encoder settings' section will provide different options for controlling the encoder settings as either a button to open a configuration window or a dropdown list with options to choose from.<br />
<br />
<br />
=====Save Encoded Output=====<br />
----<br />
<br />
This allows you to make a backup of the stream audio data sent to the DNAS server.<br />
<br />
'''Save a copy of the encoded stream audio''' : Enables or disables saving a copy of the audio.<br />
<br />
The extension of the output file is automatically changed based on the selected<br />
encoder option to ensure that the file can be easily played in most media players.<br />
<br />
<br />
====Titles Tab====<br />
----<br />
[[Image:Output_tab_titles_tab.png|100px|thumb|right|SHOUTcast Source Output Titles Tab]]<br />
This tab allows you to specify how the stream metadata is gathered from Winamp or if it is manually entered with the options provided.<br />
<br />
'''Disable title updates''' : This will prevent the Source DSP from sending any title updates.<br />
<br />
'''Follow Winamp's title updates''' : his makes the Source DSP use Winamp's title updates for stream title updates, sent in the format based on the 'Use SHOUTcast v1 mode (for legacy servers)' setting.<br />
<br />
'''Send next track title to the server (if applicable)''' : This sends the next track title to the server when using the v2 mode and if the plug-in can determine the next track.<br />
<br />
The current version of Winamp is always recommended to use<br />
due to the improved support for this feature since Winamp v5.61.<br />
<br />
'''Manual title updates''' : This will only send titles updates when 'Send Update' is pressed which uses the custom title information entered into the 'now' and 'next' fields (which are enabled as applicable to the mode in use).<br />
<br />
The 'Send Update' button is enabled when a title is entered or it is<br />
different from the existing title. When using SHOUTcast v2 mode the<br />
'next' title field will become available as long as title field is not empty.<br />
<br />
<br />
====Artwork====<br />
----<br />
<br />
[[Image:Output_tab_artwork_tab_v2_enabled.png|100px|thumb|right|SHOUTcast Source Output Artwork in v2 mode]]<br />
This tab allows you to specify whether in-stream artwork will be sent to the SHOUTcast server and if so the type of artwork which will be sent which can be for the station in general as well as per file artwork (much like album art display in most media players).<br />
<br />
'''Send in-stream artwork''' : Enables or disables sending of in-stream artwork.<br />
<br />
If this is enabled and then disabled, it is possible that the<br />
plug-in will send some clear artwork messages after disabling<br />
this option to ensure there is no artwork cached by the server.<br />
<br />
'''Send artwork from the playing file (if available)''' : This sends artwork from the currently playing song to the server and acts in the same way as the album art view in most media players.<br />
<br />
If unchecked or there is no artwork for the playing song then the<br />
DNAS server may be sent a clear artwork message as applicable.<br />
<br />
This is sent as a PNG image to the SHOUTcast server.<br />
<br />
'''Send artwork for stream branding''' : This will send the image as selected in the box below to the server to act as the station or stream image.<br />
<br />
If left empty then the DNAS server may be sent a clear artwork message as applicable.<br />
<br />
<br />
[[Image:Output_tab_artwork_tab_v1_enabled.png|100px|thumb|right|SHOUTcast Source Output Artwork in v1 (Legacy) mode]]<br />
Using the plug-in with a connection to a legacy server will cause the following notice to be shown:<br />
<br />
Stream is setup for a SHOUTcast v1 server<br />
which does not support in-stream artwork.<br />
<br />
To send in-stream artwork, uncheck the<br />
"SHOUTcast v1 mode" option and ensure<br />
you connect to a SHOUTcast v2 server.'<br />
<br />
<br />
The plug-in is only able to send in-stream artwork upto 511 KiB (523680 bytes) in size due to the SHOUTcast 2 protocol specification for metadata packets. If this limit is reached then the artwork will not be sent and instead the server will get a clear artwork message. This tab page will show if the artwork cannot be used.<br />
<br />
Viewing the in-stream artwork depends on native playback support of SHOUTcast v2 streams in the player used by the client so without a compatible player the client will not be able to view it is as it is not available with SHOUTcast v1 streams.<br />
<br />
<br />
====Logs====<br />
----<br />
<br />
[[Image:Output_tab_logs_tab.png|100px|thumb|right|SHOUTcast Source Output Logs Tab]]<br />
This tab allows you to specify the logging options of the status messages as shown at the top of this page. Additionally it also provides the means to log the filepath of the next tracks (if known) which are going to be played by Winamp with support for logging of the track titles if using the xml output mode.<br />
<br />
The main logging options are not enabled by default though this can be used<br />
for tracking problems with the plug-in e.g. if you are having connection issues.<br />
<br />
<br />
'''Enable logging of connection status messages''' : Enables or disables connection logging.<br />
<br />
'''Clear log file on logging startup''' : This will reset the log everytime the plug-in starts.<br />
<br />
'''Open log file...''' : This will open the log file in the associated program for .log files.<br />
<br />
'''Clear log file''' : This will clear the log file if it exists. It will not remove the file.<br />
<br />
<br />
'''Enable next track logging''' : This will enable creating a log file (based on the following options) of the known next tracks to be played by Winamp.<br />
<br />
'''Save report as xml instead of plain text''' : Changing this will create the log as an xml file containing filepath and title with each item identified by the 'seq' attribute.<br />
<br />
The next track logging is only updated when the plug-in detects a track<br />
change. If the plain text / xml mode is changed or the plug-in starts then<br />
the file contents will be cleared until the next track title change happens.<br />
<br />
<br />
===Input Tab===<br />
----<br />
[[Image:Input_tab_winamp_input.png|100px|thumb|right|SHOUTcast Source Input Tab in Winamp mode]]<br />
<br />
====Input Configuration====<br />
----<br />
<br />
'''Input Device''' : This allows you to choose between using Winamp or your soundcard (usually the line-in) as the input source for the output stream the plug-in makes. Depending upon the selection made additional options will be shown below.<br />
<br />
'''Input Levels''' : These show the current and peak audio level of the left and right channels as is being passed through the plug-ins core. This can aid in seeing if the input source is possibly not working or to check the audio is clipped.<br />
<br />
'''Input Settings''' : When the soundcard input is selected then this allows for control over the sample rate used on the input source.<br />
<br />
<br />
====Soundcard Mixer Control====<br />
----<br />
<br />
[[Image:Input_tab_soundcard_input.png|100px|thumb|right|SHOUTcast Source Input Tab in soundcard mode]]'''Choose Microphone''' : This will allow you to choose any of the input devices reported by the OS for use with the microphone overlay mode the plug-in provides.<br />
<br />
'''Refresh Button''' : This allows you to refresh the capture device list on Vista / Windows 7 (is disabled otherwise) since the plug-in was started. This is useful if you have connected a device to the machine and now want to use it.<br />
<br />
'''Open Mixer''' : This will open the operating systems recording and playback options (when using Windows 2000 / XP) which will allow you to change any required input and output settings for the system (though the amount you can change does depend upon the operating system being used - ([[#Known Issues|see section 4.0]])).<br />
<br />
'''Music Level''' : This controls the Winamp output level (from no audio to full audio level).<br />
<br />
'''BG Level''' : This controls the Winamp output level when the 'Push to Talk' option is active (from no audio to full audio level).<br />
<br />
'''Mic Level''' : This controls the chosen microphone device's output level when the 'Push to Talk' option is active (from no audio to full audio level).<br />
<br />
'''Fade Time''' : This controls the amount of time it takes for the audio to fade from the non 'Push to Talk' mode to 'Push to Talk' being the active mode in usage (from no fade i.e. instantly changes to 2.5 second fade duration).<br />
<br />
'''Capture Device Fade Time''' : This controls the amount of time it takes for the selected capture device to fade from the non 'Push to Talk' mode to 'Push to Talk' being the active mode in usage (from no fade i.e. instantly changes to 2.5 second fade duration).<br />
<br />
'''Push to Talk''' : When this is pressed then the chosen microphone device becomes the active input source as used by any active output streams ([[#Output Tab|see section 3.2]]). When enabled this button will appear in an activated state.<br />
<br />
'''Lock''' : When this is pressed it will toggle the 'Push to Talk' mode on or off depending on the current state of this option when it pressed. When enabled this will appear in an activated state along with the 'Push to Talk' button.<br />
<br />
'''Arrow Button''' : This will show a menu with the option "Enable 'Push to Talk' on startup" allowing for the mode to be re-enabled when the plug-in is started. This may be of use as the plug-in turns off the mode and sets the system levels back to the non-pushed mode when the plug-in's window is closed.<br />
<br />
<br />
===About Tab===<br />
----<br />
<br />
[[Image:About_tab.png|100px|thumb|right|SHOUTcast Source About Tab]]<br />
This tab provides information about the version of the plug-in you are using - useful for determining if you are using an older version of the plug-in or when reporting issues.<br />
<br />
<br />
====Documentation and Support====<br />
----<br />
<br />
This part of the tab provides links to access the available documentation and also for going to the SHOUTcast support forum if issues are being experienced with the plug-in.<br />
<br />
The documentation is either the current version as shipped with the plug-in if selected during install (stored in '''<winampdir>\Plugins\SHOUTcast Source DSP''') or if not found it directs you to an online copy available at http://wiki.winamp.com/wiki/Source_DSP_Plug-in<br />
<br />
The support forum is accessed via http://forums.winamp.com/forumdisplay.php?f=140<br />
<br />
::'''[[Source_DSP_Plug-in_Configuration_Examples|SHOUTcast Source DSP Plug-in Configuration Examples]]'''<br />
<br />
==Known Issues==<br />
<br />
The following are currently known issue(s) to affect the currently released build of the Source DSP plug-in:<br />
<br />
<br />
===Soundcard Mixer Control===<br />
----<br />
<br />
'''Issue''': The soundcard mixer control does not work correctly or as expected on Vista / Windows 7 especially with the handling of the selected 'microphone' device due to changes in the audio system which prevent the capture handling from Windows 2000 / XP working in the same way. Windows 2000 / XP should still work as expected.<br />
<br />
'''Workaround''': The only obvious work around is to use the features the OS provides to enable the 'Listen to this device' option via the system's recording devices feature and then mix the levels with the controls the OS provides.<br />
<br />
'''Expected Resolution''': This issue is still being investigated and hopefully a solution will be provided to allow for control of the input device in unison with the selected 'microphone' device with-in the plug-ins interface when using this mode.<br />
<br />
<br />
==SHOUTcast 2 Cipher Key==<br />
<br />
If you find that you do need to change the uvoxcipherkey ([[SHOUTcast_DNAS_Server_2#YP_Server_Behaviour|DNAS Server - section 4.14]]) or the djcipher ([[SHOUTcast_DNAS_Transcoder_2#DJ_Support|Transcoder - section 3.3]]) in you sc_serv and / or sc_trans setups then you can change the cipher key the DSP uses. You will only need to do this if you get the following status message when making a connection:<br />
<br />
Authentication Error:<br />
Cipher Does Not Match<br />
<br />
This is done currently via editing 'Cipherkey' entry in dsp_sc.ini in your Winamp config folder where you just need to change the string after the equal sign to the value from 'uvoxcipherkey' or 'djcipher' depending upon what you are trying to connect to.<br />
<br />
The dsp_sc.ini file can usually be found by entering '''%appdata%\Winamp\plugins''' into the address bar in Windows Explorer. If it is not there then you should search for '''dsp_sc.ini''' and make sure to have the search program you are using to look for hidden files (this is just incase the OS is hiding the settings folder).<br />
<br />
<br />
==Example Configurations==<br />
<br />
If you are unsure of what to enter to get the Source DSP connected to the official tools, you should look at the '''[[Source_DSP_Plug-in_Configuration_Examples|Source DSP Plug-in Example Configurations]]'''. This shows you where to take configuration values from the official tool configuration file(s) and where in the plug-in configuration you need to enter them for the different operating modes available.<br />
<br />
For 3rd party servers or broadcast tools, you may need to consult their documentation to determine from where you get the required configuration values.</div>Jonathanhttp://wiki.shoutcast.com/wiki/SHOUTcast_BroadcasterSHOUTcast Broadcaster2015-04-17T21:28:35Z<p>Jonathan: /* Supporting Documentation */</p>
<hr />
<div>{{Template:NavBarSC}}<br />
<br />
<br />
Here you can find copies of the SHOUTcast tools documentation and other information relating to using the SHOUTcast v2 system from the tools to details about the the SHOUTcast Radio Directory API. Most of the documentation is also provided in the installers / distribution files of the different SHOUTcast v2 system tools though the versions provided here should typically contain the most up-to-date version of the documentation relating to the currently provided version of the tools.<br />
<br />
<br />
=SHOUTcast Overview=<br />
<br />
This provides a look at how the SHOUTcast v2 system is designed to work along with some examples on different configurations of the SHOUTcast tools for getting a valid SHOUTcast system ''' → [[SHOUTcast_System_Overview|SHOUTcast System Overview]]'''<br />
<br />
<br />
=Getting Started=<br />
<br />
This is a step by step guide for how to get going with creating a SHOUTcast v2 system based around the provided example configuration files included with the current versions of the SHOUTcast tools and the Core documentation also provided ''' → [[SHOUTcast_Getting_Started_Guide|Getting Started Guide]]'''<br />
'''Important:''' You need to be happy with the use of command-line tools before attempting to install or run<br />
a SHOUTcast system as all versions of the 2.x DNAS Server are designed to work as command-line tools.<br />
<br />
Current versions of the SHOUTcast tools can be obtained from:<br />
<br />
::'''[http://shoutcast.com/broadcastnow?products&utm_source=follow%20up%20email&utm_medium=Smart%20Focus&utm_term=SHOUTcast&utm_content=feb2015&utm_campaign=wiki Broadcast Tool Downloads]'''<br />
::or<br />
::'''[http://forums.shoutcast.com/showthread.php?t=324877 Support Forum Current Downloads Summary] (*)'''<br />
<br />
The forum link is a summary page and contains links to the latest versions of the tools such as when a new<br />
release has just happened or is being tested before it is provided via the '''[http://shoutcast.com/broadcastnow?products&utm_source=follow%20up%20email&utm_medium=Smart%20Focus&utm_term=SHOUTcast&utm_content=feb2015&utm_campaign=wiki Broadcast Tool Downloads]''' page.<br />
<br />
<br />
==Core Documentation==<br />
<br />
::'''[[SHOUTcast_DNAS_Server_2|SHOUTcast DNAS Server 2 (sc_serv)]]'''<br />
<br />
This link contains detailed, core documentation relating to the SHOUTcast 2.x DNAS software. These documents contain details on the configuration options provided along with useful information on the configuration along with specifics situations which may be experienced.<br />
<br />
==Supporting Documentation==<br />
<br />
Here you can find copies of additional documentation which is referenced by the core documentation or helpful for broadcasting setups and related SHOUTcast interactions.<br />
<br />
::'''[[SHOUTcast_Authhash_Management|SHOUTcast Authhash Management]]'''<br />
<br />
::'''[[SHOUTcast_Listing_Requirements|SHOUTcast Listing Requirements]]'''<br />
<br />
::'''[[SHOUTcast_Server_CDN_Features|SHOUTcast Server CDN Features]]'''<br />
<br />
::'''[[SHOUTcast_Server_Source_Support|SHOUTcast Server Source (Encoder) Support]]'''<br />
<br />
::'''[[SHOUTcast_DNAS_Server_2_XML_Reponses|SHOUTcast DNAS Server 2 XML Reponses]]'''<br />
<br />
::'''[[SHOUTcast_YP_Nak_Errors|SHOUTcast YP Nak Error Information]]'''</div>Jonathanhttp://wiki.shoutcast.com/wiki/SHOUTcast_BroadcasterSHOUTcast Broadcaster2015-04-17T21:27:57Z<p>Jonathan: /* Core Documentation */</p>
<hr />
<div>{{Template:NavBarSC}}<br />
<br />
<br />
Here you can find copies of the SHOUTcast tools documentation and other information relating to using the SHOUTcast v2 system from the tools to details about the the SHOUTcast Radio Directory API. Most of the documentation is also provided in the installers / distribution files of the different SHOUTcast v2 system tools though the versions provided here should typically contain the most up-to-date version of the documentation relating to the currently provided version of the tools.<br />
<br />
<br />
=SHOUTcast Overview=<br />
<br />
This provides a look at how the SHOUTcast v2 system is designed to work along with some examples on different configurations of the SHOUTcast tools for getting a valid SHOUTcast system ''' → [[SHOUTcast_System_Overview|SHOUTcast System Overview]]'''<br />
<br />
<br />
=Getting Started=<br />
<br />
This is a step by step guide for how to get going with creating a SHOUTcast v2 system based around the provided example configuration files included with the current versions of the SHOUTcast tools and the Core documentation also provided ''' → [[SHOUTcast_Getting_Started_Guide|Getting Started Guide]]'''<br />
'''Important:''' You need to be happy with the use of command-line tools before attempting to install or run<br />
a SHOUTcast system as all versions of the 2.x DNAS Server are designed to work as command-line tools.<br />
<br />
Current versions of the SHOUTcast tools can be obtained from:<br />
<br />
::'''[http://shoutcast.com/broadcastnow?products&utm_source=follow%20up%20email&utm_medium=Smart%20Focus&utm_term=SHOUTcast&utm_content=feb2015&utm_campaign=wiki Broadcast Tool Downloads]'''<br />
::or<br />
::'''[http://forums.shoutcast.com/showthread.php?t=324877 Support Forum Current Downloads Summary] (*)'''<br />
<br />
The forum link is a summary page and contains links to the latest versions of the tools such as when a new<br />
release has just happened or is being tested before it is provided via the '''[http://shoutcast.com/broadcastnow?products&utm_source=follow%20up%20email&utm_medium=Smart%20Focus&utm_term=SHOUTcast&utm_content=feb2015&utm_campaign=wiki Broadcast Tool Downloads]''' page.<br />
<br />
<br />
==Core Documentation==<br />
<br />
::'''[[SHOUTcast_DNAS_Server_2|SHOUTcast DNAS Server 2 (sc_serv)]]'''<br />
<br />
This link contains detailed, core documentation relating to the SHOUTcast 2.x DNAS software. These documents contain details on the configuration options provided along with useful information on the configuration along with specifics situations which may be experienced.<br />
<br />
==Supporting Documentation==<br />
<br />
Here you can find copies of additional documentation which is referenced by the core documentation or helpful for broadcasting setups and related SHOUTcast interactions.<br />
<br />
::'''[[SHOUTcast_Authhash_Management|SHOUTcast Authhash Management]]'''<br />
<br />
::'''[[SHOUTcast_Listing_Requirements|SHOUTcast Listing Requirements]]'''<br />
<br />
::'''[[SHOUTcast_Server_CDN_Features|SHOUTcast Server CDN Features]]'''<br />
<br />
::'''[[SHOUTcast_Server_Source_Support|SHOUTcast Server Source (Encoder) Support]]'''<br />
<br />
::'''[[SHOUTcast_DNAS_Server_2_XML_Reponses|SHOUTcast DNAS Server 2 XML Reponses]]'''<br />
<br />
::'''[[Source_DSP_Plug-in_Configuration_Examples|SHOUTcast Source DSP Plug-in Configuration Examples]]'''<br />
<br />
::'''[[SHOUTcast_YP_Nak_Errors|SHOUTcast YP Nak Error Information]]'''</div>Jonathanhttp://wiki.shoutcast.com/wiki/SHOUTcastSHOUTcast2015-04-17T16:32:23Z<p>Jonathan: /* SHOUTcast releases version 2.4.7! */</p>
<hr />
<div>{{Template:NavBarSC}}<br />
<br />
<br />
== SHOUTcast releases version 2.4.7! ==<br />
<br />
'''[[SHOUTcast_News | Latest SHOUTcast News]]''' - The latest developments from the leader in streaming audio.<br />
<br />
== SHOUTcast Offers a Full Suite of Streaming Products ==<br />
<br />
SHOUTcast has you covered when it comes to broadcasting audio online. <br />
<br />
- '''SHOUTcast.com''' [http://www.SHOUTcast.com] - the hugely popular online directory of radio stations (sometimes called the YP - Yellow Pages - for online radio). <br />
<br />
- [[SHOUTcast Broadcaster|'''SHOUTcast Server (DNAS)''']] - The most popular online streaming server software on the planet, used by over 50,000 broadcasters.<br />
<br />
- [[Source_DSP_Plug-in|'''SHOUTcast DSP''']] - The SHOUTcast DSP is an encoder plug-in for Winamp which encodes your audio and sends it to a streaming server such as the SHOUTcast DNAS.<br />
<br />
- [[SHOUTcast Streaming Service|'''SHOUTcast Free Streaming & Revenue Generation''']] - allows successful broadcasters to stream for free and/or generate revenue from their listeners with audio ads. <br />
<br />
- [[SHOUTcast_Developer|'''The SHOUTcast API''']] offers developers the chance to integrate thousands of stations into their apps and products for free.</div>Jonathanhttp://wiki.shoutcast.com/wiki/SHOUTcastSHOUTcast2015-04-17T16:31:21Z<p>Jonathan: </p>
<hr />
<div>{{Template:NavBarSC}}<br />
<br />
<br />
== SHOUTcast releases version 2.4.7! ==<br />
<br />
'''[[SHOUTcast_News | Latest SHOUTcast News]]''' <br />
<br />
<br />
== SHOUTcast Offers a Full Suite of Streaming Products ==<br />
<br />
SHOUTcast has you covered when it comes to broadcasting audio online. <br />
<br />
- '''SHOUTcast.com''' [http://www.SHOUTcast.com] - the hugely popular online directory of radio stations (sometimes called the YP - Yellow Pages - for online radio). <br />
<br />
- [[SHOUTcast Broadcaster|'''SHOUTcast Server (DNAS)''']] - The most popular online streaming server software on the planet, used by over 50,000 broadcasters.<br />
<br />
- [[Source_DSP_Plug-in|'''SHOUTcast DSP''']] - The SHOUTcast DSP is an encoder plug-in for Winamp which encodes your audio and sends it to a streaming server such as the SHOUTcast DNAS.<br />
<br />
- [[SHOUTcast Streaming Service|'''SHOUTcast Free Streaming & Revenue Generation''']] - allows successful broadcasters to stream for free and/or generate revenue from their listeners with audio ads. <br />
<br />
- [[SHOUTcast_Developer|'''The SHOUTcast API''']] offers developers the chance to integrate thousands of stations into their apps and products for free.</div>Jonathanhttp://wiki.shoutcast.com/wiki/SHOUTcastSHOUTcast2015-04-17T16:30:32Z<p>Jonathan: /* SHOUTcast Offers a Full Suite of Streaming Products */</p>
<hr />
<div>{{Template:NavBarSC}}<br />
<br />
<br />
<br />
'''[[SHOUTcast_News | Latest SHOUTcast News]]''' SHOUTcast releases version 2.4.7! <br />
<br />
<br />
== SHOUTcast Offers a Full Suite of Streaming Products ==<br />
<br />
SHOUTcast has you covered when it comes to broadcasting audio online. <br />
<br />
- '''SHOUTcast.com''' [http://www.SHOUTcast.com] - the hugely popular online directory of radio stations (sometimes called the YP - Yellow Pages - for online radio). <br />
<br />
- [[SHOUTcast Broadcaster|'''SHOUTcast Server (DNAS)''']] - The most popular online streaming server software on the planet, used by over 50,000 broadcasters.<br />
<br />
- [[Source_DSP_Plug-in|'''SHOUTcast DSP''']] - The SHOUTcast DSP is an encoder plug-in for Winamp which encodes your audio and sends it to a streaming server such as the SHOUTcast DNAS.<br />
<br />
- [[SHOUTcast Streaming Service|'''SHOUTcast Free Streaming & Revenue Generation''']] - allows successful broadcasters to stream for free and/or generate revenue from their listeners with audio ads. <br />
<br />
- [[SHOUTcast_Developer|'''The SHOUTcast API''']] offers developers the chance to integrate thousands of stations into their apps and products for free.</div>Jonathanhttp://wiki.shoutcast.com/wiki/Template:NavBarSCTemplate:NavBarSC2015-04-17T16:30:15Z<p>Jonathan: </p>
<hr />
<div>[[SHOUTcast|SHOUTcast Home]] | [[SHOUTcast Broadcaster|SHOUTcast Server (DNAS)]] | [[SHOUTcast Developer|SHOUTcast Developer (API)]] | [[SHOUTcast Streaming Service|SHOUTcast Free Streaming & Revenue Generation]] | [[Source_DSP_Plug-in|SHOUTcast DSP (encoder Plug-In for Winamp)]]</div>Jonathanhttp://wiki.shoutcast.com/wiki/Source_DSP_Plug-inSource DSP Plug-in2015-04-15T15:18:45Z<p>Jonathan: /* Installing the Plug-in */</p>
<hr />
<div>{{Template:NavBarSC}}<br />
<br />
<br />
==Introduction to the Source DSP==<br />
<br />
The aim of this document is to show you the different features offered by the Source DSP plug-in. Version 2 of the plug-in is designed to work only on Winamp 5.5 and higher due to better api usage and integration with the player. If you want to use the Source DSP in an alternative player, then it would need to support all of the required Winamp apis.<br />
<br />
The key feature of the plug-in is the ability to use Winamp as a source to a DNAS server or a Transcoder / AutoDJ instance or any compatible tool which accepts SHOUTcast streams.<br />
<br />
Additionally the plug-in will allow you to capture an audio input from the soundcard and its line-in or microphone inputs ([[#Soundcard Mixer Control|section 3.3.2]]) subject to OS and the audio system.<br />
<br />
<br />
==Getting Started==<br />
<br />
To start using the Source DSP you need a configured and running DNAS server (sc_serv) or an alternative server to connect to like the Transcoder (sc_trans) and to have all of the login details required to connect as a source. The plug-in can be used as either a full full source or it can be used as a DJ connection in the case of being used with sc_trans.<br />
<br />
<br />
===Installing the Plug-in===<br />
----<br />
[[Image:Select_Source_DSP_in_Winamp.png|225px|thumb|right|Select_Source_DSP_in_Winamp.png]]<br />
<br />
The DSP plugin can be downloaded for free at [http://shoutcast.com/broadcastnow?products&utm_source=follow%20up%20email&utm_medium=Smart%20Focus&utm_term=SHOUTcast&utm_content=feb2015&utm_campaign=wiki the bottom of the Broadcast Tools page.]<br />
<br />
The installer will detect the Winamp install on your machine and will then install it to the correct location. If the detected Winamp version is prior to v5.5 or if there is no winamp.exe present in the folder chosen then the installer will abort the installation.<br />
<br />
Once installed, if you have not chosen to make the Source DSP the default DSP plug-in, you will need to open Winamp and go to the following location:<br />
<br />
Preferences -> Plug-ins -> DSP/Effect<br />
<br />
follwed by selecting the 'Nullsoft SHOUTcast Source DSP' entry shown in the plug-in list.<br />
<br />
==Configuration Window==<br />
<br />
The configuration window is the main interface of the plug-in and is where login details for the connection to the server can be changed or the current status viewed.<br />
<br />
When the configuration window is closed then any active connections will be closed. If you want to hide the window then you can click use the minimise button on the window and click on the notification area icon added when the minimise happened.<br />
<br />
<br />
===Summary Tab===<br />
----<br />
<br />
[[Image:Summary_tab.png|100px|thumb|right|SHOUTcast Source Summary Tab]]<br />
'''Status / Info''' : This will show information about the status of the 5 possible outputs the plug-in is able to provide going from not connected to current duration of the connection.<br />
<br />
If you double-click one of the output items you will be taken to the '[[#Output Tab|see section 3.2]]'<br />
(see section 3.2) where it will show the current settings for the output selected.<br />
<br />
'''Active Input Device''' : This allows you to toggle between using Winamp and the configured soundcard input as well seeing the current audio capture mode. For more configuration options go to the 'Input Tab' ([[#Input Tab|see section 3.3]]).<br />
<br />
'''Input Meters''' : These show the current and peak audio level of the left and right channels as is being passed through the plug-ins core. This can aid in seeing if the input source is possibly not working or to check the audio is clipped.<br />
<br />
<br />
===Output Tab===<br />
----<br />
[[Image:Output_tag_configuration_error.png|100px|thumb|right|SHOUTcast Source Output Tab showing password configuration error]]<br />
This tab allows you to configure the 5 separate outputs the plug-in is able to generate where the settings for the output are selected by clicking the required item in the list.<br />
<br />
'''Status''' : This will show the current information about the output source ranging from not being connected to error messages due to invalid passwords to running correctly.<br />
<br />
'''Auto Connect''' : This will make the plug-in attempt to run this output as soon as it is started or when the option is checked if not already running when checked.<br />
<br />
'''Connect / Abort / Disconnect / Kill Button''' : This allows you to start a connection, abort a connection try or kill / disconnect an active connection. If 'Auto Connect' is checked and you click this for a disconnect action then the plug-in automatically re-starts the connection.<br />
<br />
If there is an issue the 'Connect / Abort / Disconnect / Kill Button' will<br />
show the configuration setting which is invalid e.g. 'Set Password' if the<br />
encoder has not been specified. The tab and the title above where the value<br />
is not set will have it's text changed to red to make it easier to identify.<br />
<br />
<br />
====Login Tab====<br />
----<br />
<br />
This tab allows you to specify the details needed for connecting to a DNAS server.<br />
[[Image:Output_tab_login_tab_v1_enabled.png|100px|thumb|right|SHOUTcast Source Output Connection Tab in v1 (Legacy) mode]]<br />
'''Server Address''' : This is the address of the server to connect to and will depend upon the setup which is being used. If the server being connected to is on the same machine then 'localhost' can be entered, otherwise the exact IP or DNS name of the server e.g. myserver.com needs to be entered here.<br />
<br />
'''Port''' : This is the port related to the 'address' of the server to connect to. This needs to match 'portbase' ([[SHOUTcast_DNAS_Server_2#Networking|DNAS Server - section 4.8]]) or 'serverport' ([[SHOUTcast_DNAS_Transcoder_2#Network_Options|Transcoder - section 3.11]]) if connecting to the official tools or the port value given to use.<br />
<br />
'''Stream ID''' : This is the identifier used to identify the source to the server when using a SHOUTcast 2 supporting setup. This needs to match 'streamid' ([[SHOUTcast_DNAS_Server_2#Networking|DNAS Server - section 4.8]]) or 'streamid' ([[SHOUTcast_DNAS_Transcoder_2#Network_Options|Transcoder - section 3.11]]) if connecting to the official tools or the port value given to use.<br />
<br />
This is disabled if 'Use SHOUTcast v1 mode (for legacy servers)' is checked.<br />
<br />
'''DJ / User ID''' : This is the user id as specified on the server for the type of connection the plug-in is being asked to make. Examples of using this would be the 'djlogin' value from [[SHOUTcast_DNAS_Transcoder_2#DJ_Support|Transcoder - section 3.3]] though this depends on the server configuration being used. Most likely you will be provided with a user id only if it is applicable to your setup.<br />
<br />
If using a compatible v2 DNAS server then this can be entered and will<br />
be used as an identifier of the current DJ but it is not used for the login.<br />
<br />
'''Password''' : This is the password required for accessing the server (if set on the server). This needs to match 'password' ([[SHOUTcast_DNAS_Server_2#Networking|DNAS Server - section 4.8]]) or 'password' ([[SHOUTcast_DNAS_Transcoder_2#Network_Options|Transcoder - section 3.11]]) if connecting to the official tools.<br />
<br />
'''Automatic reconnection on connection failure''' : This will make the plug-in attempt to connect back to the server if there is a break in the connection.<br />
<br />
'''Reconnection timeout''' : This is the number of seconds for the plug-in to wait in-between any connection attempts which fail before it will try again.<br />
[[Image:Output_tab_login_tab_v2_enabled.png|100px|thumb|right|SHOUTcast Source Output Connection Tab in v2 mode]]<br />
'''Use SHOUTcast v1 mode (for legacy servers)''' : This controls the mode the plug-in will run as. When checked it will create a SHOUTcast v1 connection otherwise it will create a SHOUTcast v2 connection (this is the default on new installs).<br />
<br />
Not setting the correct mode for the server you want to connect to will cause the connection attempt to fail or enter into what appears to be a hung state where you are likely to see a 'Cipher response received' if connecting in v2 mode to v1 server. If the plug-in determines this is likely to have happened then it will show the following in status area:<br />
Cipher response received<br />
Try enabling 'SHOUTcast v1 mode'.<br />
<br />
<br />
When SHOUTcast v2 mode is enabled the information panel displayed below this option shows the following message:<br />
Connecting to a SHOUTcast v1 server in<br />
non-legacy mode will likely cause the last<br />
status message to remain on "Cipher<br />
response received". To fix this you need to<br />
enable the "SHOUTcast v1 mode" above.<br />
<br />
When SHOUTcast v1 mode is enabled the information panel displayed below this option shows the following message:<br />
When the DJ password is formatted as<br />
<djlogin>:<djpassword> e.g. dj_1:noise<br />
<br />
Enter <djlogin> in 'DJ / User ID' e.g. dj_1<br />
Enter <djpassword> in 'Password' e.g. noise<br />
<br />
<br />
<br />
====Directory Tab====<br />
----<br />
<br />
This tab allows you to specify values specific to the stream for being listed or for what is provided to listeners when they connect to the DNAS server based on the version set.<br />
<br />
[[Image:Output_tab_directory_tab.png|100px|thumb|right|SHOUTcast Source Output Directory Tab]]<br />
'''Make this server public (Recommended)''' : With this enabled, the stream is indicated as being allowed to appear in the SHOUTcast Directory. This will enable options as applicable based also on the mode the plug-in is set to run as.<br />
<br />
'''Name''' : This is the name you want to use for the source (often what will be used in SHOUTcast Directory listing).<br />
<br />
'''URL''' : This is the url for the stream allowing listeners to view or get more information.<br />
<br />
'''Genre''' : This is the genre for the source and is used to categorise the stream if listed on the SHOUTcast Directory listing. Select the genre from the arrow button menu. It is not possible to manually enter the genre and the input field is read-only.<br />
<br />
'''Arrow Button''' : This will show a menu with known genres and sub-genres allowed for any SHOUTcast Directory listings. This will only be enabled if using v1 mode or if using v2 mode and 'Make this server public' is unchecked.<br />
<br />
'''AIM / ICQ / IRC''' : These allow you to specify some contact information for clients though support of these fields is only available when using SHOUTcat v1 mode.<br />
<br />
<br />
====Encoder Tab====<br />
----<br />
<br />
[[Image:Output_tab_encoder_tab.png|100px|thumb|right|SHOUTcast Source Output Encoder Tab]]<br />
This tab allows you to specify the encoder to be used to create the output stream from the input stream the plug-in gets. The following encoders are available with the plug-in:<br />
<br />
MP3 (audio/mpeg)<br />
AAC (audio/aacp)<br />
<br />
The AAC (actually ADTS-AAC) encoding is provided by enc_aacplus.dll (Winamp 5.1 to 5.61) or enc_fhgaac.dll (Winamp 5.62 and up). If this is not detected in the Winamp plug-ins folder then only MP3 encoding is available.<br />
<br />
Based on the encoder selected, the 'encoder settings' section will provide different options for controlling the encoder settings as either a button to open a configuration window or a dropdown list with options to choose from.<br />
<br />
<br />
=====Save Encoded Output=====<br />
----<br />
<br />
This allows you to make a backup of the stream audio data sent to the DNAS server.<br />
<br />
'''Save a copy of the encoded stream audio''' : Enables or disables saving a copy of the audio.<br />
<br />
The extension of the output file is automatically changed based on the selected<br />
encoder option to ensure that the file can be easily played in most media players.<br />
<br />
<br />
====Titles Tab====<br />
----<br />
[[Image:Output_tab_titles_tab.png|100px|thumb|right|SHOUTcast Source Output Titles Tab]]<br />
This tab allows you to specify how the stream metadata is gathered from Winamp or if it is manually entered with the options provided.<br />
<br />
'''Disable title updates''' : This will prevent the Source DSP from sending any title updates.<br />
<br />
'''Follow Winamp's title updates''' : his makes the Source DSP use Winamp's title updates for stream title updates, sent in the format based on the 'Use SHOUTcast v1 mode (for legacy servers)' setting.<br />
<br />
'''Send next track title to the server (if applicable)''' : This sends the next track title to the server when using the v2 mode and if the plug-in can determine the next track.<br />
<br />
The current version of Winamp is always recommended to use<br />
due to the improved support for this feature since Winamp v5.61.<br />
<br />
'''Manual title updates''' : This will only send titles updates when 'Send Update' is pressed which uses the custom title information entered into the 'now' and 'next' fields (which are enabled as applicable to the mode in use).<br />
<br />
The 'Send Update' button is enabled when a title is entered or it is<br />
different from the existing title. When using SHOUTcast v2 mode the<br />
'next' title field will become available as long as title field is not empty.<br />
<br />
<br />
====Artwork====<br />
----<br />
<br />
[[Image:Output_tab_artwork_tab_v2_enabled.png|100px|thumb|right|SHOUTcast Source Output Artwork in v2 mode]]<br />
This tab allows you to specify whether in-stream artwork will be sent to the SHOUTcast server and if so the type of artwork which will be sent which can be for the station in general as well as per file artwork (much like album art display in most media players).<br />
<br />
'''Send in-stream artwork''' : Enables or disables sending of in-stream artwork.<br />
<br />
If this is enabled and then disabled, it is possible that the<br />
plug-in will send some clear artwork messages after disabling<br />
this option to ensure there is no artwork cached by the server.<br />
<br />
'''Send artwork from the playing file (if available)''' : This sends artwork from the currently playing song to the server and acts in the same way as the album art view in most media players.<br />
<br />
If unchecked or there is no artwork for the playing song then the<br />
DNAS server may be sent a clear artwork message as applicable.<br />
<br />
This is sent as a PNG image to the SHOUTcast server.<br />
<br />
'''Send artwork for stream branding''' : This will send the image as selected in the box below to the server to act as the station or stream image.<br />
<br />
If left empty then the DNAS server may be sent a clear artwork message as applicable.<br />
<br />
<br />
[[Image:Output_tab_artwork_tab_v1_enabled.png|100px|thumb|right|SHOUTcast Source Output Artwork in v1 (Legacy) mode]]<br />
Using the plug-in with a connection to a legacy server will cause the following notice to be shown:<br />
<br />
Stream is setup for a SHOUTcast v1 server<br />
which does not support in-stream artwork.<br />
<br />
To send in-stream artwork, uncheck the<br />
"SHOUTcast v1 mode" option and ensure<br />
you connect to a SHOUTcast v2 server.'<br />
<br />
<br />
The plug-in is only able to send in-stream artwork upto 511 KiB (523680 bytes) in size due to the SHOUTcast 2 protocol specification for metadata packets. If this limit is reached then the artwork will not be sent and instead the server will get a clear artwork message. This tab page will show if the artwork cannot be used.<br />
<br />
Viewing the in-stream artwork depends on native playback support of SHOUTcast v2 streams in the player used by the client so without a compatible player the client will not be able to view it is as it is not available with SHOUTcast v1 streams.<br />
<br />
<br />
====Logs====<br />
----<br />
<br />
[[Image:Output_tab_logs_tab.png|100px|thumb|right|SHOUTcast Source Output Logs Tab]]<br />
This tab allows you to specify the logging options of the status messages as shown at the top of this page. Additionally it also provides the means to log the filepath of the next tracks (if known) which are going to be played by Winamp with support for logging of the track titles if using the xml output mode.<br />
<br />
The main logging options are not enabled by default though this can be used<br />
for tracking problems with the plug-in e.g. if you are having connection issues.<br />
<br />
<br />
'''Enable logging of connection status messages''' : Enables or disables connection logging.<br />
<br />
'''Clear log file on logging startup''' : This will reset the log everytime the plug-in starts.<br />
<br />
'''Open log file...''' : This will open the log file in the associated program for .log files.<br />
<br />
'''Clear log file''' : This will clear the log file if it exists. It will not remove the file.<br />
<br />
<br />
'''Enable next track logging''' : This will enable creating a log file (based on the following options) of the known next tracks to be played by Winamp.<br />
<br />
'''Save report as xml instead of plain text''' : Changing this will create the log as an xml file containing filepath and title with each item identified by the 'seq' attribute.<br />
<br />
The next track logging is only updated when the plug-in detects a track<br />
change. If the plain text / xml mode is changed or the plug-in starts then<br />
the file contents will be cleared until the next track title change happens.<br />
<br />
<br />
===Input Tab===<br />
----<br />
[[Image:Input_tab_winamp_input.png|100px|thumb|right|SHOUTcast Source Input Tab in Winamp mode]]<br />
<br />
====Input Configuration====<br />
----<br />
<br />
'''Input Device''' : This allows you to choose between using Winamp or your soundcard (usually the line-in) as the input source for the output stream the plug-in makes. Depending upon the selection made additional options will be shown below.<br />
<br />
'''Input Levels''' : These show the current and peak audio level of the left and right channels as is being passed through the plug-ins core. This can aid in seeing if the input source is possibly not working or to check the audio is clipped.<br />
<br />
'''Input Settings''' : When the soundcard input is selected then this allows for control over the sample rate used on the input source.<br />
<br />
<br />
====Soundcard Mixer Control====<br />
----<br />
<br />
[[Image:Input_tab_soundcard_input.png|100px|thumb|right|SHOUTcast Source Input Tab in soundcard mode]]'''Choose Microphone''' : This will allow you to choose any of the input devices reported by the OS for use with the microphone overlay mode the plug-in provides.<br />
<br />
'''Refresh Button''' : This allows you to refresh the capture device list on Vista / Windows 7 (is disabled otherwise) since the plug-in was started. This is useful if you have connected a device to the machine and now want to use it.<br />
<br />
'''Open Mixer''' : This will open the operating systems recording and playback options (when using Windows 2000 / XP) which will allow you to change any required input and output settings for the system (though the amount you can change does depend upon the operating system being used - ([[#Known Issues|see section 4.0]])).<br />
<br />
'''Music Level''' : This controls the Winamp output level (from no audio to full audio level).<br />
<br />
'''BG Level''' : This controls the Winamp output level when the 'Push to Talk' option is active (from no audio to full audio level).<br />
<br />
'''Mic Level''' : This controls the chosen microphone device's output level when the 'Push to Talk' option is active (from no audio to full audio level).<br />
<br />
'''Fade Time''' : This controls the amount of time it takes for the audio to fade from the non 'Push to Talk' mode to 'Push to Talk' being the active mode in usage (from no fade i.e. instantly changes to 2.5 second fade duration).<br />
<br />
'''Capture Device Fade Time''' : This controls the amount of time it takes for the selected capture device to fade from the non 'Push to Talk' mode to 'Push to Talk' being the active mode in usage (from no fade i.e. instantly changes to 2.5 second fade duration).<br />
<br />
'''Push to Talk''' : When this is pressed then the chosen microphone device becomes the active input source as used by any active output streams ([[#Output Tab|see section 3.2]]). When enabled this button will appear in an activated state.<br />
<br />
'''Lock''' : When this is pressed it will toggle the 'Push to Talk' mode on or off depending on the current state of this option when it pressed. When enabled this will appear in an activated state along with the 'Push to Talk' button.<br />
<br />
'''Arrow Button''' : This will show a menu with the option "Enable 'Push to Talk' on startup" allowing for the mode to be re-enabled when the plug-in is started. This may be of use as the plug-in turns off the mode and sets the system levels back to the non-pushed mode when the plug-in's window is closed.<br />
<br />
<br />
===About Tab===<br />
----<br />
<br />
[[Image:About_tab.png|100px|thumb|right|SHOUTcast Source About Tab]]<br />
This tab provides information about the version of the plug-in you are using - useful for determining if you are using an older version of the plug-in or when reporting issues.<br />
<br />
<br />
====Documentation and Support====<br />
----<br />
<br />
This part of the tab provides links to access the available documentation and also for going to the SHOUTcast support forum if issues are being experienced with the plug-in.<br />
<br />
The documentation is either the current version as shipped with the plug-in if selected during install (stored in '''<winampdir>\Plugins\SHOUTcast Source DSP''') or if not found it directs you to an online copy available at http://wiki.winamp.com/wiki/Source_DSP_Plug-in<br />
<br />
The support forum is accessed via http://forums.winamp.com/forumdisplay.php?f=140<br />
<br />
<br />
==Known Issues==<br />
<br />
The following are currently known issue(s) to affect the currently released build of the Source DSP plug-in:<br />
<br />
<br />
===Soundcard Mixer Control===<br />
----<br />
<br />
'''Issue''': The soundcard mixer control does not work correctly or as expected on Vista / Windows 7 especially with the handling of the selected 'microphone' device due to changes in the audio system which prevent the capture handling from Windows 2000 / XP working in the same way. Windows 2000 / XP should still work as expected.<br />
<br />
'''Workaround''': The only obvious work around is to use the features the OS provides to enable the 'Listen to this device' option via the system's recording devices feature and then mix the levels with the controls the OS provides.<br />
<br />
'''Expected Resolution''': This issue is still being investigated and hopefully a solution will be provided to allow for control of the input device in unison with the selected 'microphone' device with-in the plug-ins interface when using this mode.<br />
<br />
<br />
==SHOUTcast 2 Cipher Key==<br />
<br />
If you find that you do need to change the uvoxcipherkey ([[SHOUTcast_DNAS_Server_2#YP_Server_Behaviour|DNAS Server - section 4.14]]) or the djcipher ([[SHOUTcast_DNAS_Transcoder_2#DJ_Support|Transcoder - section 3.3]]) in you sc_serv and / or sc_trans setups then you can change the cipher key the DSP uses. You will only need to do this if you get the following status message when making a connection:<br />
<br />
Authentication Error:<br />
Cipher Does Not Match<br />
<br />
This is done currently via editing 'Cipherkey' entry in dsp_sc.ini in your Winamp config folder where you just need to change the string after the equal sign to the value from 'uvoxcipherkey' or 'djcipher' depending upon what you are trying to connect to.<br />
<br />
The dsp_sc.ini file can usually be found by entering '''%appdata%\Winamp\plugins''' into the address bar in Windows Explorer. If it is not there then you should search for '''dsp_sc.ini''' and make sure to have the search program you are using to look for hidden files (this is just incase the OS is hiding the settings folder).<br />
<br />
<br />
==Example Configurations==<br />
<br />
If you are unsure of what to enter to get the Source DSP connected to the official tools, you should look at the '''[[Source_DSP_Plug-in_Configuration_Examples|Source DSP Plug-in Example Configurations]]'''. This shows you where to take configuration values from the official tool configuration file(s) and where in the plug-in configuration you need to enter them for the different operating modes available.<br />
<br />
For 3rd party servers or broadcast tools, you may need to consult their documentation to determine from where you get the required configuration values.</div>Jonathanhttp://wiki.shoutcast.com/wiki/Source_DSP_Plug-inSource DSP Plug-in2015-04-15T15:17:37Z<p>Jonathan: /* Getting Started */</p>
<hr />
<div>{{Template:NavBarSC}}<br />
<br />
<br />
==Introduction to the Source DSP==<br />
<br />
The aim of this document is to show you the different features offered by the Source DSP plug-in. Version 2 of the plug-in is designed to work only on Winamp 5.5 and higher due to better api usage and integration with the player. If you want to use the Source DSP in an alternative player, then it would need to support all of the required Winamp apis.<br />
<br />
The key feature of the plug-in is the ability to use Winamp as a source to a DNAS server or a Transcoder / AutoDJ instance or any compatible tool which accepts SHOUTcast streams.<br />
<br />
Additionally the plug-in will allow you to capture an audio input from the soundcard and its line-in or microphone inputs ([[#Soundcard Mixer Control|section 3.3.2]]) subject to OS and the audio system.<br />
<br />
<br />
==Getting Started==<br />
<br />
To start using the Source DSP you need a configured and running DNAS server (sc_serv) or an alternative server to connect to like the Transcoder (sc_trans) and to have all of the login details required to connect as a source. The plug-in can be used as either a full full source or it can be used as a DJ connection in the case of being used with sc_trans.<br />
<br />
<br />
===Installing the Plug-in===<br />
----<br />
[[Image:Select_Source_DSP_in_Winamp.png|225px|thumb|right|Select_Source_DSP_in_Winamp.png]]<br />
The installer will detect the Winamp install on your machine and will then install it to the correct location. If the detected Winamp version is prior to v5.5 or if there is no winamp.exe present in the folder chosen then the installer will abort the installation.<br />
<br />
Once installed, if you have not chosen to make the Source DSP the default DSP plug-in, you will need to open Winamp and go to the following location:<br />
<br />
Preferences -> Plug-ins -> DSP/Effect<br />
<br />
follwed by selecting the 'Nullsoft SHOUTcast Source DSP' entry shown in the plug-in list.<br />
<br />
The DSP plugin can be downloaded for free at [[http://shoutcast.com/broadcastnow?products&utm_source=follow%20up%20email&utm_medium=Smart%20Focus&utm_term=SHOUTcast&utm_content=feb2015&utm_campaign=wiki the bottom of the Broadcast Tools page.]]<br />
<br />
==Configuration Window==<br />
<br />
The configuration window is the main interface of the plug-in and is where login details for the connection to the server can be changed or the current status viewed.<br />
<br />
When the configuration window is closed then any active connections will be closed. If you want to hide the window then you can click use the minimise button on the window and click on the notification area icon added when the minimise happened.<br />
<br />
<br />
===Summary Tab===<br />
----<br />
<br />
[[Image:Summary_tab.png|100px|thumb|right|SHOUTcast Source Summary Tab]]<br />
'''Status / Info''' : This will show information about the status of the 5 possible outputs the plug-in is able to provide going from not connected to current duration of the connection.<br />
<br />
If you double-click one of the output items you will be taken to the '[[#Output Tab|see section 3.2]]'<br />
(see section 3.2) where it will show the current settings for the output selected.<br />
<br />
'''Active Input Device''' : This allows you to toggle between using Winamp and the configured soundcard input as well seeing the current audio capture mode. For more configuration options go to the 'Input Tab' ([[#Input Tab|see section 3.3]]).<br />
<br />
'''Input Meters''' : These show the current and peak audio level of the left and right channels as is being passed through the plug-ins core. This can aid in seeing if the input source is possibly not working or to check the audio is clipped.<br />
<br />
<br />
===Output Tab===<br />
----<br />
[[Image:Output_tag_configuration_error.png|100px|thumb|right|SHOUTcast Source Output Tab showing password configuration error]]<br />
This tab allows you to configure the 5 separate outputs the plug-in is able to generate where the settings for the output are selected by clicking the required item in the list.<br />
<br />
'''Status''' : This will show the current information about the output source ranging from not being connected to error messages due to invalid passwords to running correctly.<br />
<br />
'''Auto Connect''' : This will make the plug-in attempt to run this output as soon as it is started or when the option is checked if not already running when checked.<br />
<br />
'''Connect / Abort / Disconnect / Kill Button''' : This allows you to start a connection, abort a connection try or kill / disconnect an active connection. If 'Auto Connect' is checked and you click this for a disconnect action then the plug-in automatically re-starts the connection.<br />
<br />
If there is an issue the 'Connect / Abort / Disconnect / Kill Button' will<br />
show the configuration setting which is invalid e.g. 'Set Password' if the<br />
encoder has not been specified. The tab and the title above where the value<br />
is not set will have it's text changed to red to make it easier to identify.<br />
<br />
<br />
====Login Tab====<br />
----<br />
<br />
This tab allows you to specify the details needed for connecting to a DNAS server.<br />
[[Image:Output_tab_login_tab_v1_enabled.png|100px|thumb|right|SHOUTcast Source Output Connection Tab in v1 (Legacy) mode]]<br />
'''Server Address''' : This is the address of the server to connect to and will depend upon the setup which is being used. If the server being connected to is on the same machine then 'localhost' can be entered, otherwise the exact IP or DNS name of the server e.g. myserver.com needs to be entered here.<br />
<br />
'''Port''' : This is the port related to the 'address' of the server to connect to. This needs to match 'portbase' ([[SHOUTcast_DNAS_Server_2#Networking|DNAS Server - section 4.8]]) or 'serverport' ([[SHOUTcast_DNAS_Transcoder_2#Network_Options|Transcoder - section 3.11]]) if connecting to the official tools or the port value given to use.<br />
<br />
'''Stream ID''' : This is the identifier used to identify the source to the server when using a SHOUTcast 2 supporting setup. This needs to match 'streamid' ([[SHOUTcast_DNAS_Server_2#Networking|DNAS Server - section 4.8]]) or 'streamid' ([[SHOUTcast_DNAS_Transcoder_2#Network_Options|Transcoder - section 3.11]]) if connecting to the official tools or the port value given to use.<br />
<br />
This is disabled if 'Use SHOUTcast v1 mode (for legacy servers)' is checked.<br />
<br />
'''DJ / User ID''' : This is the user id as specified on the server for the type of connection the plug-in is being asked to make. Examples of using this would be the 'djlogin' value from [[SHOUTcast_DNAS_Transcoder_2#DJ_Support|Transcoder - section 3.3]] though this depends on the server configuration being used. Most likely you will be provided with a user id only if it is applicable to your setup.<br />
<br />
If using a compatible v2 DNAS server then this can be entered and will<br />
be used as an identifier of the current DJ but it is not used for the login.<br />
<br />
'''Password''' : This is the password required for accessing the server (if set on the server). This needs to match 'password' ([[SHOUTcast_DNAS_Server_2#Networking|DNAS Server - section 4.8]]) or 'password' ([[SHOUTcast_DNAS_Transcoder_2#Network_Options|Transcoder - section 3.11]]) if connecting to the official tools.<br />
<br />
'''Automatic reconnection on connection failure''' : This will make the plug-in attempt to connect back to the server if there is a break in the connection.<br />
<br />
'''Reconnection timeout''' : This is the number of seconds for the plug-in to wait in-between any connection attempts which fail before it will try again.<br />
[[Image:Output_tab_login_tab_v2_enabled.png|100px|thumb|right|SHOUTcast Source Output Connection Tab in v2 mode]]<br />
'''Use SHOUTcast v1 mode (for legacy servers)''' : This controls the mode the plug-in will run as. When checked it will create a SHOUTcast v1 connection otherwise it will create a SHOUTcast v2 connection (this is the default on new installs).<br />
<br />
Not setting the correct mode for the server you want to connect to will cause the connection attempt to fail or enter into what appears to be a hung state where you are likely to see a 'Cipher response received' if connecting in v2 mode to v1 server. If the plug-in determines this is likely to have happened then it will show the following in status area:<br />
Cipher response received<br />
Try enabling 'SHOUTcast v1 mode'.<br />
<br />
<br />
When SHOUTcast v2 mode is enabled the information panel displayed below this option shows the following message:<br />
Connecting to a SHOUTcast v1 server in<br />
non-legacy mode will likely cause the last<br />
status message to remain on "Cipher<br />
response received". To fix this you need to<br />
enable the "SHOUTcast v1 mode" above.<br />
<br />
When SHOUTcast v1 mode is enabled the information panel displayed below this option shows the following message:<br />
When the DJ password is formatted as<br />
<djlogin>:<djpassword> e.g. dj_1:noise<br />
<br />
Enter <djlogin> in 'DJ / User ID' e.g. dj_1<br />
Enter <djpassword> in 'Password' e.g. noise<br />
<br />
<br />
<br />
====Directory Tab====<br />
----<br />
<br />
This tab allows you to specify values specific to the stream for being listed or for what is provided to listeners when they connect to the DNAS server based on the version set.<br />
<br />
[[Image:Output_tab_directory_tab.png|100px|thumb|right|SHOUTcast Source Output Directory Tab]]<br />
'''Make this server public (Recommended)''' : With this enabled, the stream is indicated as being allowed to appear in the SHOUTcast Directory. This will enable options as applicable based also on the mode the plug-in is set to run as.<br />
<br />
'''Name''' : This is the name you want to use for the source (often what will be used in SHOUTcast Directory listing).<br />
<br />
'''URL''' : This is the url for the stream allowing listeners to view or get more information.<br />
<br />
'''Genre''' : This is the genre for the source and is used to categorise the stream if listed on the SHOUTcast Directory listing. Select the genre from the arrow button menu. It is not possible to manually enter the genre and the input field is read-only.<br />
<br />
'''Arrow Button''' : This will show a menu with known genres and sub-genres allowed for any SHOUTcast Directory listings. This will only be enabled if using v1 mode or if using v2 mode and 'Make this server public' is unchecked.<br />
<br />
'''AIM / ICQ / IRC''' : These allow you to specify some contact information for clients though support of these fields is only available when using SHOUTcat v1 mode.<br />
<br />
<br />
====Encoder Tab====<br />
----<br />
<br />
[[Image:Output_tab_encoder_tab.png|100px|thumb|right|SHOUTcast Source Output Encoder Tab]]<br />
This tab allows you to specify the encoder to be used to create the output stream from the input stream the plug-in gets. The following encoders are available with the plug-in:<br />
<br />
MP3 (audio/mpeg)<br />
AAC (audio/aacp)<br />
<br />
The AAC (actually ADTS-AAC) encoding is provided by enc_aacplus.dll (Winamp 5.1 to 5.61) or enc_fhgaac.dll (Winamp 5.62 and up). If this is not detected in the Winamp plug-ins folder then only MP3 encoding is available.<br />
<br />
Based on the encoder selected, the 'encoder settings' section will provide different options for controlling the encoder settings as either a button to open a configuration window or a dropdown list with options to choose from.<br />
<br />
<br />
=====Save Encoded Output=====<br />
----<br />
<br />
This allows you to make a backup of the stream audio data sent to the DNAS server.<br />
<br />
'''Save a copy of the encoded stream audio''' : Enables or disables saving a copy of the audio.<br />
<br />
The extension of the output file is automatically changed based on the selected<br />
encoder option to ensure that the file can be easily played in most media players.<br />
<br />
<br />
====Titles Tab====<br />
----<br />
[[Image:Output_tab_titles_tab.png|100px|thumb|right|SHOUTcast Source Output Titles Tab]]<br />
This tab allows you to specify how the stream metadata is gathered from Winamp or if it is manually entered with the options provided.<br />
<br />
'''Disable title updates''' : This will prevent the Source DSP from sending any title updates.<br />
<br />
'''Follow Winamp's title updates''' : his makes the Source DSP use Winamp's title updates for stream title updates, sent in the format based on the 'Use SHOUTcast v1 mode (for legacy servers)' setting.<br />
<br />
'''Send next track title to the server (if applicable)''' : This sends the next track title to the server when using the v2 mode and if the plug-in can determine the next track.<br />
<br />
The current version of Winamp is always recommended to use<br />
due to the improved support for this feature since Winamp v5.61.<br />
<br />
'''Manual title updates''' : This will only send titles updates when 'Send Update' is pressed which uses the custom title information entered into the 'now' and 'next' fields (which are enabled as applicable to the mode in use).<br />
<br />
The 'Send Update' button is enabled when a title is entered or it is<br />
different from the existing title. When using SHOUTcast v2 mode the<br />
'next' title field will become available as long as title field is not empty.<br />
<br />
<br />
====Artwork====<br />
----<br />
<br />
[[Image:Output_tab_artwork_tab_v2_enabled.png|100px|thumb|right|SHOUTcast Source Output Artwork in v2 mode]]<br />
This tab allows you to specify whether in-stream artwork will be sent to the SHOUTcast server and if so the type of artwork which will be sent which can be for the station in general as well as per file artwork (much like album art display in most media players).<br />
<br />
'''Send in-stream artwork''' : Enables or disables sending of in-stream artwork.<br />
<br />
If this is enabled and then disabled, it is possible that the<br />
plug-in will send some clear artwork messages after disabling<br />
this option to ensure there is no artwork cached by the server.<br />
<br />
'''Send artwork from the playing file (if available)''' : This sends artwork from the currently playing song to the server and acts in the same way as the album art view in most media players.<br />
<br />
If unchecked or there is no artwork for the playing song then the<br />
DNAS server may be sent a clear artwork message as applicable.<br />
<br />
This is sent as a PNG image to the SHOUTcast server.<br />
<br />
'''Send artwork for stream branding''' : This will send the image as selected in the box below to the server to act as the station or stream image.<br />
<br />
If left empty then the DNAS server may be sent a clear artwork message as applicable.<br />
<br />
<br />
[[Image:Output_tab_artwork_tab_v1_enabled.png|100px|thumb|right|SHOUTcast Source Output Artwork in v1 (Legacy) mode]]<br />
Using the plug-in with a connection to a legacy server will cause the following notice to be shown:<br />
<br />
Stream is setup for a SHOUTcast v1 server<br />
which does not support in-stream artwork.<br />
<br />
To send in-stream artwork, uncheck the<br />
"SHOUTcast v1 mode" option and ensure<br />
you connect to a SHOUTcast v2 server.'<br />
<br />
<br />
The plug-in is only able to send in-stream artwork upto 511 KiB (523680 bytes) in size due to the SHOUTcast 2 protocol specification for metadata packets. If this limit is reached then the artwork will not be sent and instead the server will get a clear artwork message. This tab page will show if the artwork cannot be used.<br />
<br />
Viewing the in-stream artwork depends on native playback support of SHOUTcast v2 streams in the player used by the client so without a compatible player the client will not be able to view it is as it is not available with SHOUTcast v1 streams.<br />
<br />
<br />
====Logs====<br />
----<br />
<br />
[[Image:Output_tab_logs_tab.png|100px|thumb|right|SHOUTcast Source Output Logs Tab]]<br />
This tab allows you to specify the logging options of the status messages as shown at the top of this page. Additionally it also provides the means to log the filepath of the next tracks (if known) which are going to be played by Winamp with support for logging of the track titles if using the xml output mode.<br />
<br />
The main logging options are not enabled by default though this can be used<br />
for tracking problems with the plug-in e.g. if you are having connection issues.<br />
<br />
<br />
'''Enable logging of connection status messages''' : Enables or disables connection logging.<br />
<br />
'''Clear log file on logging startup''' : This will reset the log everytime the plug-in starts.<br />
<br />
'''Open log file...''' : This will open the log file in the associated program for .log files.<br />
<br />
'''Clear log file''' : This will clear the log file if it exists. It will not remove the file.<br />
<br />
<br />
'''Enable next track logging''' : This will enable creating a log file (based on the following options) of the known next tracks to be played by Winamp.<br />
<br />
'''Save report as xml instead of plain text''' : Changing this will create the log as an xml file containing filepath and title with each item identified by the 'seq' attribute.<br />
<br />
The next track logging is only updated when the plug-in detects a track<br />
change. If the plain text / xml mode is changed or the plug-in starts then<br />
the file contents will be cleared until the next track title change happens.<br />
<br />
<br />
===Input Tab===<br />
----<br />
[[Image:Input_tab_winamp_input.png|100px|thumb|right|SHOUTcast Source Input Tab in Winamp mode]]<br />
<br />
====Input Configuration====<br />
----<br />
<br />
'''Input Device''' : This allows you to choose between using Winamp or your soundcard (usually the line-in) as the input source for the output stream the plug-in makes. Depending upon the selection made additional options will be shown below.<br />
<br />
'''Input Levels''' : These show the current and peak audio level of the left and right channels as is being passed through the plug-ins core. This can aid in seeing if the input source is possibly not working or to check the audio is clipped.<br />
<br />
'''Input Settings''' : When the soundcard input is selected then this allows for control over the sample rate used on the input source.<br />
<br />
<br />
====Soundcard Mixer Control====<br />
----<br />
<br />
[[Image:Input_tab_soundcard_input.png|100px|thumb|right|SHOUTcast Source Input Tab in soundcard mode]]'''Choose Microphone''' : This will allow you to choose any of the input devices reported by the OS for use with the microphone overlay mode the plug-in provides.<br />
<br />
'''Refresh Button''' : This allows you to refresh the capture device list on Vista / Windows 7 (is disabled otherwise) since the plug-in was started. This is useful if you have connected a device to the machine and now want to use it.<br />
<br />
'''Open Mixer''' : This will open the operating systems recording and playback options (when using Windows 2000 / XP) which will allow you to change any required input and output settings for the system (though the amount you can change does depend upon the operating system being used - ([[#Known Issues|see section 4.0]])).<br />
<br />
'''Music Level''' : This controls the Winamp output level (from no audio to full audio level).<br />
<br />
'''BG Level''' : This controls the Winamp output level when the 'Push to Talk' option is active (from no audio to full audio level).<br />
<br />
'''Mic Level''' : This controls the chosen microphone device's output level when the 'Push to Talk' option is active (from no audio to full audio level).<br />
<br />
'''Fade Time''' : This controls the amount of time it takes for the audio to fade from the non 'Push to Talk' mode to 'Push to Talk' being the active mode in usage (from no fade i.e. instantly changes to 2.5 second fade duration).<br />
<br />
'''Capture Device Fade Time''' : This controls the amount of time it takes for the selected capture device to fade from the non 'Push to Talk' mode to 'Push to Talk' being the active mode in usage (from no fade i.e. instantly changes to 2.5 second fade duration).<br />
<br />
'''Push to Talk''' : When this is pressed then the chosen microphone device becomes the active input source as used by any active output streams ([[#Output Tab|see section 3.2]]). When enabled this button will appear in an activated state.<br />
<br />
'''Lock''' : When this is pressed it will toggle the 'Push to Talk' mode on or off depending on the current state of this option when it pressed. When enabled this will appear in an activated state along with the 'Push to Talk' button.<br />
<br />
'''Arrow Button''' : This will show a menu with the option "Enable 'Push to Talk' on startup" allowing for the mode to be re-enabled when the plug-in is started. This may be of use as the plug-in turns off the mode and sets the system levels back to the non-pushed mode when the plug-in's window is closed.<br />
<br />
<br />
===About Tab===<br />
----<br />
<br />
[[Image:About_tab.png|100px|thumb|right|SHOUTcast Source About Tab]]<br />
This tab provides information about the version of the plug-in you are using - useful for determining if you are using an older version of the plug-in or when reporting issues.<br />
<br />
<br />
====Documentation and Support====<br />
----<br />
<br />
This part of the tab provides links to access the available documentation and also for going to the SHOUTcast support forum if issues are being experienced with the plug-in.<br />
<br />
The documentation is either the current version as shipped with the plug-in if selected during install (stored in '''<winampdir>\Plugins\SHOUTcast Source DSP''') or if not found it directs you to an online copy available at http://wiki.winamp.com/wiki/Source_DSP_Plug-in<br />
<br />
The support forum is accessed via http://forums.winamp.com/forumdisplay.php?f=140<br />
<br />
<br />
==Known Issues==<br />
<br />
The following are currently known issue(s) to affect the currently released build of the Source DSP plug-in:<br />
<br />
<br />
===Soundcard Mixer Control===<br />
----<br />
<br />
'''Issue''': The soundcard mixer control does not work correctly or as expected on Vista / Windows 7 especially with the handling of the selected 'microphone' device due to changes in the audio system which prevent the capture handling from Windows 2000 / XP working in the same way. Windows 2000 / XP should still work as expected.<br />
<br />
'''Workaround''': The only obvious work around is to use the features the OS provides to enable the 'Listen to this device' option via the system's recording devices feature and then mix the levels with the controls the OS provides.<br />
<br />
'''Expected Resolution''': This issue is still being investigated and hopefully a solution will be provided to allow for control of the input device in unison with the selected 'microphone' device with-in the plug-ins interface when using this mode.<br />
<br />
<br />
==SHOUTcast 2 Cipher Key==<br />
<br />
If you find that you do need to change the uvoxcipherkey ([[SHOUTcast_DNAS_Server_2#YP_Server_Behaviour|DNAS Server - section 4.14]]) or the djcipher ([[SHOUTcast_DNAS_Transcoder_2#DJ_Support|Transcoder - section 3.3]]) in you sc_serv and / or sc_trans setups then you can change the cipher key the DSP uses. You will only need to do this if you get the following status message when making a connection:<br />
<br />
Authentication Error:<br />
Cipher Does Not Match<br />
<br />
This is done currently via editing 'Cipherkey' entry in dsp_sc.ini in your Winamp config folder where you just need to change the string after the equal sign to the value from 'uvoxcipherkey' or 'djcipher' depending upon what you are trying to connect to.<br />
<br />
The dsp_sc.ini file can usually be found by entering '''%appdata%\Winamp\plugins''' into the address bar in Windows Explorer. If it is not there then you should search for '''dsp_sc.ini''' and make sure to have the search program you are using to look for hidden files (this is just incase the OS is hiding the settings folder).<br />
<br />
<br />
==Example Configurations==<br />
<br />
If you are unsure of what to enter to get the Source DSP connected to the official tools, you should look at the '''[[Source_DSP_Plug-in_Configuration_Examples|Source DSP Plug-in Example Configurations]]'''. This shows you where to take configuration values from the official tool configuration file(s) and where in the plug-in configuration you need to enter them for the different operating modes available.<br />
<br />
For 3rd party servers or broadcast tools, you may need to consult their documentation to determine from where you get the required configuration values.</div>Jonathanhttp://wiki.shoutcast.com/wiki/SHOUTcast_BroadcasterSHOUTcast Broadcaster2015-04-15T15:14:48Z<p>Jonathan: </p>
<hr />
<div>{{Template:NavBarSC}}<br />
<br />
<br />
Here you can find copies of the SHOUTcast tools documentation and other information relating to using the SHOUTcast v2 system from the tools to details about the the SHOUTcast Radio Directory API. Most of the documentation is also provided in the installers / distribution files of the different SHOUTcast v2 system tools though the versions provided here should typically contain the most up-to-date version of the documentation relating to the currently provided version of the tools.<br />
<br />
<br />
=SHOUTcast Overview=<br />
<br />
This provides a look at how the SHOUTcast v2 system is designed to work along with some examples on different configurations of the SHOUTcast tools for getting a valid SHOUTcast system ''' → [[SHOUTcast_System_Overview|SHOUTcast System Overview]]'''<br />
<br />
<br />
=Getting Started=<br />
<br />
This is a step by step guide for how to get going with creating a SHOUTcast v2 system based around the provided example configuration files included with the current versions of the SHOUTcast tools and the Core documentation also provided ''' → [[SHOUTcast_Getting_Started_Guide|Getting Started Guide]]'''<br />
'''Important:''' You need to be happy with the use of command-line tools before attempting to install or run<br />
a SHOUTcast system as all versions of the 2.x DNAS Server are designed to work as command-line tools.<br />
<br />
Current versions of the SHOUTcast tools can be obtained from:<br />
<br />
::'''[http://shoutcast.com/broadcastnow?products&utm_source=follow%20up%20email&utm_medium=Smart%20Focus&utm_term=SHOUTcast&utm_content=feb2015&utm_campaign=wiki Broadcast Tool Downloads]'''<br />
::or<br />
::'''[http://forums.shoutcast.com/showthread.php?t=324877 Support Forum Current Downloads Summary] (*)'''<br />
<br />
The forum link is a summary page and contains links to the latest versions of the tools such as when a new<br />
release has just happened or is being tested before it is provided via the '''[http://shoutcast.com/broadcastnow?products&utm_source=follow%20up%20email&utm_medium=Smart%20Focus&utm_term=SHOUTcast&utm_content=feb2015&utm_campaign=wiki Broadcast Tool Downloads]''' page.<br />
<br />
<br />
==Core Documentation==<br />
<br />
Here you can find the core documentation relating to the SHOUTcast 2.x DNAS system. These documents contain details on the configuration options provided along with useful information on the configuration along with specifics situations which may be experienced.<br />
<br />
::'''[[SHOUTcast_DNAS_Server_2|SHOUTcast DNAS Server 2 (sc_serv)]]'''<br />
<br />
==Supporting Documentation==<br />
<br />
Here you can find copies of additional documentation which is referenced by the core documentation or helpful for broadcasting setups and related SHOUTcast interactions.<br />
<br />
::'''[[SHOUTcast_Authhash_Management|SHOUTcast Authhash Management]]'''<br />
<br />
::'''[[SHOUTcast_Listing_Requirements|SHOUTcast Listing Requirements]]'''<br />
<br />
::'''[[SHOUTcast_Server_CDN_Features|SHOUTcast Server CDN Features]]'''<br />
<br />
::'''[[SHOUTcast_Server_Source_Support|SHOUTcast Server Source (Encoder) Support]]'''<br />
<br />
::'''[[SHOUTcast_DNAS_Server_2_XML_Reponses|SHOUTcast DNAS Server 2 XML Reponses]]'''<br />
<br />
::'''[[Source_DSP_Plug-in_Configuration_Examples|SHOUTcast Source DSP Plug-in Configuration Examples]]'''<br />
<br />
::'''[[SHOUTcast_YP_Nak_Errors|SHOUTcast YP Nak Error Information]]'''</div>Jonathanhttp://wiki.shoutcast.com/wiki/SHOUTcast_BroadcasterSHOUTcast Broadcaster2015-04-15T15:14:02Z<p>Jonathan: </p>
<hr />
<div>{{Template:NavBarSC}}<br />
<br />
<br />
Here you can find copies of the SHOUTcast tools documentation and other information relating to using the SHOUTcast v2 system from the tools to details about the the SHOUTcast Radio Directory API. Most of the documentation is also provided in the installers / distribution files of the different SHOUTcast v2 system tools though the versions provided here should typically contain the most up-to-date version of the documentation relating to the currently provided version of the tools.<br />
<br />
<br />
=SHOUTcast Overview=<br />
<br />
This provides a look at how the SHOUTcast v2 system is designed to work along with some examples on different configurations of the SHOUTcast tools for getting a valid SHOUTcast system ''' → [[SHOUTcast_System_Overview|SHOUTcast System Overview]]'''<br />
<br />
<br />
=Getting Started=<br />
<br />
This is a step by step guide for how to get going with creating a SHOUTcast v2 system based around the provided example configuration files included with the current versions of the SHOUTcast tools and the Core documentation also provided ''' → [[SHOUTcast_Getting_Started_Guide|Getting Started Guide]]'''<br />
'''Important:''' You need to be happy with the use of command-line tools before attempting to install or run<br />
a SHOUTcast system as all versions of the 2.x DNAS Server are designed to work as command-line tools.<br />
<br />
Current versions of the SHOUTcast tools can be obtained from:<br />
<br />
::'''[http://shoutcast.com/broadcastnow?products&utm_source=follow%20up%20email&utm_medium=Smart%20Focus&utm_term=SHOUTcast&utm_content=feb2015&utm_campaign=wiki<br />
Broadcast Tool Downloads]'''<br />
::or<br />
::'''[http://forums.shoutcast.com/showthread.php?t=324877 Support Forum Current Downloads Summary] (*)'''<br />
<br />
The forum link is a summary page and contains links to the latest versions of the tools such as when a new<br />
release has just happened or is being tested before it is provided via the '''[http://shoutcast.com/broadcastnow?products&utm_source=follow%20up%20email&utm_medium=Smart%20Focus&utm_term=SHOUTcast&utm_content=feb2015&utm_campaign=wiki<br />
Broadcast Tool Downloads]''' page.<br />
<br />
<br />
==Core Documentation==<br />
<br />
Here you can find the core documentation relating to the SHOUTcast 2.x DNAS system. These documents contain details on the configuration options provided along with useful information on the configuration along with specifics situations which may be experienced.<br />
<br />
::'''[[SHOUTcast_DNAS_Server_2|SHOUTcast DNAS Server 2 (sc_serv)]]'''<br />
<br />
==Supporting Documentation==<br />
<br />
Here you can find copies of additional documentation which is referenced by the core documentation or helpful for broadcasting setups and related SHOUTcast interactions.<br />
<br />
::'''[[SHOUTcast_Authhash_Management|SHOUTcast Authhash Management]]'''<br />
<br />
::'''[[SHOUTcast_Listing_Requirements|SHOUTcast Listing Requirements]]'''<br />
<br />
::'''[[SHOUTcast_Server_CDN_Features|SHOUTcast Server CDN Features]]'''<br />
<br />
::'''[[SHOUTcast_Server_Source_Support|SHOUTcast Server Source (Encoder) Support]]'''<br />
<br />
::'''[[SHOUTcast_DNAS_Server_2_XML_Reponses|SHOUTcast DNAS Server 2 XML Reponses]]'''<br />
<br />
::'''[[Source_DSP_Plug-in_Configuration_Examples|SHOUTcast Source DSP Plug-in Configuration Examples]]'''<br />
<br />
::'''[[SHOUTcast_YP_Nak_Errors|SHOUTcast YP Nak Error Information]]'''</div>Jonathanhttp://wiki.shoutcast.com/wiki/SHOUTcast_NewsSHOUTcast News2015-04-15T15:11:20Z<p>Jonathan: </p>
<hr />
<div>{{Template:NavBarSC}}<br />
<br />
<br />
<br />
'''Free Download: New SHOUTcast version 2.4.7''' <br />
<br />
SHOUTcast, the largest streaming audio software platform and worldwide radio station directory has released an update to its industry-standard streaming software. With the moniker “2.4.7” (to emphasize round-the-clock reliability), the latest version includes many new features and capabilities to make internet broadcasting easier for broadcasters. <br />
<br />
The new SHOUTcast Suite of Streaming Products still includes a free streaming option, and powerful revenue generating tools, and the latest version adds: <br />
* Improved ad support and revenue tracking<br />
* Even better stability for reliable streaming 24/7<br />
* Improved processor management saves energy<br />
* Better memory usage for stations with big audiences<br />
<br />
'''Effortless Upgrade'''<br />
<br />
Broadcasters who run their own servers should download the updated version of the DNAS for free from the download button on [[http://shoutcast.com/broadcastnow?products&utm_source=follow%20up%20email&utm_medium=Smart%20Focus&utm_term=SHOUTcast&utm_content=feb2015&utm_campaign=wiki shoutcast.com/broadcastnow]]<br />
<br />
Stations using a CDN (streaming service) should ask their provider to make sure their server gets updated to SHOUTcast version 2.4.7<br />
<br />
<br />
'''Technical Details'''<br />
<br />
Read more on the <br />
[[http://forums.shoutcast.com/showthread.php?t=373139 SHOUTcast Forum]]</div>Jonathanhttp://wiki.shoutcast.com/wiki/SHOUTcast_NewsSHOUTcast News2015-04-15T15:10:34Z<p>Jonathan: </p>
<hr />
<div>{{Template:NavBarSC}}<br />
<br />
<br />
<br />
'''Free Download: New SHOUTcast version 2.4.7''' <br />
<br />
SHOUTcast, the largest streaming audio software platform and worldwide radio station directory has released an update to its industry-standard streaming software. With the moniker “2.4.7” (to emphasize round-the-clock reliability), the latest version includes many new features and capabilities to make internet broadcasting easier for broadcasters. <br />
<br />
The new SHOUTcast Suite of Streaming Products still includes a free streaming option, and powerful revenue generating tools, and the latest version adds: <br />
* Improved ad support and revenue tracking<br />
* Even better stability for reliable streaming 24/7<br />
* Improved processor management saves energy<br />
* Better memory usage for stations with big audiences<br />
<br />
'''Effortless Upgrade'''<br />
<br />
- Broadcasters who run their own servers should download the updated version of the DNAS for free from the download button on [[http://shoutcast.com/broadcastnow?products&utm_source=follow%20up%20email&utm_medium=Smart%20Focus&utm_term=SHOUTcast&utm_content=feb2015&utm_campaign=wiki<br />
shoutcast.com/broadcastnow]]<br />
<br />
- Stations using a CDN (streaming service) should ask their provider to make sure their server gets updated to SHOUTcast version 2.4.7<br />
<br />
<br />
'''Technical Details'''<br />
<br />
Read more on the <br />
[[http://forums.shoutcast.com/showthread.php?t=373139 SHOUTcast Forum]]</div>Jonathanhttp://wiki.shoutcast.com/wiki/SHOUTcast_NewsSHOUTcast News2015-04-15T15:09:42Z<p>Jonathan: </p>
<hr />
<div>{{Template:NavBarSC}}<br />
<br />
<br />
<br />
'''Free Download: New SHOUTcast version 2.4.7''' <br />
<br />
SHOUTcast, the largest streaming audio software platform and worldwide radio station directory has released an update to its industry-standard streaming software. With the moniker “2.4.7” (to emphasize round-the-clock reliability), the latest version includes many new features and capabilities to make internet broadcasting easier for broadcasters. <br />
<br />
The new SHOUTcast Suite of Streaming Products still includes a free streaming option, and powerful revenue generating tools, and the latest version adds: <br />
* Improved ad support and revenue tracking<br />
* Even better stability for reliable streaming 24/7<br />
* Improved processor management saves energy<br />
* Better memory usage for stations with big audiences<br />
<br />
'''Effortless Upgrade'''<br />
<br />
- Broadcasters who run their own servers should download the updated version of the DNAS for free from the download button on [[http://shoutcast.com/broadcastnow?products&utm_source=follow%20up%20email&utm_medium=Smart%20Focus&utm_term=SHOUTcast&utm_content=feb2015&utm_campaign=wiki<br />
http://shoutcast.com/broadcastnow]]<br />
<br />
- Stations using a CDN (streaming service) should ask their provider to make sure their server gets updated to SHOUTcast version 2.4.7<br />
<br />
<br />
'''Technical Details'''<br />
<br />
Read more on the <br />
[[http://forums.shoutcast.com/showthread.php?t=373139 SHOUTcast Forum]]</div>Jonathanhttp://wiki.shoutcast.com/wiki/SHOUTcast_NewsSHOUTcast News2015-04-15T15:08:48Z<p>Jonathan: </p>
<hr />
<div>{{Template:NavBarSC}}<br />
<br />
<br />
<br />
'''Free Download: New SHOUTcast version 2.4.7''' <br />
<br />
SHOUTcast, the largest streaming audio software platform and worldwide radio station directory has released an update to its industry-standard streaming software. With the moniker “2.4.7” (to emphasize round-the-clock reliability), the latest version includes many new features and capabilities to make internet broadcasting easier for broadcasters. <br />
<br />
The new SHOUTcast Suite of Streaming Products still includes a free streaming option, and powerful revenue generating tools, and the latest version adds: <br />
* Improved ad support and revenue tracking<br />
* Even better stability for reliable streaming 24/7<br />
* Improved processor management saves energy<br />
* Better memory usage for stations with big audiences<br />
<br />
'''Effortless Upgrade'''<br />
<br />
- Broadcasters who run their own servers should download the updated version of the DNAS for free from the download button on http://shoutcast.com/broadcastnow <br />
<br />
- Stations using a CDN (streaming service) should ask their provider to make sure their server gets updated to SHOUTcast version 2.4.7<br />
<br />
<br />
'''Technical Details'''<br />
<br />
Read more on the <br />
[[http://forums.shoutcast.com/showthread.php?t=373139 SHOUTcast Forum]]</div>Jonathanhttp://wiki.shoutcast.com/wiki/SHOUTcast_NewsSHOUTcast News2015-04-15T15:08:20Z<p>Jonathan: </p>
<hr />
<div>{{Template:NavBarSC}}<br />
<br />
<br />
<br />
'''Free Download: New SHOUTcast version 2.4.7''' <br />
<br />
SHOUTcast, the largest streaming audio software platform and worldwide radio station directory has released an update to its industry-standard streaming software. With the moniker “2.4.7” (to emphasize round-the-clock reliability), the latest version includes many new features and capabilities to make internet broadcasting easier for broadcasters. <br />
<br />
The new SHOUTcast Suite of Streaming Products still includes a free streaming option, and powerful revenue generating tools, and the latest version adds: <br />
* Improved ad support and revenue tracking<br />
* Even better stability for reliable streaming 24/7<br />
* Improved processor management saves energy<br />
* Better memory usage for stations with big audiences<br />
<br />
'''Effortless Upgrade'''<br />
<br />
- Broadcasters who run their own servers should download the updated version of the DNAS for free from the download button on http://shoutcast.com/broadcastnow [http://shoutcast.com/broadcastnow?products&utm_source=follow%20up%20email&utm_medium=Smart%20Focus&utm_term=SHOUTcast&utm_content=feb2015&utm_campaign=wiki<br />
]<br />
<br />
- Stations using a CDN (streaming service) should ask their provider to make sure their server gets updated to SHOUTcast version 2.4.7<br />
<br />
<br />
'''Technical Details'''<br />
<br />
Read more on the <br />
[[http://forums.shoutcast.com/showthread.php?t=373139 SHOUTcast Forum]]</div>Jonathanhttp://wiki.shoutcast.com/wiki/SHOUTcast_NewsSHOUTcast News2015-04-15T15:07:48Z<p>Jonathan: </p>
<hr />
<div>{{Template:NavBarSC}}<br />
<br />
<br />
<br />
'''Free Download: New SHOUTcast version 2.4.7''' <br />
<br />
SHOUTcast, the largest streaming audio software platform and worldwide radio station directory has released an update to its industry-standard streaming software. With the moniker “2.4.7” (to emphasize round-the-clock reliability), the latest version includes many new features and capabilities to make internet broadcasting easier for broadcasters. <br />
<br />
The new SHOUTcast Suite of Streaming Products still includes a free streaming option, and powerful revenue generating tools, and the latest version adds: <br />
* Improved ad support and revenue tracking<br />
* Even better stability for reliable streaming 24/7<br />
* Improved processor management saves energy<br />
* Better memory usage for stations with big audiences<br />
<br />
'''Effortless Upgrade'''<br />
<br />
- Broadcasters who run their own servers should download the updated version of the DNAS for free from the download button on [http://shoutcast.com/broadcastnow]<br />
<br />
- Stations using a CDN (streaming service) should ask their provider to make sure their server gets updated to SHOUTcast version 2.4.7<br />
<br />
<br />
'''Technical Details'''<br />
<br />
Read more on the <br />
[[http://forums.shoutcast.com/showthread.php?t=373139 SHOUTcast Forum]]</div>Jonathanhttp://wiki.shoutcast.com/wiki/SHOUTcast_NewsSHOUTcast News2015-04-15T15:07:10Z<p>Jonathan: </p>
<hr />
<div>{{Template:NavBarSC}}<br />
<br />
<br />
<br />
'''Free Download: New SHOUTcast version 2.4.7''' <br />
<br />
SHOUTcast, the largest streaming audio software platform and worldwide radio station directory has released an update to its industry-standard streaming software. With the moniker “2.4.7” (to emphasize round-the-clock reliability), the latest version includes many new features and capabilities to make internet broadcasting easier for broadcasters. <br />
<br />
The new SHOUTcast Suite of Streaming Products still includes a free streaming option, and powerful revenue generating tools, and the latest version adds: <br />
* Improved ad support and revenue tracking<br />
* Even better stability for reliable streaming 24/7<br />
* Improved processor management saves energy<br />
* Better memory usage for stations with big audiences<br />
<br />
'''Effortless Upgrade'''<br />
<br />
- Broadcasters who run their own servers should download the updated version of the DNAS for free from the download button on [http://shoutcast.com/broadcastnow | http://shoutcast.com/broadcastnow?products&utm_source=follow%20up%20email&utm_medium=Smart%20Focus&utm_term=SHOUTcast&utm_content=feb2015&utm_campaign=wiki<br />
] <br />
<br />
<br />
<br />
- Stations using a CDN (streaming service) should ask their provider to make sure their server gets updated to SHOUTcast version 2.4.7<br />
<br />
<br />
'''Technical Details'''<br />
<br />
Read more on the <br />
[[http://forums.shoutcast.com/showthread.php?t=373139 SHOUTcast Forum]]</div>Jonathanhttp://wiki.shoutcast.com/wiki/SHOUTcast_NewsSHOUTcast News2015-04-15T15:06:46Z<p>Jonathan: </p>
<hr />
<div>{{Template:NavBarSC}}<br />
<br />
<br />
<br />
'''Free Download: New SHOUTcast version 2.4.7''' <br />
<br />
SHOUTcast, the largest streaming audio software platform and worldwide radio station directory has released an update to its industry-standard streaming software. With the moniker “2.4.7” (to emphasize round-the-clock reliability), the latest version includes many new features and capabilities to make internet broadcasting easier for broadcasters. <br />
<br />
The new SHOUTcast Suite of Streaming Products still includes a free streaming option, and powerful revenue generating tools, and the latest version adds: <br />
* Improved ad support and revenue tracking<br />
* Even better stability for reliable streaming 24/7<br />
* Improved processor management saves energy<br />
* Better memory usage for stations with big audiences<br />
<br />
'''Effortless Upgrade'''<br />
<br />
- Broadcasters who run their own servers should download the updated version of the DNAS for free from the download button on [http://shoutcast.com/broadcastnow|http://shoutcast.com/broadcastnow?products&utm_source=follow%20up%20email&utm_medium=Smart%20Focus&utm_term=SHOUTcast&utm_content=feb2015&utm_campaign=wiki<br />
] <br />
<br />
<br />
<br />
- Stations using a CDN (streaming service) should ask their provider to make sure their server gets updated to SHOUTcast version 2.4.7<br />
<br />
<br />
'''Technical Details'''<br />
<br />
Read more on the <br />
[[http://forums.shoutcast.com/showthread.php?t=373139 SHOUTcast Forum]]</div>Jonathanhttp://wiki.shoutcast.com/wiki/Source_DSP_Plug-inSource DSP Plug-in2015-04-14T19:10:43Z<p>Jonathan: /* Example Configurations */</p>
<hr />
<div>{{Template:NavBarSC}}<br />
<br />
<br />
==Introduction to the Source DSP==<br />
<br />
The aim of this document is to show you the different features offered by the Source DSP plug-in. Version 2 of the plug-in is designed to work only on Winamp 5.5 and higher due to better api usage and integration with the player. If you want to use the Source DSP in an alternative player, then it would need to support all of the required Winamp apis.<br />
<br />
The key feature of the plug-in is the ability to use Winamp as a source to a DNAS server or a Transcoder / AutoDJ instance or any compatible tool which accepts SHOUTcast streams.<br />
<br />
Additionally the plug-in will allow you to capture an audio input from the soundcard and its line-in or microphone inputs ([[#Soundcard Mixer Control|section 3.3.2]]) subject to OS and the audio system.<br />
<br />
<br />
==Getting Started==<br />
<br />
To start using the Source DSP you need a configured and running DNAS server (sc_serv) or an alternative server to connect to like the Transcoder (sc_trans) and to have all of the login details required to connect as a source. The plug-in can be used as either a full full source or it can be used as a DJ connection in the case of being used with sc_trans.<br />
<br />
<br />
===Installing the Plug-in===<br />
----<br />
[[Image:Select_Source_DSP_in_Winamp.png|225px|thumb|right|Select_Source_DSP_in_Winamp.png]]<br />
The installer will detect the Winamp install on your machine and will then install it to the correct location. If the detected Winamp version is prior to v5.5 or if there is no winamp.exe present in the folder chosen then the installer will abort the installation.<br />
<br />
Once installed, if you have not chosen to make the Source DSP the default DSP plug-in, you will need to open Winamp and go to the following location:<br />
<br />
Preferences -> Plug-ins -> DSP/Effect<br />
<br />
follwed by selecting the 'Nullsoft SHOUTcast Source DSP' entry shown in the plug-in list.<br />
<br />
<br />
==Configuration Window==<br />
<br />
The configuration window is the main interface of the plug-in and is where login details for the connection to the server can be changed or the current status viewed.<br />
<br />
When the configuration window is closed then any active connections will be closed. If you want to hide the window then you can click use the minimise button on the window and click on the notification area icon added when the minimise happened.<br />
<br />
<br />
===Summary Tab===<br />
----<br />
<br />
[[Image:Summary_tab.png|100px|thumb|right|SHOUTcast Source Summary Tab]]<br />
'''Status / Info''' : This will show information about the status of the 5 possible outputs the plug-in is able to provide going from not connected to current duration of the connection.<br />
<br />
If you double-click one of the output items you will be taken to the '[[#Output Tab|see section 3.2]]'<br />
(see section 3.2) where it will show the current settings for the output selected.<br />
<br />
'''Active Input Device''' : This allows you to toggle between using Winamp and the configured soundcard input as well seeing the current audio capture mode. For more configuration options go to the 'Input Tab' ([[#Input Tab|see section 3.3]]).<br />
<br />
'''Input Meters''' : These show the current and peak audio level of the left and right channels as is being passed through the plug-ins core. This can aid in seeing if the input source is possibly not working or to check the audio is clipped.<br />
<br />
<br />
===Output Tab===<br />
----<br />
[[Image:Output_tag_configuration_error.png|100px|thumb|right|SHOUTcast Source Output Tab showing password configuration error]]<br />
This tab allows you to configure the 5 separate outputs the plug-in is able to generate where the settings for the output are selected by clicking the required item in the list.<br />
<br />
'''Status''' : This will show the current information about the output source ranging from not being connected to error messages due to invalid passwords to running correctly.<br />
<br />
'''Auto Connect''' : This will make the plug-in attempt to run this output as soon as it is started or when the option is checked if not already running when checked.<br />
<br />
'''Connect / Abort / Disconnect / Kill Button''' : This allows you to start a connection, abort a connection try or kill / disconnect an active connection. If 'Auto Connect' is checked and you click this for a disconnect action then the plug-in automatically re-starts the connection.<br />
<br />
If there is an issue the 'Connect / Abort / Disconnect / Kill Button' will<br />
show the configuration setting which is invalid e.g. 'Set Password' if the<br />
encoder has not been specified. The tab and the title above where the value<br />
is not set will have it's text changed to red to make it easier to identify.<br />
<br />
<br />
====Login Tab====<br />
----<br />
<br />
This tab allows you to specify the details needed for connecting to a DNAS server.<br />
[[Image:Output_tab_login_tab_v1_enabled.png|100px|thumb|right|SHOUTcast Source Output Connection Tab in v1 (Legacy) mode]]<br />
'''Server Address''' : This is the address of the server to connect to and will depend upon the setup which is being used. If the server being connected to is on the same machine then 'localhost' can be entered, otherwise the exact IP or DNS name of the server e.g. myserver.com needs to be entered here.<br />
<br />
'''Port''' : This is the port related to the 'address' of the server to connect to. This needs to match 'portbase' ([[SHOUTcast_DNAS_Server_2#Networking|DNAS Server - section 4.8]]) or 'serverport' ([[SHOUTcast_DNAS_Transcoder_2#Network_Options|Transcoder - section 3.11]]) if connecting to the official tools or the port value given to use.<br />
<br />
'''Stream ID''' : This is the identifier used to identify the source to the server when using a SHOUTcast 2 supporting setup. This needs to match 'streamid' ([[SHOUTcast_DNAS_Server_2#Networking|DNAS Server - section 4.8]]) or 'streamid' ([[SHOUTcast_DNAS_Transcoder_2#Network_Options|Transcoder - section 3.11]]) if connecting to the official tools or the port value given to use.<br />
<br />
This is disabled if 'Use SHOUTcast v1 mode (for legacy servers)' is checked.<br />
<br />
'''DJ / User ID''' : This is the user id as specified on the server for the type of connection the plug-in is being asked to make. Examples of using this would be the 'djlogin' value from [[SHOUTcast_DNAS_Transcoder_2#DJ_Support|Transcoder - section 3.3]] though this depends on the server configuration being used. Most likely you will be provided with a user id only if it is applicable to your setup.<br />
<br />
If using a compatible v2 DNAS server then this can be entered and will<br />
be used as an identifier of the current DJ but it is not used for the login.<br />
<br />
'''Password''' : This is the password required for accessing the server (if set on the server). This needs to match 'password' ([[SHOUTcast_DNAS_Server_2#Networking|DNAS Server - section 4.8]]) or 'password' ([[SHOUTcast_DNAS_Transcoder_2#Network_Options|Transcoder - section 3.11]]) if connecting to the official tools.<br />
<br />
'''Automatic reconnection on connection failure''' : This will make the plug-in attempt to connect back to the server if there is a break in the connection.<br />
<br />
'''Reconnection timeout''' : This is the number of seconds for the plug-in to wait in-between any connection attempts which fail before it will try again.<br />
[[Image:Output_tab_login_tab_v2_enabled.png|100px|thumb|right|SHOUTcast Source Output Connection Tab in v2 mode]]<br />
'''Use SHOUTcast v1 mode (for legacy servers)''' : This controls the mode the plug-in will run as. When checked it will create a SHOUTcast v1 connection otherwise it will create a SHOUTcast v2 connection (this is the default on new installs).<br />
<br />
Not setting the correct mode for the server you want to connect to will cause the connection attempt to fail or enter into what appears to be a hung state where you are likely to see a 'Cipher response received' if connecting in v2 mode to v1 server. If the plug-in determines this is likely to have happened then it will show the following in status area:<br />
Cipher response received<br />
Try enabling 'SHOUTcast v1 mode'.<br />
<br />
<br />
When SHOUTcast v2 mode is enabled the information panel displayed below this option shows the following message:<br />
Connecting to a SHOUTcast v1 server in<br />
non-legacy mode will likely cause the last<br />
status message to remain on "Cipher<br />
response received". To fix this you need to<br />
enable the "SHOUTcast v1 mode" above.<br />
<br />
When SHOUTcast v1 mode is enabled the information panel displayed below this option shows the following message:<br />
When the DJ password is formatted as<br />
<djlogin>:<djpassword> e.g. dj_1:noise<br />
<br />
Enter <djlogin> in 'DJ / User ID' e.g. dj_1<br />
Enter <djpassword> in 'Password' e.g. noise<br />
<br />
<br />
<br />
====Directory Tab====<br />
----<br />
<br />
This tab allows you to specify values specific to the stream for being listed or for what is provided to listeners when they connect to the DNAS server based on the version set.<br />
<br />
[[Image:Output_tab_directory_tab.png|100px|thumb|right|SHOUTcast Source Output Directory Tab]]<br />
'''Make this server public (Recommended)''' : With this enabled, the stream is indicated as being allowed to appear in the SHOUTcast Directory. This will enable options as applicable based also on the mode the plug-in is set to run as.<br />
<br />
'''Name''' : This is the name you want to use for the source (often what will be used in SHOUTcast Directory listing).<br />
<br />
'''URL''' : This is the url for the stream allowing listeners to view or get more information.<br />
<br />
'''Genre''' : This is the genre for the source and is used to categorise the stream if listed on the SHOUTcast Directory listing. Select the genre from the arrow button menu. It is not possible to manually enter the genre and the input field is read-only.<br />
<br />
'''Arrow Button''' : This will show a menu with known genres and sub-genres allowed for any SHOUTcast Directory listings. This will only be enabled if using v1 mode or if using v2 mode and 'Make this server public' is unchecked.<br />
<br />
'''AIM / ICQ / IRC''' : These allow you to specify some contact information for clients though support of these fields is only available when using SHOUTcat v1 mode.<br />
<br />
<br />
====Encoder Tab====<br />
----<br />
<br />
[[Image:Output_tab_encoder_tab.png|100px|thumb|right|SHOUTcast Source Output Encoder Tab]]<br />
This tab allows you to specify the encoder to be used to create the output stream from the input stream the plug-in gets. The following encoders are available with the plug-in:<br />
<br />
MP3 (audio/mpeg)<br />
AAC (audio/aacp)<br />
<br />
The AAC (actually ADTS-AAC) encoding is provided by enc_aacplus.dll (Winamp 5.1 to 5.61) or enc_fhgaac.dll (Winamp 5.62 and up). If this is not detected in the Winamp plug-ins folder then only MP3 encoding is available.<br />
<br />
Based on the encoder selected, the 'encoder settings' section will provide different options for controlling the encoder settings as either a button to open a configuration window or a dropdown list with options to choose from.<br />
<br />
<br />
=====Save Encoded Output=====<br />
----<br />
<br />
This allows you to make a backup of the stream audio data sent to the DNAS server.<br />
<br />
'''Save a copy of the encoded stream audio''' : Enables or disables saving a copy of the audio.<br />
<br />
The extension of the output file is automatically changed based on the selected<br />
encoder option to ensure that the file can be easily played in most media players.<br />
<br />
<br />
====Titles Tab====<br />
----<br />
[[Image:Output_tab_titles_tab.png|100px|thumb|right|SHOUTcast Source Output Titles Tab]]<br />
This tab allows you to specify how the stream metadata is gathered from Winamp or if it is manually entered with the options provided.<br />
<br />
'''Disable title updates''' : This will prevent the Source DSP from sending any title updates.<br />
<br />
'''Follow Winamp's title updates''' : his makes the Source DSP use Winamp's title updates for stream title updates, sent in the format based on the 'Use SHOUTcast v1 mode (for legacy servers)' setting.<br />
<br />
'''Send next track title to the server (if applicable)''' : This sends the next track title to the server when using the v2 mode and if the plug-in can determine the next track.<br />
<br />
The current version of Winamp is always recommended to use<br />
due to the improved support for this feature since Winamp v5.61.<br />
<br />
'''Manual title updates''' : This will only send titles updates when 'Send Update' is pressed which uses the custom title information entered into the 'now' and 'next' fields (which are enabled as applicable to the mode in use).<br />
<br />
The 'Send Update' button is enabled when a title is entered or it is<br />
different from the existing title. When using SHOUTcast v2 mode the<br />
'next' title field will become available as long as title field is not empty.<br />
<br />
<br />
====Artwork====<br />
----<br />
<br />
[[Image:Output_tab_artwork_tab_v2_enabled.png|100px|thumb|right|SHOUTcast Source Output Artwork in v2 mode]]<br />
This tab allows you to specify whether in-stream artwork will be sent to the SHOUTcast server and if so the type of artwork which will be sent which can be for the station in general as well as per file artwork (much like album art display in most media players).<br />
<br />
'''Send in-stream artwork''' : Enables or disables sending of in-stream artwork.<br />
<br />
If this is enabled and then disabled, it is possible that the<br />
plug-in will send some clear artwork messages after disabling<br />
this option to ensure there is no artwork cached by the server.<br />
<br />
'''Send artwork from the playing file (if available)''' : This sends artwork from the currently playing song to the server and acts in the same way as the album art view in most media players.<br />
<br />
If unchecked or there is no artwork for the playing song then the<br />
DNAS server may be sent a clear artwork message as applicable.<br />
<br />
This is sent as a PNG image to the SHOUTcast server.<br />
<br />
'''Send artwork for stream branding''' : This will send the image as selected in the box below to the server to act as the station or stream image.<br />
<br />
If left empty then the DNAS server may be sent a clear artwork message as applicable.<br />
<br />
<br />
[[Image:Output_tab_artwork_tab_v1_enabled.png|100px|thumb|right|SHOUTcast Source Output Artwork in v1 (Legacy) mode]]<br />
Using the plug-in with a connection to a legacy server will cause the following notice to be shown:<br />
<br />
Stream is setup for a SHOUTcast v1 server<br />
which does not support in-stream artwork.<br />
<br />
To send in-stream artwork, uncheck the<br />
"SHOUTcast v1 mode" option and ensure<br />
you connect to a SHOUTcast v2 server.'<br />
<br />
<br />
The plug-in is only able to send in-stream artwork upto 511 KiB (523680 bytes) in size due to the SHOUTcast 2 protocol specification for metadata packets. If this limit is reached then the artwork will not be sent and instead the server will get a clear artwork message. This tab page will show if the artwork cannot be used.<br />
<br />
Viewing the in-stream artwork depends on native playback support of SHOUTcast v2 streams in the player used by the client so without a compatible player the client will not be able to view it is as it is not available with SHOUTcast v1 streams.<br />
<br />
<br />
====Logs====<br />
----<br />
<br />
[[Image:Output_tab_logs_tab.png|100px|thumb|right|SHOUTcast Source Output Logs Tab]]<br />
This tab allows you to specify the logging options of the status messages as shown at the top of this page. Additionally it also provides the means to log the filepath of the next tracks (if known) which are going to be played by Winamp with support for logging of the track titles if using the xml output mode.<br />
<br />
The main logging options are not enabled by default though this can be used<br />
for tracking problems with the plug-in e.g. if you are having connection issues.<br />
<br />
<br />
'''Enable logging of connection status messages''' : Enables or disables connection logging.<br />
<br />
'''Clear log file on logging startup''' : This will reset the log everytime the plug-in starts.<br />
<br />
'''Open log file...''' : This will open the log file in the associated program for .log files.<br />
<br />
'''Clear log file''' : This will clear the log file if it exists. It will not remove the file.<br />
<br />
<br />
'''Enable next track logging''' : This will enable creating a log file (based on the following options) of the known next tracks to be played by Winamp.<br />
<br />
'''Save report as xml instead of plain text''' : Changing this will create the log as an xml file containing filepath and title with each item identified by the 'seq' attribute.<br />
<br />
The next track logging is only updated when the plug-in detects a track<br />
change. If the plain text / xml mode is changed or the plug-in starts then<br />
the file contents will be cleared until the next track title change happens.<br />
<br />
<br />
===Input Tab===<br />
----<br />
[[Image:Input_tab_winamp_input.png|100px|thumb|right|SHOUTcast Source Input Tab in Winamp mode]]<br />
<br />
====Input Configuration====<br />
----<br />
<br />
'''Input Device''' : This allows you to choose between using Winamp or your soundcard (usually the line-in) as the input source for the output stream the plug-in makes. Depending upon the selection made additional options will be shown below.<br />
<br />
'''Input Levels''' : These show the current and peak audio level of the left and right channels as is being passed through the plug-ins core. This can aid in seeing if the input source is possibly not working or to check the audio is clipped.<br />
<br />
'''Input Settings''' : When the soundcard input is selected then this allows for control over the sample rate used on the input source.<br />
<br />
<br />
====Soundcard Mixer Control====<br />
----<br />
<br />
[[Image:Input_tab_soundcard_input.png|100px|thumb|right|SHOUTcast Source Input Tab in soundcard mode]]'''Choose Microphone''' : This will allow you to choose any of the input devices reported by the OS for use with the microphone overlay mode the plug-in provides.<br />
<br />
'''Refresh Button''' : This allows you to refresh the capture device list on Vista / Windows 7 (is disabled otherwise) since the plug-in was started. This is useful if you have connected a device to the machine and now want to use it.<br />
<br />
'''Open Mixer''' : This will open the operating systems recording and playback options (when using Windows 2000 / XP) which will allow you to change any required input and output settings for the system (though the amount you can change does depend upon the operating system being used - ([[#Known Issues|see section 4.0]])).<br />
<br />
'''Music Level''' : This controls the Winamp output level (from no audio to full audio level).<br />
<br />
'''BG Level''' : This controls the Winamp output level when the 'Push to Talk' option is active (from no audio to full audio level).<br />
<br />
'''Mic Level''' : This controls the chosen microphone device's output level when the 'Push to Talk' option is active (from no audio to full audio level).<br />
<br />
'''Fade Time''' : This controls the amount of time it takes for the audio to fade from the non 'Push to Talk' mode to 'Push to Talk' being the active mode in usage (from no fade i.e. instantly changes to 2.5 second fade duration).<br />
<br />
'''Capture Device Fade Time''' : This controls the amount of time it takes for the selected capture device to fade from the non 'Push to Talk' mode to 'Push to Talk' being the active mode in usage (from no fade i.e. instantly changes to 2.5 second fade duration).<br />
<br />
'''Push to Talk''' : When this is pressed then the chosen microphone device becomes the active input source as used by any active output streams ([[#Output Tab|see section 3.2]]). When enabled this button will appear in an activated state.<br />
<br />
'''Lock''' : When this is pressed it will toggle the 'Push to Talk' mode on or off depending on the current state of this option when it pressed. When enabled this will appear in an activated state along with the 'Push to Talk' button.<br />
<br />
'''Arrow Button''' : This will show a menu with the option "Enable 'Push to Talk' on startup" allowing for the mode to be re-enabled when the plug-in is started. This may be of use as the plug-in turns off the mode and sets the system levels back to the non-pushed mode when the plug-in's window is closed.<br />
<br />
<br />
===About Tab===<br />
----<br />
<br />
[[Image:About_tab.png|100px|thumb|right|SHOUTcast Source About Tab]]<br />
This tab provides information about the version of the plug-in you are using - useful for determining if you are using an older version of the plug-in or when reporting issues.<br />
<br />
<br />
====Documentation and Support====<br />
----<br />
<br />
This part of the tab provides links to access the available documentation and also for going to the SHOUTcast support forum if issues are being experienced with the plug-in.<br />
<br />
The documentation is either the current version as shipped with the plug-in if selected during install (stored in '''<winampdir>\Plugins\SHOUTcast Source DSP''') or if not found it directs you to an online copy available at http://wiki.winamp.com/wiki/Source_DSP_Plug-in<br />
<br />
The support forum is accessed via http://forums.winamp.com/forumdisplay.php?f=140<br />
<br />
<br />
==Known Issues==<br />
<br />
The following are currently known issue(s) to affect the currently released build of the Source DSP plug-in:<br />
<br />
<br />
===Soundcard Mixer Control===<br />
----<br />
<br />
'''Issue''': The soundcard mixer control does not work correctly or as expected on Vista / Windows 7 especially with the handling of the selected 'microphone' device due to changes in the audio system which prevent the capture handling from Windows 2000 / XP working in the same way. Windows 2000 / XP should still work as expected.<br />
<br />
'''Workaround''': The only obvious work around is to use the features the OS provides to enable the 'Listen to this device' option via the system's recording devices feature and then mix the levels with the controls the OS provides.<br />
<br />
'''Expected Resolution''': This issue is still being investigated and hopefully a solution will be provided to allow for control of the input device in unison with the selected 'microphone' device with-in the plug-ins interface when using this mode.<br />
<br />
<br />
==SHOUTcast 2 Cipher Key==<br />
<br />
If you find that you do need to change the uvoxcipherkey ([[SHOUTcast_DNAS_Server_2#YP_Server_Behaviour|DNAS Server - section 4.14]]) or the djcipher ([[SHOUTcast_DNAS_Transcoder_2#DJ_Support|Transcoder - section 3.3]]) in you sc_serv and / or sc_trans setups then you can change the cipher key the DSP uses. You will only need to do this if you get the following status message when making a connection:<br />
<br />
Authentication Error:<br />
Cipher Does Not Match<br />
<br />
This is done currently via editing 'Cipherkey' entry in dsp_sc.ini in your Winamp config folder where you just need to change the string after the equal sign to the value from 'uvoxcipherkey' or 'djcipher' depending upon what you are trying to connect to.<br />
<br />
The dsp_sc.ini file can usually be found by entering '''%appdata%\Winamp\plugins''' into the address bar in Windows Explorer. If it is not there then you should search for '''dsp_sc.ini''' and make sure to have the search program you are using to look for hidden files (this is just incase the OS is hiding the settings folder).<br />
<br />
<br />
==Example Configurations==<br />
<br />
If you are unsure of what to enter to get the Source DSP connected to the official tools, you should look at the '''[[Source_DSP_Plug-in_Configuration_Examples|Source DSP Plug-in Example Configurations]]'''. This shows you where to take configuration values from the official tool configuration file(s) and where in the plug-in configuration you need to enter them for the different operating modes available.<br />
<br />
For 3rd party servers or broadcast tools, you may need to consult their documentation to determine from where you get the required configuration values.</div>Jonathanhttp://wiki.shoutcast.com/wiki/SHOUTcast_Streaming_ServiceSHOUTcast Streaming Service2015-04-08T22:30:33Z<p>Jonathan: </p>
<hr />
<div>{{Template:NavBarSC}}<br />
<br />
<br />
SHOUTcast's streaming and monetization program includes free tools for experienced internet broadcasters who desire to generate revenue with their stations. Utilizing a metadata or tone trigger (executed by the station), SHOUTcast's server-side ad injection system sends geotargeted ads to listeners based on their worldwide DMA (Designated Market Area). All inventory is supplied by TargetSpot, the largest audio ad house in the U.S, which recently added offices in europe. SHOUTcast's monetization program plays ads for listeners in the US, Spain, France, Germany, The UK, Belgium, and Switzerland, with more to come.<br />
<br />
Since TargetSpot is part of the Radionomy Group along with SHOUTcast, there are no middlemen or ad insertion fees, allowing SHOUTcast partner stations to earn a higher revenue share than they could with competitors. <br />
<br />
For stations not wishing to maintain their own servers, SHOUTcast offers free streaming using an advanced network of servers which host over 65 million hours of programming every month. <br />
<br />
All-in-all, SHOUTcast monetization is the most complete option for generating revenue with an audio stream. Find out more information about the SHOUTcast products at [http://shoutcast.com/broadcastnow?products&utm_source=footer&utm_medium=email&utm_term=TFN&utm_content=any%20outbound%20email&utm_campaign=SCwiki '''http://shoutcast.com/broadcastnow''']<br />
<br />
<br />
''Note: SHOUTcast does not provide any music licensing of any kind to the stations that stream using our software and services, though we do partner with other services like Stream Licensing and Pronet which provide licensing coverage to online broadcasters.''</div>Jonathanhttp://wiki.shoutcast.com/wiki/SHOUTcast_Streaming_ServiceSHOUTcast Streaming Service2015-04-08T22:30:05Z<p>Jonathan: </p>
<hr />
<div>{{Template:NavBarSC}}<br />
<br />
<br />
SHOUTcast's streaming and monetization program includes free tools for experienced internet broadcasters who desire to generate revenue with their stations. Utilizing a metadata or tone trigger (executed by the station), SHOUTcast's server-side ad injection system sends geotargeted ads to listeners based on their worldwide DMA (Designated Market Area). All inventory is supplied by TargetSpot, the largest audio ad house in the U.S, which recently added offices in europe. SHOUTcast's monetization program plays ads for listeners in the US, Spain, France, Germany, The UK, Belgium, and Switzerland, with more to come.<br />
<br />
Since TargetSpot is part of the Radionomy Group along with SHOUTcast, there are no middlemen or ad insertion fees, allowing SHOUTcast partner stations to earn a higher revenue share than they could with competitors. <br />
<br />
For stations not wishing to maintain their own servers, SHOUTcast offers free streaming using an advanced network of servers which host over 65 million hours of programming every month. <br />
<br />
All-in-all, SHOUTcast monetization is the most complete option for generating revenue with an audio stream. Find out more information about the SHOUTcast products at [http://shoutcast.com/broadcastnow?products&utm_source=footer&utm_medium=email&utm_term=TFN&utm_content=any%20outbound%20email&utm_campaign=SCwiki '''http://shoutcast.com/broadcastnow''']<br />
<br />
<br />
''Note: SHOUTcast does not provide any music licensing of any kind to the station we stream, though we do partner with other services like Stream Licensing and Pronet which provide licensing coverage to online broadcasters.''</div>Jonathanhttp://wiki.shoutcast.com/wiki/SHOUTcast_Streaming_ServiceSHOUTcast Streaming Service2015-04-08T22:29:48Z<p>Jonathan: </p>
<hr />
<div>{{Template:NavBarSC}}<br />
<br />
<br />
SHOUTcast's streaming and monetization program includes free tools for experienced internet broadcasters who desire to generate revenue with their stations. Utilizing a metadata or tone trigger (executed by the station), SHOUTcast's server-side ad injection system sends geotargeted ads to listeners based on their worldwide DMA (Designated Market Area). All inventory is supplied by TargetSpot, the largest audio ad house in the U.S, which recently added offices in europe. SHOUTcast's monetization program plays ads for listeners in the US, Spain, France, Germany, The UK, Belgium, and Switzerland, with more to come.<br />
<br />
Since TargetSpot is part of the Radionomy Group along with SHOUTcast, there are no middlemen or ad insertion fees, allowing SHOUTcast partner stations to earn a higher revenue share than they could with competitors. <br />
<br />
For stations not wishing to maintain their own servers, SHOUTcast offers free streaming using an advanced network of servers which host over 65 million hours of programming every month. <br />
<br />
All-in-all, SHOUTcast monetization is the most complete option for generating revenue with an audio stream. Find out more information about the SHOUTcast products at [http://shoutcast.com/broadcastnow?products&utm_source=footer&utm_medium=email&utm_term=TFN&utm_content=any%20outbound%20email&utm_campaign=SCwiki '''http://shoutcast.com/broadcastnow''']<br />
<br />
<br />
Note: SHOUTcast does not provide any music licensing of any kind to the station we stream, though we do partner with other services like Stream Licensing and Pronet which provide licensing coverage to online broadcasters.</div>Jonathan