Streaming de Audio en vivo por "Entrada de Audio"
- Este tutorial le enseñara a configurar un servidor de Icecast2 + Ices2, para que tome el audio de una Linea de entrada.
Operativo
Estamos usando Debian para la Instalación.
Instalación del Servidor y Transmisor
apt-get install icecast2 ices2
Configuración del Server
nano /etc/icecast2/icecast.xml
- Buscar estas lineas y modificar los valores a los requeridos
/--/
<icecast>
<limits>
<clients>10</clients> <------- Cantidad máxima de clientes
<sources>1</sources> <------- Cantidad máxima de fuentes
/--/- Contraseñas
/--/
<authentication>
<!-- Sources log in with username 'source' -->
<source-password>CONTRASEÑA1</source-password>
<!-- Relays log in username 'relay' -->
<relay-password>CONTRASEÑA2</relay-password> <----------Cambiar aquí
<!-- Admin logs in with the username given below -->
<admin-user>admin</admin-user>
<admin-password>CONTRASEÑA3</admin-password> <----------Cambiar aquí
</authentication>
/--/- Guardamos y Salimos
Activar Carga al inicio del sistema
nano /etc/default/icecast2
- Cambiamos "false" por "true"
# 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 <----------- Cambiamos "false" por "true"
- Finalizada la configuración del servidor, reiniciamos el servicio
/etc/init.d/icecast2 restart
Terminado podemos ver si esta funcionando en http://IPdelservidor:8000
Conexión
- Vamos a agarrar un walkman, una radio, la salida de una consola, un mp3 u otra PC. cualquier cosa que tire un sonido y lo conectamos a la entrada (clavija azul)
Configuración Ices2
- Primero verificamos que este activado la captura.
alsamixer
- Esta esta pantalla es la de "salida de audio" [Playback], elevamos la entrada, donde dice "Line" lo llevamos hasta la mitad con las flechas del teclado.
si ya tenemos emitiendo sonido con el aparato que conectamos en la clavija azul, conectamos unos auriculares/parlantes en la clavija verde (salida) podemos escuchar sonido. ahora hay que configurar la captura de la placa ("Capture") apretamos la tecla "tab" para configurar la entrada al ices2
┌──────────────────[AlsaMixer v1.0.16 (Press Escape to quit)]──────────────────┐ │ Card: HDA Intel │ │ Chip: Realtek ALC662 rev1 │ │ View: [Playback] Capture All │ │ Item: Master [dB gain=-13.00] │ │ │ │ ┌──┐ ┌──┐ ┌──┐ ┌──┐ ┌──┐ │ │ │ │ │▒▒│ │▒▒│ │ │ │▒▒│ │ │ │ │ │▒▒│ │▒▒│ │ │ │▒▒│ │ │ │▒▒│ │▒▒│ │▒▒│ │ │ │▒▒│ │ │ │▒▒│ │▒▒│ │▒▒│ │ │ │▒▒│ │ │ │▒▒│ │▒▒│ │▒▒│ │▒▒│ │▒▒│ │ │ │▒▒│ │▒▒│ │▒▒│ │▒▒│ │▒▒│ │ │ │▒▒│ │▒▒│ │▒▒│ │▒▒│ │▒▒│ │ │ │▒▒│ │▒▒│ │▒▒│ │▒▒│ │▒▒│ │ │ │▒▒│ │▒▒│ │▒▒│ │▒▒│ │▒▒│ │ │ │▒▒│ │▒▒│ │▒▒│ │▒▒│ │▒▒│ │ │ │▒▒│ │▒▒│ │▒▒│ │▒▒│ │▒▒│ │ │ ├──┤ └──┘ ├──┤ ├──┤ ├──┤ │ │ │OO│ │OO│ │OO│ │OO│ │ │ └──┘ └──┘ └──┘ └──┘ │ │ 80 100<>100 100<>100 55<>55 100<>100 │ │ < Master > PCM Front Line Mic │ └──────────────────────────────────────────────────────────────────────────────┘
- Ahora estamos en [Capture] esta parte varia según la placa pero lo mas importante es que este tomando de "line-in" y que este el volumen a la mitad y que diga "CAPTUR"
┌──────────────────[AlsaMixer v1.0.16 (Press Escape to quit)]──────────────────┐ │ Card: HDA Intel │ │ Chip: Realtek ALC662 rev1 │ │ View: Playback [Capture] All │ │ Item: Capture [dB gain=13.50, 13.50] │ │ │ │ ┌──┐ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │▒▒│ │ │ │▒▒│ │ │ │▒▒│ │ │ │▒▒│ │ │ │▒▒│ │ │ │▒▒│ Line │ │ │▒▒│ │ │ L└──┘R │ │ CAPTUR │ │ 58<>58 │ │ <Capture > Input So │ └──────────────────────────────────────────────────────────────────────────────┘
- Creamos una carpeta para la configuración del ices2
mkdir /streaming/
- Copiamos una configuración default a nuestro directorio y lo guardamos como radio.xml
cp /usr/share/doc/ices2/examples/ices-oss.xml /streaming/radio.xml
- Editamos la configuración
nano /streaming/radio.xml
- Activamos que corra como Servicio
<!-- run in background -->
<background>1</background> - Configuramos el streaming
<metadata>
<name>NOMBRE DE LA RADIO</name>
<genre>GENERO DE LA RADIO</genre>
<description>UNA CORTA DESCRIPCION DE LO QUE SE ESTA EMITIENDO</description>
<url>http://TUDIRECCION.org</url>
</metadata> <input>
<module>oss</module>
<param name="rate">44100</param>
<param name="channels">2</param>
<param name="device">/dev/dsp</param>
<!-- Read metadata (from stdin by default, or -->
<!-- filename defined below (if the latter, only on SIGUSR1) -->
<param name="metadata">1</param>
<param name="metadatafilename">test</param>
</input>- Configurando el
<hostname>localhost</hostname>
<port>8000</port>
<password>CONTRASEÑA2</password>
<mount>/NOMBRARADIO.ogg</mount>
<yp>1</yp> <!-- allow stream to be advertised on YP, default 0 -->- Configurando calidad del streaming Atención!
Calidad Baja/Media (menor consumo de upload x cliente)
<encode>
<quality>0</quality>
<samplerate>22050</samplerate>
<channels>1</channels>
</encode> <resample>
<in-rate>44100</in-rate>
<out-rate>22050</out-rate>
</resample>
Calidad alta, ALTO consumo de upload
<encode>
<quality>0</quality>
<samplerate>44100</samplerate>
<channels>2</channels>
</encode> <resample>
<in-rate>44100</in-rate>
<out-rate>44100</out-rate>
</resample>Terminaste
Para levantar los servicios solo tenés que ejecutar el ices2 con el archivo de configuración:
ices2 /streaming/radio.xml
Este comando te ocupa una consola si apretamos Ctrl+C o cerramos la consola cortamos la transmisión. para evitar esto lo mandamos que corra sin consola, agregando un "&".
ices2 /streaming/radio.xml &
O podemos hacer las cosas bien, vamos a crear un script, para levantar el ices2 con esta configuración al inicio del sistema.
Script para el Servicio Ices2
- Agregamos un usuario ices para el Servicio
adduser ices
- Creamos el script
nano /etc/inint.d/ices2
- Pegamos este código dentro:
1 #! /bin/sh
2 #
3 # ices2
4 #
5
6 PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
7 DAEMON=/usr/bin/ices2
8 NAME=ices2
9 DESC=ices2
10
11 test -x $DAEMON || exit 0
12
13 # Defaults
14 CONFIGFILE="/streaming/radio.xml"
15 USERID=ices
16 GROUPID=audio
17
18 # Reads config file (will override defaults above)
19
20 set -e
21
22 case "$1" in
23 start)
24 echo -n "Starting $DESC: "
25 start-stop-daemon --start --quiet --chuid $USERID:$GROUPID \
26 --exec $DAEMON $CONFIGFILE
27 echo "$NAME."
28 ;;
29 stop)
30 echo -n "Stopping $DESC: "
31 start-stop-daemon --stop --oknodo --quiet --exec $DAEMON
32 echo "$NAME."
33 ;;
34 reload|force-reload)
35 echo "Reloading $DESC configuration files."
36 start-stop-daemon --stop --signal 1 --quiet --exec $DAEMON
37 ;;
38 restart)
39 echo -n "Restarting $DESC: "
40 start-stop-daemon --stop --oknodo --quiet --exec $DAEMON
41 sleep 1
42 start-stop-daemon --start --quiet --chuid $USERID:$GROUPID \
43 --exec $DAEMON $CONFIGFILE
44 echo "$NAME."
45 ;;
46 *)
47 echo "Usage: $0 {start|stop|restart|reload|force-reload}" >&2
48 exit 1
49 ;;
50 esac
51
52
53 exit 0
- Lo levantamos en el rc que se inicie despues del icecast2
update-rc.d -f ices2 start 99 2 3 4 5 .
Contribuido por "MatiasFernandez "
Licencia Reconocimiento-No comercial-Compartir bajo la misma licencia 2.5 Argentina License de Creative Commons.
