Diffusion audio avec 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 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
où <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 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 . 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.