Para hacerla fácil, vamos a crear la radio en modo lista de reproducción.
Armando la radio
1) Vamos a descargar, el servidor, el cliente y un conversor de audio.
2) Convertir las canciones a formato ogg
3) Movemos las canciones en formato .ogg a una carpeta, por ejemplo, ~/temas_miradio
4) Creamos la lista de reproducción:
5) Creamos el archivo de configuración de ices2
Nota: En la configuración he activado el modo aleatorio para la lista, y transmite en mono y a 32kbps, con lo que solo consume 4KBps de subida por cada usuario conectado a la radio. Si no están conformes con esta configuración pueden ir variando quality de -1 a un valor mas alto, a channels lo ponen en 2 para que salga estereo, background viene en 0 por defecto, pero en 1 se ejecuta de fondo.
6) Antes de transmitir podemos darle una mirada al archivo de configuración del servidor icecast2. El mismo se encuentra en /etc/icecast2/icecast.xml, pueden cambiar location Earth por la ciudad en donde residen. Con la configuración de sources, especifican el número de radios que puede transmitir el servidor, por defecto es 2 pero yo lo puse en 5.
¡Lo mas importante: editar admin-user y admin-password!
Reiniciar el servidor:
7) Arrancar el streaming:
8) Probar la transmisión. En tu navegador escribí la dirección: localhost:8000
Si te aparece eso, está ok la radio. Solo dale clic en play para escucharla.
¡Quiero compartir mi radio!
1) Obtenemos la ip y compartimos la radio con nuestra red ya sea LAN o WLAN.
2) Para compartir la radio con el resto del mundo, hay que configurar el router. en Forwarding/Virtual Servers agregar la ip de la máquina donde se encuentra el servidor, el puerto 8000, protocolo TCP y guardar.
3) Obtener la IP de internet, ya sea del router o bien de alguna página, como por ejemplo
Supongamos que el IP sea 1.2.3.4. Entonces ponen en el navegador 1..2.3.4:8000 y debería funcionar si pudo configurarse correctamente. Ahora la pueden compartir con el resto del mundo.
4) Como escribir 1.2.3.4:8000 es engorroso, pueden registrarse en http://www.noip.com/ o en http://www.dot.tk/es/index.html para obtener un dominio gratuito.
Para luego compartir miradio.ddns.net:8000 en el primer caso o miradio.tk:8000 en el segundo, que es mejor que pasar el IP.
¡Quiero mi radio funcionando las 24hs del día!
Necesitamos una PC encendida las 24hs para esto. Cualquier PC vieja que esté descartada sirve para este propósito.
Entiendo lo de la PC dedicada pero... ¡me preocupa la factura de luz desde que Macri asumió!
No problem. Rapsberry Pi es la solución.
Armando la radio
1) Vamos a descargar, el servidor, el cliente y un conversor de audio.
sudo apt-get install icecast2 ices2 soundconverter
2) Convertir las canciones a formato ogg
3) Movemos las canciones en formato .ogg a una carpeta, por ejemplo, ~/temas_miradio
4) Creamos la lista de reproducción:
find ~/temas_miradio -name '*.ogg' > ~/playlist.txt
5) Creamos el archivo de configuración de ices2
cat << EOF > ~/miradio.xml
<?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>AQUI VA EL NOMBRE DE LA RADIO</name>
<genre>GENERO</genre>
<description>DESCRIPCIÓN</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">playlist.txt</param>
<!-- random play -->
<param name="random">1</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>hackme</password>
<mount>/miradio.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.
Remove this section if you don't want your files getting reencoded.
-->
<encode>
<quality>-1</quality>
<samplerate>44100</samplerate>
<channels>1</channels>
</encode>
</instance>
</stream>
</ices>
EOF
Nota: En la configuración he activado el modo aleatorio para la lista, y transmite en mono y a 32kbps, con lo que solo consume 4KBps de subida por cada usuario conectado a la radio. Si no están conformes con esta configuración pueden ir variando quality de -1 a un valor mas alto, a channels lo ponen en 2 para que salga estereo, background viene en 0 por defecto, pero en 1 se ejecuta de fondo.
6) Antes de transmitir podemos darle una mirada al archivo de configuración del servidor icecast2. El mismo se encuentra en /etc/icecast2/icecast.xml, pueden cambiar location Earth por la ciudad en donde residen. Con la configuración de sources, especifican el número de radios que puede transmitir el servidor, por defecto es 2 pero yo lo puse en 5.
¡Lo mas importante: editar admin-user y admin-password!
Reiniciar el servidor:
sudo service icecast2 restart
7) Arrancar el streaming:
sudo ices2 ~/miradio.xml
8) Probar la transmisión. En tu navegador escribí la dirección: localhost:8000
Si te aparece eso, está ok la radio. Solo dale clic en play para escucharla.
¡Quiero compartir mi radio!
sudo ifconfig
1) Obtenemos la ip y compartimos la radio con nuestra red ya sea LAN o WLAN.
2) Para compartir la radio con el resto del mundo, hay que configurar el router. en Forwarding/Virtual Servers agregar la ip de la máquina donde se encuentra el servidor, el puerto 8000, protocolo TCP y guardar.
3) Obtener la IP de internet, ya sea del router o bien de alguna página, como por ejemplo
Supongamos que el IP sea 1.2.3.4. Entonces ponen en el navegador 1..2.3.4:8000 y debería funcionar si pudo configurarse correctamente. Ahora la pueden compartir con el resto del mundo.
4) Como escribir 1.2.3.4:8000 es engorroso, pueden registrarse en http://www.noip.com/ o en http://www.dot.tk/es/index.html para obtener un dominio gratuito.
Para luego compartir miradio.ddns.net:8000 en el primer caso o miradio.tk:8000 en el segundo, que es mejor que pasar el IP.
¡Quiero mi radio funcionando las 24hs del día!
Necesitamos una PC encendida las 24hs para esto. Cualquier PC vieja que esté descartada sirve para este propósito.
Entiendo lo de la PC dedicada pero... ¡me preocupa la factura de luz desde que Macri asumió!
No problem. Rapsberry Pi es la solución.