Título:
Solução em modo texto para a gravação de transmissões de rádio via internet (streaming) através de computadores
de baixo custo com subsistemas de som sem capacidade de mixagem via hardware.
Autor:
Hilberto Melo e Costa
Data:
24/10/2006
Versão:
0.2
Introdução:
Supomos que o leitor esteja familiarizado com a operação de um sistema GNU/Linux em linha de comando (modo
texto ou console). Além disso, consideramos que o computador utilizado já está devidamente configurado com o
Debian GNU/Linux 3.1. Em caso de dúvida recomendamos a seguinte referência:
http://focalinux.cipsga.org.br/gol.html
Utilizamos os seguintes programas disponíveis como pacotes nativos do Debian GNU/Linux 3.1 (Sarge):
1. Servidor de som para mixagem via software: esd (pacote esound)
2. Tocador de mídia (streaming) para modo texto com suporte para o esd: alsaplayer (pacote alsaplayer-text)
3. Utilitário do pacote esd para redirecionamento da saída de áudio: esdmon (pacote esound-clients)
4. Codificador para o formato Ogg Vorbis: oggenc (pacote vorbis-tools)
5. Tocador de mídia para modo texto com suporte para o esd e o formato Ogg Vorbis: ogg123 (pacote vorbis-tools)
Obs.: O pacote libesd0 deve estar instalado para o funcionamento correto do alsaplayer.
Procedimento:
1. Comutamos para o console virtual 1 (crtl+alt+f1) e executamos o servidor de som em segundo plano (background).
faced@lab101:~$ esd &
2. Em seguida executamos o tocador de mídia.
faced@lab101:~$ alsaplayer -d esd -i text
http://proxy02.ufba.br:8000/radiofaced
O parâmetro "-d esd" estabelece a utilização do servidor de som.
O parâmetro "-i text" estabelece a interface de operação.
Depois segue o endereço da rádio sem a extensão m3u.
Nesse ponto já é possível ouvir a transmissão da rádio.
Para interromper a recepção acione a combinação de teclas crtl+c.
OBS.: Na utilização da máquina radiolab encontramos dificuldades na execução do alsaplayer. Foi preciso fazer as seguintes alterações:
- remoção da placa de som adicional existente nesse computador
- instalação do pacote libesd0 ao invés do libesd-alsa0
- remoção dos pacotes alsaplayer-daemon, libalsaplayer-dev, alsaplayer-xosd
- instalação do pacote alsaplayer
Depois dessas alterações o alsaplayer funcionou normalmente de acordo com o procedimento estabelecido anteriormente.
3. Comutamos para o console virtual 2 (crtl+alt+f2) e executamos o seguinte comando:
faced@lab101:~$ esdmon | oggenc -r -o saida.ogg -
Neste comando utilizamos o "pipe" ("|") para redirecionar a saída do esdmon para a entrada do oggenc.
O aplicativo esdmon captura a saída do servidor de som esd em modo bruto (raw). Por isso é preciso especificar
o parâmetro "-r" (entrada de dados em modo bruto) no comando do codificador oggenc.
O parâmetro "-o" especifica o nome do arquivo para gravar a saída (output) de áudio codificada no formato Ogg
Vorbis.
O parâmetro "-" no final da linha especifica que o comando oggenc use como entrada a saída do comando esdmon.
Para interromper a gravação acione a combinação de teclas crtl+c.
4. Depois de concluída a gravação podemos ouvir o arquivo gravado através do comando:
faced@lab101:~$ ogg123 -d esd saida.ogg
O parâmetro "-d" especifica a utilização do servidor de som esd.
Para interromper a execução acione a combinação de teclas crtl+c.
5. É recomendável desabilitar o servidor de som esd depois da gravação.
faced@lab101:~$ killall esd
Dessa forma é possível utilizar o audacity que é um editor de áudio incompatível com o esd.
Conclusão:
Esse procedimento permite a utilização de computadores com poucos recursos de hardware para a gravação de
transmissões de áudio. É possível modificar o procedimento anterior de várias formas.
Todas as contribuições são benvidas.
--
HilbertoCosta - 23 May 2009