GNU/Linux >> Tutoriels Linux >  >> Debian

Comment créer votre propre station de radio Internet avec Icecast et Mixxx fonctionnant sur Ubuntu / Debian ou Fedora

Cet article explique comment créer votre propre station de radio Internet. Pour ce faire, nous utilisons les programmes open source Icecast et Mixxx, qui fonctionnent sur Fedora ou Debian, Ubuntu, Linux Mint, Pop ! _OS et autres distributions Linux basées sur Debian/Ubuntu.

Icecast (Icecast 2) est un serveur multimédia en streaming qui permet aux utilisateurs de diffuser notre station de radio Internet et Mixxx est une application de mixage DJ (que vous pouvez également utiliser comme un simple lecteur de musique dans ce cas si vous en avez besoin). nous utilisons pour envoyer le flux audio au serveur de streaming Icecast2 grâce à sa fonction de diffusion en direct.

Il convient de noter que vous pouvez utiliser Icecast2 et Mixxx sur n'importe quelle autre distribution Linux (ainsi que Windows et macOS) pour créer votre propre distribution Linux de station de radio Internet que vous utilisez, donc cet article se concentrera uniquement sur Fedora et Debian / Ubuntu.

Avant de commencer, laissez-moi vous en dire un peu plus sur Icecast et Mixxx.

Icecast est un serveur de streaming gratuit, open source et multiplateforme qui prend en charge les flux Ogg Vorbis et Theora, MP3, Opus et WebM, avec prise en charge de plusieurs flux audio simultanés (chaque flux est appelé « point de montage »). Le logiciel peut être utilisé pour créer une station de radio Internet publique, diffusée en privé sur le réseau local, et bien plus encore. Il existe plusieurs types de clients qui peuvent se connecter à un serveur Icecast, soit pour fournir un "point de montage" pour diffuser de la musique, comme :B. Mixxx, soit pour entendre l'audio transmis.

Mixxx est un logiciel DJ gratuit et open source pour Windows, Mac et Linux qui inclut la plupart des fonctionnalités trouvées dans le logiciel DJS, ainsi que des fonctionnalités uniques telles que la prise en charge des contrôleurs DJ MIDI et HID avancés. Il a été développé pour les DJ professionnels et amateurs et offre, parmi de nombreuses autres fonctions, le BPM, la détection et la synchronisation des touches, les effets, le contrôle des disques vinyle, l'auto DJ et l'enregistrement. À partir de la version 1.9, Mixxx permet les diffusions en direct et prend en charge les serveurs de streaming Shoutcast et Icecast.

Installez et configurez Icecast et Mixxx pour créer votre propre station de radio Internet

1. Installez Icecast.

Icecast peut être installé sur un serveur séparé ou sur le même ordinateur que Mixxx exécute pour la diffusion.

Téléchargez Icecast pour Linux / Unix et Windows.

Installez Icecast2 depuis les dépôts :

  • Installez Icecast2 sur Debian, Ubuntu, Linux Mint, Pop ! _OS et autres distributions Linux basées sur Debian/Ubuntu :

sudo apt install icecast2

Lors de l'installation d'Icecast2 sur Debian ou Ubuntu, certaines options de configuration sont présentées (ce n'est pas le cas avec Fedora) :

Remplacez le mot de passe prédéfini par votre propre mot de passe. Si vous avez ignoré la configuration initiale, vous pouvez la relancer en utilisant sudo dpkg-reconfigure icecast2 . Vous pouvez également modifier ces paramètres initiaux et plus encore en modifiant le fichier de configuration Icecast2 (nous y reviendrons à l'étape suivante).

  • Installez Icecast sur Fedora :
sudo dnf install icecast

2. Configurez Icecast.

Le chemin du fichier de configuration Icecast sur Debian/Ubuntu (installé par un gestionnaire de paquets) est /etc/icecast2/icecast.xml pendant qu'il est sur fedora /etc/icecast.xml . Vous pouvez modifier ce fichier pour modifier les informations de la station de radio Internet Icecast2, définir des restrictions (limiter le nombre de clients/auditeurs), modifier le mot de passe des utilisateurs source, relais et administrateur, etc.

Sur Debian/Ubuntu, la configuration initiale d'Icecast2 qui apparaît lors de la première installation d'Icecast2 devrait reprendre l'essentiel de cette configuration. Vous pouvez toujours modifier le fichier de configuration Icecast2.

Ouvrez ce fichier de configuration Icecast en tant que root avec un éditeur de texte comme Nano dans l'exemple ci-dessous (utilisez Ctrl + O , puis Enter enregistrer le fichier avec nano ; Pour quitter l'éditeur nano après avoir enregistré le fichier, appuyez sur Ctrl + X ):

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

  • Fedora :
sudo nano /etc/icecast.xml

Dans ce fichier, vous pouvez (entre autres) :

  • Emplacement et administrateur

    <!-- 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>

Comme mentionné dans les commentaires sur les paramètres de localisation et d'administrateur, il s'agit d'informations qui sont affichées sur la page d'informations du serveur de radio Internet de l'interface Web Icecast, c'est-à-dire à des fins d'affichage uniquement.

Cette section n'existe pas par défaut sur Fedora dans le fichier de configuration Icecast (elle est cependant en haut du fichier de configuration sous Debian/Ubuntu).

  • Authentification

    <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>

Ici, assurez-vous de remplacer le hackme par défaut Mot de passe avec votre ou vos propres mots de passe.

  • Nom d'hôte, port de socket d'écoute, adresse de liaison et flux

    <!-- 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>

Vous pouvez utiliser ces valeurs par défaut, ce qui signifie que vous diffusez uniquement sur l'hôte local et que vous utilisez 8000 comme port. Dans ce cas, vous pouvez accéder à la page Web du serveur Icecast 2 dans votre navigateur Web par https://localhost:8000 , et la page d'administration en visitant https://localhost:8000/admin . Mais pas encore, car à l'étape suivante, nous devons activer et démarrer (ou redémarrer) le service Icecast2.

Cependant, vous souhaiterez peut-être modifier certains de ces paramètres. Remplacez ce hostname Valeur avec le nom d'hôte/domaine ou l'adresse IP utilisée pour le flux. bind-address permet de limiter les adresses sur lesquelles Icecast écoute; Si une adresse de liaison n'est pas spécifiée pour un socket d'écoute particulier (il s'agit de la configuration par défaut), le socket sera lié à toutes les interfaces (y compris IPv6, si disponible). Le port 8000 est utilisé par défaut par de nombreux projets, il est donc peut-être déjà utilisé. Dans ce cas, vous devriez changer cela.

Il existe de nombreux autres paramètres dans ce fichier Icecast2, mais les paramètres par défaut devraient être suffisants dans la plupart des cas.

3. Activez et démarrez le serveur Icecast2.

Activer et démarrer le service Icecast2 sous Debian/Ubuntu :

sudo systemctl --now enable icecast2

Activez et démarrez le service Icecast sur Fedora :

sudo systemctl --now enable icecast

Vous pouvez maintenant accéder à la page Web du serveur Icecast dans votre navigateur Web en visitant https://localhost:8000 (cela utilise les paramètres par défaut, vous avez peut-être changé cela) et la page d'administration en visitant https://localhost:8000/admin .

La page d'état et d'administration d'Icecast2 (avec les informations sur le point de montage) après l'activation de la diffusion en direct dans Mixxx :

De plus, vous devez redémarrer le service systemd Icecast2 chaque fois que vous apportez des modifications à son fichier de configuration. C'est possible avec :

  • Debian/Ubuntu :
sudo systemctl restart icecast2

  • Fedora :
sudo systemctl restart icecast

Vérifiez l'état du service Icecast avec :

  • Debian/Ubuntu :
systemctl status icecast2

  • Fedora :
systemctl status icecast

4. Installez Mixxx.

Téléchargez Mixxx pour Linux (packages source, Ubuntu et Fedora), Windows ou macOS.

Installez Mixxx à partir des dépôts :

  • Sur Debian/Ubuntu, Linux Mint, Pop ! _OS etc., vous pouvez installer Mixxx à partir des référentiels (et libmp3lame0 pour prendre en charge les flux MP3) :

sudo apt install mixxx libmp3lame0

Vous pouvez également installer une version plus récente de Mixxx sur Ubuntu ou Linux Mint en utilisant le PPA mentionné sur la page de téléchargement de Mixxx.

  • Sur Fedora :

Activez le dépôt RPM Fusion gratuit (non libre n'est pas obligatoire) si vous ne l'avez pas déjà fait :

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

Et installez Mixxx et lame (pour le streaming MP3):

sudo dnf install mixxx lame

5. Passez en direct avec votre radio internet ! Configurez Mixxx pour que le flux audio soit envoyé au serveur de streaming Icecast2.

Du Mixxx Options Début du menu Preferences , puis passez à Live Broadcasting Languette. Tiens, regarde Server connection et mettre :

  • Type :Icecast2
  • Hôte :le nom d'hôte spécifié dans les paramètres Icecast2 (avec "localhost" par défaut)
  • Connexion :source
  • Mot de passe :le mot de passe que vous avez défini pour le nom d'utilisateur "source" dans le fichier de configuration Icecast2 (dans la zone d'authentification).
  • Monter :/ flux
  • Port :8000 (il s'agit du port par défaut, utilisez votre propre port personnalisé si vous l'avez modifié)

C'est tout ce que vous devez mettre en place pour que les choses fonctionnent. Vous pouvez également modifier l'encodage (choisir un débit binaire plus élevé pour diffuser ou changer le format de MP3 à Ogg Vorbis), les métadonnées (les informations qui apparaissent lorsqu'une application musicale lit votre station de radio Internet) et activer "Public Stream", qui met votre station de radio Internet dans le répertoire public Icecast pour que les autres puissent la découvrir.

Lorsque vous avez terminé avec ces paramètres, cliquez sur Apply et fermez le Preferences Fenêtre.

Il est temps d'ajouter de la musique à Mixx. Double-cliquez sur une chanson pour l'ajouter à la platine 1, puis cliquez sur le bouton de lecture de cette platine pour commencer à jouer la chanson :

Vous pouvez maintenant commencer à diffuser via Mixxx en allant sur. marcher Options -> Enable Live Broadcasting . Votre station de radio Internet sera alors en direct. En haut à droite de la fenêtre Mixxx, il y a aussi une icône sur laquelle vous pouvez cliquer pour activer/désactiver la diffusion en direct. ce symbole est également utilisé pour indiquer l'état de la diffusion en direct :

Utilisez un lecteur audio comme VLC, Audacious etc et ouvrez l'url de votre radio internet :https://localhost:8000/stream.m3u ou https://localhost:8000/stream.xspf (avec localhost et 8000 est le nom d'hôte et le port par défaut, que vous avez peut-être modifiés dans les paramètres !). Vous pouvez également trouver ces liens en visitant la page d'état de votre serveur Icecast2 dans votre navigateur Web :https://localhost:8000/status.xsl (remplacer à nouveau localhost:8000 avec votre nom d'hôte et votre port).

Extra (ceci est facultatif) :vous souhaitez envoyer à Icecast avec Mixxx, mais Mixxx doit rester muet sur votre système et seuls vos auditeurs de radio Internet peuvent entendre le son (cela signifie que tous les sons de votre système ne sont pas transmis à le flux Icecast, seul le son de Mixxx est-il lu sur le flux Icecast) ? Pour ce faire, vous pouvez exécuter JACK avec une sortie fictive. Installer JACK :

  • Debian/Ubuntu :
sudo apt install jackd

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

Ensuite, exécutez JACK avec un pilote de sortie factice :

jackd -d dummy

Allez ensuite à Mixxx Preferences -> Sound Hardware , et définissez le Sound API Option aussi JACK Audio Connection Kit (le Master La sortie plus bas sur cette page peut être définie sur None ou system ). Si vous ne voyez pas JACK dans les options de l'API Sound, redémarrez Mixxx.


Debian
  1. Comment protéger votre serveur avec badIPs.com et signaler les IP avec Fail2ban sur Debian

  2. Comment utiliser APT avec Proxy sur Ubuntu et Debian

  3. Comment installer Spamassassin avec Postfix et Dovecot sur Ubuntu/Debian Server

  4. Comment installer Virtualbox 4.3 sur Ubuntu / Debian / Fedora

  5. Comment démarrer en mode console (texte) avec Debian / Ubuntu, Fedora, Arch Linux / Manjaro et plus

Comment double-boot Ubuntu et Fedora sur votre PC

Comment créer et exécuter un script shell dans Debian 10

Comment afficher la vitesse Internet sur Debian et Ubuntu Desktop

Comment configurer ModSecurity avec Nginx sur Debian/Ubuntu

Comment créer un utilisateur Sudo sur Ubuntu et Debian

Comment créer un e-commerce avec Prestashop et Ubuntu 18.04