Tutorial de Uso: Montando um servidor de rádio com Icecast



Sobre este Tutorial


Este Tutorial é uma compilação dos textos Transmissão de Áudio pela Internet e Web Rádios de Rhatto com colaboração de Rafael Diniz, e do texto Streaming de áudio com icecast2 e darkice usando gnu/linux (v0.1) de Diogo Correia Gonzaga, ambos elaborados para icecast 2.2.0 (atual em fevereiro de 2006).

Este texto é licenciado em Creative Commons Atribuição-Uso Não-Comercial-Compatilhamento pela mesma licença 2.0 Brasil.







Visão geral




O icecast2 é um serviço de transmissão de áudio pela rede TCP/IP pelos formatos OGG VORBIS e MP3. Está licenciado sob a GNU GPL. O site do projeto pode ser acessado através do
endereço http://www.icecast.org/.





Configurando o Icecast




O arquivo de configuração do icecast2 é escrito no formato XML, e é dividido nas seções:

  • Restrições (Limits)
  • Autenticação (Authentication)
  • Listagem de Diretório �?? Diretory (Páginas Amarelas)
  • Configurações Gerais do Servidor
  • Opções de Relay (Mount-point's)
  • Arquivos e diretórios no servidor
  • Registros de acessos (Logs)
  • Segurança






Restrições (Limits)





A seção limits, regula os limites de uso do servidor. Por padrão, os valores desta seção já são otimizados para um bom funcionamento do servidor, não precisando serem modificados. Indicamos as opções mais importantes em negrito.

Exemplo de configuração da seção �??limits�??:

<limits>
         <clients>100</clients>
         <sources>2</sources>
         <threadpool>5</threadpool>
         <queue-size>102400</queue-size> 
         <client-timeout>30</client-timeout>
         <header-timeout>15</header-timeout>
         <source-timeout>10</source-timeout>
         <burst-on-connect>1</burst-on-connect>
         <burst-size>65535</burst-size>
</limits> 


  • clients �?? Número total de clientes suportados pelo servidor. Este número se aplica, apenas, ao total de conexões que o servidor irá suportar como um todo, e não por �??mountpoint�??.

  • sources �?? Número total de fontes de streaming suportadas pelo servidor. As fontes de streaming são, geralmente, sistemas de captura de áudio (Ex: Darkice) que enviam os dados da mídia capturada (áudio, no caso) para o servidor icecast2.

  • threadpool �?? Á o número de processos em paralelo, que serão iniciados no momento em que os clientes começarem a se conectar. Você só precisa se preocupar com esse número se o servidor enfrentar grande tráfego, i.e., muitos ouvintes.

  • queue-size �?? Este é o tamanho máximo (em bytes) da fila do cliente (ouvinte). Á comum que as conexões entre o cliente e o servidor retardem-se (lag) devido aos congestionamentos na rede. Neste caso, uma fila interna no servidor é mantida. Se a fila crescer de tal modo, e se tornar maior do que o valor especificado nesta opção, o ouvinte será desconectado do servidor.

  • client-timeout �?? Tempo (em segundos) que o servidor aguarda pacotes de um ouvinte conectado.

  • header-timeout �?? Tempo máximo (em segundos) para esperar um pedido do cliente, uma vez que este já fez a conexão.

  • source-timeout �?? Se alguma origem de streaming (Ex.: Darkice) não enviar quaisquer dados em um determinado período (em segundos), então a conexão será encerrada pelo servidor icecast2.

  • burst-on-connect �?? Quando habilitado, o cliente (ouvinte) recebe uma quantidade de pacotes superior à necessária, no intuito de fazer com que o tocador (do cliente) armazene um buffer inicial antes de ocorrer, de fato, o streaming em tempo real.

  • burst-size �?? Representa (em bytes) a quantidade de dados que serão transmitidos para o cliente (ouvinte) antes que ocorra, de fato, o streaming em tempo real. O objetivo é que o tocador do cliente armazene um buffer do tamanho especificado nesta opção.






Autenticação (Authentication)




Na seção �??authentication�?? se encontram os usuários e senhas usadas para a administração do servidor e das fontes de streaming (Ex.: darkice).

Exemplo de configuração da seção �??authentication�??:

<authentication>
        <source-password>hackme</source-password>
        <relay-password>hackme</relay-password>
        <admin-user>admin</admin-user>
        <admin-password>hackme</admin-password>
</authentication>


  • source-password �?? Á a senha para se conectar ao icecast2. Indica uma senha que será usada pela(s) origem(ns) do streaming para se conectar(em) no servidor icecast2.

  • relay-password �?? Opção não utilizada atualmente.

  • admin-user �?? usuário da interface de administração.

  • admin-password �?? senha da interface de administração.

Obs.: As opções de autenticação não possuem qualquer tipo de relação direta com a PAM, ou qualquer outro tipo de mecanismo de autenticação do sistema operacional.






Listagem de Diretório �?? Diretory (Páginas Amarelas)




O icecast2 pode integrar-se aos servidores de diretório em uma rede. Esta seção contém os dados de uma ou mais páginas amarelas para webradio - também conhecidas como YP, Yellow Pages.

Exemplo de configuração da seção �??directory�??:

<directory>
        <yp-url-timeout>15</yp-url-timeout>
        <yp-url>http://dir.xiph.org/cgi-bin/yp-cgi</yp-url>
</directory>


  • yp-url-timeout �?? Indica o tempo máximo que o icecast2 irá aguardar pela resposta de algum servidor de diretório na rede.

  • yp-url �?? Indica a URL que o icecast2 irá usar para se comunicar com o servidor de diretório na rede.






Configurações Gerais




Esta seção contém as opções gerais da configuração do servidor como porta, endereço, etc. Indicamos as opções mais importantes em negrito.

Exemplo de configuração da seção:

<hostname>localhost<hostname>

    <-- You can use these two if you only want a single listener -->
    <-- <port>8000</port> -->
    <-- <bind-address>127.0.0.1</bind-address> -->

    <-- You may have multiple <listen-socket> elements -->
    <listen-socket>
        <port>8000</port>
        <bind-address>127.0.0.1</bind-address>
    </listen-socket>
    <listen-socket>
        <port>8001</port>
        <bind-address>127.0.0.1</bind-address>
        <shoutcast-compat>1</shoutcast-compat>
    </listen-socket>

    <fileserve>1</fileserve>
    <shoutcast-mount>/live.nsv</shoutcast-mount>


  • hostname �?? Hostname do servidor icecast2: nomedoseuservidor.org

  • port �?? Porta (TCP) que será usada para aceitar conexões dos clientes. Geralmente são utilizadas as portas 8000, 8100 ou similares.

  • bind-address �?? é um parâmetro opcional para o caso do seu computador possuir várias placas de rede e/ou vários números IPs; Indica o endereço IP de uma placa de rede que será usado para escutar as conexões dos clientes. Caso nenhum valor seja indicado, então o icecast2 irá utilizar o endereço associado com o �??hostname�?? indicado no arquivo. caso você o utilize certifique-se que você está colocando o seu IP externo, isto é, o IP da sua conexão com a internet e não o IP da sua rede externa, pois do contrário o acesso ao serviço estará restrito à sua rede interna; consulte o administrador da sua rede ou seu provedor para maiores detalhes ou não utilize este campo.

  • shoutcast-compat �?? Esta opção, caso habilitada (1), fará com que o icecast2 opere de modo compatível com o shoutcast, permitindo que clientes SHOUTcast usem o servidor Icecast para fazer suas transmissões.

  • fileserv �?? Esta opção, caso habilitada (1), fará com que o icecast2 trabalhe como um servidor de arquivos estático, isto é, também atue como um servidor para transmissões assíncronas. A localização destes arquivos pode ser especificada nas opções <paths><webroot>. Se você escolher 0 para o fileserve, então a transmissão de arquivos estáticos não estará disponível.

  • shoutcast-mount �?? Indica um ponto de montagem (mountpoint) a ser usado ao receber conexões de clientes compatíveis com �??shoutcast DSP�??.



A seção de configurações gerais permite que mais de uma porta seja utilizada para o servidor e isso é feito a cada bloco:

    <listen-socket>
      ...
    </listen-socket>



Se as opções dadas acima estiverem fora de um bloco listen-socket, então o Icecast só permitirá um ouvinte no servidor, como por exemplo quando a seção de configurações gerais for assim:

    <hostname>seu-site.com.br<hostname>
    <port>8000</port>
    <fileserve>1</fileserve>



O mais provável é que você queira mais de um ouvinte. Então uma configuração possível é:

    <hostname>localhost<hostname>
    <listen-socket>
        <port>8000</port>
    </listen-socket>
    <fileserve>1</fileserve>



Dessa forma você deixa o servidor esperando conexões na porta 8000. Outras portas podem ser adicionadas, bastando para isso escrever um outro bloco listen-socket:

    <hostname>localhost<hostname>
    <listen-socket>
        <port>8000</port>
    </listen-socket>
    <listen-socket>
        <port>8100</port>
    </listen-socket>
    <fileserve>1</fileserve>







Configurações de Relay





Esta seção contém as opções de configuração de servidores relay (relay servers). A seção configura quais transmissões de áudio serão retransmitidas pelo seu servidor de Icecast. A grande utilidade disso é a possibilidade de melhorar o aproveitamento da rede, com a distribuição e balanço do uso da conexão com a internet entre diversos computadores.

Exemplo de configuração da seção �??relay�??:


    <master-server>127.0.0.1</master-server>
    <master-server-port>8001</master-server-port>
    <master-update-interval>120</master-update-interval>
    <master-password>hackme</master-password>

    <relay>
        <server>127.0.0.1</server>
        <port>8001</port>
        <mount>/example.ogg</mount>
        <local-mount>/different.ogg</local-mount>
        <username>joe</username>
        <password>soap</password>
        <relay-shoutcast-metadata>0</relay-shoutcast-metadata>
    </relay>


Existe duas maneiras de se fazer relay: retransmitir todos os pontos de montagem de um servidor ou então retransmitir pontos de montagens específicos de vários servidores. A próxima figura mostra o caso de um servidor retransmitindo tudo o que um servidor transmite.

      |-----|                       |-----|
      |     |  all mountpoints      |     | /mount1
      |     | <-------------------  |     | /mount2.ogg
      |-----|                       |-----| /mount3
      Icecast 2                     Icecast 2 
      Server 1                      Server 2
      (RELAY SERVER)                (MASTER SERVER)

     configured with
     <master-server>
     settings 


Para esse caso, as seguintes configurações são utilizadas:

  • master-server: endereço do servidor mestre
  • master-server-port: porta desse servidor
  • master-update-interval: o intervalo de tempo a cada qual o servidor de relay pergunta ao servidor mestre por novos pontos de montagem
  • master-password: senha para fazer o relay

O mais provável é fazermos relay de apenas um ou outro mountpoint de um dado servidor:

      |-----|                       |-----|
      |     |      /mount3          |     | /mount1
      |     | <-------------------  |     | /mount2.ogg
      |-----|                       |-----| /mount3
      Icecast 2                     Icecast 2/Shoutcast/Icecast
      Server 1                      Server 2
      (RELAY SERVER)                (REMOTE SERVER)

     configured with
     <relay>
     settings 


Nessa condição, utilizaremos um ou mais blocos do tipo

    <relay>
      ...
    </relay>


cujas opções são:

  • server: servidor onde está a transmissão de origem
  • port: porta dessa transmissão
  • mount: o ponto de montagem de origem
  • local-mount: o ponto de montagem onde essa transmissão ficará no seu servidor
  • username: usuário (caso necessário)
  • password: senha (caso necessário)
  • relay-shoutcast-metadata: copia a metadata do stream caso o servidor seja SHOUTcast; se o servidor for icecast, a cópia é automática.

Suponha que você queira retransmitir uma rádio, por exemplo a Rádio E Publicação Aberta do radiolivre.org, cujo endereço é http://orelha2.radiolivre.org:8080/radiolivre.ogg.m3u. Sua seção relay ficaria então

    <relay>
        <server>orelha2.radiolivre.org</server>
        <port>8080</port>
        <mount>/radiolivre.ogg</mount>
        <local-mount>/radiolivre.ogg</local-mount>
        <relay-shoutcast-metadata>0</relay-shoutcast-metadata>
    </relay>


Você ainda pode retransmitir outros streamings de outros servidores. Para cada retransmissão adicione um novo bloco relay. Lembre-se que transmissões em formato ogg precisam ter seus pontos de montagem terminando em .ogg.







Pontos de montagem




Esta seção contém as opções de configuração dos pontos de montagem (mountpoint's). Os mountpoint's são acessados pela origem (Ex.: Darkice) e recebem os dados transmitidos por ela.

Isso permite que sejam definidos pontos de montagem com senhas e configurações próprias para garantir a segurança do servidor. Você, como administrador de um serviço de webradio, pode disponibilizar para outras pessoas fazerem streaming usando apenas determinados pontos de montagem, cada qual definido num bloco (mountpoint).
Indicamos as opções mais importantes em negrito.

Exemplo de configuração da seção �??mount�??:

<mount>
        <mount-name>/example-complex.ogg</mount-name>
        <username>othersource</username>
        <password>hackmemore</password>
        <max-listeners>1</max-listeners>
        <dump-file>/tmp/dump-example1.ogg</dump-file>
        <fallback-mount>/example2.ogg</fallback-mount>
        <fallback-override>1</fallback-override>
        <no-yp>1</no-yp>
        <hidden>1</hidden>
        <burst-size>65536</burst-size>
        <authentication type="htpasswd">
                <option name="filename" value="myauth"/>
                <option name="allow_duplicate_users" value="0"/>
        </authentication>

</mount>


  • mount-name �?? O nome do ponto de montagem da seção.

  • username �?? Campo opcional que define o usuário que será usado pela origem (source) para se conectar ao servidor e enviar o streaming associado ao mount-point.

  • password �?? Campo que define a senha usada pela origem (source) para se conectar ao servidor e enviar o streaming associado ao mount-point.

  • max-listeners �?? Número máximo de ouvintes suportados neste mountpoint.

  • dump-file �?? Salva o streaming no arquivo especificado nesta opção.

  • fallback-mount �?? Nome do mount-point para onde o usuário será redirecionado caso não seja possível conectar ao mount-point atual. Este deve apontar para um mountpoint no mesmo servidor icecast2.

  • fallback-override �?? A opção habilitada (1) faz com que os clientes que foram redirecionados para o mountpoint especificado no �??fallback-mount�?? sejam movidos para o mountpoint real, assim que este tornar-se novamente disponível.

  • no-yp �?? A opção habilitada (1) impede que o mount-point seja anunciado no servidor de diretório (página amarela).

  • hidden �?? A opção habilitada (1) previne que o mount-point seja mostrado nas páginas xsl que por acaso poderiam ser acessadas pelos ouvintes.

  • burst-size �?? O valor especificado nesta opção substituirá o valor especificado na mesma opção, indicada na seção �??limits�??.

  • authentication - Esse bloco, que fica dentro do bloco mount, define a forma de autenticação para que os ouvintes possam escutar a transmissão; a opção filename especifíca em qual arquivo está a senha e a opção allow_duplicate_users permite que mais de um ouvinte escute a transmissão com o mesmo par usuário/senha; para ouvir uma transmissão com senha, utiliza-se o método de autenticação padrão do HTTP, como por exemplo http://user:password@servidor:porta/ponto-de-montagem.ogg; você encontra aqui maiores informações sobre autenticação no icecast.






Arquivos e diretórios no servidor




Esta seção indica os caminhos (paths) dos diretórios no servidor icecast2. Esta seção contém informações sobre os caminhos dos arquivos utilizados no icecast, como a pasta onde residem os registros do servidor, a interface web e a de administração.

Exemplo de configuração da seção �??paths�??:

<paths>
        <basedir>./</basedir>
        <logdir>./logs</logdir>
        <pidfile>./icecast.pid</pidfile>
        <webroot>./web</webroot>
        <adminroot>./admin</adminroot>
        <alias source="/foo" dest="/bar"/>
</paths>


  • base-dir �?? Especifica o caminho do diretório padrão do icecast2. Indica qual a raiz do sistema a ser utilizada; normalmente o valor dessa opção é / (barra), a não ser que você rode o icecast em chroot, algo que será abordado na sessão �??segurança�??.

  • log-dir �?? Especifica o diretório que será o usado para armazenar os arquivos de log: access.log e error.log. Geralmente em sistemas unix usa-se /var/log/icecast ou algo do tipo.

  • pidfile - Arquivo que conterá o id do processo do servidor.

  • webroot �?? Caminho do diretório usado para armazenar arquivos estáticos, juntamente com a interface web do servidor. Por exemplo: se em �??/usr/local/share/icecast2/web�?? existir um arquivo chamado �??teste.ogg�??, eu poderei adicionar na playlist do meu player favorito (xmms, winamp, etc) o endereço do servidor icecast2 (http://servidoricecast2:porta/teste.ogg, por exemplo) para fazer o streaming do arquivo.

  • adminroot �?? Caminho do diretório da interface web usado para armazenar arquivos de administração do servidor.

  • alias source="/" dest="/status.xsl" �?? A alias é usada para criar múltiplos mount-points que fazem referência a um mesmo caminho.


Criando os diretórios

Agora é preciso criar os diretórios indicados no arquivo de configuração:

  • Criar diretório usado para armazenar os logs:

# mkdir -p /usr/local/var/log/icecast2/ 
# chown icecast2 /usr/local/var/log/icecast2/ -Rf 



  • Criar diretório usado para armazenar arquivos do servidor Web interno do icecast2:

# mkdir -p /usr/local/share/icecast2/web 
# chown icecast2 /usr/local/share/icecast2/web -Rf 







Registros (logs)




A configuração dos registros está presente na seção �??loggin�??. Como qualquer software de servidor, o icecast mantém registros de acessos, indicando quem e quando ouviu o quê, assim como os erros ocorridos e os alertas emitidos pelo icecast durante seu trabalho.

Exemplo de configuração da seção �??loggin�??:


  <logging>
        <accesslog>access.log</accesslog>
        <errorlog>error.log</errorlog>
        <playlistlog>playlist.log</playlistlog>
        <loglevel>4</loglevel> <-- 4 Debug, 3 Info, 2 Warn, 1 Error -->
    </logging>



  • accesslog �?? Nome do arquivo usado para registrar os acessos e pedidos ao servidor icecast2.

  • errorlog �?? Nome do arquivo usado para registrar os erros do servidor icecast2.

  • playlistlog: arquivo contendo os registro dos metadados dos arquivos de áudio enviados.

  • loglevel �?? Indica o nível de depuração do servidor ao escrever os registros: nível de verbosidade dos logs (1 a 4); quanto maior, mais detalhado será o registro das atividades.

Os arquivos de regisrto gerados por esta seção ficarão na pasta definida na opção logdir da seção anterior.






Segurança




As configurações de segurança do servidor estão na seção �??security�??.

Exemplo de configuração da seção �??security�??:

<security>
        <chroot>0</chroot>
        <changeowner>
            <user>nobody</user>
            <group>nogroup</group>
        </changeowner>
    </security>



  • chroot �?? Indica se o servidor irá ou não iniciar em modo chroot. Caso habilitado (1) o diretório padrão, que é indicado na opção �??basedir�??, será usado como parâmetro do chroot no servidor.

  • changeowner �?? Especifica o usuário e grupo donos do processo iniciado pelo servidor icecast2.







A melhor coisa na hora de configurar seu servidor é partir de um arquivo de configuração já pronto e personalizar de acordo com sua necessidade. Dependendo de como você instalou seu icecast, ele já vem com um arquivo de configuração padrão em /etc/icecast.xml, e tudo o que você precisa fazer é editá-lo. Em outras ocasiões esse arquivo fica em /usr/share/icecast, /usr/share/icecast/doc ou em algum outro local do tipo /usr/share/icecast-VERSAO (onde VERSAO é a versão do seu icecast) ou /usr/local/share/icecast, e assim por diante. Nesses últimos casos, basta que você copie o icecast.xml.dist pra /etc/icecast.xml e edite.

Caso você não encontre esse arquivo, copie este que se segue para se seu /etc/icecast.xml:






Instalando a interface web


O Icecast possui uma interface web onde estão listadas todas as transmissões públicas do servidor, bem como a quantidade de ouvintes, e também onde é possível administrar os pontos de montagem atualmente existentes.

Existem duas interfaces web, a de administração e a comum, cada uma delas definidas respectivamente como adminroot e webroot na seção Caminho de arquivos.

Se essas duas pastas não existem, crie-as e em cada uma delas copie os arquivos padrões da interface de administração que vem com o icecast. Supondo que seu webroot seja /var/www/icecast e seu adminroot seja /var/www/icecast/admin, dê os seguintes comandos:

cp /usr/share/icecast/web/* /var/www/icecast/
cp /usr/share/icecast/admin/* /var/www/icecast/admin/


Ambas interfaces não passam de arquivos XSL usados pelo icecast para exibir as informações sobre o servidor em páginas web. Se você quiser é possível editar esses arquivos para personalizar o modo de exibição dessas informações.






Rodando o Icecast no GNU/Linux




Agora que editou seu /etc/icecast.xml, basta iniciar o servidor. Existem muitas formas de rodar seu servidor icecast. A melhor delas é utilizar um script de inicialização. Se o seu sistema é Debian, provavelmente você tem um arquivo /etc/init.d/icecast2 e então basta dar o seguinte comando como superusuário:

/etc/init.d/icecast2 start


Caso você não tenha esse arquivo, aqui vão duas sugestões de script de inicialização. Uma para Debian e outra para qualquer distribuição.


  • Script de inicialização do icecast2 para Debian?


  • Script de inicialização do icecast que funciona em qualquer sistema?


Depois de criar seu script de inicialização, que dependendo do sistema que você usa ficará em /etc/init.d, em /etc/rc.d/ ou em outro lugar, dê permissão de execução pro mesmo:

chown root.root icecast2
chmod 755 icecast2


E pra rodar o servidor basta rodá-lo com o parâmetro start. Por exemplo, assumindo que ele está no /etc/rc.d e com o nome rc.icecast2, dê o seguinte comando como superusuário:

/etc/rc.d/rc.icecast2 start






Rodando o icecast automaticamente


Á muito conveniente deixar seu sistema configurado para iniciar o icecast automaticamente quando o computador for ligado, sendo isso indispensável caso você esteja montando uma máquina servidora de webradio.

No Debian, tudo o que você precisa fazer é dar o comando

ln -s /etc/init.d/icecast2 /etc/rc2.d/S21icecast2


Para maiores detalhes, consulte a documentação referente ao sistema que você usa.





Testando o servidor


Depois de iniciado, o icecast deverá responder à conexões na porta em que foi configurado. Ele também deverá ser visto rodando caso você dê um comando do tipo

ps aux


Cuja resposta deve ser algo assim:

USER       PID %CPU %MEM   VSZ  RSS TTY   STAT START   TIME COMMAND
[snip]
nobody   21599  0.0  0.2 22624 2532 ?     S    Feb11   0:01 icecast -b -c etc/icecast.xml
nobody   21600  0.0  0.2 22624 2532 ?     S    Feb11   0:00 icecast -b -c etc/icecast.xml
nobody   21601  0.0  0.2 22624 2532 ?     S    Feb11   0:00 icecast -b -c etc/icecast.xml
nobody   21602  0.0  0.2 22624 2532 ?     S    Feb11   0:00 icecast -b -c etc/icecast.xml
nobody   21603  0.0  0.2 22624 2532 ?     S    Feb11   0:00 icecast -b -c etc/icecast.xml
nobody   21604  0.0  0.2 22624 2532 ?     S    Feb11   0:02 icecast -b -c etc/icecast.xml
nobody   21605  0.0  0.2 22624 2532 ?     S    Feb11   0:02 icecast -b -c etc/icecast.xml
nobody   21606  0.0  0.2 22624 2532 ?     S    Feb11   0:02 icecast -b -c etc/icecast.xml
nobody   21607  0.0  0.2 22624 2532 ?     S    Feb11   0:02 icecast -b -c etc/icecast.xml
nobody   21608  0.0  0.2 22624 2532 ?     S    Feb11   0:02 icecast -b -c etc/icecast.xml


Isso indica que seu icecast está rodando!

Agora você precisa testar se ele está funcionando para conexões vindas do seu próprio computador e para conexões que vem de fora, da internet. Se você utiliza algum tipo de firewall, será preciso configurar para que o ele permita conexões entrantes na porta que você configurou o icecast.

Um outro teste é abrir seu navegador web e digitar http://localhost:porta/status.xsl ou então, caso você tenha instalado o icecast num servidor que não é o seu computador pessoal, acesse http://ip-do-servidor:porta/status.xsl, onde ip-do-servidor é o ip do seu servidor e porta é porta configurada para o icecast.

Se tudo der certo, você verá uma página com informações do tipo quantas transmissões estão sendo feitas, quais são e quantos ouvintes existem atualmente.

Para prosseguir com os testes, experimente conectar-se ao servidor utilizando tanto programas para fazer quanto para receber sua conexão, de acordo com o manual de webradio. As transmissões devem estar disponíveis a partir da página web do icecast.



Se as coisas aparentemente não estão funcionando, é hora de checar os arquivos de registro, como será explicado na seção seguinte.







Última alteração: 08/10/2009 às 21:30, por: wille