Comment configurer un serveur Icecast pour la diffusion audio sur mon réseau?

63

La diffusion de la sortie de la carte son sous forme de flux de radio Internet est un moyen fiable de diffuser de l’audio sur un réseau. Cela peut très bien être utilisé, par exemple, pour transmettre du son dans un réseau local sans fil à un autre ordinateur ou à tout autre appareil capable de lire des flux de radio Internet.

Cependant, je n'ai pas trouvé de guide étape par étape sur la manière de le configurer.

Takkat
la source

Réponses:

75

Diffusion audio avec Icecast2


1. Installez Icecast2 Installez icecast2


2. Modifier la configuration d'Icecast2

Ouvrez le fichier en /etc/icecast2/icecast.xmltant que root dans un éditeur. Pour des raisons de sécurité, vous devez configurer les mots de passe dans la <authentication>section:

<admin-user>admin</admin-user>
<admin-password>hackme</admin-password> 

Si vous avez modifié le <source-password>ou <relay-password>vous devez le faire du côté source ou relais également. Cela signifie que vous devez également conserver les valeurs par défaut ou les modifier dans le fichier ices2.xml (voir ci-dessous). La même chose devra être faite dans les fichiers de configuration Ices ou Darkice.

Vous devez également définir le nom d’hôte où votre flux peut être atteint:

<hostname>localhost</hostname>

Laissez-le en tant qu’hôte local (inutile de lui donner une adresse IP résolue) lorsque vous souhaitez uniquement diffuser en streaming sur votre réseau local. Le port par défaut à écouter est 8000. Ne le modifiez que si nécessaire.


3. Modifier les valeurs par défaut

Ouvrez le /etc/default/icecast2fichier en tant que root dans un éditeur. La dernière ligne doit être changée en

ENABLE=true

C'est tout pour Icecast2. Bien sûr, il y a beaucoup plus de paramètres avec lesquels vous pouvez jouer. Les fichiers de configuration contiennent des notes explicatives sur les paramètres.

4. Démarrer / Arrêter Icecast

Le serveur est démarré et arrêté par les commandes suivantes:

/etc/init.d/icecast2 start
/etc/init.d/icecast2 stop

Pendant l’exécution du serveur Icecast, vous pouvez l’administrer à partir de n’importe quel navigateur http://localhost:8000/admin/après avoir saisi vos identifiants d’administrateur définis à l’étape 1. Une documentation plus détaillée est disponible sur Icecast.org .

Stream2ip est une interface graphique permettant de démarrer et d’arrêter rapidement les flux pour lesquels une configuration de base pour Ices2, Ices ou Darkice a déjà été effectuée.


Ices2 Installer des glaces2 pour le streaming audio OGG Vorbis à partir d'une carte son locale

Pour configurer pulseaudio afin de permettre l’enregistrement depuis la carte son, voir la note concernant Darkice ci-dessous.

Faire des répertoires pour Ices2

mkdir /var/log/ices   # in case you need logfiles.  
mkdir /etc/ices2      # for putting ices stuff in.  

Éditez la configuration Ices2 .xml

Ices2 s'exécutera à l'aide d'un fichier .xml pour les paramètres. Vous trouverez des exemples détaillés de configurations dans /usr/share/doc/ices2/examples/. Ces fichiers doivent être modifiés pour répondre à vos besoins et peuvent être copiés n’importe où, au mieux dans votre répertoire personnel. Selon le fichier de configuration, Ices2 utilise une liste de lecture au format Ogg Vorbis ( ices-playlist.xml) ou la sortie de votre carte son ( ices-alsa.xml) comme source de diffusion en continu pour Icecast2.

Dans cette section, <input>vous devrez peut-être remplacer le périphérique si vous avez configuré votre système audio sur PulseAudio. Pour ce faire, éditez la ligne correspondante en:

<param name="device">pulse</param>

Le nom du flux pour le client destinataire est défini dans la section suivante.

<mount>/example1.ogg</mount>

Commencer le streaming

Les flux de votre carte son seront démarrés en exécutant d’abord le serveur Icecast2, puis Ices2 à l’aide des commandes suivantes:

/etc/init.d/icecast2 start
ices2 /home/user/somewhere/ices-pulse.xml # or any other name from .xml file

Configuration du récepteur

Côté récepteur, votre radio "station" se syntonise: <serverIP>:8000/example1.ogg<serverIP>est l’adresse IP de votre serveur de diffusion en continu suivie du port que vous avez défini dans le fichier icecast.xml (8000 par défaut).

Mettre fin à la diffusion en continu

Les flux se terminent en tuant Ices2 et / ou en arrêtant l’exécution du serveur Icecast2:

killall ices2
/etc/init.d/icecast2 stop

Ices pour la diffusion de playlists mp3

La diffusion d'une liste de lecture contenant des fichiers mp3 ne peut pas être réalisée avec Ices2. Nous devons installer IceS , que nous devons installer à partir de la source .

Après avoir configuré le fichier de configuration avec l'adresse du serveur, le mot de passe et les propriétés de transmission en continu (un exemple bien documenté se trouve dans /usr/share/doc/ices/examples), nous pouvons diffuser des fichiers audio mp3 à partir de listes de lecture (au format .m3u, par exemple) sur un serveur Icecast2 en:

/etc/init.d/icecast2 start
ices -c <path_to_config_file> -F <path_to_playlist>

Pour plus d’options, lisez la documentation dans la page de manuel très élaborée de man ices.


Darkice Installer darkice pour la diffusion en direct

Nous pouvons diffuser la sortie de la carte son locale au format OGG Vorbis ou au format MP3 en utilisant Darkice . Pour activer la diffusion en continu de la carte son locale, il peut être nécessaire de définir d’abord le périphérique d’enregistrement de Darkice en pulseaudio. Cela peut être fait avec pavucontrol Installer pavucontrol . Dans l' enregistrement onglet choisissez Monitor of <your soundcard>le "plug-in ALSA [darkice]" .

Le fichier de configuration (exemple bien documenté donné ci-dessus /usr/share/doc/darkice/examples) doit être adapté au serveur Icecast et à l'environnement sonore local:

[general]
duration        = 0      # duration in s, 0 forever
bufferSecs      = 1      # buffer, in seconds
reconnect       = yes    # reconnect if disconnected

[input]
device          = default # or `pulse' for Pulseaudio
sampleRate      = 44100   # sample rate 11025, 22050 or 44100
bitsPerSample   = 16      # bits
channel         = 2       # 2 = stereo

[icecast2-0]
bitrateMode     = vbr       # variable bit rate (`cbr' constant, `abr' average)
quality         = 1.0       # 1.0 is best quality
format          = mp3       # format. Choose `vorbis' for OGG Vorbis
bitrate         = 256       # bitrate
server          = localhost # or IP
port            = 8000      # port for IceCast2 access
password        = hackme    # source password to the IceCast2 server
mountPoint      = mystream.mp3  # mount point on the IceCast2 server .mp3 or .ogg
name            = mystream

Après avoir sauvegardé cette configuration (par exemple, in ~/music/darkice.cfg), nous exécutons d’abord le serveur Icecast et pouvons ensuite diffuser la sortie pulseaudio de la carte son locale en appelant:

/etc/init.d/icecast2 start
darkice -c ~/music/darkice.cfg

Sur le récepteur, nous nous réglons http://<localhost>:8000/mystream.mp3pour écouter. <localhost>est l'adresse IP du serveur Icecast.

Takkat
la source
3
En ce qui concerne la partie "Laissez-le en tant qu’hôte local lorsque vous ne souhaitez diffuser que sur votre réseau local", n’est-il pas nécessaire que ce soit une adresse IP accessible par le réseau ou une interface pour que les autres utilisateurs puissent se connecter?
Oli
L'utilisateur et le mot de passe administrateur sont-ils liés à l'utilisateur / au mot de passe de l'ordinateur?
Charbel
1
@Charbel: non, ils ne sont pas liés. Choisissez n'importe quel mot de passe que vous aimez. Par exemple, vous en avez besoin pour accéder à l'interface Web d'administration icecast ( localhost: 8000 / admin ).
Takkat
C'est une excellente réponse, merci. Dans de nombreux tutoriels, je vois icecast et mpd mentionnés ensemble, travaillant ensemble. Je ne comprends pas la relation entre icecast et mpd - seriez-vous en mesure de clarifier? Quel est le rôle de chacun?
CoolUserName
1
Notez que les mots de passe Icecast2 sont stockés (et utilisés dans Darkice) en texte clair. Ne réutilisez pas vos mots de passe très secrets ici.
Elomage