web-dev-qa-db-fra.com

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

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. Ceci peut très bien être utilisé pour, par exemple, transmettre le son d’un réseau local sans fil à un autre ordinateur ou à tout autre appareil capable de lire des flux radio Internet.

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

63
Takkat

Diffusion audio avec Icecast2


1. Installez Icecast2Install icecast2


2. Modifier la configuration d'Icecast2

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

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

Si vous avez modifié le <source-password> ou le <relay-password>, vous devez également le faire du côté source ou côté relais. 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 que localhost (inutile de donner une adresse IP résolue là-bas) lorsque vous ne souhaitez diffuser que 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 fichier /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 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

Lors de l’exécution du serveur Icecast, vous pouvez utiliser un navigateur à 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 complémentaire est disponible à partir de 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.


Ices2Install ices2 pour le streaming audio OGG Vorbis depuis 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.  

Editez 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) en tant que source de diffusion en continu pour Icecast2.

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

Du côté du récepteur, votre radio "station" syntonise: <serverIP>:8000/example1.ogg<serverIP> est l’adresse IP de votre serveur de diffusion en continu suivi 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 listes de lecture mp3

La diffusion d'une liste de lecture contenant des fichiers mp3 ne peut pas être effectuée avec Ices2. Nous devons installer IceS , ce 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 (un exemple bien documenté se trouve 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 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.


DarkiceInstall darkice pour le streaming 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 pavucontrolInstall pavucontrol . Dans l'onglet Enregistrement , choisissez 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 exécutons d’abord le serveur Icecast et pouvons ensuite diffuser en sortie une sortie pulseaudio de la carte son locale en appelant:

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

75
Takkat