ShoutCast est un serveur de streaming radio propriétaire ne gérant que le format sonore MP3. Il a un équivalent libre, Icecast, cependant ce dernier ne peut pas publier ses flux dans le répertoire des radios de shoutcast qui est énormément consulté.
Après connexion au serveur, on procède à l’installation de shoutcast.
Récupération et configuration du logiciel
Dans un premier temps, on récupère la dernière version disponible sur le site officiel :
# On va dans notre home cd ~ # On crée le répertoire shoutcast mkdir shoutcast # On rentre dans le répertoire shoutcast cd shoutcast # On y récupère l'archive du serveur wget http://download.nullsoft.com/shoutcast/tools/sc_serv2_linux_x64-latest.tar.gz # Décompression de l'archive tar xvzf sc_serv2_linux_x64-latest.tar.gz
Le binaire du serveur est le fichier sc_serv
. Il est nécessaire de créer un fichier de configuration sc_serv.conf
avant son utilisation, quatre fichiers d’exemples sont fournis dans la distribution :
-
sc_serv_basic.conf
; -
sc_serv_debug.conf
; -
sc_serv_public.conf
; -
sc_serv_relay.conf
;
nano sc_serv.conf
Ce fichier doit ressembler à quelque chose comme cela [1] :
; NOTE: for any relative paths specified are relative to ; sc_serv and not to where the conf file is being stored log=1 ; here we will setup where the log and other related files ; will be stored. make sure that these folders exist else ; sc_serv will throw an error and will close itself down. logfile=/var/log/shoutcast/sc_serv.log ; we will make the logs save to the sc_serv2 directory banfile=/etc/shoutcast/sc_serv.ban ripfile=/etc/shoutcast/sc_serv.rip pidfile=/var/run/shoutcast/shoutcast.pid screenlog=1 w3cenable=1 w3clog=/var/log/shoutcast/sc_w3c.log shoutcastsourcedebug=1 SrcIP=ANY DestIP=ANY ; for testing we will make the server only work locally ; (i.e. localhost / 127.0.0.1) though if this is left out ; or set to publicserver=always then we attempt to make a ; connection to the YP for listing - do not forget to add ; in a 'streamauthhash' value for any public streams made publicserver=allways ; if you want to use a different port to use for any ; connections then you can use this option e.g. to use 80 ; otherwise port 8000 is used as the default to listen on. portbase=8002 ; password used by sc_trans or the Winamp dsp plug-in ; NOTE: remember to change this to something else password=pass_stream ; password used for accessing the administation pages ; NOTE: remember to change this to something else ; NOTE: this password should be different than the previous "password" directive adminpassword=password_admin maxuser=200 ; now we will specify the details of the stream we are going ; to serve which can be done as follows ;streamid=1 ;streampath=/point_de_montage ;streamauthhash=hash_fournit_par_shoutcast ; or ; it can be done like this which is how it needs to be done ; if you are going to provide multiple streams from sc_serv streamid_1=1 streampath_1=/point_de_montage_stream_1 streamauthhash_1=hash_fournit_par_shoutcast_stream_1 ;streamid_2=2 ;streampath_2=/test2.aac
Point d’attention du fichier de configuration :
-
password
etadminpassword
- la ligne
pidfile=/var/run/shoutcast/shoutcast.pid
est bien renseigné - les répertoires pour le fichier pid et pour les fichiers de logs existent bien et shoutcast peut écrire à l’intérieur (voir plus bas dans l’installation définitive)
Installation définitive
Pour finir l’installation, on va copier le binaire du serveur dans le répertoire des autres binaires en lui donnant les droits d’exécution :
chmod +x sc_serv sudo cp sc_serv /usr/local/bin/sc_serv sudo cp cacert.pem /usr/local/bin/
On crée ensuite un utilisateur système qui fera tourner le serveur :
sudo adduser shoutcast
On déplace également le fichier de configuration dans un endroit plus habituel et on donne les droits à notre utilisateur de l’utiliser :
sudo mkdir /etc/shoutcast sudo cp sc_serv.conf /etc/shoutcast sudo chown -Rvf shoutcast:shoutcast /etc/shoutcast
On crée ensuite le répertoire où shoutcast stockera son fichier pid (bien vérifier que la ligne pidfile=/var/run/shoutcast/shoutcast.pid
soit dans le fichier de configuration) :
sudo mkdir -p /var/run/shoutcast sudo chown shoutcast:shoutcast /var/run/shoutcast
Enfin, on va créer le répertoire où les logs du serveurs seront déposés et donner les droits d’écriture sur ce dossier à l’utilisateur qui fera tourner le serveur shoutcast :
sudo mkdir -p /var/log/shoutcast sudo chown shoutcast:shoutcast /var/log/shoutcast
Création d’un script d’initialisation
On ouvre un fichier en écriture :
nano shoutcast.init
On y ajoute le contenu suivant :
#!/bin/bash ### BEGIN INIT INFO # Provides: shoutcast # Required-Start: $syslog $network # Required-Stop: $syslog $network # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # X-Interactive: true # Short-Description: Shoutcast - Radio streaming server # Description: Shoutcast provide a radio streaming server. ### END INIT INFO # Source function library. . /lib/lsb/init-functions NAME=shoutcast DESC="Shoutcast radio streaming server" DAEMON=/usr/local/bin/sc_serv CONF_FILE=/etc/shoutcast/sc_serv.conf # Pid file PIDFILE="/var/run/$NAME.pid" USER=shoutcast GROUP=shoutcast [ "$NETWORKING" = "no" ] && exit 0 [ -f "$DAEMON" ] || exit 1 [ -f "$CONF_FILE" ] || exit 1 RETVAL=0 start() { echo -n "Starting $DESC: " start-stop-daemon --start --background --quiet --make-pidfile --pidfile $PIDFILE \ --chuid $USER:$GROUP --user $USER --group $GROUP --name sc_serv \ --exec $DAEMON $CONF_FILE echo "$NAME." } stop() { echo -n "Stopping $DESC : " start-stop-daemon --stop --quiet --pidfile $PIDFILE \ --oknodo echo "$NAME." } restart() { stop sleep 5 start } status() { PID=$(cat $PIDFILE) if [ -n "$PID" ]; then log_success_msg "$DESC is running (pid $PID)." exit 0 else log_failure_msg "$DESC is not running." exit 1 fi } case "$1" in start) start ;; stop) stop ;; status) status ;; restart|reload) restart ;; *) echo "Usage: {start|stop|status|restart}" RETVAL=1 esac exit $RETVAL
Pour activer le script d’initialisation, il est ensuite nécessaire de le copier au bon endroit, de lui donner des droits d’exécution et de l’activer aux différentes étapes de lancement et de d’extinction du serveur en lançant les trois commandes suivantes :
sudo cp shoutcast.init /etc/init.d/shoutcast sudo chmod +x /etc/init.d/shoutcast sudo update-rc.d shoutcast defaults
Démarrer, arrêter, redémarrer le serveur
Pour démarrer le serveur, il vous suffit donc de lancer la commande :
sudo /etc/init.d/shoutcast start
Pour l’arrêter :
sudo /etc/init.d/shoutcast stop
Et pour le redémarrer :
sudo /etc/init.d/shoutcast restart
Interface d’administration
Vous devriez avoir accès dorénavant à l’interface web d’administration à l’adresse : http://domaine.tld:8002/index.html
Pour la connexion administrateur, il suffit d’utiliser le nom d’utilisateur admin
et le mot de passe que vous avez mis dans la configuration à la ligne adminpassword
.
# Le 6 juillet 2012 à 16:48, par Guillaume2b En réponse à : Installation d’un serveur radio ShoutCast
Merci beaucoup pour ce tuto très bien expliqué ! par contre j’ai un problème je n’arrive pas accéder dans la partie admin qu’elle le nom d’utilisateur qu’il faut rentré ?
Répondre à ce message
# Le 6 juillet 2012 à 17:01, par Quentin Drouet En réponse à : Installation d’un serveur radio ShoutCast
J’ai ajouté ceci à la fin du tutoriel :
Répondre à ce message
# Le 6 juillet 2012 à 17:07, par Guillaume2b En réponse à : Installation d’un serveur radio ShoutCast
C’est ce que je fait pourtant me cela ne fonctionne pas
Répondre à ce message
# Le 6 juillet 2012 à 17:11, par Quentin Drouet En réponse à : Installation d’un serveur radio ShoutCast
C’est pourtant le cas, testé à l’instant... depuis plusieurs navigateurs
Répondre à ce message
# Le 6 juillet 2012 à 17:15, par Guillaume2b En réponse à : Installation d’un serveur radio ShoutCast
Oui je ne vous dit pas le contraire je n’arrive pas a y accéder
Répondre à ce message
# Le 1er mars 2013 à 12:08, par lhooq En réponse à : Installation d’un serveur radio ShoutCast
Bonjour.
J’ai testé cette config dans un VPS, uniquement en faisant CTRL+C/CTRL+V de cette page mais impossible d’avoir l’interface.
De plus, un restart me donne :
/etc/init.d/shoutcast restart
Stopping Shoutcast radio streaming server : start-stop-daemon : warning : failed to kill 8806 : No such process
shoutcast.
Starting Shoutcast radio streaming server : shoutcast.
Répondre à ce message
# Le 1er mars 2013 à 12:20, par lhooq En réponse à : Installation d’un serveur radio ShoutCast
Après avoir vérifié les logs, j’ai trouvé la cause. Les password et adminpassword doivent être différents.
A préciser dans votre doc ?
Répondre à ce message
# Le 8 mars 2013 à 21:50, par sirine En réponse à : Installation d’un serveur radio ShoutCast
j’ai essayé mais il ne fonctionne pas au niveau de /etc/init.d/shoutcast stop :( j’ai besoin que ce serveur fonctionne :(
Répondre à ce message
# Le 17 mars 2013 à 22:05, par Quentin Drouet En réponse à : Installation d’un serveur radio ShoutCast
Et dit il quelque chose au niveau des logs ? ou de la ligne de commande. "il ne fonctionne pas" c’est un peu simpliste comme problématique
Répondre à ce message
# Le 17 mars 2013 à 22:16, par Quentin Drouet En réponse à : Installation d’un serveur radio ShoutCast
Merci je viens d’ajouter juste avant
adminpassword
:; NOTE: this password should be different than the previous "password" directive
Répondre à ce message
# Le 17 mars 2013 à 23:33, par sirine En réponse à : Installation d’un serveur radio ShoutCast
dans la phase de demarrage le serveur en principe marche puisque il m’affiche le PID quand j’utilise la commande status mais quand je veux l’arreter avec la cmd stop il m’a dit NO Process to kill cad il n’ya pas de processus qui tourne pourtant il m’affiche la statut du serveur en utilisant la cmd status . à propos le adminpassword et password ils sont différents donc j pense qu’il n’y a ps de pb au niveau de ça ??!!
Répondre à ce message
# Le 20 mars 2013 à 01:21, par Quentin Drouet En réponse à : Installation d’un serveur radio ShoutCast
Que te retourne la commande
ps aux |grep shoutcast
après lancement ?Normalement elle devrait renvoyer quelquechose comme :
Le second nombre est le PID normalement ?
Que te retourne t elle après tentative de fermeture ?
Pour le coup du adminpassword, c’est de ta faute si tu as reçu le message qui était destiné à lhooq car tu as répondu à son commentaire et non pas créé un nouveau thread. Les
??!!
étaient nécessaires ?Répondre à ce message
# Le 20 mars 2013 à 01:24, par Quentin Drouet En réponse à : Installation d’un serveur radio ShoutCast
J’oubliais, le PID retourné par la commande
statut
est celui de/var/run/shoutcast.pid
, ton serveur plante peut être entre temps sans virer ce fichier.Pour essayer de trouver pourquoi, tu peux essayer de regarder les logs dans
/var/log/shoutcast/sc_*
Répondre à ce message
# Le 20 mars 2013 à 10:11, par sirine En réponse à : Installation d’un serveur radio ShoutCast
Bjr,J’ai essayé avec la cmd ps aux |grep shoutcast il m’affiche :
Root 2042 2.1 0.1 4392 840 pts/2 S+ 09 :36 0 :00 grep –color=auto shoutcast
Pour le sc_serv.log c’est vide donc ne contient pas aucun événement .et le shoutcast.pid contient le pid 2026. Je peux pas comprendre est ce qu’il fonctionne ou non.
merci pour vos conseils Mr et pour la réponse dsl j’ai pas pris l’attention lorsque j’ai publié mon question (comme réponse de question de ihooq).
Merci.
Répondre à ce message
# Le 20 mars 2013 à 10:31, par Quentin Drouet En réponse à : Installation d’un serveur radio ShoutCast
Ok c’est donc qu’il n’est jamais lancé
Vous avez dû faire une erreur quelque part avant de copier le texte.
Je ne sais pas où, la meilleure solution est de recommencer dès le début.
Répondre à ce message
# Le 20 mars 2013 à 19:48, par sirine En réponse à : Installation d’un serveur radio ShoutCast
Merci bien j’ai refait le travail et le serveur s’est lancé normalment .Mais j’ai une question :dans certaines documentation j’ai trouvé que dans la phase de demarrage ou start une interface graphique qui se déclenche automatiquement comment je peux la executer cette interface graphique ?est ce je dois télécharger un paquet spécifique pour l’interface ou je peux la lancer automatiquement ?
Merci d’avance
Répondre à ce message
# Le 20 mars 2013 à 23:21, par Quentin Drouet En réponse à : Installation d’un serveur radio ShoutCast
ok donc c’était bien un problème chez toi et non dans le tutoriel.
Pour l’interface d’admin regarde le dernier paragraphe
https://technique.arscenic.org/services-web/streaming-audio-et-video/article/installation-d-un-serveur-radio#administration
Si tu veux un client, cela ne concerne pas cet article
Répondre à ce message
# Le 8 avril 2013 à 17:06, par Pascal Courtonne En réponse à : Installation d’un serveur radio ShoutCast
Merci pour cet excellent tutoriel.
Seul petit pb rencontré lors de mon installation :
en admin, si les liens "authhash" n’apparaissent pas, il suffit d’enlever ?sid=n à la fin de l’url ... ou mettre n à zero (?sid=0)
Répondre à ce message
# Le 2 novembre 2013 à 19:07, par Mriphone001 En réponse à : Installation d’un serveur radio ShoutCast
Comment fait on pour upload de la musique pour le streaming manager ?
Répondre à ce message
# Le 3 novembre 2013 à 19:08, par Quentin Drouet En réponse à : Installation d’un serveur radio ShoutCast
Avec le tutoriel ci-dessus seul le serveur de stream est installé.
Il faut ensuite fournir un flux continu audio au serveur, soit en utilisant un logiciel en local sur notre ordinateur (type winamp, nicecast...) soir sur le serveur (type liquidsoap par exemple).
Mais ce n’est pas le but de ce tutoriel.
Répondre à ce message
# Le 12 mars 2014 à 14:59, par mabdou En réponse à : Installation d’un serveur radio ShoutCast
Je viens d’installer shoutcast conformément à la documentation ci-dessus. au moment de démarrer shoutcast, j’ai une erreur en deux lignes :
1. insserv : warning : script ’K01shoutcast’ missing LSB tags and overrides
2. insserv : warning : ’shoutcast’ missing LSB tags and overrides.
Que signifie ces deux erreurs ?
Je voudrais mettre en ligne la radio FM de l’Assemblée nationale pour laquelle je travaille c’est pourquoi je vous demande humblement assistance jusqu’à terme de mon projet.
Merci à tous d’être réactifs.
Répondre à ce message
# Le 12 mars 2014 à 20:24, par Quentin Drouet En réponse à : Installation d’un serveur radio ShoutCast
Est ce réellement un problème bloquant ?
Il doit manquer des entêtes lsb (cf : https://wiki.debian.org/LSBInitScripts) mais normalement ce n’était pas bloquant, le script fonctionnait.
Si ce n’est pas le cas, il va falloir le mettre à jour
Répondre à ce message
# Le 12 mars 2014 à 20:33, par Quentin Drouet En réponse à : Installation d’un serveur radio ShoutCast
J’ai mis à jour le script, peux tu retester, sinon me dire sur quel distribution et quelle version tu l’installes ?
Répondre à ce message
# Le 28 août 2015 à 15:55, par Thomas En réponse à : Installation d’un serveur radio ShoutCast
Coucou :)
Je viens de tomber sur votre tuto et je pense m’en être plutôt pas mal sorti..mon serveur fonctionne !
Par contre dans mon fichier .log j’ai écris ceci tout en haut :
[CONFIG] Invalid item on line 25 of /etc/shoutcast/sc_serv.conf -> `yp2’
[MAIN] Cannot find `/usr/local/bin/cacert.pem’
[MAIN] Without `cacert.pem’ the DNAS may not be able to contact the Directory
Et ceci tout en bas :
ERROR [MAIN] Could not open PID file `sc_serv_8002.pid’ for writing
Ceci est il grave ??
Merci d’avance pour votre réponse !
Cordialement
Thomas
Répondre à ce message
# Le 28 avril 2017 à 11:46, par Damidani En réponse à : Installation d’un serveur radio ShoutCast
j’ai essayé mai il me dit 404 no fout je sais pas s’il s’est mon serveur ou s’est juste le mien qui est foutu.
merci de votre aide
Répondre à ce message