GNU/Linux >> Tutoriales Linux >  >> Debian

Cómo crear su propia estación de radio por Internet con Icecast y Mixxx ejecutándose en Ubuntu / Debian o Fedora

Este artículo explica cómo crear su propia estación de radio por Internet. Para lograrlo, utilizamos los programas de código abierto Icecast y Mixxx, que se ejecutan en Fedora o Debian, Ubuntu, Linux Mint, Pop! _OS y otras distribuciones de Linux basadas en Debian/Ubuntu.

Icecast (Icecast 2) es un servidor de transmisión de medios que permite a los usuarios transmitir nuestra estación de radio por Internet y Mixxx es una aplicación de mezcla de DJ (que también puede usar como un simple reproductor de música en este caso si lo necesita). usamos para enviar la transmisión de audio al servidor de transmisión Icecast2 gracias a su función de transmisión en vivo.

Vale la pena señalar que puede usar Icecast2 y Mixxx en cualquier otra distribución de Linux (así como Windows y macOS) para crear su propia distribución de Linux de estación de radio por Internet que use, por lo que este artículo solo se centrará en Fedora y Debian/Ubuntu.

Antes de comenzar, déjame contarte un poco más sobre Icecast y Mixxx.

Icecast es un servidor de transmisión gratuito, de código abierto y multiplataforma que admite transmisiones Ogg Vorbis y Theora, MP3, Opus y WebM, con soporte para múltiples transmisiones de audio simultáneas (cada transmisión se denomina "punto de montaje"). El software se puede utilizar para crear una estación de radio pública en Internet, transmitir de forma privada a través de la red local y mucho más. Hay varios tipos de clientes que pueden conectarse a un servidor Icecast, ya sea para proporcionar un "punto de montaje" para transmitir música, como:B. Mixxx, o para escuchar el audio transmitido.

Mixxx es un software de DJ gratuito y de código abierto para Windows, Mac y Linux que incluye la mayoría de las funciones que se encuentran en el software DJS, así como funciones únicas como la compatibilidad con controladores de DJ MIDI y HID avanzados. Fue desarrollado tanto para DJs profesionales como aficionados y ofrece, entre muchas otras funciones, BPM, detección y sincronización de teclas, efectos, control de discos de vinilo, auto DJ y grabación. A partir de la versión 1.9, Mixxx permite transmisiones en vivo y admite servidores de transmisión Shoutcast e Icecast.

Instala y configura Icecast y Mixxx para crear tu propia estación de radio por Internet

1. Instalar Icecast.

Icecast puede instalarse en un servidor separado o en la misma computadora que Mixxx está ejecutando para la transmisión.

Descarga Icecast para Linux/Unix y Windows.

Instale Icecast2 desde los repositorios:

  • Instalar Icecast2 en Debian, Ubuntu, Linux Mint, Pop! _OS y otras distribuciones de Linux basadas en Debian/Ubuntu:

sudo apt install icecast2

Durante la instalación de Icecast2 en Debian o Ubuntu, se presentan algunas opciones de configuración (este no es el caso con Fedora):

Reemplace la contraseña preestablecida con su propia contraseña. En caso de que haya saltado la configuración inicial, puede volver a ejecutarla usando sudo dpkg-reconfigure icecast2 . También puede cambiar estas configuraciones iniciales y más editando el archivo de configuración de Icecast2 (lo abordaremos en el siguiente paso).

  • Instalar Icecast en Fedora:
sudo dnf install icecast

2. Configurar Icecast.

La ruta del archivo de configuración de Icecast en Debian/Ubuntu (instalado por un administrador de paquetes) es /etc/icecast2/icecast.xml mientras está en fedora /etc/icecast.xml . Puede editar este archivo para cambiar la información de la estación de radio por Internet Icecast2, establecer restricciones (limitar el número de clientes/oyentes), cambiar la contraseña de los usuarios fuente, repetidor y administrador, y más.

En Debian/Ubuntu, la configuración inicial de Icecast2 que aparece cuando instala Icecast2 por primera vez debería hacerse cargo de la mayor parte de esta configuración. Todavía puede editar el archivo de configuración de Icecast2.

Abra este archivo de configuración de Icecast como raíz con un editor de texto como Nano en el ejemplo a continuación (use Ctrl + O , luego Enter para guardar el archivo con nano; Para salir del editor nano después de guardar el archivo, presione Ctrl + X ):

  • Debian, Ubuntu, Fedora, Linux Mint, Pop! _SO:
sudo nano /etc/icecast2/icecast.xml

  • Fedora:
sudo nano /etc/icecast.xml

En este archivo puedes (entre otras cosas):

  • Ubicación y administrador

    <!-- location and admin are two arbitrary strings that are e.g. visible
         on the server info page of the icecast web interface
         (server_version.xsl). -->
    <location>Earth</location>
    <admin>localhost</admin>

Como se menciona en los comentarios sobre la ubicación y la configuración del administrador, esta es información que se muestra en la página de información del servidor de radio por Internet de la interfaz web de Icecast, es decir, solo con fines de visualización.

Esta sección no existe por defecto en Fedora en el archivo de configuración de Icecast (sin embargo, está en la parte superior del archivo de configuración en Debian/Ubuntu).

  • Autenticación

    <authentication>
        <!-- Sources log in with username 'source' -->
        <source-password>hackme</source-password>
        <!-- Relays log in with username 'relay' -->
        <relay-password>hackme</relay-password>
        <!-- Admin logs in with the username given below -->
        <admin-user>admin</admin-user>
        <admin-password>hackme</admin-password>
    </authentication>

Aquí, asegúrese de reemplazar el hackme predeterminado Contraseña con tu(s) propia(s) contraseña(s).

  • Nombre de host, puerto de conexión de escucha, dirección de enlace y transmisión

    <!-- 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. You MUST configure it properly for YP listings to work!
    -->
    <hostname>localhost</hostname>
    <!-- You may have multiple <listen-socket> elements -->
    <listen-socket>
        <port>8000</port>
        <!-- <bind-address>127.0.0.1</bind-address> -->
        <!-- <shoutcast-mount>/stream</shoutcast-mount> -->
    </listen-socket>
    <!--
    <listen-socket>
        <port>8080</port>
    </listen-socket>

Puede usar estos valores predeterminados, lo que significa que solo está transmitiendo en el host local y usando 8000 como puerto. En este caso, puede acceder a la página web del servidor Icecast 2 en su navegador web mediante https://localhost:8000 y la página de administración visitando https://localhost:8000/admin . Pero todavía no, porque en el siguiente paso tenemos que activar e iniciar (o reiniciar) el servicio Icecast2.

Sin embargo, es posible que desee cambiar algunas de estas configuraciones. Reemplace ese hostname Valor con el nombre de host/dominio o dirección IP utilizada para la transmisión. bind-address le permite limitar las direcciones en las que escucha Icecast; Si no se especifica una dirección de vinculación para un socket de escucha en particular (esta es la configuración predeterminada), el socket se vinculará a todas las interfaces (incluido IPv6, si está disponible). Muchos proyectos utilizan el puerto 8000 de forma predeterminada, por lo que es posible que ya esté en uso. En este caso deberías cambiar esto.

Hay muchas otras configuraciones en este archivo Icecast2, pero la configuración predeterminada debería ser suficiente en la mayoría de los casos.

3. Active e inicie el servidor Icecast2.

Active e inicie el servicio Icecast2 en Debian/Ubuntu:

sudo systemctl --now enable icecast2

Active e inicie el servicio Icecast en Fedora:

sudo systemctl --now enable icecast

Ahora puede acceder a la página web del servidor Icecast en su navegador web visitando https://localhost:8000 (esto usa la configuración predeterminada, es posible que haya cambiado esto) y la página de administración visitando https://localhost:8000/admin .

La página de estado y administración de Icecast2 (con la información del punto de montaje) después de activar la transmisión en vivo en Mixxx:

Además, debe reiniciar el servicio systemd de Icecast2 cada vez que realice cambios en su archivo de configuración. Esto es posible con:

  • Debian/Ubuntu:
sudo systemctl restart icecast2

  • Fedora:
sudo systemctl restart icecast

Consulte el estado del servicio Icecast con:

  • Debian/Ubuntu:
systemctl status icecast2

  • Fedora:
systemctl status icecast

4. Instala Mixxx.

Descarga Mixxx para Linux (paquetes fuente, Ubuntu y Fedora), Windows o macOS.

Instala Mixxx desde los repositorios:

  • En Debian/Ubuntu, Linux Mint, Pop! _OS, etc., puede instalar Mixxx desde los repositorios (y libmp3lame0 para admitir flujos de MP3):

sudo apt install mixxx libmp3lame0

También puede instalar una versión más reciente de Mixxx en Ubuntu o Linux Mint utilizando el PPA mencionado en la página de descarga de Mixxx.

  • Sobre Fedora:

Habilite el repositorio RPMFusion gratuito (no se requiere que no sea gratuito) si aún no lo ha hecho:

sudo dnf install https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm

E instale Mixxx y lame (para transmisión de MP3):

sudo dnf install mixxx lame

5. ¡Transmite en vivo con tu radio por Internet! Configure Mixxx para que la transmisión de audio se envíe al servidor de transmisión Icecast2.

Del Mixxx Options Menú inicio Preferences , luego cambia a Live Broadcasting Pestaña. Aquí, echa un vistazo Server connection y pon:

  • Tipo:Icecast2
  • Host:el nombre de host especificado en la configuración de Icecast2 (con "localhost" como predeterminado)
  • Iniciar sesión:fuente
  • Contraseña:la contraseña que ha establecido para el nombre de usuario "fuente" en el archivo de configuración de Icecast2 (en el área de autenticación).
  • Montar:/ corriente
  • Puerto:8000 (este es el puerto predeterminado, use su propio puerto personalizado si lo cambió)

Eso es todo lo que necesita configurar para que todo funcione. También puede cambiar la codificación (elegir una tasa de bits más alta para transmitir o cambiar el formato de MP3 a Ogg Vorbis), los metadatos (la información que aparece cuando una aplicación de música está reproduciendo su estación de radio por Internet) y habilitar "Transmisión pública", que pone su estación de radio por Internet en el directorio público de Icecast para que otros la descubran.

Cuando haya terminado con esta configuración, haga clic en Apply y cierra el Preferences Ventana.

Es hora de agregar música a Mixx. Haz doble clic en una canción para agregarla al deck 1, luego haz clic en el botón de reproducción de ese deck para comenzar a reproducir la canción:

Ahora puede comenzar a transmitir a través de Mixxx yendo a. caminar Options -> Enable Live Broadcasting . Su estación de radio por Internet estará en vivo. En la parte superior derecha de la ventana de Mixxx también hay un icono en el que puede hacer clic para habilitar/deshabilitar la transmisión en vivo. este símbolo también se usa para indicar el estado de la transmisión en vivo:

Use un reproductor de audio como VLC, Audacious, etc. y abra la URL de su radio por Internet:https://localhost:8000/stream.m3u o https://localhost:8000/stream.xspf (con localhost y 8000 es el nombre de host y el puerto predeterminados, ¡que puede haber cambiado en la configuración!). También puede encontrar estos enlaces visitando la página de estado del servidor Icecast2 en su navegador web:https://localhost:8000/status.xsl (reemplace de nuevo localhost:8000 con su nombre de host y puerto).

Extra (esto es opcional):desea enviar a Icecast con Mixxx, pero Mixxx debe permanecer en silencio en su sistema y solo sus oyentes de radio por Internet pueden escuchar el sonido (esto significa que no todos los sonidos de su sistema se reenvían a la transmisión de Icecast, entonces, ¿solo se reproduce la salida de sonido de Mixxx en la transmisión de Icecast)? Para hacer esto, puede ejecutar JACK con una salida ficticia. Instalar JACK:

  • Debian/Ubuntu:
sudo apt install jackd

  • Fedora:
sudo dnf install jack-audio-connection-kit

A continuación, ejecute JACK con un controlador de salida ficticio:

jackd -d dummy

Luego ve a Mixxx Preferences -> Sound Hardware y establece el Sound API Opción también JACK Audio Connection Kit (el Master La salida más abajo en esta página se puede establecer en None o system ). Si no ve JACK en las opciones de la API de sonido, reinicie Mixxx.


Debian
  1. Cómo proteger su servidor con badIPs.com y reportar IPs con Fail2ban en Debian

  2. Cómo usar APT con proxy en Ubuntu y Debian

  3. Cómo instalar Spamassassin con Postfix y Dovecot en Ubuntu/Debian Server

  4. Cómo instalar Virtualbox 4.3 en Ubuntu/Debian/Fedora

  5. Cómo crear y eliminar un usuario en Debian 9

Cómo hacer un arranque dual de Ubuntu y Fedora en tu PC

Cómo crear y ejecutar un script de Shell en Debian 10

Cómo mostrar la velocidad de Internet en Debian y Ubuntu Desktop

Cómo configurar ModSecurity con Nginx en Debian/Ubuntu

Cómo crear un usuario Sudo en Ubuntu y Debian

Cómo crear un comercio electrónico con Prestashop y Ubuntu 18.04