Diffusion audio avec Icecast2
2. Modifier la configuration d'Icecast2
Ouvrez le fichier en /etc/icecast2/icecast.xml
tant 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/icecast2
fichier 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 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
où <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 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 . 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.mp3
pour écouter. <localhost>
est l'adresse IP du serveur Icecast.