« Icecast playback & direct Bullseye » : différence entre les versions

Aller à la navigation Aller à la recherche
aucun résumé des modifications
Aucun résumé des modifications
Aucun résumé des modifications
 
(14 versions intermédiaires par le même utilisateur non affichées)
Ligne 6 : Ligne 6 :
=Introduction=
=Introduction=
Vous savez sûrement déjà en arrivant sur cette page qu'Icecast est un logiciel libre inspiré de Shoutcast servant à faire une web radio. Icecast ne fonctionne pas tout seul: il a besoin de sources qui lui fournissent un flux audio. Le serveur Icecast sert à distribuer ce flux aux auditeurs.  
Vous savez sûrement déjà en arrivant sur cette page qu'Icecast est un logiciel libre inspiré de Shoutcast servant à faire une web radio. Icecast ne fonctionne pas tout seul: il a besoin de sources qui lui fournissent un flux audio. Le serveur Icecast sert à distribuer ce flux aux auditeurs.  
[[file:https://www.icecast.org/docs/icecast-trunk/img/Icecast_shema.svg]]
 
Icecast supporte de nombreuses sources aux fonctionnalités différentes selon ses besoins.  
Icecast supporte de nombreuses sources aux fonctionnalités différentes selon ses besoins.  
{| class="wikitable"
{| class="wikitable"
|-
|-
Ligne 89 : Ligne 89 :
Là on lance la commande "configure" qui permet de préparer la compilation et de produire le fichier "make". On utilise deux options de configuration :
Là on lance la commande "configure" qui permet de préparer la compilation et de produire le fichier "make". On utilise deux options de configuration :
*--with-pic qui permet au code compilé d'être indépendant de sa position (Position Independent Code)
*--with-pic qui permet au code compilé d'être indépendant de sa position (Position Independent Code)
*--withe-lame qui permet d'avoir disponible l'option de réencodage à la volée
*--with-lame qui permet d'avoir disponible l'option de réencodage à la volée


<code>
<code>
sudo ./configure --prefix=/usr/local --with-pic –with-lame
sudo ./configure --prefix=/usr/local --with-pic –-with-lame
</code>
</code>
(Pour un raspberry il faut ajouter l'option "--build=aarch64-unknown-linux-gnu".)


puis on lance make
puis on lance make
Ligne 109 : Ligne 110 :
Maintenant nous allons copier le dossier de configuration:
Maintenant nous allons copier le dossier de configuration:


<code>
<pre>
mkdir /etc/ices
sudo mkdir /etc/ices
cp /usr/local/etc/ices.conf.dist /etc/ices/ices.conf
sudo cp /usr/local/etc/ices.conf.dist /etc/ices/ices.conf
</code>
</pre>


= Paramétrage de icecast2 =
= Paramétrage de icecast2 =
Ligne 157 : Ligne 158 :


<code>
<code>
sudo systemctl restart iceacast2.service
sudo systemctl restart icecast2.service
</code>
</code>


Ligne 219 : Ligne 220 :


<code>
<code>
Sudo cp ices.conf ices.petitchat.conf
sudo cp ices.conf ices.petitchat.conf
</code>
</code>


Ligne 369 : Ligne 370 :
La première ligne devra être
La première ligne devra être


<code>
<pre>
#!/bin/sh
#!/bin/sh
</code>
</pre>


Pour signifier un script, puis
Pour signifier un script, puis
Ligne 402 : Ligne 403 :
On sauvegarde et on quitte avant d'essayer notre webradio.  
On sauvegarde et on quitte avant d'essayer notre webradio.  


== Lancer la source ==
== Lancer la source ==
Se placer dans le dossier « /webradio/petitchat/ » puis
Se placer dans le dossier « /webradio/petitchat/ » puis


Ligne 708 : Ligne 709 :


=Synchroniser la lecture de deux clients=
=Synchroniser la lecture de deux clients=
Icecast, grâce à l'option <burst-size>, permet à des clients présents physiquement au même endroit de lire la même source de façon synchronisé. Exemple : un client lit le flux dans le salon, un autre client lit le flux dans la cuisine, icecast permet de synchroniser les deux, l'écoute du flux est ainsi continue d'une pièce à l'autre.  
Icecast, grâce à l'option <burst-size>, permet à des clients présents physiquement au même endroit de lire la même source de façon synchronisé. Exemple : un client lit le flux dans le salon, un autre client lit le flux dans la cuisine, icecast permet de synchroniser les deux, l'écoute du flux est ainsi continue d'une pièce à l'autre.  
On ne peut pas le faire avec VLC. Lorsqu'on se connecte à un flux émis par VLC et sans l'option <burst-size>, la mémoire tampon du lecteur client met quelques secondes à se charger et ce délais empêche de synchroniser des clients. Au contraire, lorsqu'on se connecte dans un même réseau local physique à un flux Icecast configuré avec l'option <burst-size>, la lecture est quasiment instantanée : au bout de quelques essais de connexion on arrive à une synchronisation correcte.  
On ne peut pas le faire avec VLC. Lorsqu'on se connecte à un flux émis par VLC et sans l'option <burst-size>, la mémoire tampon du lecteur client met quelques secondes à se charger et ce délais empêche de synchroniser des clients. Au contraire, lorsqu'on se connecte dans un même réseau local physique à un flux Icecast configuré avec l'option <burst-size>, la lecture est quasiment instantanée : au bout de quelques essais de connexion on arrive à une synchronisation correcte.  
Dans Icecast l'option <burst-size> est activée par défaut, réglée sur 64 Ko. Il n'est normalement pas nécessaire de changer cette valeur. Dans la section <limits> il y a cette ligne :
Dans Icecast l'option <burst-size> est activée par défaut, réglée sur 64 Ko. Il n'est normalement pas nécessaire de changer cette valeur. Dans la section <limits> il y a cette ligne :


<code>
<code>
<burst-size>65535</burst-size>
<burst-size>65535</burst-size>
<code>
</code>
 
qui indique le fonctionnement par défaut des différents points de montage. Si l'option est à nouveau spécifiée dans la section de configuration du point de montage alors la cette nouvelle valeur se superpose à la valeur par défaut et la remplace. D'autre part, on trouve dans le fichier icecast.xml l'option  <burst-on-connect>, cette option n'est plus utilisée, on peut la laisser. Elle permettait simplement d'activer ou nom l'option « burst ».  
qui indique le fonctionnement par défaut des différents points de montage. Si l'option est à nouveau spécifiée dans la section de configuration du point de montage alors la cette nouvelle valeur se superpose à la valeur par défaut et la remplace. D'autre part, on trouve dans le fichier icecast.xml l'option  <burst-on-connect>, cette option n'est plus utilisée, on peut la laisser. Elle permettait simplement d'activer ou nom l'option « burst ».  


Ligne 733 : Ligne 735 :


<code>
<code>
sudo nano /etc/icecast.xml
sudo nano /etc//icecast/icecast.xml
</code>
</code>


Ligne 787 : Ligne 789 :
*Choisir Option/Préférences (Ctrl+P)
*Choisir Option/Préférences (Ctrl+P)
* La première section s'appelle « Sound  Hardware ». Dans cette section, il faut trouver le champs « Output/Master » et le régler sur « --- » (pas de sortie audio)
* La première section s'appelle « Sound  Hardware ». Dans cette section, il faut trouver le champs « Output/Master » et le régler sur « --- » (pas de sortie audio)
<screen1>
 
 
[[Fichier:Paramétrage du materiel audio.jpg|700px|center|Capture d'écran de la page des préférences permettant de paramétrer le materiel audio en entrée et en sortie.]]
 
 
Dans un second temps nous configurons la diffusion du flux vers le serveur Icecast.
Dans un second temps nous configurons la diffusion du flux vers le serveur Icecast.
*Choisir dans le menu de gauche la section « Diffusion en direct »
*Choisir dans le menu de gauche la section « Diffusion en direct »
Ligne 799 : Ligne 805 :
Le menu contient d'autres paramètres réglables, il sera possible d'y revenir plus tard.  
Le menu contient d'autres paramètres réglables, il sera possible d'y revenir plus tard.  
*On valide en cliquant sur « Appliquer » puis « OK »
*On valide en cliquant sur « Appliquer » puis « OK »
<screen2>
 
 
[[Fichier:Paramétrage du direct.jpg|700px|center|Capture d'écran de la page des préférences où l'on trouve les paramètres de la diffusion de flux audio.]]
 
 
Remarques :
Remarques :
*Le logiciel ne consomme que peu de ressources CPU sauf lorsqu'il charge un morceau, on enregistre alors un petit pic d'activité. Coté mémoire le logiciel prend plus ou moins 600 Mo  
*Le logiciel ne consomme que peu de ressources CPU sauf lorsqu'il charge un morceau, on enregistre alors un petit pic d'activité. Coté mémoire le logiciel prend plus ou moins 600 Mo  
Ligne 812 : Ligne 822 :


Procédons maintenant à une première diffusion en direct :
Procédons maintenant à une première diffusion en direct :
[[Fichier:Interface de Mixx.jpg|700px|center|Capture d'écran de l'interface principale de Mixxx. En haut à gauche le voyant vert "On Air" témoigne qu'on diffuse en direct. Une musique est chargée dans la platine 1. Le menu contextuel montre comment charger un fichier son dans une platine.]]
*Pour passer en ligne, cliquer sur « On Air » dans la barre de menu à droite. A ce moment Mixxx tente une connexion au serveur Icecast. Si la connexion a lieu, alors le voyant passe au vert. A ce moment on peut vérifier en se rendant sur la page web d'administration d'Icecast que le point de montage « direct » a bien été créé.  
*Pour passer en ligne, cliquer sur « On Air » dans la barre de menu à droite. A ce moment Mixxx tente une connexion au serveur Icecast. Si la connexion a lieu, alors le voyant passe au vert. A ce moment on peut vérifier en se rendant sur la page web d'administration d'Icecast que le point de montage « direct » a bien été créé.  
*On peut donc à ce moment se connecter avec notre logiciel client à l'url http:/192.168.1.2:8000/direct. On peut entendre le silence que l'on diffuse ! Mais une chanson serai bien aussi.
*On peut donc à ce moment se connecter avec notre logiciel client à l'url http:/192.168.1.2:8000/direct. On peut entendre le silence que l'on diffuse ! Mais une chanson serai bien aussi.
Ligne 820 : Ligne 835 :
=Conclusion=
=Conclusion=
C'est dommage que dans VLC la diffusion vers un serveur Icecast ne fonctionne pas, cela aurait été plus simple. Maintenant que nous avons Mixxx d'installé et configuré, il reste à apprendre à l'utiliser. A l'usage ça va vite. Il faut définir ou importer des playlists et utiliser l'Auto-DJ. Si l'on souhaite synchroniser plusieurs clients dans le réseau local il faut relancer la lecture une fois ou deux sur chaque client.
C'est dommage que dans VLC la diffusion vers un serveur Icecast ne fonctionne pas, cela aurait été plus simple. Maintenant que nous avons Mixxx d'installé et configuré, il reste à apprendre à l'utiliser. A l'usage ça va vite. Il faut définir ou importer des playlists et utiliser l'Auto-DJ. Si l'on souhaite synchroniser plusieurs clients dans le réseau local il faut relancer la lecture une fois ou deux sur chaque client.
Un remerciement particulier à lol et l'équipe de forum-debian.fr
copyleft Petitchat, envoyez moi vos commentaires.
croquy76[at]free[dot]fr
70

modifications

Menu de navigation