SHOUTcast
# SHOUTcast

SHOUTcast è una tecnologia per lo streaming audio, ovvero utile per la gestione di dati audio trasmessi da una sorgente a una o più destinazioni su Internet, analogamente al funzionamento della radio nell'etere. Sviluppato da Nullsoft, SHOUTcast utilizza i formati audio MP3 o AAC e il protocollo ICY, una ridefinizione ad hoc del protocollo HTTP. Il server SHOUTcast è disponibile per Windows, FreeBSD, GNU/Linux, macOS e Solaris.

La politica di SHOUTcast è stata quella di utilizzare un protocollo di trasporto TCP, piuttosto che UDP. Questa è una politica che permette agli utenti di avere una stabilità nel flusso, ma è di per sé molto più lento, a causa degli acknowledgment e controlli di congestione. Questa si è rivelata una scelta progettuale discutibile proprio a causa delle lamentele dei broadcasters dovute ai ritardi di trasmissione.

## Funzionamento di un server SHOUTcast

Un server SHOUTcast funziona sostanzialmente da ripetitore e distributore di un flusso audio. Tale flusso audio in input può essere un segnale digitale campionato da un DSP, (nella versione per sistemi operativi Windows) o direttamente uno o più file (come impostato nativamente nella versione per GNU/Linux).

Il flusso audio in ingresso viene restituito in output ogni qualvolta un qualsiasi player, embedded o stand-alone, come ad esempio Nullsoft Winamp, XMMS, Zinf e Apple iTunes contatta il server tramite richiesta HTTP.

Un server SHOUTcast segmenta la banda in upload disponibile. Quindi ha una disponibilità di ascoltatori limitata da questa relazione matematica:

    $NumeroClientsPossibili={BandaDisponibile \over Bitrate}$

Questo dimostra che una web radio deve sempre trovare un compromesso tra qualità e utenza, a parità di banda disponibile.

