Cómo montar tu propia estación de radio por Internet

Este "Cómo", explica cómo se puede montar una estación de radio por Internet, usando dos programas OpenSource, IceCast2 e Ices2, es conveniente tener presente que para poner este proyecto en práctica se necesita un abundante ancho de banda si pensamos atender a varios usuarios simultáneamente. Adicionalmente el tema legal sobre los derechos de las canciones no será tocado en este blog, para ello consulte con un abogado especializado en el tema.

Una limitación tanto de IceCast2, como de Ices2, es que sólo hacen streaming de archivos en formato ogg, por razones de copyright, y si sólo se dispone de archivos mp3, se puede usar el programa mp32ogg.

Asumiremos además de que se usara Debian 4.0 o Ubuntu, para nuestro server que hará streaming de audio. Para la instalación y configuración debemos de tener privilegios de root, para ello en Debian, debemos estar logueados cómo root, para Ubuntu debemos de anteponer el comando "sudo" a cada uno de los comandos que se muestran en este "Cómo".

Primero instalamos IceCast2:

apt-get install icecast2

Ahora debe editar el archivo /etc/icecast2/icecast.xml y cambiar los valores por defecto de:

  • source-password, este será el password que usara ices2 para conectarse al server.
  • relay-password, este password se usaría si desea conectar dos servers en cascada.
  • admin-user, cómo su nombre lo indica el usuario que será el administrador de IceCast2.
  • admin-password, el password del usuario con privilegios de administración de IceCast2.

Después de haber cambiado los valores por defecto por otros que le convengan, debe editar el archivo: /etc/default/icecast2 y cambiar el valor de la variable "ENABLE" a "true", cómo se muestra a continuación:

# Edit /etc/icecast2/icecast.xml and change at least the passwords.
# Change this to true when done to enable the init.d script
ENABLE=true

Eso es todo. Ahora podemos proceder a iniciar el servidor icecast2:

/etc/init.d/icecast2 start

Ahora Ud. puede acceder a la interface web de IceCast2, simplemente apuntando al IP del server con su navegador a través del puesto 8000, por ejemplo si el IP del server es 192.168.1.100, para poder acceder a la interface web de IceCast2 debemos apuntar nuestro navegador a http://192.168.1.100:8000, aquí lo que deben de obtener:

IceCast2_imagen_1

Ahora que ya tenemos el server que hará el streaming del audio, necesitamos instalar Ices2, que nos permitirá introducir el audio en el server desde en un playlist. Caso contrario deberíamos de introducir audio a través de la tarjeta de sonido, pero no es lo que haremos en este tutorial.

Instalar Ices2, es tan fácil como tipear este comando:

apt-get install ices2

Luego de que hayamos instalado Ices2, debemos crear los directorios donde pondremos los logs, los archivos de configuración y los archivos de música que transmitiremos.

mkdir /var/log/ices
mkdir /etc/ices2
mkdir /etc/ices2/music

El directorio /var/log/ices es para guardar los logs de Ices2, el directorio /etc/ices2 contendrá los archivos de configuración, y el archivo /etc/ices2/music contendrá los archivos de música en formato ogg que transmitiremos.

Ahora tenemos que crear el archivo /etc/ices2/ices-playlist.xml, para ello podemos usar un editor de texto como pico o vi, por ejemplo podemos hacerlo de esta forma:

pico /etc/ices2/ices-playlist.xml

Y dentro copiaremos esta configuración:

<?xml version="1.0"?>
<ices>
<!– run in background –>
<background>1</background>
<!– where logs, etc go. –>
<logpath>/var/log/ices</logpath>
<logfile>ices.log</logfile>
<!– 1=error,2=warn,3=info,4=debug –>
<loglevel>4</loglevel>
<!– set this to 1 to log to the console instead of to the file above –>
<consolelog>0</consolelog>

<!– optional filename to write process id to –>
<!– <pidfile>/home/ices/ices.pid</pidfile> –>

<stream>
<!– metadata used for stream listing (not currently used) –>
<metadata>
<name>Example stream name</name>
<genre>Example genre</genre>
<description>A short description of your stream</description>
</metadata>

<!– input module

The module used here is the playlist module – it has
‘submodules’ for different types of playlist. There are
two currently implemented, ‘basic’, which is a simple
file-based playlist, and ‘script’ which invokes a command
to returns a filename to start playing. –>

<input>
<module>playlist</module>
<param name="type">basic</param>
<param name="file">/etc/ices2/playlist.txt</param>
<!– random play –>
<param name="random">0</param>
<!– if the playlist get updated that start at the beginning –>
<param name="restart-after-reread">0</param>
<!– if set to 1 , plays once through, then exits. –>
<param name="once">0</param>
</input>

<!– Stream instance
You may have one or more instances here. This allows you to
send the same input data to one or more servers (or to different
mountpoints on the same server). Each of them can have different
parameters. This is primarily useful for a) relaying to multiple
independent servers, and b) encoding/reencoding to multiple
bitrates.
If one instance fails (for example, the associated server goes
down, etc), the others will continue to function correctly.
This example defines two instances as two mountpoints on the
same server. –>
<instance>
<!– Server details:
You define hostname and port for the server here, along with
the source password and mountpoint. –>
<hostname>localhost</hostname>
<port>8000</port>
<password>source-password</password>
<mount>/example1.ogg</mount>

<!– Reconnect parameters:
When something goes wrong (e.g. the server crashes, or the
network drops) and ices disconnects from the server, these
control how often it tries to reconnect, and how many times
it tries to reconnect. Delay is in seconds.
If you set reconnectattempts to -1, it will continue
indefinately. Suggest setting reconnectdelay to a large value
if you do this.
–>
<reconnectdelay>2</reconnectdelay>
<reconnectattempts>5</reconnectattempts>

<!– maxqueuelength:
This describes how long the internal data queues may be. This
basically lets you control how much data gets buffered before
ices decides it can’t send to the server fast enough, and
either shuts down or flushes the queue (dropping the data)
and continues.
For advanced users only.
–>
<maxqueuelength>80</maxqueuelength>

<!– Live encoding/reencoding:
Currrently, the parameters given here for encoding MUST
match the input data for channels and sample rate. That
restriction will be relaxed in the future.
–>
<encode>
<nominal-bitrate>64000</nominal-bitrate> <!– bps. e.g. 64000 for 64 kbps –>
<samplerate>44100</samplerate>
<channels>2</channels>
</encode>
</instance>

</stream>

</ices>

Lo único que debe de cambiar es lo que va entre los tags <password> … </password>, para ello lo hemos puesto en rojo para que se de cuenta, ese password es el que estableció para <source-password> en el archivo /etc/icecast2/icecast.xml

Luego de concluido lo anterior copie las canciones que desea hacer streaming en formato ogg en el directorio /etc/ices2/music

Finalmente para completar la configuración de Ices2, debemos de editar el archivo del playlist, donde pondremos en una línea cada canción que deseamos reproducir, recuerde que la ubicación del playlist es: /etc/ices2/playlist.txt

[…]
/etc/ices2/music/cancion_x.ogg
/etc/ices2/music/cancion_y.ogg
[…]

Con el paso anterior ya hemos finalizado la configuración de Ices2 y podemos iniciarlo, con este comando:

/usr/bin/ices2 /etc/ices2/playlist.txt

Para oír la música, pues simplemente volvemos con nuestro navegador a la página de IceCast2, http://192.168.1.100:8000 y podremos escuchar el streaming de audio simplemente haciendo click en el link "Click to Listen", aquí un screenshot de que deberíamos obtener:

IceCast2_4

Opcionalmente se puede conseguir el streaming de audio visitando directamente el URL

http://192.168.0.100:8000/example1.ogg.m3u

WinAmp debería de poder reproducir el sonido sin problemas, si sólo tiene Windows Media Player, este no incluye el codec del formato ogg, en el blog TechRecipies.com se explica cómo instalarlo en Windows Media Player. Aunque en lo personal les recomendaría a los usan Windows usar WinAmp en lugar del Windows Media Player. Para los que usan Linux, ogg esta soportado por defecto, sólo click y debería de comenzar a reproducir el audio.

Espero que este "Cómo", les haya sido de utilidad, espero sus comentarios.

Los comerciales del Super Bowl

Es una tradición americana que ya tiene 42 años, la final del campeonato de la NFL (la liga de fútbol americano), que convoca los más altos niveles de audiencia, y como es lógico los publicistas aprovechan el momento para ofrecernos lo mejor de su creatividad, a mi el juego en si no me llama la atención, pero los comerciales que se estrenan en el Super Bowl (en español se le conoce como Super Tazón), son de antología, y justamente encontré en Youtube un canal donde los pueden ver todos y votar por el que más les guste, se llama Super Bowl AdBlitz.

Yo ya he elegido el mío y es el de los cavernícolas un comercial de la cerveza Bud Light:

Microsoft VisualStudio 2008 Express Edition

Al parecer Microsoft se ha dado cuenta que sin desarrolladores, su plataforma no tiene futuro. Cualquiera que esté familiarizado con Internet y los actuales desarrollos se habrá dado cuenta de que Microsoft ha quedado bastante rezagado en la carrera del Web 2.0; supongo que debido a eso es que actualmente Microsoft esta ofreciendo gratuitamente su VisualStudio 2008 Express Edition; que vaya no será como la versión professional, pero funciona bastante bien y permite el desarrollo de aplicaciones tanto para el escritorio, como para la web.

La mala noticia sigue siendo de que la facilidad de uso es a expensas de una excesiva dependencia de la plataforma, ya que requiere de Windows y todos los productos de Microsoft para conseguir una funcionalidad completa.

Además se puede usar solo por 30 días, luego de los cuales hay que efectuar el resgistro del producto, con todo no esta demás probarlo, aquí les dejo el link para que se descarguen el DVD con el VisualStudio 2008 Express Edition.

VisualBasic Express Edition

Humor con la fusión Microsoft-Yahoo

La creatividad se ha visto desatada con la casi segura adquisición de Yahoo, por parte de Microsoft por $44.6 mil millones, y muchos usuarios están molestos por la fusión de dichas empresas, y están mostrando su disconformidad a través de creativos montajes fotográficos, aquí les dejo varios para que se diviertan.

Aquí cómo sería la nueva home page de Flickr:

flickr Bill Gates

La tumba de Yahoo!, en la pradera de Windows XP:

Tumba de Yahoo

El nuevo logo del Yahoo Messenger:

nuevo logo yahoo-messenger

El nuevo logo de la compañía fusionada "Microhoo":

MicroHoo

Supermartes

Mañana es conocido como el supermartes, porque 22 estados elegirán a sus representantes a la asamblea que nominará a los candidatos, tanto del partido demócrata como del republicano para la contienda electoral de noviembre del 2008. Al parecer John McCain, será el candidato republicano, mientras que en el lado demócrata aún la disputa continua entre Hillary Clinton y Barack Obama.

Yo, no creo en teorías de conspiración, pero si uno analiza fríamente la situación encuentra coincidencias realmente sospechosas. En primer lugar, nadie ignora que USA sigue siendo un país conservador dominado por blancos protestantes, son la mayoría del electorado, y a diferencia de las minorías que no se caracterizan por participaciones masivas, son estos grupos de blancos altamente cohesionados quienes determinan los resultados de las elecciones. Estos grupos que dominan la mayoría de los estados jamás votarían ni por un negro, ni por una mujer. Que coincidentemente son los dos opciones que presenta el partido demócrata.

Aunque se puede alegar que los republicanos están desgastados por la desastrosa administración Bush, sin embargo el candidato que se presenta cómo el representante republicano (McCain), tiene un importante punto a su favor, ha sido un opositor al gobierno de Bush en muchos aspectos, además de que se ha hecho público en los medios controlados por el actual gobierno (republicano), que fue sacado de la contienda anterior por un juego sucio orquestado por el equipo de campaña de George W. Bush, con lo que McCain se presenta como un republicano "honesto" (¿existe eso?), pero así lo está vendiendo la prensa, especialmente la cadena FoxNews.

La única esperanza real de una victoria demócrata clara estaba encarnada en la candidatura de John Edwards, que se hubiera podido vender mejor como candidato a los republicanos descontentos con esta administración, Edwards era lo que quiere el electorado conservador americano, hombre, blanco de edad media, hecho ha si mismo, el clásico cuento de hadas. Sin embargo levanta tremendas sospechas que los medios no le dieran cobertura a su candidatura y desplegaran en las pantallas sólo dos candidatos demócratas, Clinton y Obama.

Levanta aún más sospechas, que los robos multimillonarios del gobierno iraquí, en el proceso de reconstrucción, y la de los contratistas próximos al partido republicano, ni se mencionan en los medios. Por el contrario se resalta la crisis económica y se propone cómo única solución, medidas más "conservadoras", reducción de impuestos, fomento del mercado, etc. Sin embargo nadie menciona que la permanencia en Iraq le cuesta a USA 100 mil millones de dólares al año. Y le seguirá costando aún más pues los heridos y lisiados que ha dejado esta guerra representaran una carga perpetua para las futuras administraciones.

Luego del retiro de la candidatura de Edwards, y de concretarse la victoria de McCain en este supermartes, no me cabe la menor duda que el partido republicano, ya puede contar con un período de cuatro años más. Cómo les digo no creo en teorías conspirativas, pero da que pensar estas coincidencias, ¿no creen?