La Lanterne Rouge

La Lanterne Rouge

Warning: Geek Inside

Publié le par Nanawel
Publié dans : #Logiciel libre | #mpd | #icecast | #http | #cpu | #linux | #streaming | #ogg | #webradio

J'en parlais précédemment, j'ai mis en place une radio sur mon serveur interne Usul. Pour la diffusion, j'avais suivi un des nombreux tutorials disponibles sur la Toile, qui expliquait  comment envoyer le flux de MPD vers un serveur Icecast.

  Après plusieurs mois avec cette configuration, un aspect qui commençait à me gêner un peu était la consommation de CPU imposée par le transcodage des fichiers (dans mon cas, de MP3 vers OGG). Sur une petite machine telle que la mienne, cela correspondait quand même à 20-25% de charge 24/7. Autant de ressources qui ne peuvent pas être utilisées par le reste des services disponibles sur celle-ci (et quand Subsonic transcode, il ne se gêne pas de prendre tout ce qu'il reste !).

 

Il y a quelques jours, en cherchant un moyen d'optimiser tout ça, j'ai appris qu'il existait déjà un système de diffusion par MPD sans passer par Icecast. Pourquoi ne l'ai-je pas vu avant, ça je ne l'explique pas.

Le résultat est éloquent :

cpu1.week

La "marche" qui est clairement visible à la date du 13 correspond au remplacement d'Icecast par le module de diffusion httpd intégré à MPD (voir fichier de config /etc/mpd.conf).

La quantité de ressources CPU est au moins divisée par 2 sans aucune perte de qualité ou de fonctionnalités. La charge du noyau a elle été divisée par 3 (cette diminution devant être en partie due à la suppression de la transmission du flux entre MPD et Icecast par l'interface réseau, AMHA).

Je rappelle quand même qu'Usul est équipé d'un petit Atom 230 ce qui explique bien sûr le pourcentage que représente la consommation du transcodage sur la capacité totale du CPU.

 

Si la conclusion de tout cela ne vous saute pas aux yeux je vais faire l'effort de la mettre en forme pour vous : MPD+Icecast ou MPD/httpd ? À moins d'avoir un besoin que seul Icecast peut remplir, passez par httpd et virez Icecast !

Commenter cet article

Bimboboumbo 01/11/2013 17:12

Bonjour et pardon pour le déterrage du sujet.
Je me suis essayé à mettre un serveur mpd à la maison qui marche à merveille.
Du coup j'ai rajouter une instance qui diffuse en http.Seulement à chaque morceau je suis obligé de rafraichir la page pour relancer la lecoute, le signal etant perdu.
Avez vous rencontré le même soucis? Si oui, comment l'avez vous réglé?

Nanawel 01/11/2013 19:53

Salut !
En fait je n'ai pas rencontré ce problème tout simplement car... je n'utilise pas un navigateur pour écouter le flux ! (je rappelle qu'un navigateur sert surtout à naviguer sur des pages !) Selon l'endroit où je suis, j'utilise Winamp sur Windows ou VLC et Rhythmbox sous Linux. Tous trois permettent d'ouvrir un flux audio au moyen d'une URL, celle que tu utilises actuellement dans ton navigateur.
Avec ça, plus aucun problème lors des changements de piste. Bonne écoute !

Christian 28/09/2012 23:31

Merci pour l’excellent article!