PDF de programación - BULMA: Como montar tu iRadio

Imágen de pdf BULMA: Como montar tu iRadio

BULMA: Como montar tu iRadiográfica de visualizaciones

Actualizado el 8 de Abril del 2020 (Publicado el 12 de Abril del 2017)
323 visualizaciones desde el 12 de Abril del 2017
25,8 KB
4 paginas
Creado hace 15a (26/09/2004)
BULMA: Como montar tu iRadio

Bisoños Usuarios de GNU/Linux de Mallorca y Alrededores | Bergantells Usuaris de GNU/Linux de Mallorca i Afegitons

Como montar tu iRadio (3419 lectures)
Per Daniel Lombraña González, teleyinex (http://www.sleon.org)
Creat el 07/08/2004 13:39 modificat el 07/08/2004 14:18

Este artículo consiste o nace de la idea de poder escuchar la música que tengo en casa en cualquier PC que esté conectado a
Internet. Para esta empresa necesito un servidor de Streaming: Icecast 2 y un codificador de archivos, pues la radio que
vamos a montar consiste única y exclusivamente en una lista de reproducción de canciones, nada de comentarios ni anuncios,
sólo mi música.

Servidor de streaming

Bueno, me decanté por el Icecast 2 porque después de mucho buscar vi que era el que mejores opciones me proporciona. Entre ellas el poder
retransmitir usando ogg vorbis, aunque ya veremos como termina para mi la cosa. ;)

En debian (estoy en SID) como de costumbre:

apt−get install icecast2

Esto te instala el servidor y lo único que queda por hacer es configurarlo. Para hacer esto nos vamos a /etc/icecast2 y ahí veremos una serie de
archivos.

El que a nosotros nos interesa es el siguiente: icecast.xml. En este archivo se configuran los parámetros del servidor.

icecast.xml

Como veremos en cuanto abramos el archivo es que es un archivo en formato xml.
Este archivo tiene una serie de secciones que si queremos entender mejor o queremos afinar más el rendimiento del servidor hay que irse a
http://www.icecast.org

Lo primero que vamos a ver es el número de clientes que queremos tener. Pensad en vuestro ancho de banda y obrad en consecuencia, en mi
caso como es para uso personal solo he puesto 2:

<clients>2</clients>

Luego viene la parte de autentificación que usa el servidor para permitir que administradores y codificadores se conecten a él. Para ello ponemos
la contraseña que queramos: la contraseña queda totalmente visible.

<authentication>
<!−− Sources log in with username 'source' −−>
<source−password>Aquí va vuestro password para sources</source−password>
<!−− Relays log in username 'relay' −−>
<relay−password>Aquí va vuestro password por si hacéis de relay</relay−password>
<!−− Admin logs in with the username given below −−>
<admin−user>Nombre del administrador del servidor</admin−user>
<admin−password>Contraseña del administrador del servidor</admin−password>
</authentication>

El source−password es la contraseña que se va a solicitar a nuestro codificador, con lo cual nos tenemos que acordar de ella para luego usarla
en el codificador.

1/4

BULMA: Como montar tu iRadio

El relay−password es la contraseña que se utilizaría en caso de que hiciéramos relay de otros streaming de Internet a través del nuestro.
Finalmente queda el usuario y contraseña para administrar el servidor Icecast 2.

La siguiente parte que nos interesa de la configuración es la relacionada con la red. En esta parte configuraremos en qué tarjetas de red y puertos
se retransmitirá y se escucharán las peticiones.

La parte de la red comienza con el siguiente cacho de configuración:

<hostname>Nombre de la máquina en Internet</hostname>

<!−− You can use these two if you only want a single listener −−>
<port>8000</port>
<!−−<bind−address>127.0.0.1</bind−address>−−>

<!−− You may have multiple <listener> elements −−>
<listen−socket>
<port>8000</port>
<!−− <bind−address>127.0.0.1</bind−address> −−>
</listen−socket>

El <hostname> que veréis sirve para indicar el nombre de la máquina, es cómo el servidor obtiene qué tarjetas transmiten. En este caso yo para
poder transmitir a Internet tengo un dyndns (un nombre de máquina gratuito) de forma que es ese el nombre que le pongo. Aquí podéis poner lo
que querais, pero tiene que corresponder con una IP asociada, es decir si ponéis localhost asociaríais el puerto al 127.0.0.1, sino a otra IP.

Luego podéis eligir el puerto que más os guste, pero creo que lo mejor es dejarlo en dónde está pues es el estandar de Icecast 2 (shoutcast usa el
8001).

Finalmente se pueden crear sockets asociados a IPs, esta parte la podéis modificar como queráis también, pero yo he dejado todo como estaba
menos la parte del <hostname> pues necesito transmitir hacia Internet.

Con todo esto tendríamos configurado ya el servidor. Ahora sólo queda hacer:

/etc/init.d/icecast2 start

Ices el codificador

Bien, en esta parte empieza lo que puede resultar un poco complicado. En Debian sólo tenemos la versión 2.0 de Ices porque codifica y
retransmite solo en Ogg Vorbis. El problema asociado a este codificador es que para hacer una lista de reproducción necesita que todos los
archivos fuente sean .ogg. Pero mi colección de archivos está en .mp3 con lo que este codificador no me servía, pues para hacerlo funcionar
tenía que pasar todos mis mp3 a ogg. Entonces encontré en la página de Icecast http://www.icecast.org otra versión de Ices, la 0.3.

Añadir que la versión 2.0 de Ices permite leer listas de reproducción de archivos .ogg y retransmitir voz en directo. Esta parte es fácil de
configurar y sólo teneis que leer este How to.

La versión 0.3 sirve para listas de reproducción, pues nos lee tanto archivos en mp3 como en ogg y los recodifica a mp3. Aquí hay que hacer una
advertencia: al transmitir en mp3 podemos tener problemas legales, pues hay que recordar que el mp3 está registrado. En este caso a mi no me
afecta pues yo solamente voy a transmitir para mi mismo en casa o en el trabajo, con lo que no voy a tener problemas de ningún tipo.

Otro "inconveniente es que no hay paquete .deb" con lo que hay que descargarse un tar.gz y compilarlo. Se necesita como dependencias
externas: Lame encoder, pues necesita un codificador, y las librerías de desarrollo de XML, Vorbis, Perl y Phython. Estos últimos desde Debian
es muy sencillo. Yo solo necesité obtener las librerías −dev de XML. Lo demás lo tenía todo.

El codificador LAME os lo tenéis que descargar de su página web y compilarlo.

Con esto ya podréis compilar Ices 0.3.

Ahora queda configurar Ices 0.3. En función del

prefix

2/4

BULMA: Como montar tu iRadio

que uséis el archivo ices.conf se encontrará en un sitio u otro. El caso es que el archivo se llama ices.conf.

ices.conf

En este archivo especificaremos los parámetro de codificación y conexión al servidor Icecast 2. El archivo usa XML, al igual que Icecast 2.

Lo primero que encontramos es lo siguiente:

<Playlist>
<!−− This is the filename used as a playlist when using the builtin
playlist handler. −−>
<File>/etc/icecast2/playlist.txt</File>
<!−− Set this to 0 if you don't want to randomize your playlist, and to
1 if you do. −−>
<Randomize>1</Randomize>
<!−− One of builtin, perl, or python. −−>
<Type>builtin</Type>
<!−− Module name to pass to the playlist handler if using perl or python.
If you use the builtin playlist handler then this is ignored −−>
<Module>ices</Module>
</Playlist>

El <Playlist> es la lista de canciones que queremos que se retransmitan por Internet. Ahí pondremos el archivo con la lista de canciones tanto en
mp3 como en ogg que tengamos en nuestro ordenador. Para generar una lista usaremos este comando:

find "Directorio con MP3 y OGG" −name *.mp3 > /etc/icecast2/playlist.txt

La siguiente parte que configuraremos es la conexión al servidor y la "emisora" que usaremos para retransmitir.

<Server>
<!−− Hostname or ip of the icecast server you want to connect to −−>
<Hostname>Nombre del servidor</Hostname>
<!−− Port of the same −−>
<Port>8000</Port>
<!−− Encoder password on the icecast server −−>
<Password>Contraseña del servidor</Password>
<!−− Header protocol to use when communicating with the server.
Shoutcast servers need "icy", icecast 1.x needs "xaudiocast", and
icecast 2.x needs "http". −−>
<Protocol>http</Protocol>
</Server>

Aquí se pone el nombre del servidor al que queremos conectarnos para retransmitir, el puerto y la contraseña. El resto no se toca pues vamos a
transmitir a un servidor Icecast 2 y ya está configurado para eso.

Y ya queda lo más sencillo:

<Mountpoint>/ices</Mountpoint>

El Mountpoint es la "emisora". Es decir nosotros cuando conectamos con un servidor de radio por Internet ponemos el servidor y el puerto en el
que se sirve la música, pero también indicamos la "emisora":

mplayer http://servidor:puerto/emisora

Esto permite que un mismo servidor haga streaming de distintos tipos de música a la vez. En el ejemplo de arriba nuestra emisora se llamaría
ices. Podéis poner lo que queráis.

Nos queda la descripción de la emisora:

<!−− The name of you stream, not the name of the song! −−>
<Name>Nombre de la emisora</Name>
<!−− Genre of your stream, be it rock or pop or whatever −−>
<Genre>Género de la música</Genre>
<!−− Longer description of your stream −−>

3/4

BULMA: Como montar tu iRadio

<Description>Descripción más larga</Description>
<!−− URL to a page describing your stream −−>
<URL>http://localhost/</URL>
<!−− 0 if you don't want the icecast server to publish your stream on
the yp server, 1 if you do −−>
<Public>0</Public>

Y la recodificación (si queremos) de los archivos de la lista:

<!−− Stream bitrate, used to specify bitrate if reencoding, otherwise
just used for display on YP and on the server. Try to keep it
accurate −−>
<Bitrate>64</Bitrate>
<!−− If this is set to 1, and ices is compiled with liblame support,
ices will reencode the stream on the fly to the stream bitrate. −−>
<Reencode>1</Reencode>
<!−− Number of channels to reencode to, 1 for mono or 2 for stereo −−>
<!−− Sampe rate to reencode to in Hz. Leave out for LAME's best choice
<Samplerate>44100</Samplerate>
−−>
<Channels>1</
  • Links de descarga
http://lwp-l.com/pdf2767

Comentarios de: BULMA: Como montar tu iRadio (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios
Es necesario revisar y aceptar las políticas de privacidad