Comment configurer un serveur Icecast pour diffuser de l'audio sur mon réseau?

59

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

    
posée Takkat 28.02.2011 - 23:40
la source

1 réponse

68

Diffuser l’audio avec Icecast2

1. Installez Icecast2

2. Modifier la configuration d'Icecast2

Ouvrez le fichier /etc/icecast2/icecast.xml en tant que root 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é <source-password> ou <relay-password> , vous devez également le faire du côté source ou du côté relais. Cela signifie qu'il faut également le laisser 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 Ices ou Darkice.

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

<hostname>localhost</hostname>

Laissez-le comme localhost (inutile de donner une adresse IP résolue) lorsque vous souhaitez uniquement diffuser sur votre réseau local. Le port par défaut à écouter est 8000. Changez-le uniquement lorsque cela est nécessaire.

3. Modifier les valeurs par défaut

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

ENABLE=true

C'est tout pour Icecast2. Bien sûr, vous pouvez jouer avec beaucoup plus de réglages. Dans les fichiers de configuration, vous trouverez 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

Lorsque vous exécutez le serveur Icecast, vous pouvez l’administrer à partir de n’importe quel navigateur à http://localhost:8000/admin/ après avoir entré vos identifiants d’administrateur définis à l’étape 1. Une documentation supplémentaire est disponible sur Icecast.org .

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

Ices2 pour diffuser de l'audio OGG Vorbis depuis une carte son locale

Configurer pulseaudio pour permettre l’enregistrement à partir de la carte son, voir la note ci-dessous pour Darkice.

Créer des répertoires pour Ices2

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

Modifiez la configuration Ices2 .xml

Ices2 fonctionnera avec un fichier .xml pour les paramètres. Des exemples verbaux 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 partout, 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 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 à:

<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 de votre carte son seront démarré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

Configuration du récepteur

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

Terminer la diffusion en continu

Les flux se terminent en tuant Ices2 et / ou en arrêtant d’exécuter le serveur Icecast2:

killall ices2
/etc/init.d/icecast2 stop

Ices pour diffuser des 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 , 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 diffusion (exemple bien documenté dans /usr/share/doc/ices/examples ), nous pouvons diffuser des fichiers audio mp3 à partir de playlists (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 d'autres options, lisez la documentation dans la page de manuel assez élaborée de man ices .

Darkice pour la diffusion en direct

Nous pouvons diffuser la sortie de la carte son locale comme OGG Vorbis ou comme flux 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 pour Darkice dans pulseaudio. Cela est possible avec pavucontrol . Dans l'onglet Enregistrement , sélectionnez 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 nous pouvons alors 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 syntonisons http://<localhost>:8000/mystream.mp3 pour écouter. <localhost> est l'adresse IP du serveur Icecast.

    
réponse donnée Takkat 28.02.2011 - 23:51
la source

Lire d'autres questions sur les étiquettes