Manual de Instalação da Rádio FACED Web
(Solução com Darkice)

Sobre este manual

Este manual tem como objetivo documentar a instalação da solução adotada pela Rádio FACED Web, além de servir de material de apoio a difusão das rádios Web.

Para a implementação desta Rádio Web foi escolhido o Sistema Operacional Debian GNU/Linux, os Softwares Icecast2, Darkice, JACK e XMMS. Na sede da Rádio FACED Web temos a máquina geradora de stream que o envia para o CPD/UFBA para ser servido aos clientes.

Em construção

Atualize a sua lista de pacotes

Rode o comando:

# aptitude update

OBS: O símbolo # significa ser necessário está logado como super-usuário. Abra um terminal, use o comando su e digite a sua senha de root.

Verificando som

Certifique-se de que o som está configurado e funcionando. Use o XMMS ou outro player para tocar algum arquiso de som, ou um programa de edição tipo o Audacity, para capturar um microfone, por exemplo, e testar a reprodução do áudio.

Player - XMMS

Adotamos nesta solução o XMMS, que é um player (tocador) multimídia livre com suporte a OGG, MP3, WAV e outros com o uso de plugins de entrada. Para mais informações acesse http://www.xmms.org.

Para adquirir o software, caso não já esteja instalado use:

# aptitude install xmms

Servidor de Som - JACK

JACK Audio Connection Kit - Servidor de som, permite encaminhar a saída do XMMS para o Darkice.

O JACK pode conectar um número de aplicações diferentes em um dispositivo de áudio, bem como permitir que eles compartilhem áudio entre eles. Ele tem suporte a dispositivos ALSA e OSS. Mais informações em: http://jackaudio.org/

Instale-o, usando:

# aptitude install xmms-jackasyn jackd qjackctl

Veja sobre a configuração do XMMS e o JACK mais adiante.

Gerador de stream - Darkice

O Darkice é um Encoder de Streaming ou gerador de stream de som ao vivo (live audio streamer). Suporta (levanta) stream nos formatos MP3 e OGG. Grava dos dispositivos: ALSA, OSS e JACK.

Darkice pode codificar nos seguintes formatos:

Mais informações em http://darkice.tyrell.hu/.

Compilando suporte aos dispositivos de som

Compilando as Bibliotecas

Do site do Darkice (http://darkice.tyrell.hu/), na seção de Download, baixe as bibliotecas:

  1. Para os arquivos .tar.gz, descompactar usando: tar xzfv nomedoarquivo.tar.gz
  2. Para os arquivos .zip, descompactar usando: unzip nomedoarquivo.zip

Para cada arquivo a ser descompactado será criado um diretório de mesmo nome. Entre em cada diretório e rode os comandos:

  1. ./configure --prefix=/usr
  2. make
  3. # make install

Por padrão, a debian guarda os binários de programas compilados pelo usuários em /usr/local/bin, mas o darkice irá procurar em /usr/bin por essas bibliotecas, por isso é necessário usar --prefix=/usr.

* No caso dessa biblioteca, o procedimento para compilação muda. Deve-se rodar os seguintes comandos:

  1. ./bootstrap
  2. ./configure --prefix=/usr
  3. make
  4. # make install

Foi necessário a instralção dos pacotes: automake, autoconf e libtool, uma opção é usar o Symaptic. Outra necessidade foi de se recriar o script bootstrap, copiando e colando o seu conteúdo em um arquivo criado pelo programa vim (pode-se usar o nano também). Isso porque ele estava apresentando uma quebra de linha não-unix o que acarretava em seu não funcionamento.

Compilando o Darkice

Baixe os fontes do site do Darkice (http://darkice.tyrell.hu/), na download page.

Descompacte o arquivo usando: tar xzfv darkice-.tar.gz

No diretório criado, compile-o:

  1. ./configure
    • Verifique na saída do configure:
    • checking for lame library at /usr ... found at /usr
      checking for vorbis libraries at /usr ... found at /usr
      checking for faac library at /usr ... found at /usr
      checking for twolame library at /usr ... found at /usr
      checking for alsa libraries at /usr ... found at /usr
      checking for jack libraries at /usr ... found at /usr
      
  2. make
  3. # make install

Teste usando darkice -h e verifique a conformidade da saída.

Localizações

Configurações

XMMS

Clique sobre o botão indicado na figura a seguir, escolha Opção > Preferências.

XMMSmenu.png

Na aba Plugins de Entrada/Saída escolha o xmms-jackasyn como plugin de saída como mostra a figura:

XMMSpreferencias.png

Clique sobre Aplicar e depois OK

Darkice

Abaixo segue um exemplo de arquivos de configuração do Darkice trabalhando com o Icecast2.


# sample DarkIce configuration file, edit for your needs before using
# see the darkice.cfg man page for details

# this section describes general aspects of the live streaming session
[general]
duration        = 0        # duration of encoding, in seconds. 0 means
                                                           # forever
bufferSecs      = 5         # size of internal slip buffer, in seconds
reconnect       = yes       # reconnect to the server(s) if disconnected

# this section describes the audio input that will be streamed
[input]
device          = jack  # OSS DSP soundcard device for the audio input
sampleRate      = 48000     # sample rate in Hz. try 11025, 22050 or 44100
bitsPerSample   = 16        # bits per sample. try 16
channel         = 1         # channels. 1 = mono, 2 = stereo

# this section describes a streaming connection to an IceCast2 server
# there may be up to 8 of these sections, named[icecast2-0]...[icecast2-7]
# these can be mixed with [icecast-x] and [shoutcast-x] sections
[icecast2-0]
bitrateMode     = cbr       # average bit rate
format          = vorbis    # format of the stream: ogg vorbis
bitrate         = 32        # bitrate of the stream sent to the server
server          = debian.ufba.br
                            # host name of the server
port            = 8000      # port of the IceCast2 server, usually 8000
password        = suasenha    # source password to the IceCast2 server
mountPoint      = radiofaced.ogg  # mount point of this stream on the
                                                  # IceCast2 server
name            = Radio FACED Web
                            # name of the stream
description     = Entre, Escute e Participe
                            # description of the stream
url             = http://www.radio.faced.ufba.br
                            # URL related to the stream
genre           = Educativo    # genre of the stream
public          = yes       # advertise this stream?

JACK

Ao rodar o comando qjackctl, se ver a seguinte janela:

Inicie com o botão Patchbay. Aparecerá a seguinte janela:

Clique em Add para adicionar os sockets de entrada e saída.

Você deverá acrescentar o Alias, o Client e o Plug, como se segue.

Salve e clique em Activate.

Na janela do qjackctl, clique em Setup. Preencha os campos como se segue ou experimente outros valores. Lembrando que o sample rate do JACK e do Darkice devem ser equivalentes.

Na aba Settings:

Na aba Options:

Na aba Misc:

De volta a janela do qjackctl, clique sobre Connect.

Faça as seguintes conexões:

Versões da instalação de Março/2007

Comandos de inicialização da rádio

Rádio rodando

Com o comando top é possível verificar todos os processos que estão rodando, bem como o uso de memória, CPU de cada um deles em ordem decrescente. Experiemente.

Abaixo terminal com o top rodando. No dia 26 mar 2007, o darkice alcançou até 13,4% de uso de CPU.

-- MonicaPaz - 21 Mar 2007

Editar Anexar Versões Mais...

TableLess - Coerência, Simplicidade e Acessibilidade no código HTML TWiki - Ambiente Web Colaborativo
última revisão: r4 - 28 Mar 2007 - 17:06:10 - MonicaPaz?     |     Copyleft Faced-UFBA