Diferencias
Muestra las diferencias entre dos versiones de la página.
Próxima revisión | Revisión previa | ||
servicios:radio-por-wifi [2017/07/22 16:58] – creado strysg | servicios:radio-por-wifi [2018/10/28 15:30] (actual) – configuración ezstream strysg | ||
---|---|---|---|
Línea 1: | Línea 1: | ||
Lo que nosotros llamamos radio por wifi es en realidad un servicio de [[https:// | Lo que nosotros llamamos radio por wifi es en realidad un servicio de [[https:// | ||
- | Primero vamos a usar el servidor [[http:// | + | Primero vamos a usar el servidor [[http:// |
- | Sin embargo, icecast2 **no** es el programa que reproduce el audio ya que se encarga de redistribuirlo, el programa | + | Sin embargo, icecast2 **no** es el programa que reproduce el audio, sólo se encarga de redistribuirlo. Existen programas |
- | También existe [[http:// | + | Se puede usar cualquiera |
- | ==== Instalando y configurando icecast2 ==== | + | ==== Instalando y configurando icecast2 |
Siguiendo la guía http:// | Siguiendo la guía http:// | ||
- | 1. Instalar icecast2, que en una distribución basada en debian bastará con: '' | + | 1. Instalar icecast2, que en una distribución basada en debian bastará con: '' |
2. En el archivo ''/ | 2. En el archivo ''/ | ||
Línea 17: | Línea 17: | ||
< | < | ||
- | < | + | < |
< | < | ||
+ | < | ||
+ | < | ||
+ | </ | ||
</ | </ | ||
- | TODO continuar | + | :!: En versiones nuevas de icecast2 además de editar el archivo '' |
- | === Más referencias === | + | Para confirmar los cambios se reinicia el servicio con '' |
- | * http:// | + | Con esas opciones modificadas se ha terminado con icecast2. |
+ | |||
+ | ==== Usando ezstream como cliente === | ||
+ | |||
+ | La ventaja de mantener ezstream (o ices) y icecast2 separados es que icecast2 puede distribuir a los clientes varios streams ejecutándose en esta u otra computadora. | ||
+ | |||
+ | Para instalar ezstream en sistemas debian bastaría con instalarlo desde el repositorio oficial: | ||
+ | < | ||
+ | sudo apt install ezstream | ||
+ | </ | ||
+ | |||
+ | Luego es necesario crear un archivo de configuración para que ezstream genere los //streams// de audio y se los pase a icecast2. Una vez que se instala ezstream, el paquete incluye ejemplos de configuración en ''/ | ||
+ | |||
+ | Creamos un archivo xml con las configuraciones, | ||
+ | |||
+ | <code xml> | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | <!-- random order --> | ||
+ | < | ||
+ | <!-- Info adicional del stream (opcional) --> | ||
+ | < | ||
+ | < | ||
+ | <!-- configuración del stream de audio --> | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | |||
+ | < | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | En la configuración se hace referencia a un archivo '' | ||
+ | <code bash> | ||
+ | find / | ||
+ | </ | ||
+ | |||
+ | Una vez hecho, se puede probar ejecutando ezstream usando el archivo de configuración que creamos: | ||
+ | <code bash> | ||
+ | ezstream -c stream_mp3_configs.xml | ||
+ | </ | ||
+ | |||
+ | Y comprobamos que se está transmitiendo el //stream// accediendo desde un navegador o programa de reproducción de música como vlc a '' | ||
+ | |||
+ | ==== Usando ices como cliente ==== | ||
+ | |||
+ | Si se opta por ices en lugar de ezstream el procedimiento es el siguiente. Para mantener las cosas ordenadas podemos primero seleccionar los archivos .ogg de música de audio que se escucharán en nuestra radio por wifi, para este ejemplo usaremos la carpeta ''/ | ||
+ | |||
+ | 1. Instalar ices en una distribución basada en debian basta con '' | ||
+ | |||
+ | 2. Debemos crear un archivo de configuración, | ||
+ | |||
+ | 3. Modificamos el archivo ''/ | ||
+ | |||
+ | <code xml> | ||
+ | <!-- el archivo playlist.txt deberia contener la lista de archivos a reproducir --> | ||
+ | <param name=" | ||
+ | <!-- Esto hara que las canciones toquen en orden aleatorio, 0 para desactivarlo --> | ||
+ | <param name=" | ||
+ | <!-- reiniciar la reproduccion cuando se termine los archivos en la lista --> | ||
+ | <param name=" | ||
+ | < | ||
+ | <!-- Host donde esta el servidor icecast2 --> | ||
+ | < | ||
+ | <!-- Este es el mismo puerto que se ha configurado para icecast2 --> | ||
+ | < | ||
+ | <!-- El password especificado para acceder a icecast2 --> | ||
+ | < | ||
+ | </ | ||
+ | <!-- Punto de montaje o la direccion desde la cual se podra acceder al stream --> | ||
+ | < | ||
+ | |||
+ | </ | ||
+ | |||
+ | 4. Ahora debemos crear el archivo '' | ||
+ | |||
+ | <code bash> | ||
+ | find / | ||
+ | </ | ||
+ | |||
+ | 5. Probar la conexión entre icecast2 y ices2: | ||
+ | |||
+ | <code bash> | ||
+ | sudo service icecast2 restart | ||
+ | sudo ices2 / | ||
+ | </ | ||
+ | |||
+ | Con esto, si ingresamos desde un navegador web a '' | ||
+ | |||
+ | <WRAP center round info 70%> | ||
+ | Si queremos integrar el servicio de radio por wifi en una página web, bastaría poner un enlace hacia el host: | ||
+ | </ | ||
+ | |||
+ | |||
+ | ===== Automatizando el inicio ===== | ||
+ | |||
+ | Esto para hacer que se ejecute automáticamente la reproducción de //streams// de audio ya sea con ices2 o ezstream. | ||
+ | |||
+ | === Usando systemd (para ices2) === | ||
+ | |||
+ | Creando por ejemplo: / | ||
+ | |||
+ | < | ||
+ | [Unit] | ||
+ | Description=ices2 deamon | ||
+ | # la siguiente linea asegura que primero se inicie icecast2 | ||
+ | After=icecast2.service | ||
+ | |||
+ | [Service] | ||
+ | User=www-data | ||
+ | Group=www-data | ||
+ | WorkingDirectory=/ | ||
+ | ExecStart=ices2 "/ | ||
+ | |||
+ | [Install] | ||
+ | WantedBy=multi-user.target | ||
+ | </ | ||
+ | |||
+ | Luego probarlo con: | ||
+ | <code bash> | ||
+ | sudo systemctl daemon-reload | ||
+ | sudo systemctl start ices2.service | ||
+ | # si funciona se habilita el servicio para que se ejecute al inicio del sistema con | ||
+ | sudo systemctl enable ices2.service | ||
+ | </ | ||
+ | |||
+ | === Usando systemd (para ezstream) === | ||
+ | |||
+ | Creando por ejemplo: / | ||
+ | |||
+ | < | ||
+ | [Unit] | ||
+ | Description=ezstream deamon | ||
+ | # la siguiente linea asegura que primero se inicie icecast2 | ||
+ | After=icecast2.service | ||
+ | |||
+ | [Service] | ||
+ | User=pi | ||
+ | Group=pi | ||
+ | WorkingDirectory=/ | ||
+ | ExecStart=ezstream -c "/ | ||
+ | |||
+ | [Install] | ||
+ | WantedBy=multi-user.target | ||
+ | </ | ||
+ | |||
+ | Luego probarlo con: | ||
+ | <code bash> | ||
+ | sudo systemctl daemon-reload | ||
+ | sudo systemctl start ezstream.service | ||
+ | # si funciona se habilita el servicio para que se ejecute al inicio del sistema con | ||
+ | sudo systemctl enable ezstream.service | ||
+ | </ | ||
+ | |||
+ | === Usando script de inicio=== | ||
+ | |||
+ | Primero seguramente deberíamos modificar el archivo ''/ | ||
+ | <code xml> | ||
+ | < | ||
+ | < | ||
+ | </ | ||
+ | </ | ||
+ | Luego el script por ejemplo en ''/ | ||
+ | |||
+ | <code bash> | ||
+ | cd / | ||
+ | # comprobando que se haya iniciado el servicio icecast2 | ||
+ | while ! ps -axu | grep icecast2 | grep -v " | ||
+ | do | ||
+ | sleep 1 | ||
+ | done | ||
+ | |||
+ | ices2 ices-playlist.xml | ||
+ | |||
+ | exit 0 | ||
+ | </ | ||
+ | |||
+ | Luego de probarlo, se debe agregar como script de inicio. | ||
+ | |||
+ | ==== Más referencias ==== | ||
+ | |||
+ | | ||
+ | * https:// |