Airtime 2.0 para estaciones de radio

Cómo  preparar el servidor

Las siguientes instrucciones asumen que tienes acceso raíz a un servidor GNU/Linux, y estás familiarizado con las líneas de comando elementales. Los administradores de sistema más experimentados pueden avanzar al capítulo de Instalación experta en el apéndice de este manual, después de preparar el servidor como lo muestran los pasos siguientes.

La plataforma más recomendable para el servidor de Airtime es Ubuntu 10.04 'Lucid Lynx' LTS. Ubuntu 11.04 'Natty Narwhal', 11.10 'Oneiric Ocelot', y Debian 6.0 'squeeze' son excelentes alternativas. Los usuarios de otras distribuciones GNU/Linux pueden adaptar estas instrucciones de acuerdo con sus necesidades.

El servidor debe contar, como mínimo, con un procesador de 1GHz y 512MB de memoria RAM. La instalación de Airtime no usa mucho espacio de disco, pero necesitarás espacio de capacidad para los archivos multimedia. Se recomienda un arreglo de intercambio rápido RAID para el archivo multimedia, en caso de que el disco duro presente fallos. También deberías considerar un UPS u otro sistema de protección para la batería par aprotegerte de fallas a corto plazo.

La interfaz administradora de Airtime está diseñada para funcionar con cualquier buscador, en cualquier computadora de escritorio o portátil con resolución de 1024x768 píxeles. El buscador más recomendado es Mozilla Firefox 3.6 (o posterior). Google Chrome 8 (o posterior) y Apple Safari 4 (o una versión más nueva) también funcionan.

Tarjetas de sonido

Si tu equipo de Airtime solo transmitirá directamente a un servidor de Icecast o SHOUTcast, no necesitarás una tarjeta de sonido instalada en el servidor de Airtime. Esta opción es recomendable para las instalaciones de Airtime en el centro de datos de tu ISP, de manera remota desde cualquier transmisor. Si embargo, no podrás usar la función de grabación en vivo de Airtime.

Si deseas que tu servidor de Airtime tenga una alimentación directa del audio para tu transmisión o cualquier otro decodificador, tu equipo servidor debe tener una tarjeta de sonido instalada en el puerto ALSA. Casi todas las tarjetas de sonido tienen puertos ALSA instalados en el kernel de Linux, por lo que no necesitan instalarse por separado. Si tienes dudas sobre el soporte de puertos para tu tarjeta de sonido, revisa la matriz de tarjetas sonoras ALSA en http://www.alsa-project.org/main/index.php/Matrix:Main.

Si tu equipo de Airtime machine sólo se usará para transmitir a un servidor de Icecast, no necesitarás instalar una tarjeta de sonido en tu servidor. Esta opción es recomendable para instalaciones de Airtime en tu centro de datos ISP, remotas desde cualquier transmisor.

Índice de equipos de audio USB

Algunas tarjetas madre del servidor no tienen un aparato ALSA, porque la tarjeta de sonido USB está protegida del número de índice 0 en la configuración de distribuciones de GNU/Linux. Esta función puede estar en un archivo como /etc/modprobe.d/alsa-base.conf en Ubuntu, que puede editarse con nano: 

sudo nano /etc/modprobe.d/alsa-base.conf

Comenta las líneas que empiecen con options snd-usb- para arreglar el problema:

# Prevent abnormal drivers from grabbing index 0

# options snd-usb-audio index=-2
# options snd-usb-us122l index=-2
# options snd-usb-usx2y index=-2
# options snd-usb-caiaq index=-2

Guarda el archivo con Ctrl+O y cierra nano con Ctrl+X. Luego elimina y reinserta el cable que conecta el aparato de audio de USB. El comando aplay -l debe confirmar que el aparato de audio USB tenga un valor 0:

aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: MobilePre [MobilePre], device 0: USB Audio [USB Audio]
  Subdevices: 1/1
  Subdevice #0: subdevice #0 

Al usar una tarjeta de sonido USB con ALSA, algunos documentos de instrucciones avocan a la configuración de la opción advocate setting the nrpacks= 1, pero esto no es recomendable para Airtime porque incrementa significativamente la carga sobre el CPU. 

Etiquetas de mezclador Intel HDA

Si tienes una tarjeta de sonido Intel HDA como muchas tarjetas madre contemporáneas, descubrirás que los controles de grabación en alsamixer tienen etiquetas incorrectas. Este problema puede hacer más difícil el ajuste de los níveles del mezclador, excepto por prueba y error. Para arreglar estas etiquetas, puedes pasar un parámetro específico model= al módulo snd-hda-intel del kernel de Linux. En Debian o Ubuntu GNU/Linux, puedes hacer esto al encontrar tu primer modelo, con el comando:

cat /proc/asound/card0/codec* | grep Codec

El servidor debe responder con una línea como:

Codec: Realtek ALC882

Referente al anexo HD Audio Models de este manual, halla el códec y el modelo correspondientes. En este ejemplo, el códec es ALC882 y la tarjeta tiene seis salidas análogas y dos entradas S/PDIF, así que el modelo es 6stack-dig.

ALC882/883/885/888/889
======================
  3stack-dig    3-jack with SPDIF I/O
  6stack-dig    6-jack digital with SPDIF I/O

Edita el archivo /etc/modprobe.d/alsa-base.conf con nano de esta manera:

sudo nano /etc/modprobe.d/alsa-base.conf

Añade una línea apropiada para tu modelo de tarjeta de sonido al final del archivo, como:

# Realtek ALC882
options snd-hda-intel model=6stack-dig
Guarda con Ctrl+O y cierra nano con Ctrl+X. Luego reinicia el servidor. Tras reiniciar, deberás poder ver los controles del mezclador correctamente etiquetados.

Deshabilitar escritorio y otros sonidos

Si estás instalando Airtime en un computador de escritorio, asegúrate de deshabilitar o remover los programas que podrían enviar sonidos indeseables a tu tarjeta de sonido para transmisión. Esto incluye mensajes de alerta sobre el funcionamiento del equipo o inicios de sesión. En Ubuntu, estos sonidos se configuran usando  Sistema -> Preferencias-> Sonido en el menú de escritorio principal. Este diálogo de configuración sólo funciona cuando el servidor de sonido PulsaeAudio está instalado. 

Puedes remoder todos los sonidos del sistema de tu computadora para que no se reproduzcan accidentalmente en la tarjeta de sonido. Por ejemplo, en Ubuntu, puedes eliminar el paqueteubuntu-sounds con el comando:

$ sudo apt-get purge ubuntu-sounds

Eliminar PulseAudio, si está instalado

El servidor de sonido PulseAudio no es compatible con la alimentación de la tarjeta de sonido de Airtime, pero está instalada de forma predeterminada en Ubuntu. Para remover PulseAudio de cualquier equipo Ubuntu, escribe el siguiente comando:

$ sudo apt-get purge pulseaudio

Al remover el paquete pulseaudio en el escritorio, el equipo Ubuntu puede forzar la remoción del metapaquete ubuntu-desktop. Sin embargo, este metapaquete sólo está instalado en el sistema para programar actualizaciones; su eliminación no destruye el escritorio GNOME.

Después de remover PulseAudio, si tu equipo de Airtime tiene escritorio, puedes instalar una aplicación de mezclador para controlar la tarjeta de sonido ALSA directamente, como la gnome-alsamixer:

$ sudo apt-get install gnome-alsamixer

En un servidor con tarjeta de sonido pero si escritorio, puedes controlar los niveles salida y entrada de sonido usando el programa de comando lineal alsamixer

Este programa ya debería estar instalado en un equipo Ubuntu o Debian con tarjeta de sonido. Si no, puedes instalarla con el comando:

$ sudo apt-get install alsa-utils

Eliminar webmin, si está instalado

El panel de control webmin (http://www.webmin.com) se conoce por su capacidad para remover los paquetes  Apache y PHP en equipos Debian o Ubuntu, lo que puede provocar la eliminación del paquete de Airtime. Este problema se revierte fácilmente al reinstalar los paquetes afectados, pero podría afectar tu transmisión repreoducible en Airtime. Webmin generalmente no está instalado en el equipo a menos que el administrador lo programe manualmente. Esto sucede porque webmin fue eliminado de los repositorios en los paquetes oficiales de Debian y Ubuntu hace algunos años.

Nombre de equipo RabbitMQ

RabbitMQ requiere un nombre de equipo fijo y descifrable (ve http://www.rabbitmq.com/ec2.html#issues-hostname), una cualidad normal en un servidor. PAra un equipo pórtatil o de escritorio, donde el nombre de equipo cambie frecuentemente o no es descifrable, este problema no permitira que inicie RabbitMQ. Al usar un equipo de escritorio o portátil con una dirección de IP dinámica, como la dirección de una red inalámbrica, el daemon rabbitmq-server no iniciará antes que el servicio NetworkManager. 

RabbitMQ en Debian 

En Debian 6.0 (Squeeze) el daemon rabbitmq-server no arranca automáticamente después del reinicio. Esto debe arreglarse antes de instalar Airtime, para prevenir problemas durante la reproducción. Si el paquete rabbitmq-server package fue instalado antes del último arranque del equipo, necesitarás ejecutar:

# invoke-rc.d rabbitmq-server start

como el usuario raíz antes de instalar Airtime. Si no está instalado aún, ejecuta el siguiente comando como raíz:

# apt-get install rabbitmq-server

Luego de una instalación fresca rabbitmq-server arrancará automáticamente, por lo que no será necesario ejecutar el comando invoke-rc.d antes mencionado. 

En cualquier caso, debes editar las líneas 13 y 14 del archivo /etc/init.d/rabbitmq-server (as root) para mostrar:

# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6

y luego ejecutar este comando (como raíz):

# update-rc.d rabbitmq-server defaults

Esto debe asegurar que rabbitmq-server ejecute en el próximo inicio de sesión.

Proceder a instalación   

Ahora, tu servidor debe estar listo para instalar Airtime. Dependiendo de tus requisitos, puedes dirigirte a los capítulos Instalación sencilla, Instalación manual Instalación automática o el anexo de Instalación experta.