<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE guide SYSTEM "/dtd/guide.dtd">
<!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/it/shoutcast-config.xml,v 1.2 2010/08/09 18:06:02 scen Exp $ -->

<guide lang="it">
<title>Streaming radio con SHOUTcast</title>

<author title="Autore">
  <mail link="chriswhite@gentoo.org">Chris White</mail>
</author>
<author title="Editore">
  <mail link="fox2mike@gentoo.org">Shyam Mani</mail>
</author>
<author title="Traduzione">
  <mail link="hujuice@inservibile.org">Sergio Vaccaro</mail>
</author>

<abstract>
Questa guida percorre i passi necessari per configurare un server per lo
streaming radio con SHOUTcast Server e SHOUTcast Trans.
</abstract>

<!-- The content of this document is licensed under the CC-BY-SA license -->
<!-- See http://creativecommons.org/licenses/by-sa/2.5 -->
<license/>

<version>1.5</version>
<date>2006-11-02</date>

<chapter>
<title>Configurare un SHOUTcast Server</title>
<section>
<title>Installazione dei file</title>
<body>

<p>
Lo SHOUTcast Server è disponibile nell'albero del portage come
media-sound/SHOUTcast-server-bin. Può essere installato con il comando:
</p>

<pre caption="Emerge SHOUTcast">
# <i>emerge shoutcast-server-bin</i>
</pre>

<p>
Ciò fatto, SHOUTcast Server è installato. Il passo successivo è la
configurazione del nuovo SHOUTcast Server.
</p>

</body>
</section>
<section>
<title>Configurazione di SHOUTcast Server</title>
<body>

<p>
Ora che il server è installato, deve essere configurato. Il file di
configurazione si trova in <path>/etc/shoutcast/sc_serv.conf</path>. Per
iniziare, assicurarsi di aver effettuato il login come root. Poi si può
scegliere il proprio editor preferito. Negli esempi di questa guida verrà
utilizzato vi:
</p>

<pre caption="Aprire il file di configurazione">
# <i>vi /etc/shoutcast/sc_serv.conf</i>
</pre>

<p>
In questo modo si ha a disposizione la configurazione completa di SHOUTcast
Server. A partire da questo file è possibile controllare le diverse impostazioni
che possono essere modificate. Segue una panoramica sulle possibili opzioni di
configurazione.
</p>

</body>
</section>
<section>
<title>Opzioni obbligatorie</title>
<body>

<pre caption="Impostare il numero di utenti">
<comment>; MaxUser.  The maximum number of simultaneous listeners allowed.
; Compute a reasonable value for your available upstream bandwidth (i.e. if
; you have 256kbps upload DSL, and want to broadcast at 24kbps, you would
; choose 256kbps/24kbps=10 maximum listeners.)  Setting this value higher
; only wastes RAM and screws up your broadcast when more people connect
; than you can support.</comment>
MaxUser=10
</pre>

<p>
Con questa opzione si può impostare un massimo numero di utenti. Come indicato
nella descrizione, sarebbe sciocco impostare 100 utenti con una rete capace di
256kbps in upload (con una capacità di upload di 256kbps non è ragionevole
andare oltre i 10 utenti). Se si sta eseguendo SHOUTcast server in una LAN,
probabilmente si può utilizzare un valore MOLTO più alto (in questo caso
probabilmente si può arrivare anche fino a 100 utenti). È bene, però, non
abusare della banda disponibile. L'ampiezza di banda può avere prezzi elevati
presso gli ISP e l'abuso potrebbe portare a interruzioni del servizio da parte
degli operatori, a sanzioni o ad entrambi i provvedimenti.
</p>

<pre caption="Impostare la password">
<comment>; Password.  While SHOUTcast never asks a listener for a password, a
; password is required to broadcast through the server, and to perform
; administration via the web interface to this server.  This server should
; consist of only letters and numbers, and is the same server your broadcaster
; will need to enter in the SHOUTcast Source Plug-in for Winamp.  THIS VALUE
; CANNOT BE BLANK.</comment>
Password=a_hard_to_crack_password
</pre>

<p>
Con questa opzione si imposta la password di amministrazione. Viene scritta in
chiaro. Per ragioni di sicurezza, è FORTEMENTE raccomandato di non usare le
stesse password utilizzate per la protezione di elementi critici del sistema o
di dati sensibili. È consigliabile usare una stringa quanto più possibile
casuale, con una combinazione di lettere e numeri. Questa password verrà usata
da SHOUTcast Trans (o da ogni altro provider di contenuti) per connettersi al
server ed erogare lo streaming.
</p>

<pre caption="Impostare la porta di ascolto">
<comment>; PortBase. This is the port number your server will run on.  The
; value, and the value + 1 must be available.  If you get a fatal error when
; the DNAS is setting up a socket on startup, make sure nothing else on the
; machine is running on the same port (telnet localhost port number -- if you
; get connection refused then you're clear to use that port).  Ports less than 1024
; may require root privileges on *nix machines.  The default port is 8000.</comment>
PortBase=8000
</pre>

<p>
Questo valore indica la porta con cui gli utenti si connetteranno allo SHOUTcast
Server. il valore predefinito è 8000, che in genere è il valore predefinito dei
client capaci di utilizzare un server mp3 (Winamp, Audacious, ecc.). Come è
indicato nella descrizione, per usare valori al di sotto di 1024 è necessario
essere root. Tuttavia non è affatto consigliabile usare valori inferiori a 1024
per un server SHOUTcast.
</p>

<pre caption="Impostare il log degli eventi">
<comment>; LogFile: file to use for logging. Can be '/dev/null' or 'none'
; or empty to turn off logging. The default is ./sc_serv.log
; on *nix systems or sc_serv_dir\sc_serv.log on win32.
; Note: on win32 systems if no path is specified the location is
; in the same directory as the executable, on *nix systems it is in the
; current directory.</comment>
LogFile=/var/log/SHOUTcast.log
</pre>

<p>
Questa è la posizione dei file di log di SHOUTcast Server. Nell'ebuild Gentoo il
valore iniziale è /dev/null, quindi per consultare i log del programma bisogna
modificare quel valore. Il log può essere conservato dove si vuole. Una buona
posizione è /var/log/SHOUTcast.log.
</p>

<pre caption="Abilitare le informazioni in tempo reale sulla linea di comando">
<comment>; RealTime displays a status line that is updated every second
; with the latest information on the current stream (*nix and win32
; console systems only)</comment>
RealTime=0
</pre>

<p>
Attivando il RealTime, SHOUTcast Server scrive informazioni sul brano in
esecuzione nello stdout, una volta al secondo. Questa opportunità è disabilitata
in modo predefinito, cosicché il demone sia eseguito nel modo più silenzioso
possibile. Si può impostare questo valore a uno per avere un aggiornamento al
secondo sullo stdout. Tuttavia potrebbe essere preferibile controllare
l'attività usando la pagina di stato.
</p>

<pre caption="Abilitare il log degli eventi sulla riga di comando">
<comment>; ScreenLog controls whether logging is printed to the screen or not
; on *nix and win32 console systems. It is useful to disable this when
; running servers in background without their own terminals. Default is 1</comment>
ScreenLog=0
</pre>

<p>
Questo valore è impostato a zero nell'ebuild Gentoo per consentire al demone di
essere eseguito nel modo più silenzioso possibile. Altrimenti registrerà nello
stdout ogni evento (connessioni, disconnessioni, ecc.) via via che questi si
verificano. In fondo le stesse informazioni sono registrate nel file di log, che
quindi probabilmente è preferibile.
</p>

<pre caption="Impostare li numero di ultimi brani visualizzati">
<comment>; ShowLastSongs specifies how many songs to list in the /played.html
; page.  The default is 10.  Acceptable entries are 1 to 20.</comment>
ShowLastSongs=10
</pre>

<p>
Come indica il nome in inglese, questa variabile indica quanti dei brani più
recenti vengono mostrati nel file /played.html. Utilizzare un valore maggiore di
20 probabilmente non è una scelta ragionevole.
</p>

<pre caption="Impostare il log delle modifche al filesystem">
<comment>; TchLog decides whether or not the DNAS log file should track yp
; directory touches.  Adds and removes still appear regardless of
; this setting.
; Default is yes
; TchLog=yes</comment>
</pre>

<p>
Questa variabile abilita o disabilita la registrazione delle modifiche alle
directory presso nel log di DNAS (Distributed Network Audio Server), o
semplicemente SHOUTcast. È raccomandato per coloro che vogliono avere la massima
sicurezza. Utilizzatori occasionali o domestici, invece, probabilmente non hanno
bisogno di questa opportunità.
</p>

<pre caption="Abilitare il log delle richieste http">
<comment>; WebLog decides whether or not hits to http:// on this DNAS will
; be logged.  Most people leave this off because the DSP plug-in
; uses http:// calls to update titles and get the listener count,
; which takes up a lot of log space eventually.  If you want to
; see people making hits on your admin.cgi or index pages, turn
; this back on.  Note that this setting does NOT affect XML stats
; counters for hits to http:// pages.
; Default is no.
; WebLog=no</comment>
</pre>

<p>
Attraverso questa opzione si può decidere di registrare gli hit al server HTTP
fornito da SHOUTcast. Anche in questo caso, l'abilitazione è raccomandata per
chi ha bisogno di un registro affidabile delle attività, mentre è superflua per
server occasionali o domestici.
</p>

<pre caption="Abilitare i log di tipo W3C">
<comment>; W3CEnable turns on W3C Logging.  W3C logs contain httpd-like accounts
; of every track played for every listener, including byte counts those listeners
; took.  This data can be parsed with tools like Analog and WebTrends, or given
; to third parties like Arbitron and Measurecast for their reporting systems.
; Default is Yes (enabled).</comment>
W3CEnable=Yes

<comment>; W3CLog describes the name of the log file for W3C logging.  Default log file is
; sc_w3c.log, in the same directory wherever the DNAS gets started from.</comment>
W3CLog=/dev/null
</pre>

<p>
La prima opzione abilita il logging di tipo W3C. Questo tipo di log può essere
facilmente esaminato dai programmi elencati. È fortemente consigliabile per
coloro che hanno bisogno di statistiche accurate. La seconda opzione dove
conservare i log W3C. Nell'ebuild Gentoo è impostato in modo predefinito a
/dev/null.
</p>

</body>
</section>
<section>
<title>Configurazione di rete</title>
<body>

<pre caption="Impostare l'indirizzo IP delle sorgenti">
<comment>; SrcIP, the interface to listen for source connections on (or to make relay
; connections on if relaying). Can and usually will be ANY or 127.0.0.1
; (Making it 127.0.0.1 will keep other machines from being able to
; broadcast using your SHOUTcast Server )</comment>
SrcIP=ANY
</pre>

<p>
La variabile SrcIP indica da quale IP proviene lo streaming. Può trattarsi di un
altro server (relaying), localhost (regular) o qualsiasi altro IP raggiungibile
nella propria rete IP. Impostando questo valore a localhost si impedisce a
qualsiasi altro server di utilizzare il proprio server SHOUTcast come sorgente
broadcast. Il default è ANY e questo consente al proprio SHOUTcast Server di
approvvigionarsi presso qualsiasi altro IP. Per avere maggiore sicurezza, può
essere meglio restringere questa possibilità a qualcosa di più specifico.
</p>

<pre caption="Impostare l'indirizzo IP delle destinazioni">
<comment>; DestIP, IP to listen for clients on (and to contact yp.SHOUTcast.com)
; can and usually will be be ANY. If your machine has multiple IP addresses,
; set this to the one you want it to be accessed by.</comment>
DestIP=ANY
</pre>

<p>
Questa variabile determina a quale indirizzo IP della propria interfaccia
possono connettersi gli utenti. Può essere localhost (in questo caso si è
davvero antisociali è lo stream può essere ascoltato solo dalla propria
postazione), un indirizzo IP privato (ad esempio 192.168.0.101, per offrire i
servizi ad una rete locale) o il proprio indirizzo IP esterno (ad esempio
209.204.249.201, per lo streaming su una WAN, ma non su una LAN). Nella maggior
parte dei casi si raggiunge il proprio stream utilizzando 127.0.0.1 piuttosto
che quello che è indicato qui. ANY lascia che lo SHOUTcast Server usi tutti gli
indirizzi IP disponibili su tutte le interfacce di rete.
</p>

<pre caption="Immpostare la porta del proxy/yp.SHOUTcast.com">
<comment>; Yport, port to connect to yp.SHOUTcast.com on. For people behind caching
; web proxies, change this to the alternate port (666 is what it might be,
; check www.SHOUTcast.com if you have problems). Otherwise, leave this at 80.
; We're actively working on re-opening port 666, but as of release the only
; working port is port 80.</comment>
Yport=80
</pre>

<p>
Questa variabile ha due funzioni. Per prima cosa è la porta con cui connettersi
a yp.SHOUTcast.com. yp.SHOUTcast.com è la pagina di Nullsoft destinata ai server
pubblici, che consente agli utenti di scegliere cosa ascoltare. Gli utenti
possono effettuare delle ricerche attraverso questa pagina. Il secondo uso è per
i proxy web. Per lo streaming, si imposta questo valore a quello della porta
usata per le connessioni tramite proxy e il DestIP a quello del proprio proxy.
</p>

<pre caption="Impostare le richieste DNS inverse">
<comment>; NameLookups.  Specify 1 to perform reverse DNS on connections.
; This option may increase the time it takes to connect to your
; server if your DNS server is slow.  Default is 0 (off).</comment>
NameLookups=0
</pre>

<p>
Questa impostazione stabilisce se eseguire presso i DNS un reverse lookup dei
propri client. Questo corrisponde a prendere il loro indirizzo IP e verificare
se esiste un host name corrispondente. Può essere utile per avere informazioni
più dettagliate nei log.
</p>

<pre caption="Agire come server relay">
<comment>; RelayPort and RelayServer specify that you want to be a relay server.
; Relay servers act as clients to another server, and rebroadcast.
; Set RelayPort to 0, RelayServer to empty, or just leave these commented
; out to disable relay mode.
; RelayPort=8000
; RelayServer=192.168.1.58</comment>
</pre>

<p>
Con questa impostazione si stabilisce se si vuole agire da server relay. I
server relay sono usati spesso per eseguire un server su una connessione con
poca banda, capace di rifornire un solo client, e fare uso della sua banda più
ampia per servire molti client. RelayPort e RelayServer indicano l'indirizzo IP
e la porta dello SHOUTcast Server per il quale si vuol fare da relay. Se non si
vuole essere relay, si deve lasciare commentata questa opzione.
</p>

</body>
</section>
<section>
<title>Configurazione del server</title>
<body>

<pre caption="Impostare la password di amministrazione">
<comment>; AdminPassword.  This password (if specified) changes the
; behavior of Password to be a broadcast-only password, and
; limits HTTP administration tasks to the password specified
; here.  The broadcaster, with the password above, can still
; log in and view connected users, but only the AdminPassword
; will grant the right to kick, ban, and specify reserve hosts.
; The default is undefined (Password allows control for both
; source and admin)
; AdminPassword=adminpass</comment>
</pre>

<p>
Impostare questa password significa creare un amministratore di broadcast.
L'amministratore di broadcast può autenticarsi con il valore di Password
(incontrato precedentemente) e analizzare le connessioni. Tuttavia, chi voglia
eseguire operazioni come kick/ban/reserve (cacciare un ascoltatore solo per una
volta/negare per sempre l'accesso a un client/riservare risorse per un
particolare host), deve conoscere la AdminPassword. Questa opzione abilita
funzionalità più specifiche per il proprio server. Questa opportunità è
raccomandata quando l'amministratore di sistema non è la stessa persona che
esegue le trasmissioni.
</p>

<pre caption="Impostare la disconnessione automatica degli utenti">
<comment>; AutoDumpUsers controls whether listeners are disconnected if the source
; stream disconnects. The default is 0.</comment>
AutoDumpUsers=0
</pre>

<p>
Questa opzione indica se interrompere o meno la connessione se lo stream si
interrompe per qualsiasi ragione. È impostata a 0 in modo predefinito, in modo
che i client possano usare i propri timeout o continuare l'ascolto dei loro
buffer. Può essere usata se ci si aspetta brevi interruzioni in qualsiasi
momento.
</p>

<pre caption="Impostare il timeout per la sorgente">
<comment>; AutoDumpSourceTime specifies how long, in seconds, the source stream is
; allowed to be idle before the server disconnects it. 0 will let the source
; stream idle indefinitely before disconnecting. The default is 30.</comment>
AutoDumpSourceTime=30
</pre>

<p>
Questo valore indica quanto lo SHOUTcast Server deve attendere una sorgente
(soprattutto se si tratta di un server relay) da cui erogare lo streaming. È
ragionevole usare un valore tra 30 e 60.
</p>

<pre caption="Impostare la directory dei contenuti">
<comment>; ContentDir specifies the directory location on disk of where to stream
; on-demand content from. Subdirectories are supported as of DNAS 1.8.2.
; Default is ./content/, meaning a directory named content in the same directory
; as where sc_serv was invoked from.</comment>
ContentDir=/opt/SHOUTcast/content/
</pre>

<p>
La variabile ContentDir specifica dove collocare i contenuti on demand. Ad
esempio, se si vogliono trasmettere annunci a degli impiegati, si può utilizzare
questa opportunità. Il valore predefinito dell'ebuild è
<path>/opt/SHOUTcast/content</path>. Per verificarne il funzionamento, mettere
un mp3 nella directory dei contenuti e puntare il browser a
<c>http://example.com:[port]/content/mp3name.pls</c>. Lo SHOUTcast Server creerà
automaticamente una playlist compatibile per quell'mp3, trasmettendolo on
demand. È una possibile alternativa a SHOUTcast Trans per la trasmissione dei
media.
</p>

<pre caption="Impostare un brano introduttivo">
<comment>; IntroFile can specify a mp3 file that will be streamed to listeners right
; when they connect before they hear the live stream.
; Note that the intro file MUST be the same sample rate/channels as the
; live stream in order for this to work properly. Although bit rate CAN
; vary, you can use '%d' to specify the bit rate in the filename
; (i.e. C:\intro%d.mp3 would be C:\intro64.mp3 if you are casting at 64kbps).
; The default is no IntroFile
; IntroFile=c:\intro%d.mp3</comment>
</pre>

<p>
Questa variabile consente di definire un file di introduzione. Ogni volta che un
ascoltatore si connette, ascolta prima di tutto il brano introduttivo. Come
indicato nella descrizione, il brano introduttivo deve avere lo stesso bitrate
dello streaming, altrimenti il funzionamento si interrompe. Tuttavia è possibile
preparare qualcosa come intro128.mp3 e intro64.mp3 e il server trasmetterà
intro128.mp3 agli ascoltatori che si connettono ad uno stream a 128kbps e
intro64.mp3 agli ascoltatori che si connettono ad uno stream a 64kbps.
</p>

<pre caption="Impostare un brano di chiusura">
<comment>; BackupFile can specify a mp3 file that will be streamed to listeners over
; and over again when the source stream disconnects. AutoDumpUsers must be
; 0 to use this feature. When the source stream reconnects, the listeners
; are rejoined into the live broadcast.
; Note that the backup file MUST be the same sample rate/channels as the
; live stream in order for this to work properly. Although bit rate CAN
; vary, you can use '%d' to specify the bit rate in the filename
; (i.e. C:\backup%d.mp3 would be C:\backup32.mp3 if you are casting at 32kbps).
; The default is no BackupFile
; BackupFile=C:\intro%d.mp3</comment>
</pre>

<p>
È qualcosa di simile alla variabile precedente, ma il file viene trasmesso
quando lo stream sorgente interrompe la trasmissione. Ha senso solo se
AutoDumpUsers è stato posto a 0.
</p>

<pre caption="Impostare il formato dei titoli">
<comment>; TitleFormat specifies a format string for what title is sent to the listener.
; For example, a string of 'Justin Radio' forces the title 'Justin Radio' even
; when the source changes the title. You can use up to one '%s' in the string
; which lets you contain the title from the source. For example, if your
; TitleFormat is 'Justin Radio: %s', and the source plug-in's title is
; 'Billy plays the blues', then the net title is
; 'Justin Radio: Billy plays the blues'. Note: only works on non-relay servers.
; The default is no format string.</comment>
TitleFormat=Chris Gentoo Beats: %s
</pre>

<p>
Questo valore forza un titolo non variabile (o una parte del titolo) per i
brani erogati attraverso il proprio SHOUTcast Server. Può essere utile se si
trasmette da più di un server. Non ha effetto con i server relay.
</p>

<pre caption="impostare il formato della URL">
<comment>; URLFormat specifies a format string for what URL is sent to the listener.
; Behaves like TitleFormat (see above).
; The default is no format string.
; URLFormat=http://www.server.com/redirect.cgi?url=%s</comment>
</pre>

<p>
Questo valore forza la URl che appare al client in associazione al brano
trasmesso.
</p>

<pre caption="Impostare lo stato pubblico per una sorgente">
<comment>; PublicServer can be always, never, or default (the default, heh)
; Any setting other than default will override the public status
; of the source plug-in or of a SHOUTcast Server that is being relayed.</comment>
PublicServer=default
</pre>

<p>
Quando si utilizza un relay, questo valore indica se si vuole apparire come
server pubblico o meno, forzando l'impostazione del server relay.
</p>

<pre caption="Consentire il relaying">
<comment>; AllowRelay determines whether or not other SHOUTcast Servers will be
; permitted to relay this server.  The default is Yes.</comment>
AllowRelay=Yes
</pre>

<p>
AllowRelay consente o non consente che altri server facciano da relay per i
propri contenuti. Se non si ritiene opportuno essere ritrasmessi, è meglio
impostare questo valore a No.
</p>

<pre caption="Consentire ai relay di mostrare pubblicamente la sorgente">
<comment>; AllowPublicRelay, when set to No, will tell any relaying servers not
; to list the server in the SHOUTcast directory (non-public), provided
; the relaying server's Public flag is set to default.  The default is
; Yes.</comment>
AllowPublicRelay=Yes
</pre>

<p>
AllowPublicRelay indica se essere elencati o meno nella directory pubblica di
SHOUTcast, nel caso che si stia operando come relay di un server già elencato. I
server pubblici di SHOUTcast possono comunque modificare questo comportamento.
</p>

<pre caption="Impostare il metaintervallo">
<comment>; MetaInterval specifies how often, in bytes, meta data sent.
; You should really leave this at the default of 32768, but the option is
; provided anyway.</comment>
MetaInterval=32768
</pre>

<p>
Questa impostazione può essere lasciata così.
</p>

</body>
</section>
<section>
<title>Configurazione di accesso</title>
<body>

<pre caption="Impostare un tempo massimo per l'ascolto">
<comment>; ListenerTimer is a value in minutes of maximum permitted time for
; a connected listener.  If someone is connected for longer than this
; amount of time, in minutes, they are disconnected. When undefined,
; there is no limit defined. Default is undefined.
; ListenerTimer=600</comment>
</pre>

<p>
Non è chiaro quando questa opzione possa essere necessaria. Essenzialmente, se
un utente resta in ascolto per troppi minuti, viene disconnesso. Si può supporre
solo che si vogliano disconnettere utenti che non ascoltano realmente la radio o
che si teme possano essere connessi per scopi che non siano quello dell'ascolto.
Il valore è in minuti.
</p>

<pre caption="Impostare il file di ban">
<comment>; BanFile is the text file sc_serv reads and writes to/from
; for the list of clients prohibited to connect to this
; server.  It's automatically generated via the web
; interface.
; BanFile=sc_serv.ban</comment>
</pre>

<p>
Questo file contiene la lista dei client che sono "bannati" (bloccati)
dall'ascolto. Il valore predefinito è sc_serv.ban, ma può essere utilizzato
qualsiasi nome di file.
</p>

<pre caption="Impostare i Rip">
<comment>; RipFile is the text file sc_serv reads and writes to/from
; for the list of client IP addresses which are *ALWAYS* permitted
; to connect to this server (useful for relay servers).
; This file is automatically generated via the web
; interface.  Note that if your server is FULL, and someone
; from a Reserved IP connects, the DNAS will force the person
; listening for the longest time off to make room for the new
; connection.
; RipFile=sc_serv.rip</comment>
</pre>

<p>
Rip sta per "Reserved IP" (non si tratta di un epitaffio). Con questa
impostazione si può indicare una lista di indirizzi privilegiati rispetto agli
ascoltatori occasionali. Se si raggiunge il massimo numero di utenti consentiti
e uno dei membri della lista Rip tenta di accedere, il server espelle l'utente
occasionale che è in ascolto da più tempo per lasciar spazio al client
privilegiato.
</p>

<pre caption="Restingere l'ascolto agli utenti Rip">
<comment>; RipOnly, when set to Yes, will only allow IP addresses listed in the Reserved
; IP list to connect and relay.  All other connections for listening will be denied.
; This is really only useful for servers whose sole purpose is to provide the
; primary feed to all public relays.  Setting this value to Yes also forces the
; server into Private mode, since listing this server in the directory would
; be pointless.  Default is No.
; RipOnly=No</comment>
</pre>

<p>
Attivando questa opzione solo i membri della lista Rip possono connettersi allo
SHOUTcast server. Può essere utile sia per streaming privati o per assicurarsi
che solo certi relay accedano al proprio stream.
</p>

</body>
</section>
<section>
<title>Configurazioni per server multipli</title>
<body>

<pre caption="Impostare variabili Unique">
<comment>; Unique: assigns a variable name for use in any configuration item which points to a
; file.  Useful for servers running lots of SHOUTcast Servers that have similar
; configuration parameters, excepting log file names, ban file names, etc.  Any
; parameter that takes a pathname can include the character $, which will
; substitute $ for the variable assigned here.  Keep in mind that the unique
; variable can only be used after it is defined, so don't try to use a unique
; variable substitution in a path before you define it.  For example, you
; could set:
; Unique=my_server
; and then define Log=/usr/local/SHOUTcast/$.log in an included configuration
; file.  Default is Unique=$, so that by default any file with $ in the name
; won't substitute anything at all.</comment>
</pre>

<p>
Se si eseguono diversi SHOUTcast Server, gestire i file ban/log/ecc. per ogni
server potrebbe essere ripetitivo e noioso. Inserendo una stringa di comodo in
questa variabile, si potrà usare il carattere '$' per rappresentare quella
stringa. Ad esempio, se un file ha Unique=Jazz e un altro ha Unique=Rock, allora
Log=/var/log/$.log produrrà /var/log/Jazz.log per una configurazione e
/var/log/Rock.log per l'altra. In questo modo, è molto più facile distribuire
server SHOUTcast multipli su configurazioni simili.
</p>

<pre caption="Impostare variabili comuni">
<comment>; Include: instructs the sc_serv to read from the named configuration file,
; *at the point of insertion of the Include statement*, and process as though
; the included file was part of itself.  Note that all configuration parameters
; in the DNAS configuration file are processed first to last, so if an item is defined
; twice in a configuration, the last item to process will be the one that takes
; effect.  For this reason, it's usually a good idea to use the Includes first
; in a configuration file.
; example:
; Include=/usr/local/SHOUTcast/common.conf
; Default is not applicable.</comment>
</pre>

<p>
Se si esegue più di uno SHOUTcast Server e si vogliono utilizzare configurazioni
simili, il file qui indicato può contenere impostazioni comuni alle diverse
esecuzioni.
</p>

</body>
</section>
<section>
<title>Ottimizzazione</title>
<body>

<pre caption="Impostare il numero di CPU utilizzate">
<comment>; CpuCount is used to explicitly limit the DNAS to dominating a finite
; amount of processors in multiprocessor systems.  By default,
; SHOUTcast creates one thread for every processor it detects in the
; host system, and assigns listeners equally across all the threads.
; In the event SHOUTcast doesn't correctly determine the number of
; CPUs in your host, or if you for whatever reason want to force
; the DNAS to not use other processors, you can say so here.
; Default behavior is to use as many processors as the DNAS detects on
; your system.
; CpuCount=1</comment>
</pre>

<p>
In sistemi con più di una CPU, questa variabile impone allo SHOUTcast Server di
utilizzare solo CpuCount processori. Senza questa impostazione, SHOUTcast
assegna un processo ad ogni processore e distribuisce gli ascoltatori tra
i processi così generati. Se si sceglie un valore inferiore al numero totale di
CPU, si possono lasciare alcune CPU libere di eseguire altri compiti.
</p>

<pre caption="Impostare l'intervallo di invio dei dati">
<comment>; Sleep defines the granularity of the client threads for sending data.
; DNAS 1.7.0, per client thread, will send up to 1,024 bytes of data
; per socket (or less depending on the window available), and then
; sleep for the provided duration before repeating the whole process.
; Note that making this value smaller will vastly increase CPU usage on
; your machine.  Increasing reduces CPU, but increasing this value too far
; will cause skips.  The value which seems most optimal for 128kbps
; streaming is 833 (833 microseconds per client poll) on our test labs.
; We wouldn't recommend setting it any lower than 100, or any higher than
; 1,024.  If you have a slower machine, set this number lower to fix
; skips.
; Default value is 833.
; Sleep=833</comment>
</pre>

<p>
Lo SHOUTcast Server usa il valore di sleep per determinare ogni quanto tempo
inviare pacchetti di dati. Maggiore è il valore di sleep, maggiore il tempo che
trascorre tra un invio e il successivo, mentre per valori piccoli gli invii sono
più frequenti e il carico di lavoro della CPU aumenta. In reti lente, come
indicato nel commento, è possibile ridurre questo valore in modo che lo
SHOUTcast Server invii i dati più frequentemente. La soluzione migliore è
lasciare questo valore com'è.
</p>

<pre caption="Minimizzare l'output XML">
<comment>; CleanXML strips some whitespace and line feeds from XML output which
; confuses some (poorly written) XML parsers.  If you get XML rendering errors,
; try turning this on.  Default is No (off).
; CleanXML=No</comment>
</pre>

<p>
Probabilmente non c'è da preoccuparsi molto di questa opzione, a meno che non si
utilizzi un parser XML particolare per creare le statistiche. Se il parser XML
non può gestire gli spazi o le linee vuote, allora si può impostare questo
valore a Yes e tutto funzionerà.
</p>

</body>
</section>
<section>
<title>Termine della configurazione</title>
<body>

<p>
Lo SHOUTcast Server ora è configurato. Per utilizzi professionali, è fortemente
raccomandata l'abilitazione della registrazione degli eventi di tipo W3C, che
consente facili elaborazioni così come la creazione di statistiche
personalizzate. Inoltre, è consigliabile l'uso di AdministratorPassword.
Probabilmente sarà bene utilizzare anche delle impostazioni condivise di
configurazione se si eseguono SHOUTcast Server multipli.
</p>

<p>
Terminata la configurazione, siamo pronti ad avviare SHOUTcast. Si può testarne
il funzionamento con un semplice streaming a richiesta, per poi avviare
SHOUTcast Trans successivamente (visto che occorrerà qualche ulteriore
operazione).
</p>

</body>
</section>
</chapter>

<chapter>
<title>Avviare SHOUTcast Server</title>
<section>
<title>Configurare uno streaming a richiesta</title>
<body>

<p>
Lo streaming a richiesta, come descritto nel capitolo riguardante la
configurazione, imposta automaticamente una playlist contenente i file mp3 della
directory dei contenuti. L'ebuild di SHOUTcast ha la directory predefinita in
/opt/SHOUTcast/content. Si può iniziare con la creazione di un semplice
streaming a richiesta di file mp3.
</p>

<p>
Per cominciare occorre avere a disposizione un file mp3 e produrne una copia
nella directory dei contenuti. Immaginiamo dunque di avere da qualche parte un
file sample.mp3.
</p>

<pre caption="Copiare un mp3 nella directory dei contenuti">
# <i>cp sample.mp3 /opt/SHOUTcast/content/</i>
# <i>cd /opt/SHOUTcast/content/</i>
# <i>ls</i>
sample.mp3
</pre>

<p>
In questo modo il file è copiato. Ora si può avviare lo SHOUTcast Server per
consentire l'accesso al file.
</p>

<pre caption="Avviare il Server SHOUTcast">
# <i>/etc/init.d/shoutcast start</i>
 * Starting Shoutcast Server...
*******************************************************************************
** SHOUTcast Distributed Network Audio Server
** Copyright (C) 1998-2004 Nullsoft, Inc.  All Rights Reserved.
** Use "sc_serv filename.ini" to specify an ini file.
*******************************************************************************
                                                                         [ ok ]
</pre>

<p>
Questo piccolo banner serve semplicemente ad indicare che tutto è andato bene
(cioè per informare sull'esito dell'avvio del server). Lo SHOUTcast Server è
avviato! Visto che si tratta di contenuti su richiesta, l'accesso può avvenire
SOLAMENTE tramite browser. MPlayer o qualsiasi altro client non hanno la
possibilità di connettersi autonomamente ad uno streaming. Ad esempio, invece,
si può usare kmplayer per ascoltare lo stream avviato attraverso il browser.
Nell'immagine qua in basso si può vedere il risultato.
</p>

<figure caption="Contenuti su richiesta" short="OnDemandContent"
link="/images/docs/shoutcast-OnDemandContent.jpg" />

<p>
In altri casi si potrebbe avere impostato Audacious per la gestione dei mime
type audio, quindi il browser potrebbe avviare Audacious per eseguire lo stream.
Ora che siamo in grado di lavorare con i contenuti su richiesta, possiamo usare
SHOUTcast Trans per creare un vero server di radio streaming.
</p>

</body>
</section>
</chapter>

<chapter>
<title>Configurare SHOUTcast Trans</title>
<section>
<title>Introduzione a SHOUTcast Trans</title>
<body>

<p>
SHOUTcast Trans è la contrazione di SHOUTcast Trans(coder), perché questo
programma è in grado di transcodificare (ricodificare) i file mp3 in bitrate
maggiori o minori. SHOUTcast Trans realizza un flusso mp3 a partire da una
playlist indicata nel suo file di configurazione. Inizieremo quindi la
configurazione di SHOUTcast Trans, in modo da avere un una vera radio streaming
di qualità. Si inizia dunque con l'aprire il file di configurazione di SHOUTcast
Trans, /etc/shoutcast/sc_trans.conf.
</p>

<pre caption="Aprire il file di configurazione di SHOUTcast Trans">
<comment>(Prima installare SHOUTcast Trans)</comment>
# <i>emerge shoutcast-trans-bin</i>
<comment>(Poi aprire il file di configurazione di SHOUTcast Trans)</comment>
# <i>vi /etc/shoutcast/sc_trans.conf</i>
</pre>

<p>
Una volta aperto il file, possiamo iniziare la configurazione della sorgente
dello streaming.
</p>

</body>
</section>
<section>
<title>Configurazione di SHOUTcast Trans</title>
<body>

<pre caption="Impostare una playlist">
<comment>; PlaylistFile (required EVEN IF RELAYING) - play list file (to create, use
; find /path/to/mp3/directory -type f -name "*.mp3" &gt; playlist_filename.lst</comment>
PlaylistFile=/opt/SHOUTcast/playlists/playlist.lst
</pre>

<p>
Questa variabile istruisce SHOUTcast su dove trovare i contenuti. Il file
indicato deve esistere, quindi occorre creare autonomamente la playlist. È
possibile crearne una a partire da una directory contenente dei file mp3, ad
esempio /Mp3.
</p>

<pre caption="Creare una playlist">
# <i>find /Mp3 -type f -name "*.mp3" &gt; /opt/SHOUTcast/playlists/playlist.lst</i>
</pre>

<p>
Ora che la playlist è pronta, puntiamo ad essa il file di configurazione,
affinché SHOUTcast conosca con quali file produrre lo stream.
</p>

<pre caption="Impostare l'indirizzo IP e la porta del server">
<comment>; Serverip/ServerPort are the target server to send to</comment>
Serverip=127.0.0.1
ServerPort=8000
</pre>

<p>
Questa variabile indica dove inviare lo stream. In questa guida sarà lo
SHOUTcast Server che è stato configurato in precedenza (DestIP and PortBase).
</p>

<pre caption="Impostare la password per lo SHOUTcast Server">
<comment>; Password is the password on the sc_serv you're sending to.</comment>
Password=password_you_setup_in_sc_serv.conf
</pre>

<p>
Questa è la password che è stata indicata nella configurazione dello SHOUTcast
Server.
</p>

<pre caption="Definire le informazioni generali dello stream">
<comment>; StreamTitle/URL/Genre define the data that appears on the directory and in the
; stream info.</comment>
StreamTitle=Chris Gentoo Beats
StreamURL=http://www.gentoo.org
Genre=JPOP Electronica And More!
</pre>

<p>
Queste variabile sono il titolo dello stream (ad esempio, Radio Uno), la URL (ad
esempio http://www.radio-one.com) e il genere (ad esempio Electronica Trance
Tribal).
</p>

<pre caption="Impostare un file di log">
<comment>; Logfile optionally denotes a text file to log sc_Trans to.  a kill -HUP
; will force a close and re-open of this file (but will also cease logging to
; the console)</comment>
LogFile=/var/log/sc_Trans.log
</pre>

<p>
Qui possiamo indicare dove verranno registrate le attività di SHOUTcast Trans.
</p>

<pre caption="Impostare un ordine casuale">
<comment>; Shuffle the play list</comment>
Shuffle=1
</pre>

<p>
Si può decidere di eseguire la playlist in ordine casuale. È un'abitudine
diffusa. Se però si intende accettare la richiesta di brani, allora si deve
tenere questa variabile a 0 e più avanti si vedrà come soddisfare le richieste.
</p>

<pre caption="Configurare lo stream">
<comment>; Bitrate/SampleRate/Channels recommended values:
; 8kbps 8000/11025/1
; 16kbps 16000/11025/1
; 24kbps 24000/22050/1
; 32kbps 32000/22050/1
; 64kbps mono 64000/44100/1
; 64kbps stereo 64000/22050/2
; 96kbps stereo 96000/44100/2
; 128kbps stereo 128000/44100/2</comment>
Bitrate=128000
SampleRate=44100
Channels=2
<comment>; Quality is from 1-10. 1 is best, 10 is fastest.</comment>
Quality=1
</pre>

<p>
Bitrate imposta la qualità del flusso audio. Può andare da 8000 (8kbps) a 128000
(128kbps). SampleRate imposta la frequenza di campionamento del flusso. Può
essere un valore tra 11025 (11025KHz) e 44100 (44100 KHz). Channels imposta il
numero di canali del flusso. Può essere 1 (mono) o 2 (stereo). Quality imposta
la qualità dello stream. La qualità dipende anche da
Bitrate/SampleRate/Channels, ma qui si stabilisce il tasso di compressione del
flusso audio. La migliore qualità corrisponde al valore 1, mentre 10 garantisce
la massima velocità. Per scegliere questo valore, occorre tenere a mente le
caratteristiche della propria connessione. Se necessario, rileggere la guida per
sapere con quale qualità il flusso mp3 deve essere costruito.
</p>

<pre caption="Impostare le sfumature tra i brani">
<comment>; Mode=0 for none, 1 for 100/100->100/0, 2 for 0/100->100/0</comment>
CrossfadeMode=1
<comment>; Length is ms.</comment>
CrossfadeLength=8000
</pre>

<p>
Con queste variabili si imposta il tipo di sfumatura tra i brani. Se
CrossfadeMode vale 1, il primo brano sfuma in entrata e il secondo in uscita. Se
vale 2, il primo brano sfuma in entrata e il secondo in uscita. CrossfadeLength
è il numero di millisecondi di durata della sfumatura.
</p>

<pre caption="Abilitare l'uso dei tag ID3">
UseID3=1
</pre>

<p>
Con questa variabile si stabilisce se usare o meno i tag ID3 per fornire
informazioni sul brano trasmesso.
</p>

<pre caption="Dichiarare la trasmissione come pubblica">
<comment>; Public determines whether or not this station will show up in the directory</comment>
Public=0
</pre>

<p>
Con questa variabile si stabilisce se lo stream deve essere pubblicato nelle
liste pubbliche quando trasmette verso un server. ma non si deve dimenticare che
l'impostazione di sc_serv.conf ha la precedenza su quanto stabilito qui.
</p>

<pre caption="Impostare le comunicazioni con gli utenti">
<comment>; Put stuff here for user interaction (AOL IM, ICQ, IRC)</comment>
AIM=AIMHandle
ICQ=
IRC=SHOUTcast
</pre>

<p>
Queste variabili contengono le informazioni su come prendere contatto con chi
gestisce SHOUTcast Trans (quindi il DJ). Si può impostare un riferimento AIM o
ICQ per richieste di brani o altro. Si può anche allestire il proprio canale
IRC, in modo da interagire con molti utenti simultaneamente.
</p>

</body>
</section>
<section>
<title>Conclusione della preparazione di SHOUTcast Trans</title>
<body>

<p>
SHOUTcast Trans è pronto per erogare il flusso di brani verso lo SHOUTcast
Server! Occorre solo preparare i propri mp3.
</p>

</body>
</section>
</chapter>

<chapter>
<title>Esecuzione di SHOUTcast Trans</title>
<section>
<title>Avviare SHOUTcast Trans</title>
<body>

<p>
Spesso si usa SHOUTcast Trans con SHOUTcast Server, quindi è comodo avviare
SHOUTcast Trans, che a sua volta avvia SHOUTcast Server (è più facile). Quindi
non resta che avviare SHOUTcast Trans.
</p>

<pre caption="Avviare Shoutcast Trans e Shoutcast Server">
# <i>/etc/init.d/shoutcast_trans start</i>
 * Starting Shoutcast Server...
*******************************************************************************
** SHOUTcast Distributed Network Audio Server
** Copyright (C) 1998-2004 Nullsoft, Inc.  All Rights Reserved.
** Use "sc_serv filename.ini" to specify an ini file.
*******************************************************************************
                                                  [ ok ]
* Starting Shoutcast Trans...                     [ ok ]
</pre>

</body>
</section>
<section>
<title>Ascoltare lo stream di SHOUTcast Trans</title>
<body>

<p>
Una volta avviato SHOUTcast Trans, è possibile ascoltare lo stream. Ad esempio
si può usare MPlayer, come nell'esempio.
</p>

<pre caption="Ascoltare stream">
# <i>mplayer -cache 1024 http://127.0.0.1:8000/</i>
...
Playing http://127.0.0.1:8000/.
Connecting to server 127.0.0.1[127.0.0.1]:8000 ...
Name   : Chris Gentoo Beats
Genre  : JPOP Electronica And More!
Website: http://www.gentoo.org
Public : no
Bitrate: 128kbit/s
Cache size set to 1024 KBytes
Connected to server: 127.0.0.1
Cache fill:  9.38% (98304 bytes)    Audio file detected.
==========================================================================
Opening audio decoder: [mp3lib] MPEG layer-2, layer-3
MP3lib: init layer2 and 3 finished, tables done
mpg123: Can't rewind stream by 156 bits!
AUDIO: 44100 Hz, 2 ch, 16 bit (0x10), ratio: 16000->176400 (128.0 kbit)
Selected audio codec: [mp3] afm:mp3lib (mp3lib MPEG layer-2, layer-3)
==========================================================================
Checking audio filter chain for 44100Hz/2ch/16bit -> 44100Hz/2ch/16bit...
AF_pre: af format: 2 bps, 2 ch, 44100 hz, little endian signed int
AF_pre: 44100Hz 2ch Signed 16-bit (Little-Endian)
AO: [oss] 44100Hz 2ch Signed 16-bit (Little-Endian) (2 bps)
Building audio filter chain for 44100Hz/2ch/16bit -> 44100Hz/2ch/16bit...
Video: no video
Starting playback...
</pre>

<p>
È un po' personalizzato. L'opzione -cache è utile per aggirare il buffer di
MPlayer, che potrebbe essere troppo grande per il proprio scopo. E voilà. si è
già in ascolto dello streaming! Nel prossimo capitolo si imparerà a fare
qualcosa in più con il proprio SHOUTcast Server.
</p>

</body>
</section>
</chapter>

<chapter>
<title>Uso avanzato di SHOUTcast</title>
<section>
<title>Uso professionale</title>
<body>

<p>
Si può rendere più professionale l'uso di SHOUTcast in diversi modi:
</p>

<ol>
  <li>
    Usare i contenuti su richiesta per rendere più interessanti annunci
    quotidiani.
  </li>
  <li>
    Produrre annunci pubblici nel momento in cui si presenti la necessità, in
    modo che gli ascoltatori possano sapere cosa sta accadendo, sul momento! Poi
    archiviarli come contenuti su richiesta per usi futuri.
  </li>
  <li>
    Realizzare interviste, archiviarle e proporle come contenuti su richiesta.
  </li>
</ol>

<p>
Ci sono molti modi per utilizzare SHOUTcast Server in ambito professionale. In
generale, si può usare lo streaming invece del solito, noioso testo!
</p>

</body>
</section>
<section>
<title>Il mestiere di DJ con SHOUTcast</title>
<body>

<p>
SHOUTcast Server è uno dei server più popolari tra i nuovi DJ come tra i
veterani. Per iniziare, ci sono alcuni modi per rendere più accattivante l'uso
di SHOUTcast Server. Ad esempio, avere un brano introduttivo è molto efficace.
Un brano introduttivo dà agli ascoltatori un'idea sulla stazione che stanno
ascoltando. È molto importante usarlo! È utile anche pubblicare il proprio
server su yp.SHOUTcast.com (come descritto nella sezione sulla configurazione di
SHOUTcast Server) per rendersi raggiungibile da chiunque. Una delle
caratteristiche più inimitabili è la possibilità di ricevere richieste. Per
gestire le richieste, per prima cosa disabilitare la modalità Shuffle in
sc_Trans.conf. Poi occorre procurarsi una decina di brani pronti per essere
eseguiti. Infine iniziare a ricevere le richieste. Quando qualcuno richiede un
brano, basterà semplicemente aggiungerlo alla fine della playlist, usando questo
script per controllare cosa fa SHOUTcast Trans con la playlist:
</p>

<pre caption="djcontrol">
<comment>#!/bin/bash</comment>

case "$1" in
        "reload")
                kill -s USR1 `cat /var/run/SHOUTcast_Trans.pid`
                ;;
        "next")
                kill -s WINCH `cat /var/run/SHOUTcast_Trans.pid`
                ;;
        *)
                echo "Invalid command"
                ;;
esac
</pre>

<p>
Quando si aggiunge un brano alla playlist, infatti, bisogna dire a SHOUTcast
Trans che la lista è cambiata.
</p>

<pre caption="Ricaricare la playlist">
# <i>djcontrol reload</i>
</pre>

<p>
Ora non resta che far conoscere all'ascoltatore quando la richiesta verrà
eseguita. O, se si vuole, si può saltare ai brani successivi con:
</p>

<pre caption="Saltare in avanti tra i brani della playlist">
# <i>djcontrol next</i>
</pre>

<p>
Si faccia attenzione all'uso della funzione next, perché non c'è una
corrispondente funzione previous. Una volta indicato il brano, il brano inizia.
Si può accumulare prima qualche richiesta prima di iniziare ad esaudirle. In
questo modo non si rischia di tornare rapidamente all'inizio. Se nel frattempo
non arrivano nuove richieste, basta anticipare l'esecuzione della playlist
prevista per il periodo successivo. Una volta terminato il brano corrente,
inizierà l'esecuzione della playlist programmata.
</p>

</body>
</section>
<section>
<title>Conclusioni</title>
<body>

<p>
Con questi suggerimenti il tutorial per SHOUTcast Server e SHOUTcast Trans è
concluso. Per qualsiasi necessità si può inviare una email all'autore di questa
pagina! Buon divertimento con SHOUTcast Server!
</p>

</body>
</section>
</chapter>
</guide>
