69 votos

¿Cómo configuro un servidor Icecast para emitir audio en mi red?

Transmitir la salida de la tarjeta de sonido como un flujo de radio por Internet es una forma fiable de transmitir audio en una red. Esto puede utilizarse para, por ejemplo, transmitir audio en una LAN inalámbrica a otro ordenador o a cualquier otro dispositivo capaz de reproducir flujos de radio por Internet.

Sin embargo, no he encontrado una guía fácil, paso a paso, sobre cómo configurarlo.

80voto

Mike L Puntos 239

Transmisión de audio con Icecast2


1. Instalar Icecast2 Install icecast2


2. Editar la configuración de Icecast2

Abrir el archivo /etc/icecast2/icecast.xml como root en un editor. Por razones de seguridad debe configurar las contraseñas en el <authentication> sección:

<admin-user>admin</admin-user>
<admin-password>hackme</admin-password> 

Si ha cambiado el <source-password> o <relay-password> también hay que hacerlo en el lado de la fuente o del relé. Es decir, déjalo por defecto o cámbialo también en el archivo ices2.xml (ver más abajo). Lo mismo habrá que hacer en los archivos de configuración de Ices o Darkice.

También tiene que definir el nombre de host donde se puede acceder a su flujo:

<hostname>localhost</hostname>

Déjalo como localhost (no hay necesidad de dar una IP resuelta allí) cuando sólo quieres transmitir en tu red local. El puerto por defecto para escuchar es el 8000. Cámbialo sólo cuando sea necesario.


3. Editar los valores predeterminados

Abrir el /etc/default/icecast2 como root en un editor. La última línea debe cambiarse por

ENABLE=true

Eso es todo para Icecast2. Por supuesto, hay muchos más ajustes con los que puedes jugar. En los archivos de configuración hay notas explicativas sobre los parámetros.

4. Iniciar/Detener Icecast

El servidor se inicia y se detiene mediante los siguientes comandos:

/etc/init.d/icecast2 start
/etc/init.d/icecast2 stop

Mientras se ejecuta el servidor Icecast se puede administrar desde cualquier navegador en http://localhost:8000/admin/ después de introducir sus credenciales de administrador definidas en el paso 1. Hay más documentación disponible en Icecast.org .

Stream2ip es un frontend gráfico para iniciar y detener rápidamente los flujos cuando ya se ha realizado una configuración básica para Ices2, Ices o Darkice.


Ices2 Install ices2 para transmitir audio OGG Vorbis desde una tarjeta de sonido local

Para configurar pulseaudio y permitir la grabación desde la tarjeta de sonido, véase la nota de Darkice más abajo.

Crear directorios para Ices2

mkdir /var/log/ices   # in case you need logfiles.  
mkdir /etc/ices2      # for putting ices stuff in.  

Editar el .xml de configuración de Ices2

Ices2 se ejecutará utilizando un archivo .xml para las configuraciones. Se pueden encontrar varios ejemplos de configuraciones en /usr/share/doc/ices2/examples/ . Estos archivos deben ser editados para satisfacer sus necesidades y pueden ser copiados en cualquier lugar, mejor en su directorio personal. Dependiendo del archivo de configuración, Ices2 utiliza una lista de reproducción en Ogg Vorbis formato ( ices-playlist.xml ) o la salida de su tarjeta de sonido ( ices-alsa.xml ) como fuente de streaming para Icecast2.

En la sección <input> es posible que tenga que sustituir el dispositivo si ha configurado su sistema de sonido con PulseAudio. Para ello edite la línea correspondiente a:

<param name="device">pulse</param>

El nombre del flujo para el cliente receptor se define en la siguiente sección.

<mount>/example1.ogg</mount>

Iniciar la transmisión

Las transmisiones de tu tarjeta de sonido se iniciarán ejecutando primero el servidor Icecast2, y luego ejecutando Ices2 utilizando los siguientes comandos:

/etc/init.d/icecast2 start
ices2 /home/user/somewhere/ices-pulse.xml # or any other name from .xml file

Configurar el receptor

En el lado del receptor, su "emisora" de radio se sintoniza: <serverIP>:8000/example1.ogg donde <serverIP> es la IP de tu servidor de streaming seguida del puerto que definiste en el archivo icecast.xml (por defecto 8000).

Terminar el streaming

Los flujos se terminan matando a Ices2 y/o dejando de ejecutar el servidor Icecast2:

killall ices2
/etc/init.d/icecast2 stop

Hielos para emitir listas de reproducción en mp3

Transmitir una lista de reproducción que contenga archivos mp3 no se puede hacer con Ices2. Necesitamos instalar IceS que también está disponible en la Repositorio de Medibuntu .

Después de haber configurado el archivo de configuración con la dirección del servidor, la contraseña y las propiedades de streaming (un ejemplo bien documentado se encuentra en /usr/share/doc/ices/examples ) podemos transmitir archivos de audio mp3 desde listas de reproducción (por ejemplo, en formato .m3u) a través de un servidor Icecast2:

/etc/init.d/icecast2 start
ices -c <path_to_config_file> -F <path_to_playlist>

Para más opciones, lea la documentación en la página man, bastante elaborada, de man ices .


Darkice Install darkice para la transmisión en directo

Podemos transmitir la salida de la tarjeta de sonido local como OGG Vorbis o como flujo mp3 utilizando Darkice . Para habilitar el streaming de la tarjeta de sonido local puede que tengamos que definir primero el dispositivo de grabación para Darkice en pulseaudio. Esto se puede hacer con pavucontrol Install pavucontrol . En el Grabación ficha elija Monitor of <your soundcard> para el "Complemento ALSA [darkice]" .

El archivo de configuración (ejemplo bien documentado en /usr/share/doc/darkice/examples ) debe adaptarse al servidor Icecast y al entorno sonoro local:

[general]
duration        = 0      # duration in s, 0 forever
bufferSecs      = 1      # buffer, in seconds
reconnect       = yes    # reconnect if disconnected

[input]
device          = default # or `pulse' for Pulseaudio
sampleRate      = 44100   # sample rate 11025, 22050 or 44100
bitsPerSample   = 16      # bits
channel         = 2       # 2 = stereo

[icecast2-0]
bitrateMode     = vbr       # variable bit rate (`cbr' constant, `abr' average)
quality         = 1.0       # 1.0 is best quality
format          = mp3       # format. Choose `vorbis' for OGG Vorbis
bitrate         = 256       # bitrate
server          = localhost # or IP
port            = 8000      # port for IceCast2 access
password        = hackme    # source password to the IceCast2 server
mountPoint      = mystream.mp3  # mount point on the IceCast2 server .mp3 or .ogg
name            = mystream

Después de guardar esta configuración (por ejemplo, en ~/music/darkice.cfg ) primero ejecutamos el servidor Icecast y luego podemos transmitir la salida pulseaudio desde la tarjeta de sonido local invocando:

/etc/init.d/icecast2 start
darkice -c ~/music/darkice.cfg

En el receptor sintonizamos http://<localhost>:8000/mystream.mp3 para escuchar. <localhost> es la IP del servidor Icecast.

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: