Streaming radio sur FreeBSD 10 avec IceCast et Ices

Le tutoriel suivant explique comment configurer un serveur de streaming radio IceCast et lire des fichiers audio (musique ou podcasts) sur la plate-forme FreeBSD. Ce tutoriel suppose que vous exécutez FreeBSD 10.0 ou supérieur et que vous êtes connecté en tant qu'utilisateur root. Il supposait également que vous disposiez d'un éditeur de texte pour modifier les fichiers de configuration.

Avant de commencer, il est important de comprendre les trois parties d'un serveur de streaming audio. Tout d'abord, nous avons le logiciel serveur lui-même, IceCast. IceCast agit comme un hub central où les flux audio entrent et sont envoyés. Le service IceCast prend en charge les flux audio des clients source. Les clients sources sont des programmes qui lisent des fichiers audio ou d'autres sources audio, tels que des microphones. Dans notre exemple, le client source est Ices et il fournit un flux audio au serveur IceCast. Le troisième composant est un client à l'écoute. Les flux audio transitent du serveur IceCast vers les auditeurs qui entendent ensuite l'audio. Un client d'écoute est généralement une application de bureau, telle qu'un navigateur Web, le lecteur multimédia VLC ou WinAMP. Visuellement, l'arrangement ressemble à ceci:

 Source client (Ices) --> IceCast server --> Listening client (browser)

Pour configurer un serveur de streaming IceCast sur FreeBSD, nous installons d'abord le logiciel serveur lui-même. Cela peut être fait en exécutant la commande suivante.

 pkg install icecast2

Nous ouvrons ensuite le /etc/rc.conffichier et activons le service d'arrière-plan IceCast. Cela se fait en ajoutant le texte suivant au bas du /etc/rc.conffichier.

 icecast_enable="YES"

Notre prochaine étape consiste à configurer le service IceCast. Le package IceCast est livré avec un exemple de fichier de configuration que nous pouvons modifier. Cet exemple de fichier se trouve dans le /usr/local/etcrépertoire. Nous allons faire une copie de cet exemple de fichier avant de le modifier.

 cd /usr/local/etc
 cp icecast.xml.sample icecast.xml

Nous voulons maintenant éditer quelques champs clés du icecast.xmlfichier. La plupart du fichier peut être laissé avec les paramètres par défaut, mais nous devons modifier les informations de connexion. Nous pouvons le faire en visitant l' authentification section (à la ligne 30) et en changeant la source de mot de passe et relais passe à quelque chose approprié. Ces mots de passe nous permettront de diffuser des données sur le serveur IceCast à partir d'un client source. Nous devons également changer les variables admin-user et admin-password en quelque chose d'unique à notre système. Ces deux informations d'identification protègent l'interface Web du serveur IceCast. Ensuite, vers la ligne 150, nous devons changer les variables nom-montage , nom d' utilisateur etmot de passe . Ces trois variables protègent le point de montage du serveur IceCast. Enfin, au bas du icecast.xmlfichier, nous devrions voir une section de sécurité qui a été commentée. Nous devons supprimer les symboles d' ouverture <- et de fermeture -> autour du paragraphe de sécurité . Une fois le icecast.xmlfichier modifié, enregistrez-le.

Une fois le fichier de configuration modifié, nous souhaitons activer la journalisation. Pour ce faire, exécutez les commandes suivantes.

 mkdir /var/log/icecast
 chown nobody:nogroup /var/log/icecast

Enfin, nous démarrons le serveur IceCast, ce qui amène le serveur à écouter les connexions client d'entrée et entrantes.

 service icecast2 start

Le serveur IceCast est opérationnel et nous devons donc maintenant lui fournir quelque chose à jouer. Notre prochaine étape consiste à installer le client source Ices. FreeBSD n'offre actuellement pas de paquet binaire pour Ices, nous devons donc le construire à partir des ports. Cela peut être fait en exécutant les commandes suivantes.

 portsnap fetch
 portsnap extract
 cd /usr/ports/audio/ices
 make install
 make clean

Le client source Ices aura besoin d'un compte utilisateur et d'une connexion. Pour créer un utilisateur pour le logiciel Ices et définir un mot de passe sur le compte, exécutez ces commandes.

 pw groupadd ice
 pw useradd ices -g ice -m
 passwd ices

Une fois l'utilisateur créé, nous pouvons maintenant activer la journalisation pour Ices.

 mkdir /var/log/ices
 chown ices:ice /var/log/ices

À partir de là, nous ne devrions plus avoir besoin d'un accès root et nous pouvons fonctionner en tant qu'utilisateur ices . Ensuite, nous devons créer deux répertoires. Un répertoire music,, contiendra les fichiers audio que nous allons diffuser. Le deuxième répertoire conf,, contiendra nos fichiers de configuration.

 su ices
 cd /home/ices
 mkdir music conf
 cp /usr/local/share/ices/ices-playlist.xml conf/configuration.xml

Nous avons maintenant un exemple de fichier de configuration en place. Il est temps de modifier le conf/configuration.xmlfichier en fonction de notre environnement. Les seules parties du fichier que nous devons modifier se trouvent vers la ligne 60. Ici, nous devons fournir le mot de passe et l' emplacement de montage que nous avons définis dans le icecast.xmlfichier. Par exemple, si nous définissons notre nom de montage dans le icecast.xmlfichier comme étant /radio.ogg, nous devons changer configuration.xmlle paramètre de montage de notre fichier pour qu'il soit également /radio.ogg. Notre champ de mot de passeconfiguration.xml doit correspondre au mot de passe source que nous avons créé dans le icecast.xmlfichier. Une fois notre configuration.xmlfichier édité, nous devrons enregistrer nos modifications.

Avec le fichier de configuration en place, l'étape suivante devrait être de copier les fichiers audio que nous souhaitons diffuser dans le musicrépertoire. Les fichiers audio doivent tous être au .oggformat car IceCast ne traitera pas les .mp3fichiers avec ses paramètres par défaut. Une fois que tous les fichiers audio que nous souhaitons diffuser sont dans le musicrépertoire, nous devons créer une liste de lecture. Une liste de lecture est un fichier texte avec une liste de la musique que nous voulons diffuser. Nous pouvons facilement créer une liste de lecture avec les commandes suivantes.

 cd /home/ices/conf
 ls -d ../music/*.ogg > playlist.txt

Les fichiers audio seront lus dans l'ordre où ils apparaissent dans le playlist.txtfichier. Le fichier peut être édité dans n'importe quel éditeur de texte pour ajuster l'ordre de l'audio en streaming.

Tout ce que nous devons faire pour commencer à diffuser nos fichiers audio est d'exécuter cette commande.

 ices configuration.xml

Note latérale: Souvent, nous pouvons vouloir exécuter le client source Ices, puis nous déconnecter et aller faire autre chose. Dans ce cas, j'aime exécuter Ices à partir d'une session d' écran . Voici un exemple sur la façon d'exécuter des glaces avec écran.

 screen
 cd /home/ices/conf
 ices configuration.xml

Appuyez ensuite sur Ctrl + A et appuyez sur la touche D. Cela détachera la session écran et nous permettra de nous déconnecter pendant que Ices lit l'audio en arrière-plan. Plus tard, nous pouvons arrêter Ices en vous connectant et en exécutant:

 screen -r
 killall ices
 exit

Nous pouvons maintenant nous connecter à notre serveur sur le port 8000 dans un navigateur Web pour écouter notre flux audio. L'URL ressemblera http://myservername:8000. Cette adresse peut être rendue publique si vous souhaitez permettre à d'autres d'écouter le flux.

Plus tôt, j'ai mentionné que IceCast lit les .oggfichiers et non .mp3. C'est assez facile à surmonter sur FreeBSD. En tant qu'utilisateur root, nous pouvons installer un outil de conversion, appelé sox , qui convertira nos .mp3fichiers en .oggfichiers. En supposant que tous nos .mp3fichiers se trouvent dans le /home/ices/musicrépertoire, nous pouvons installer sox et effectuer une conversion comme suit:

 pkg install sox
 cd /home/ices/music
 for i in *.mp3; do sox ./"$i" ./"$i".ogg; done

Nous pouvons ensuite actualiser notre playlist en utilisant:

 cd ../conf
 ls -d ../music/*.ogg > playlist.txt

N'oubliez pas que le streaming audio peut être gourmand en bande passante. Un ou deux clients écoutant notre station de radio n'auront pas besoin de beaucoup de bande passante, mais 50 clients ou plus pourraient pousser un serveur sur sa bande passante mensuelle allouée. C'est une bonne idée d'activer le plafonnement de la bande passante sur le serveur de streaming pour éviter des coûts financiers inattendus.



Leave a Comment

Comment installer Blacklistd sur FreeBSD 11.1

Comment installer Blacklistd sur FreeBSD 11.1

Introduction Tout service connecté à Internet est une cible potentielle dattaques par force brute ou daccès injustifié. Il existe des outils comme fail2ba

Comment installer la pile Apache, MySQL et PHP (FAMP) sur FreeBSD 12.0

Comment installer la pile Apache, MySQL et PHP (FAMP) sur FreeBSD 12.0

Introduction Une pile FAMP, qui est comparable à une pile LAMP sous Linux, est une collection de logiciels open source qui sont généralement installés ensemble t

Comment installer Osclass sur FreeBSD 12

Comment installer Osclass sur FreeBSD 12

Vous utilisez un système différent? Osclass est un projet open source qui vous permet de créer facilement un site classé sans aucune connaissance technique. Son sourc

Comment installer Wiki.js sur FreeBSD 11

Comment installer Wiki.js sur FreeBSD 11

Vous utilisez un système différent? Wiki.js est une application wiki moderne gratuite et open source basée sur Node.js, MongoDB, Git et Markdown. Le code source de Wiki.js est public

Comment installer lalbum photo Lychee 3.1 sur un VPS FBS FreeBSD 11

Comment installer lalbum photo Lychee 3.1 sur un VPS FBS FreeBSD 11

Vous utilisez un système différent? Lychee 3.1 Photo Album est un outil de gestion de photos simple et flexible, gratuit et open source qui fonctionne sur un serveur VPS. Il installe

Installer Fork CMS sur FreeBSD 12

Installer Fork CMS sur FreeBSD 12

Vous utilisez un système différent? Fork est un CMS open source écrit en PHP. Le code source de Forks est hébergé sur GitHub. Ce guide vous montrera comment installer Fork CM

Créer un fichier déchange sur FreeBSD 10

Créer un fichier déchange sur FreeBSD 10

Par défaut, les serveurs Vultr FreeBSD ne sont pas configurés pour inclure lespace de swap. Si votre intention est pour une instance de cloud jetable, vous navez probablement pas besoin

Comment redimensionner un disque dans FreeBSD

Comment redimensionner un disque dans FreeBSD

Le système dexploitation FreeBSD utilise UFS (Unix File System) pour son système de fichiers de partitions racine; autrement connu sous le nom de freebsd-ufs En cas de mise à niveau

Comment installer Selfoss RSS Reader sur un VPS FBS FreeBSD 11

Comment installer Selfoss RSS Reader sur un VPS FBS FreeBSD 11

Vous utilisez un système différent? Selfoss RSS Reader est un lecteur Web gratuit et open source auto-hébergé à usages multiples, diffusion en direct, mashup, flux de nouvelles (RSS / Atom)

Comment installer Matomo Analytics sur FreeBSD 11

Comment installer Matomo Analytics sur FreeBSD 11

Vous utilisez un système différent? Matomo (anciennement Piwik) est une plate-forme danalyse open source, une alternative ouverte à Google Analytics. La source Matomo est hébergée o

Comment activer TLS 1.3 dans Nginx sur FreeBSD 12

Comment activer TLS 1.3 dans Nginx sur FreeBSD 12

Vous utilisez un système différent? TLS 1.3 est une version du protocole TLS (Transport Layer Security) qui a été publiée en 2018 en tant que norme proposée dans la RFC 8446

Comment installer le CMS Backdrop sur un VPS FBS FreeBSD 11

Comment installer le CMS Backdrop sur un VPS FBS FreeBSD 11

Vous utilisez un système différent? Backdrop CMS 1.8.0 est un système de gestion de contenu (CMS) simple et flexible, adapté aux mobiles, gratuit et open source qui nous permet

Comment installer ImpressPages CMS 5.0 sur un VPS FBS FreeBSD 11

Comment installer ImpressPages CMS 5.0 sur un VPS FBS FreeBSD 11

Vous utilisez un système différent? ImpressPages CMS 5.0 est un système de gestion de contenu (CMS) simple et efficace, gratuit et open source, convivial et basé sur MVC

Comment installer le forum NodeBB sur FreeBSD 12

Comment installer le forum NodeBB sur FreeBSD 12

Vous utilisez un système différent? NodeBB est un logiciel de forum basé sur Node.js. Il utilise des sockets Web pour des interactions instantanées et des notifications en temps réel. Le NodeB

Installez eSpeak sur FreeBSD 12

Installez eSpeak sur FreeBSD 12

Vous utilisez un système différent? ESpeak peut générer des fichiers audio de synthèse vocale (TTS). Ceux-ci peuvent être utiles pour de nombreuses raisons, telles que la création de votre propre Turin

Comment installer LimeSurvey CE sur FreeBSD 12

Comment installer LimeSurvey CE sur FreeBSD 12

Vous utilisez un système différent? LimeSurvey est un logiciel denquête open source écrit en PHP. Le code source de LimeSurvey est hébergé sur GitHub. Ce guide vous montrera

Comment installer Monica sur FreeBSD 12

Comment installer Monica sur FreeBSD 12

Vous utilisez un système différent? Monica est un système de gestion des relations personnelles open source. Considérez-le comme un CRM (un outil populaire utilisé par les équipes

Comment installer Automad CMS sur FreeBSD 12

Comment installer Automad CMS sur FreeBSD 12

Vous utilisez un système différent? Automad est un système de gestion de contenu (CMS) basé sur des fichiers open source et un moteur de modèle écrit en PHP. Le code source Automad i

Installer Akaunting sur FreeBSD 12

Installer Akaunting sur FreeBSD 12

Vous utilisez un système différent? Introduction Akaunting est un logiciel de comptabilité gratuit, open source et en ligne conçu pour les petites entreprises et les indépendants. Cest moi

Choix dun système dexploitation: CentOS, Ubuntu, Debian, FreeBSD, CoreOS ou Windows Server

Choix dun système dexploitation: CentOS, Ubuntu, Debian, FreeBSD, CoreOS ou Windows Server

Cet article fournit un bref résumé des systèmes dexploitation du serveur proposés en tant que modèles sur Vultr. CentOS CentOS est une version open source de RHEL (Re

Comment générer des clés SSH?

Comment générer des clés SSH?

Découvrez comment générer une clé SSH pour accéder à votre serveur sans mot de passe. Suivez nos étapes faciles à comprendre pour créer et ajouter des clés SSH.

Créer un serveur de messagerie avec hMailServer sous Windows

Créer un serveur de messagerie avec hMailServer sous Windows

Découvrez comment créer un serveur de messagerie avec hMailServer sous Windows pour recevoir des e-mails facilement.

LIA peut-elle lutter contre un nombre croissant dattaques de ransomware

LIA peut-elle lutter contre un nombre croissant dattaques de ransomware

Les attaques de ransomware sont en augmentation, mais l'IA peut-elle aider à lutter contre le dernier virus informatique ? L'IA est-elle la réponse ? Lisez ici, sachez que l'IA est un boone ou un fléau

ReactOS : est-ce lavenir de Windows ?

ReactOS : est-ce lavenir de Windows ?

ReactOS, un système d'exploitation open source et gratuit est ici avec la dernière version. Cela peut-il suffire aux besoins des utilisateurs de Windows modernes et faire tomber Microsoft ? Découvrons-en plus sur cet ancien style, mais une expérience de système d'exploitation plus récente.

Restez connecté via lapplication de bureau WhatsApp 24 * 7

Restez connecté via lapplication de bureau WhatsApp 24 * 7

Whatsapp a finalement lancé l'application de bureau pour les utilisateurs Mac et Windows. Vous pouvez désormais accéder facilement à Whatsapp depuis Windows ou Mac. Disponible pour Windows 8+ et Mac OS 10.9+

Comment lIA peut-elle faire passer lautomatisation des processus au niveau supérieur ?

Comment lIA peut-elle faire passer lautomatisation des processus au niveau supérieur ?

Lisez ceci pour savoir comment l'intelligence artificielle devient populaire parmi les petites entreprises et comment elle augmente les probabilités de les faire grandir et de donner à leurs concurrents un avantage.

La mise à jour du supplément macOS Catalina 10.15.4 cause plus de problèmes quelle nen résout

La mise à jour du supplément macOS Catalina 10.15.4 cause plus de problèmes quelle nen résout

Récemment, Apple a publié macOS Catalina 10.15.4, une mise à jour supplémentaire pour résoudre les problèmes, mais il semble que la mise à jour cause davantage de problèmes, ce qui entraîne le bridage des machines mac. Lisez cet article pour en savoir plus

13 outils commerciaux dextraction de données de Big Data

13 outils commerciaux dextraction de données de Big Data

13 outils commerciaux d'extraction de données de Big Data

Quest-ce quun système de fichiers de journalisation et comment fonctionne-t-il ?

Quest-ce quun système de fichiers de journalisation et comment fonctionne-t-il ?

Notre ordinateur stocke toutes les données d'une manière organisée connue sous le nom de système de fichiers de journalisation. C'est une méthode efficace qui permet à l'ordinateur de rechercher et d'afficher des fichiers dès que vous appuyez sur la recherche.https://wethegeek.com/?p=94116&preview=true

Singularité technologique : un futur lointain de la civilisation humaine ?

Singularité technologique : un futur lointain de la civilisation humaine ?

Alors que la science évolue à un rythme rapide, prenant le pas sur une grande partie de nos efforts, les risques de nous soumettre à une Singularité inexplicable augmentent également. Lisez, ce que la singularité pourrait signifier pour nous.