Tanaceto y la Información

Siempre es preferible un final catastrófico a una catastrofe sin fin.

Archive for the ‘shoutcast’ Category

Cómo hacer «relay» de una emisión Shoutcast (Mac y Linux)

Posted by tanaceto en octubre 7, 2007

Por hacer «relay» de una señal de audio entiendo que es coger esa señal que se encuentra disponible vía internet y reenviarla desde nuestra conexión.

Es muy sencillo.

Primero deberemos descargarnos la versión para Mac y Linux (vale la misma) del Shoutcast Server.

Verás que se trata de un ejecutable que no necesita instalación. Bien, lo siguiente es buscar el archivo de configuración sc_serv.conf de la carpeta que nos hemos bajado. Se abre con un editor de textos (TextEdit para Mac, o nano para Linux, lo que quieras). Ahí verás el archivos de configuración.

* Recuerda que aquellas líneas de texto que vengan precedidas de un «;» no las lee el programa, son solo anotaciones para que entiendas bien qué hace cada cosa. En ese sentido, las opciones que nos interesan cambiar son las siguientes:

MaxUser=3 Aquí pones el número máximo de usuario. Leer esto (punto 5: nº usuarios)

Password=changeme Aquí pon la contraseña (la necesitarás luego)

PortBase=8000 Puerto por defecto. Leer esto (punto 4: routers)

Eso es lo básico. Si sigues más adelante encontrarás la «network configuration». Dentro de ella hay dos líneas que nos interesan mucho:

; RelayPort=8000
; RelayServer=80.39.92.162

Aquí deberemos borrar el «;» para que el programa lea el comando. En RelayPort deberemos poner el puerto que tenga la emisión que queramos re-emitir. En RelayServer pondremos la IP correspondiente. Por ejemplo:

RelayPort=8000
RelayServer=80.25.8.166

Guardamos y salimos. Luego activamos el programa (en la consola vamos a la carpeta de shoutcast y escribimos el comando ./sc_serv)

ejemplo:

/applications/shoutcastserver/./sc_serv

Consejos:

– Si sale FATAL ERROR en la ventana del shoutcast, probablemente sea porque se quedó el proceso del sc_serv abierto. Deberás cerrar el proceso y abrirlo de nuevo.

– El archivo sc_serv.log guarda los datos de entrada de oyentes. Tendrás que leerlo con programas para ver archivo .log. Por ejemplo el Sawmill. No todos los programas de lectura de archivos .log leen los de shoutcast.

– Una vez funcione, podrás controlar la información en tiempo real del servidor en tu propia IP local y el puerto 8000 (escribe en tu navegador http://127.0.0.1:8000 y saldrá el menu de información de tu emisión). Si dentro del menú le das a «admin», te pedirá nombre de usuario y contraseña. El usuario es siempre «admin», y el password el que pusieras en el archivo sc_serv.conf.

Ánimo

PD: Si quieres saber cómo emitir a través del winamp y shoutcast lee esto.

Imagen del programa sc_serv en correcto funcionamiento

Posted in info, linux, mac, shoutcast | 6 Comments »

Cómo emitir audio en Windows XP con Shoutcast

Posted by tanaceto en septiembre 28, 2007

1. Requisitos
2. Configurar los programas
3. Emitiendo
4. Routers
5. Número de usuarios
6. Emisión distribuida

1. Requisitos:

– un ordenador con tarjeta de sonido.
– una conexión a Internet (mínimo recomendado: módem a 56kbps).
– un programa servidor que “emita” los datos de audio digital hacia cada uno de los oyentes.
– un programa que envíe los datos de audio digitalizados y comprimidos hacia el programa servidor, para que éste los envíe a los clientes.

Concretamente, y centrándonos en el sistema operativo MS Windows, vamos a usar las siguientes aplicaciones:

– Servidor Shoutcast DNAS (Distributed Network Audio Server): http://www.shoutcast.com/download/license.phtml

Existen versiones para varios sistemas operativos. A nosotros nos interesa la versión para win32.

– Reproductor de audio Winamp: http://www.winamp.com.

Hay una versión gratuita que nos vale perfectamente. Actualmente la versión recomendada por Shoutcast (el servidor funciona desde la 2.05, pero es recomendable usar siempre la última versión, pues con ella se habrán solucionado problemas de estabilidad y seguridad entre otros, además de añadir posibles nuevas funcionalidades). La versión 3 del programa no nos vale y Winamp nunca sacó una versión 4 de su reproductor.

Personalmente recomiendo la versión 2.95 (es muy estable y ligera) o la última revisión de la rama 5.x (en este tutorial he usado la 5.13). Si vamos a tener una emisora seria con muchos oyentes funcionando las 24h del día, recomiendo emitir desde un sistema operativo GNU/linux mediante icecast, pero esto sería cuestión de tratarlo en un tutorial específico.

–PluginDSP(DigitalSoundProcessing)paraWinamp5.x:

http://www.shoutcast.com/download/broadcast.phtml#plugdownload

(también funciona en Winamp 2.05 y posteriores). Es el programa que permite la comunicación entre el reproductor de audio y el servidor Shoutcast.

2. Configurar los programas:

Una vez instalado todo, ejecutamos el servidor Shoutcast, que nos habrá dejado un acceso directo en nuestro menú Inicio (dentro de Programas/Shoutcast DNAS). El servidor nos indicará de su actividad con un icono en la barra de tareas desde el que podremos comprobar su estado y el número de oyentes, así como acceder a la ventana de configuración.

Para cerrar el proceso del servidor iremos a la barra de menús del programa (Kill server). También podemos acceder al archivo de registro (Edit log) y al de configuración (Edit config). Éste último es el que que más nos interesa ahora, pues en él indicaremos al servidor cómo debe comportarse: el número máximo de usuarios al que va a permitir conexión simultánea, el puerto por el que va a atender las peticiones de los clientes y el password que va a pedir al programa emisor de audio (Winamp en nuestro caso) para confirmar la procedencia legítima de la emisión.

El password debemos cambiarlo antes de ponernos a emitir por primera vez, pues es la contraseña que va a permitir al programa de audio conectarse a nuestro servidor, y nosotros queremos (al menos de momento) permitir únicamente la emisión de nuestro reproductor de audio Winamp. Para ello vamos a la línea que empieza por “password=changeme” y cambiamos “changeme” por el password que queramos poner.

El resto del archivo si quieres puedes estudiarlo tranquilamente, pero con que indiques un password personal y pongas un número máximo de usuarios acorde con tu ancho de banda y la calidad de emisión puedes empezar a emitir sin problemas. (Sobre este último aspecto hablaremos más adelante). Ya tenemos el servidor configurado y funcionando. Ahora arrancamos el Winamp y vamos a Options/Preferences/Plugins/DSP/effect y marcamos la entrada que pone “Nullsoft SHOUTcast Source DSP…”. (Para acceder a las preferencias tenemos que “clickear” en el botón de la esquina superior izquierda del programa. También podemos hacerlo con la combinación de teclas Ctrl+P.)

Al seleccionar el plugin, aparecerá su ventana de configuración

Ahora nos interesa la segunda pestaña (sección Output), donde tenemos las siguientes casillas:

– Address: es la dirección IP del ordenador donde se encuentra el servidor. Como en nuestro caso es el mismo ordenador donde está el plugin DSP, nos vale la opción por defecto: localhost o bien 127.0.0.1 (que es nuestra dirección IP local, también conocida como IP de loopback).

– Port: es el puerto en el que está escuchando el servidor. Si no hemos cambiado el valor en el archivo de configuración del servidor, lo dejamos como está (8000).

– Password: no tiene mucha ciencia: debemos poner el password que hemos cambiado anteriormente en el archivo de configuración del servidor.

– Yellowpages: aquí podemos hacer pública la dirección de nuestro servidor en la web de Shoutcast, a la que también se puede acceder directamente desde la biblioteca de contenidos de Winamp (viene activada por defecto).

La siguiente pestaña que nos interesa (sección Encoder:

Podemos elegir el tipo de codificador de audio a usar y la compresión que llevará el mismo. Por defecto tenemos MP3, que es una buena opción. La calidad está expresada en kbps (kilobits por segundo): representa la cantidad de datos que transmitiremos por segundo a cada cliente. Cuanto mayor sea este valor, mayor será la calidad del audio; Hz (Herzios): número de muestras por segundo con que se representa la onda sonora de manera digital. Cuanto mayor sea este valor, mayor será la calidad del audio. Stereo/Mono.

La última pestaña que nos interesa (sección Input):

Aquí es donde seleccionamos el dispositivo que va a enviar el audio al servidor. Tenemos dos opciones:

– Winamp: con esta selección emitiremos todo el audio que winamp reproduzca.

– Soundcard input: al seleccionar esta opción se activa el resto de la ventana de configuración y nos da a elegir entre “Microphone” y “Line input”. La primera opción no tiene más ciencia que la de reproducir toda señal que llegue por la entrada de micro de la tarjeta de audio. La segunda introducirá la señal proveniente de la entrada de línea de la tarjeta.

Para emitir contenidos en diferido (exclusivamente archivos de audio creados con anterioridad) utilizaremos preferentemente Winamp como dispositivo de entrada. Si por el contrario vamos a emitir en directo a través de micro exclusivamente, usaremos la opción “Soundcard Input”.

Echándole un poco de imaginación con las conexiones y jugando con el resto de valores y botones podremos tener algo de control sobre la emisión. De todas formas, para una emisión más controlada, en la que hablamos y ponemos música en directo, convendría contar con una pequeña mesa mezcladora de al menos dos canales (se consiguen baratas en Internet), con la que podemos controlar cómodamente los niveles del micro y de la música independientemente y a tiempo real.

3. Emitiendo:

Suponiendo que tenemos el servidor Shoutcast funcionando y debidamente configurado (como hasta ahora), abrimos de nuevo la pestaña “Output” en el plugin DSP de Winamp y pulsamos el botón “Connect”. Si en el marco que está justo encima del botón (Status) observamos el tiempo de conexión y el número de bytes emitidos, quiere decir que estamos emitiendo correctamente hacia el servidor Shoutcast, que en este caso se encuentra en nuestro propio ordenador. Desde este momento, todo lo que reproduzcamos en Winamp será emitido al servidor en formato MP3 con las cualidades de compresión que hayamos elegido. Si por el contrario obtenemos un mensaje de error o un “reconnecting”, significa que algo hemos configurado mal y revisaremos todos los pasos anteriores a este punto. Ahora sólo nos falta que alguien quiera escuchar nuestra primera emisión. De hecho no será una emisión de verdad hasta que alguien se conecte a nuestro servidor shoutcast, pues hasta ahora sólo estamos emitiendo desde nuestro winamp hasta nuestro servidor, y ambas cosas están en el mismo ordenador.

Para que alguien conecte con nosotros debemos indicarle el protocolo o “lenguaje” que entiende nuestro servidor, así como nuestra dirección IP y el puerto al que conectar con nosotros. Para ello deberán introducir la siguiente dirección en su reproductor de audio: http://0.0.0.0:8000 (donde 0.0.0.0 sería nuestra dirección IP y 8000 el puerto por defecto en el que atiende las peticiones el servidor shoutcast). Aquí cada uno debería poner su propia IP, ya que la del ejemplo no es válida.

4. Routers

Probablemente muchos tengamos ahora un pequeño obstáculo para permitir la conexión a individuos que quieren escucharnos desde Internet. Se trata del router (enrutador) que nos da conexión a la red: un dispositivo parecido físicamente a un módem externo, mediante el cual muchos de nosotros obtenemos la conexión a Internet.

El router es quien mueve los paquetes de datos desde nuestro ordenador hacia Internet y viceversa. Por norma general el router entiende que debe dejar pasar todo el tráfico desde nuestro ordenador hacia Internet, ya que su función es precisamente la de brindarnos acceso a la red de redes. Sin embargo, el tráfico entrante desde Internet es normalmente descartado, a menos que sea tráfico en respuesta a las peticiones originadas desde dentro de la red local. Aparte de comportarse así por motivos de seguridad, lo hace porque no sabe hacia qué ordenador debe dirigir las peticiones entrantes. Para ello debemos indicarle nosotros mismos hacia qué máquina debe dirigir las peticiones de nuestros oyentes.

Si nos conectamos a internet a través de un módem analógico, ADSL o un router configurado en modo monopuesto (para dar acceso a un sólo ordenador), no tendremos ningún problema para que los demás accedan a nuestro servidor shoutcast introduciendo la siguiente dirección en su reproductor de audio: http://nuestradirecciónip:8000 (donde 8000 es el puerto por defecto en el que atiende las peticiones el servidor shoutcast).

Si por el contrario accedemos a Internet mediante un router configurado en modo multipuesto (para dar acceso a más de un ordenador a internet) tendremos que decirle que todas las conexiones entrantes que vayan dirigidas al puerto del servidor shoutcast las dirija hacia la dirección IP local del ordenador desde donde estamos emitiendo. Para ello tendremos que acceder a la configuración del router y modificar las opciones correspondientes en la sección NAT (Network Address Translation) o PAT (Port Address Translation) donde indicaremos el puerto que va a escuchar las peticiones y la IP y el puerto del ordenador donde se encuentra el servidor.

El caso más complicado es aquel en que nos encontramos dentro de una red demasiado restrictiva como para permitirnos la configuración del router y el mapeo de puertos. La opción más sencilla en este caso sería emitir hacia un servidor configurado en otra red menos restrictiva y que sea él quien emita directamente hacia los oyentes.

Para más detalles: http://www.google.com y buscamos el modelo de router y las instrucciones para su configuración. En un ratito bien dedicado tendremos el router bajo control, y esto es algo que en mi opinión merece la pena. También hay páginas muy buenas donde seguro tienes detalladas explicaciones sobre cómo configurar tu modelo de router en particular, por ejemplo http://www.adslayuda.com http://www.bandaancha.st http://www.adslzone.net y muchas más. Si no encuentras exactamente tu modelo prueba con algún otro del mismo fabricante. Al fin y al cabo todos los routers trabajan de manera muy parecida y se configuran de modo similar.

5. Números de usuarios

El número de usuarios a los que podremos emitir es fácil de calcular si establecemos una relación entre el ancho de banda y la tasa de datos con que vamos a emitir el audio (recordemos la sección en que establecíamos el formato de compresión mp3 con diferentes calidades).

Hablo siempre del ancho de banda de salida y no del de entrada. Las líneas ADSL son asimétricas (tienen un ancho de banda independiente para los datos entrantes y otro para los salientes).

Por ejemplo, una línea ADSL 1Mbps/512Kbps tiene un ancho de entrada de 1 Megabit por segundo y uno de salida de 512 Kilobits por segundo.

Las conexiones de cable tienen un único ancho de banda de entrada y salida, por lo que su uso variará según las necesidades de la comunicación.

Dividiendo este ancho de banda saliente entre el flujo de datos del audio que vamos a emitir, obtendremos el número máximo de usuarios al que podremos dar cobertura. Estos datos serán relativos, pues el ancho de banda que “compramos” a las empresas proveedoras casi nunca es el que nos venden en un principio. Además, siempre existe ruido en las comunicaciones por Internet, por lo que para jugar sobre seguro limitaremos el número de usuarios un poco por debajo de lo que nos digan los cálculos. Debemos asegurarnos también de que no estén activos otros programas que usen la conexión a Internet mientras emitimos.

Pongamos un par de ejemplos prácticos:

– 512kbps de ancho de banda saliente. Codificación de audio mp3 a 24kbps: 512/24 = 21 (en números redondos). Limitaremos el número de usuarios a 19 o a 18 para empezar, pero lo mejor es hacer algunas pruebas primero con amigos o conocidos.

– 1Mbps de ancho de banda saliente. Codificación de audio mp3 a 16kbps: 1024/16 = 64 . Limitaremos el número de usuarios a 58 o 59, dependiendo de la capacidad de nuestro ancho de banda real.

– Módem a 56kbps. En este caso necesitaremos usar un servidor shoutcast externo con un ancho de banda mayor que el nuestro para poder emitir a más de 2 ó 3 usuarios a la vez, ya que la velocidad real de un módem de este tipo no suele superar los 30kbps de salida.

6. Emisión distribuida

Se trata de una de las características más interesantes del plugin DSP para Winamp y del sistema shoutcast en general. Con ella conseguiremos transmitir a varios servidores shoutcast simultáneamente, de manera que ellos pueden retransmitir el audio sin comprimir de nuevo la señal, con lo que conseguiremos llegar a muchos más oyentes si tenemos amigos con ganas de hacernos un favor.

La opción en cuestión está en la pestaña “output” del plugin. Desde ella podemos configurar hasta 5 “salidas” diferentes. Simplemente tendríamos que configurar en cada una la IP y puerto de los servidores que nos van a prestar su conexión para retransmitir nuestra señal.

Ahora, para permitir que los usuarios se vayan distribuyendo entre los servidores que tenemos a nuestra disposición, tenemos que hacerlos acceder a los servidores mediante una lista de reproducción: un simple archivo de texto (generalmente con extensión .pls o .m3u) que contendrá los datos de los distintos servidores. De esta manera, al encontrarse el primer servidor en el límite de usuarios permitidos, el reproductor del oyente pasaría a conectar con el segundo servidor y así sucesivamente. Un ejemplo del contenido de un archivo .pls podría ser el siguiente:


numberofentries=aquí especificamos el número de servidores
File1=http://dirección-ip-del-primer-servidor:8000
Title1=aquí el nombre que queramos ponerle al 1er servidores
Length1=-1
File2=http://dirección-ip-del-segundo-servidor:8000
Title2=aquí el nombre que queramos ponerle al 2o servidores
Length2=-1
Version=2

Sólo tenemos que pegar esto en un archivo de texto y renombrarlo a .pls o .m3u, cambiando por supuesto el contenido de las líneas que hacen referencia a nuestros servidores y al título que queramos ponerles.

* Esta información se encuentra disponible en un archivo tutorial pdf con explicaciones más profundas y capturas de imagen para la configuración de los programas. La dirección es http://www.cadenared.org «tutorial cadenared».

Esta explicación es un corta y pega de un archivo de Antonio Bonny, disponible para su libre distribución en http://www.cadenared.org

Posted in info, shoutcast, software, windows | 43 Comments »