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 

attachment:HowToIcecast2/icecast2.jpg

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)

input.jpg

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 tab.jpg

┌──────────────────[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 .



  • http://i.creativecommons.org/l/by-nc-sa/2.5/ar/88x31.png Licencia Reconocimiento-No comercial-Compartir bajo la misma licencia 2.5 Argentina License de Creative Commons.

CategoryDocuments CategoryDocuments

Wiki: HowToRadioEnVivo (last edited 2009-05-13 22:40:53 by JoaquinRivera)

USLA