InicioLinuxRadio Online con Icecast2 + Idjc en Slackware 13

Radio Online con Icecast2 + Idjc en Slackware 13

Linux4/6/2010

Radio Online con Icecast2 + Idjc en Slackware 13


Este es un pequeño tutorial de como crear una radio online usando de server icecast2 y de reproductor Idjc (Internet DJ Console).

Software Utilizado:

Sistema Operativo: Slackware 13
Icecast2: 2.3.2
Idjc: 0.8.1

Instalación


Icecast2


$ wget http://downloads.xiph.org/releases/icecast/icecast-2.3.2.tar.gz
$ tar -zxvf icecast-2.3.2.tar.gz
$ cd icecast-2.3.2
$ ./configure --sysconfdir=/etc --prefix=/usr --exec-prefix=/usr --datadir=/usr/share --localstatedir=/var --enable-fsstd –with-libwrap
$ make
$ sudo make insta
ll

Idjc


Bajarlo de http://sourceforge.net/projects/idjc

Esta es la lista de dependencias que deben tener instaladas antes de instalar el Idjc:

Requeridas:
Python
Jack Audio Connection Kit
PyGTK
vorbis-tools
libsndfile
libsamplerate
libshout

Recomendadas:
LAME
eyeD3
faad2
libmad
ffmpeg
FLAC

Luego de tener las dependencias instaladas, vamos a instalar Idjc:

$ tar -zxvf idjc-0.8.1.tar.gz
$ cd idjc-0.8.1
$ ./configure --prefix=/usr
$ make
$ sudo make insta
ll


Configuración


Icecast2


Editar el archivo /etc/icecast.xml, para que quede similar al siguiente:

====================== Begin File =====================

<icecast>
<limits>
<clients>100</clients>
<sources>2</sources>
<threadpool>5</threadpool>
<queue-size>524288</queue-size>
<client-timeout>30</client-timeout>
<header-timeout>15</header-timeout>
<source-timeout>10</source-timeout>
<!-- If enabled, this will provide a burst of data when a client
first connects, thereby significantly reducing the startup
time for listeners that do substantial buffering. However,
it also significantly increases latency between the source
client and listening client. For low-latency setups, you
might want to disable this. -->
<burst-on-connect>1</burst-on-connect>
<!-- same as burst-on-connect, but this allows for being more
specific on how much to burst. Most people won't need to
change from the default 64k. Applies to all mountpoints -->
<burst-size>65535</burst-size>
</limits>

<authentication>
<!-- Sources log in with username 'source' -->
<source-password>TU-PASSWORD</source-password>
<!-- Relays log in username 'relay' -->
<relay-password>TU-PASSWORD</relay-password>

<!-- Admin logs in with the username given below -->
<admin-user>TU-USUARIO-ADMIN</admin-user>
<admin-password>TU-PASSWORD</admin-password>
</authentication>

<!-- set the mountpoint for a shoutcast source to use, the default if not
specified is /stream but you can change it here if an alternative is
wanted or an extension is required
<shoutcast-mount>/live.nsv</shoutcast-mount>
-->

<!-- Uncomment this if you want directory listings -->
<!--
<directory>
<yp-url-timeout>15</yp-url-timeout>
<yp-url>http://dir.xiph.org/cgi-bin/yp-cgi</yp-url>
</directory>
-->

<!-- This is the hostname other people will use to connect to your server.
It affects mainly the urls generated by Icecast for playlists and yp
listings. -->
<hostname>localhost</hostname>

<!-- You may have multiple <listener> elements -->
<listen-socket>
<port>8000</port>
<!-- <bind-address>127.0.0.1</bind-address> -->
<!-- <shoutcast-mount>/stream</shoutcast-mount> -->
</listen-socket>
<!--
<listen-socket>
<port>8001</port>
</listen-socket>
-->

<!--<master-server>127.0.0.1</master-server>-->
<!--<master-server-port>8001</master-server-port>-->
<!--<master-update-interval>120</master-update-interval>-->
<!--<master-password>hackme</master-password>-->

<!-- setting this makes all relays on-demand unless overridden, this is
useful for master relays which do not have <relay> definitions here.
The default is 0 -->
<!--<relays-on-demand>1</relays-on-demand>-->

<!--
<relay>
<server>127.0.0.1</server>
<port>8001</port>
<mount>/example.ogg</mount>
<local-mount>/different.ogg</local-mount>
<on-demand>0</on-demand>

<relay-shoutcast-metadata>0</relay-shoutcast-metadata>
</relay>
-->

<!-- Only define a <mount> section if you want to use advanced options,
like alternative usernames or passwords
<mount>
<mount-name>/example-complex.ogg</mount-name>

<username>othersource</username>
<password>hackmemore</password>

<max-listeners>1</max-listeners>
<dump-file>/tmp/dump-example1.ogg</dump-file>
<burst-size>65536</burst-size>
<fallback-mount>/example2.ogg</fallback-mount>
<fallback-override>1</fallback-override>
<fallback-when-full>1</fallback-when-full>
<intro>/example_intro.ogg</intro>
<hidden>1</hidden>
<no-yp>1</no-yp>
<authentication type="htpasswd">
<option name="filename" value="myauth"/>
<option name="allow_duplicate_users" value="0"/>
</authentication>
<on-connect>/home/icecast/bin/stream-start</on-connect>
<on-disconnect>/home/icecast/bin/stream-stop</on-disconnect>
</mount>

<mount>
<mount-name>/auth_example.ogg</mount-name>
<authentication type="url">
<option name="mount_add" value="http://myauthserver.net/notify_mount.php"/>
<option name="mount_remove" value="http://myauthserver.net/notify_mount.php"/>
<option name="listener_add" value="http://myauthserver.net/notify_listener.php"/>
<option name="listener_remove" value="http://myauthserver.net/notify_listener.php"/>
</authentication>
</mount>

-->


<mount>
<mount-name>/live</mount-name>
<max-listeners>100</max-listeners>
</mount>


<fileserve>1</fileserve>

<paths>
<!-- basedir is only used if chroot is enabled -->
<basedir>/usr/share/icecast</basedir>

<!-- Note that if <chroot> is turned on below, these paths must both
be relative to the new root, not the original root -->
<logdir>/var/log/icecast</logdir>
<webroot>/usr/share/icecast/web</webroot>
<adminroot>/usr/share/icecast/admin</adminroot>
<!-- <pidfile>/usr/share/icecast/icecast.pid</pidfile> -->

<!-- Aliases: treat requests for 'source' path as being for 'dest' path
May be made specific to a port or bound address using the "port"
and "bind-address" attributes.
-->
<!--
<alias source="/foo" dest="/bar"/>
-->
<!-- Aliases: can also be used for simple redirections as well,
this example will redirect all requests for http://server:port/ to
the status page
-->
<alias source="/" dest="/status.xsl"/>
</paths>

<logging>
<accesslog>access.log</accesslog>
<errorlog>error.log</errorlog>
<!-- <playlistlog>playlist.log</playlistlog> -->
<loglevel>3</loglevel> <!-- 4 Debug, 3 Info, 2 Warn, 1 Error -->
<logsize>10000</logsize> <!-- Max size of a logfile -->
<!-- If logarchive is enabled (1), then when logsize is reached
the logfile will be moved to [error|access|playlist].log.DATESTAMP,
otherwise it will be moved to [error|access|playlist].log.old.
Default is non-archive mode (i.e. overwrite)
-->
<!-- <logarchive>1</logarchive> -->
</logging>

<security>
<chroot>0</chroot>
<!--
<changeowner>
<user>nobody</user>
<group>nogroup</group>
</changeowner>
-->
</security>
</icecast>

======================= End File ==========================


Los campos a tener en cuenta son:
source-password <--- Sera la clave usada por el usuario source que configuraremos en Idjc.
admin-user <--- Usuario administrador para la administracion web del server icecast.
admin-password <----- Clave del usuario administrador.
port <--- Puerto donde el server escuchara al source y por donde emitirá.

También debemos especificar cual sera el punto de montaje por donde vamos a emitir. Para esto, se debe crear unas lineas como las siguientes en el archivo de configuración:

<mount>
<mount-name>/live</mount-name>
<max-listeners>100</max-listeners>
</mount>


De esta manera, la url para escuchar esta emisión sera http://ipdelserver:puerto/live, en el caso de que hayas puesto como puerto el 8000, la url seria http://ipdelserver:8000/live.


Con esto tenemos minimamente configurado el server Icecast y ya podemos lanzarlo. Como root ejecutamos:

# sudo -u nobody /usr/bin/icecast -b -c /etc/icecast.xml

Para asegurarnos de que el servidor esta andando, abrimos un navegador y ponemos http://ipdelserver:8000, con lo cual veremos la interfaz web del servidor, siendo esto indicativo de que el servidor esta bien instalado y corriendo.


Idjc


Ejecutamos en una consola:

$ jackd -d alsa -r 44100 -p 2048 &
$ idjc

Lo primero que nos aparecerá, sera una ventana preguntandonos si queremos carcar el perfil default o si queremos crear uno nuevo. Elijan crear uno nuevo.

Entonces llegamos a la siguiente imágen:



Esta es la ventana principal del Idjc, donde cargamos la o las listas que queremos transmitir, también podemos incorporar un micrófono.

Bien, para que podamos transmitir, debemos configurar en el Idjc los datos del server Icecast que instalamos previamente. Para esto hacemos click en el botón Server, y se nos va a abrir una imágen como esta:



Acá configuramos los datos de la conexión con el server Icecast:

Type: Icecast 2 Master
Host: ipservericecast
Port: Puerto donde esta corriendo el server icecast
Mount: Punto de montaje que configuramos previamente en el icecast
Login: source
Pass: Clave del usuario source.

Luego tienen mas abajo otras configuraciones como el Sample Rate, o si es Mp3 u Ogg, etc, eso se lo dejo a ustedes.

Cuando hayamos completados todos los datos, hacemos click en el botón Add, y para corroborar de que los datos estan correctos damos click en Server Connect. Si todo salió bien, no tirará ningun error de conexión y veran el circulo al lado del 1, arriba encendido en color verde.

Una vez hecho esto, podemos cerrar la ventana de la configuración del Server. Hecho esto, solo nos queda cargar los temas en la Playlist y darle Play.

Para ver que estamos transmitiendo, vamos nuevamente a la interfáz web del icecast y veremos que nos muestra la info del punto de montaje que se esta transmitiendo, cual es el tema que se transmite y si hay clientes escuchando.

Ya tenemos la radio funcionando. Si queremos publicarla en internet debemos instalar el server icecast en un equipo que tenga conexión directa de internet o bien, direccionar el puerto que hayamos elegido, en el router hacia la ip del equipo donde esta el icecast.

Espero sea de ayuda. Saludos a la comunidad.

NOTA: Gracias a los usuarios que me otorgaron los puntos para ser NFU.

Datos archivados del Taringa! original
73puntos
7,579visitas
0comentarios
Actividad nueva en Posteamelo
0puntos
1visitas
0comentarios
Dar puntos:

Dejá tu comentario

0/2000

Autor del Post

W
WolverinX🇦🇷
Usuario
Puntos0
Posts14
Ver perfil →
PosteameloArchivo Histórico de Taringa! (2004-2017). Preservando la inteligencia colectiva de la internet hispanohablante.

CONTACTO

18 de Septiembre 455, Casilla 52

Chillán, Región de Ñuble, Chile

Solo correo postal

© 2026 Posteamelo.com. No afiliado con Taringa! ni sus sucesores.

Contenido preservado con fines históricos y culturales.