70 votes

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

La diffusion de la sortie de la carte son en tant que flux radio Internet est un moyen fiable de diffuser de l'audio dans un réseau. Cela peut très bien être utilisé pour, par exemple, transmettre de l'audio 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 simple, étape par étape, sur la façon de le mettre en place.

80voto

Takkat Points 135194

Diffusion audio avec Icecast2


1. Installez Icecast2 Install icecast2


2. Modifier la configuration d'Icecast2

Ouvrir le fichier /etc/icecast2/icecast.xml comme racine dans un éditeur. Pour des raisons de sécurité, vous devriez configurer des mots de passe dans la section <authentication> section :

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

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

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

<hostname>localhost</hostname>

Laissez-le tel quel localhost (il n'est pas nécessaire d'indiquer une adresse IP résolue à cet endroit) lorsque vous souhaitez uniquement diffuser sur votre réseau local. Le port d'écoute par défaut est 8000. Ne le modifiez que si nécessaire.


3. Modifier les valeurs par défaut

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

ENABLE=true

C'est tout pour Icecast2. Bien sûr, il existe de nombreux autres paramètres avec lesquels vous pouvez jouer. Dans les fichiers de configuration, il y a 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 son fonctionnement, le serveur Icecast peut être administré à partir de n'importe quel navigateur à l'adresse suivante http://localhost:8000/admin/ après avoir saisi vos identifiants d'administrateur définis à l'étape 1. De la documentation supplémentaire est disponible sur le site Icecast.org .

Stream2ip est un frontal graphique permettant de démarrer et d'arrêter rapidement des flux lorsqu'une configuration de base pour Ices2, Ices ou Darkice a déjà été effectuée.


Ices2 Install ices2 pour le streaming audio OGG Vorbis à partir d'une carte son locale

Pour configurer pulseaudio afin de permettre l'enregistrement à partir de la carte son, voir la note pour Darkice ci-dessous.

Créer des répertoires pour Ices2

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

Modifier la configuration Ices2 .xml

Ices2 fonctionnera en utilisant un fichier .xml pour les paramètres. De nombreux exemples de configurations peuvent être trouvés 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ù, de préférence dans votre répertoire personnel. En fonction du fichier de configuration, Ices2 utilise une liste de lecture en Ogg Vorbis format ( ices-playlist.xml ) ou la sortie de votre carte son ( ices-alsa.xml ) comme source de streaming pour Icecast2.

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

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

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

<mount>/example1.ogg</mount>

Démarrer le streaming

Les flux provenant de votre carte son seront lancés en exécutant d'abord le serveur Icecast2, puis en exécutant 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

Récepteur de configuration

Du côté du récepteur, votre "station" radio s'allume : <serverIP>:8000/example1.ogg<serverIP> est l'IP de votre serveur de streaming suivie du port que vous avez défini dans le fichier icecast.xml (par défaut 8000).

Terminer la diffusion en continu

Les flux sont terminés en tuant Ices2 et/ou en arrêtant de faire tourner le serveur Icecast2 :

killall ices2
/etc/init.d/icecast2 stop

Glaces pour la diffusion de listes de lecture mp3

Diffusion d'une liste de lecture contenant fichiers mp3 ne peut pas être fait avec Ices2. Nous devons installer IceS que nous devons installer à partir de la source .

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

/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 assez élaborée de man ices .


Darkice Install darkice pour le streaming en direct

Nous pouvons diffuser la sortie de la carte son locale en tant que flux OGG Vorbis ou en tant que flux mp3 en utilisant Darkice . Pour permettre le streaming de la carte son locale, nous devons d'abord définir le périphérique d'enregistrement pour Darkice dans pulseaudio. Ceci peut être fait avec pavucontrol Install pavucontrol . Dans le Enregistrement onglet choisir Monitor of <your soundcard> pour le "Plug-in ALSA [darkice]" .

Le fichier de configuration (exemple bien documenté donné dans /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 enregistré cette configuration (par exemple dans ~/music/darkice.cfg ), nous lançons d'abord le serveur Icecast et sommes ensuite en mesure de diffuser la sortie pulseaudio à partir de la carte son locale en invoquant :

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

Sur le récepteur, nous syntonisons http://<localhost>:8000/mystream.mp3 pour l'écoute. <localhost> est l'adresse IP du serveur Icecast.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X