Pages : 1
#1 Le 26/11/2007, à 17:42
- zert84
script enregistrement radio web
Bonjour,
je souhaite écrire un script me permettant d'enregistrer une radio web à partir d'une heure donnée et jusqu'à une autre heure donnée.
j'ai réutilisé la base d'un script disponible sur ce forum.
#!/bin/bash
echo -n "Entrez l'heure de début d'enregistrement sous la forme hh:mm 'var1' : "
read var1
echo "heure de début d'enregistrement = $var1"
echo -n "Entrez l'url d'écoute de la radio 'var2' : "
read var2
echo "url d'écoute de la radio = $var2"
echo -n "Entrez la durée d'enregistrement en seconde 'var3' : "
read var3
echo "durée d'enregistrement = $var3 secondes"
a=$(date +'%H:%M');
while [ $var1 != $a ]
do
sleep 10;
a=$(date +'%H:%M');
echo $a;
done
/usr/bin/streamripper $var2 -l $var3;
Ainsi je donne l'heure de début sous la forme HH:MM => var1
Je donne l'url d'écoute de la radio => var2
et enfin la durée d'enregistrement => var3.
Je voudrai l'améliorer et ne plus lui donner la durée d'enregistrement mais l'heure de fin d'enregistrement.
Mon problème vient du fait que streamripper prend en compte la durée d'enregistrement en seconde.
Comment obtenir avec les commandes bash, la durée en seconde entre deux instant T et T' , T et T' exprimés sous la forme HH:MM?
Merci d'avance de votre aide, je débute en script.
Hors ligne
#2 Le 27/11/2007, à 16:02
- zert84
Re : script enregistrement radio web
up
J'ai essayer d'extraire les valeurs d'heures et de minutes contenu dans les heures écrites sous la forme HH:MM. Seulement une fois ces données obtenues, je n'arrive pas à effectuer des opérations mathématiques dessus, et donc je n'arrive pas à obtenir la durée en seconde entre les heures rentrées en var1 et var3.
est-ce normal?
Merci d'avance de vos éclaicissements.
Hors ligne
#3 Le 27/11/2007, à 16:04
- compte supprimé
Re : script enregistrement radio web
Bonjour,
A défaut d'une solution, au moins une très bonne adresse :
http://abs.traduc.org/abs-5.0-fr/
A+
#4 Le 27/11/2007, à 17:37
- Alain.g
Re : script enregistrement radio web
est-ce normal?
Pas si tu as utilisé la bonne syntaxe. Normalement c'est sous la forme : $((1+1))
Quelque chose comme ceci devrait fonctionner (si l'heure est donnée sous la forme 18:32) :
var3=$((${var3%:*}*3600+${var3#*:}*60-`date +%H`*3600-`date +%M`*60))
test $var3 -lt 0 && var3=$(($var3+86400))
Le test pour vérifier si c'est négatif, c'est par exemple s'il est 23:30 et que tu souhaites enregistrer jusque 0:30, donc on ajoute 86400 (soit 24*3600)
Dernière modification par Alain.g (Le 27/11/2007, à 18:11)
Xubuntu Karmic !
Hors ligne
#5 Le 28/11/2007, à 18:41
- zert84
Re : script enregistrement radio web
Bonjour,
Merci Faustus pour ton lien, qui est très bien mais je le connaissais déjà .
Merci Alain.g pour ta réponse, je vais tester ceci au plus vite. J'avais utilisé la bonne syntaxe pour les calculs mais c'est peut être ma méthode d'extraction des données utiles au calculs qui n'était pas la bonne.
Merci beaucoup.
Hors ligne
#6 Le 03/01/2008, à 14:30
- compte supprimé
Re : script enregistrement radio web
Salut
Je me tape l'incuste dans ce tread car je viens d'en lancer, hélas un peu vite, un similaire
#7 Le 09/01/2008, à 18:17
- zert84
Re : script enregistrement radio web
Salut weenu,
le script sur lequel j'ai bossé avait un but bien moins complexe que le tien, il consiste juste à télécharger une radio en mp3 pendant la nuit ou de manière plus général quand on est pas devant son écran.
Voici ce script qui désormais fonctionne:
#!/bin/bash
echo -n "Entrez l'heure de début d'enregistrement sous la forme hh:mm 'var1' : "
read var1
echo "heure de début d'enregistrement = $var1"
echo -n "Entrez l'url d'écoute de la radio 'var2' : "
read var2
echo "url d'écoute de la radio = $var2"
echo -n "Entrez l'heure de fin d'enregistrement sous la forme hh:mm 'var3' : "
read var3
var4=$(( (${var3%:*}*3600 - ${var1%:*}*3600) ))
test $var4 -lt 0 && var4=$(($var4+86400))
var5=$(( (${var3#*:}*60 - ${var1#*:}*60) ))
test $var5 -lt 0 && var5=$(($var5+3600))
var6=$(($var4+$var5))
echo "temps d'enregistrement en seconde = $var6"
a=$(date +'%H:%M');
while [ $var1 != $a ]
do
sleep 10;
a=$(date +'%H:%M');
#echo $a;
done
/usr/bin/streamripper $var2 -l $var6;
En espérant que ca pourra te servir.
Je peux juste de préciser que j'utilise streamripper pour enregistrer le flux radio et non pas wget,mplayer et soundconverter.
Je ne suis pas un crack en script, je débute, mais si je peux aider.
Concrètement les fichiers mp3 sont enregistrés dans mon /home/user/nom de la radio(plus quelques infos parfois sur le flux comme la qualité ou autre) et ce automatiquement. Il faudrait se plonger dans les options de streamripper pour configurer cela de manière plus précise.
Enfin pour écouter la radio sur internet j'utilise streamtuner associé à streamripper.
Bon courage A+
Dernière modification par zert84 (Le 10/01/2008, à 10:34)
Hors ligne
#8 Le 10/01/2008, à 10:36
- zert84
Re : script enregistrement radio web
Bonjour,
je me suis rendu compte que je n'avais pas posté le bon script...
Je viens de le corriger dans le message précedent.
a+
Hors ligne