Tanaceto y la Información

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

Archive for 28 septiembre 2007

Esquemas de Red Local

Posted by tanaceto en septiembre 28, 2007

Aquí van dos esquemas que he dibujado de dos redes que he montado mediante puntos de acceso, modem-ruoters, hubs y demas artefactos. Si todos los aparatos y las máquinas se mantienen en el mismo rango, por ejemplo, 192.168.0. … , donde el ultimo número es distinto para cada aparato, todos quedan plenamente conectados entre si.

red01.jpg

Cada máquina tendrá su propia ip, y en la puerta de enlace predetaerminada se especificará la del aparato que disponga de una u otra conexión a internet según sea necesario. En ese caso es posible conectarse a distintos proveedores (no simultaneamente por supuesto) cambiendo el último número de la puerta de enlace predeterminada para apuntar al router-modem que interese en cada momento. No dejo de asombrarme con las redes: Ahi estan siempre operativas, siempre inestables, siempre creciendo y mejorando…

red02.jpg


Posted in cultura, info, redes | 8 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 »

Vivan las Puertas de Enlace

Posted by tanaceto en septiembre 7, 2007

Precioso asunto el que voy descubriendo poco a poco. Después de hacer funcionar varios cacharritos tipo ap, ethernet bridge, WDS y mil distintas combinaciones posibles que cada fabricante ofrece con el firmware… en fin parece ser que pueden funcionar de mil maneras distintas, pero hay que saber sacarles todo el provecho. De mis trajines con estos aparatos he deducido lo siguiente:

 

  • Lo mas importante es que todos los aparatos estén conectados a través de cable de red y, en los enlaces inalámbricos, mediante algún tipo de puente de red, WDS o similar. Es posible agregar unos cuantos hubs. Existen numerosos problemas de compatibilidad, que varían según el fabricante. Pero una vez averiguadas las limitaciones de cada aparato y las combinaciones entre ellos dan pie a mucho juego.

  • Una vez esto esta conectado, podemos conectar cualquier máquina desde un hub de ethernet o desde cualquiera de los aps configurando adecuadamente la puerta de enlace, redireccionandola hacia el aparato (modem-router por regla general) que disponga de conexión a internet. Es posible como no utilizar los distintos aparatos para crear subredes con o sin conexión a internet y de determinadas características (puede ser interesante disponer de una subred para trasmisión a 1000 Mbps, cuando las máquinas que realizan la trasmisión disponen de esta capacidad de transmisión.

  • En fin, parece complicado pero creo que una red compuesta por pequeños artefactos inalámbricos o no, conectados entre sí de forma abierta puede (y debe) envolver la red de telefonía que permite hoy por hoy el acceso a la red, permitiendo mayor flexibilidad a la hora de decidir que ancho de banda necesitas. (en enlaces inalámbricos de media distancia hacemos hasta 11 Mbps)

 

muy pronto casos prácticos de mis pinillos conectando cacharros.

Posted in cultura, info, opinión, redes | Leave a Comment »