StreamRipper
Petit script
Logiciels / Programmation

DéBé Membre non connecté
-
- Voir le profil du membre DéBé
- Inscrit le : 30/01/2010
- Groupes :
Étant utilisateur de StreamRipper et ne trouvant pas d'interface sous Linux, j'ai créé un petit script pour l'automatiser un peu.
Bon tout ce qu'on peut en dire , c'est qu'il fonctionne (Pas avec toutes les URL , mais ça je pense que ça vient de StreamRipper plutôt que du script)
Si jamais ça intéresse l'un ou l'une d'entre vous, je vous le copie ici.
Code BASH :
#!/bin/bash #stty cols 83 #stty rows 60 # !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! PRÉREQUIS : # Installer figlet - Créer un dossier ~/EnregRadio - C'est Streamripper qui détermine le nom du dossier de station (C'est le nom du stream) Il faut donc le lancer une première fois pour le connaître et le nommer dans chaque "case" (dossier=~/EnregRadio/nom_du_stream/ - Attention aux espaces éventuels comme dans dossier=~/EnregRadio/Radio\ Paradise\ \(128k\ mp3\)/ clear #couleur premier plan noir='\e[0;30m' gris='\e[1;30m' rougefonce='\e[0;31m' rose='\e[1;31m' vertfonce='\e[0;32m' vertclair='\e[1;32m' orange='\e[0;33m' jaune='\e[1;33m' bleufonce='\e[0;34m' bleuclair='\e[1;34m' violetfonce='\e[0;35m' violetclair='\e[1;35m' cyanfonce='\e[0;36m' cyanclair='\e[1;36m' grisclair='\e[0;37m' blanc='\e[1;37m' neutre='\e[0;m' #couleur arrière plan fondnoir='\e[0;40m' fondrouge='\e[0;41m' fondvert='\e[0;42m' fondjaune='\e[0;43m' fondbleu='\e[0;44m' fondmagenta='\e[0;45m' fondcyan='\e[0;46m' fondblanc='\e[0;47m' # Adresses des flux url1="http://7599.live.streamtheworld.com:80/977_CLASSROCK_SC" url2="http://www.radioparadise.com/musiclinks/rp_128.m3u" url3="http://streams.audionoir.com:8000/noir/stream.mp3" url4="http://broadcast.infomaniak.ch/jazzblues-high.mp3" url5="http://icecast.radiofrance.fr/fipworld-hifi.aac" url6="http://direct.fipradio.fr/live/fip-webradio2.mp3" url7="http://ice24.securenetsystems.net/WAMU2" url8="http://www.lounge-radio.com/listen128.m3u" url9="http://direct.franceinter.fr/live/franceinter-midfi.mp3" url10="https://streaming.exclusive.radio/er/neilyoung/icecast.audio" url11="" url12="" url13="" clear echo echo -e -n "${fondnoir}" echo -e -n ${bleuclair}; figlet -t StreamRipper -c #echo -e $(tput setab 0) echo -e "${bleuclair} =========================================================================================" echo -e " | Enregistrement des flux radios web |" echo -e "${bleuclair} =========================================================================================" echo echo -e -n " "; echo -e ${fondbleu} " $(date +'%A %d %B %Y') " echo -e -n ${fondnoir}" ";echo -e ${bleuclair} ${fondbleu} " Bonjour, il est $(date +'%H:%M') " echo -e ${fondnoir};echo -e "${bleufonce}" # Calcul heure de fin d'enregistrement echo -n -e ${fondnoir}" "; echo -n -e "${bleufonce} Entrez la durée d'enregistrement souhaitée en minutes " echo -e -n ${fondjaune} ;read duree echo -e ${fondnoir} let "dur=$duree*60" #----------------------------------------------MENU ----------------------------------------------------- echo -e " ${bleuclair}================================================================================" echo -e " "'\E[31;40m'"\033[1m- 0 \033[0m" "${bleuclair}= Quitter"" "'\E[31;40m'"\033[1m- 6 \033[0m" "${bleuclair}= Fip Jazz" echo -e " "'\E[31;40m'"\033[1m- 1 \033[0m" "${bleuclair}= Classic Rock" " "'\E[31;40m'"\033[1m- 7 \033[0m" "${bleuclair}= WAMU Bluegrass Country" echo -e " "'\E[31;40m'"\033[1m- 2 \033[0m" "${bleuclair}= Radio Paradise (Pop Rock)"" "'\E[31;40m'"\033[1m- 8 \033[0m" "${bleuclair}= Lounge Radio" echo -e " "'\E[31;40m'"\033[1m- 3 \033[0m" "${bleuclair}= Chicago Radio (Blues) " " "'\E[31;40m'"\033[1m- 9 \033[0m" "${bleuclair}= France Inter" echo -e " "'\E[31;40m'"\033[1m- 4 \033[0m" "${bleuclair}= Jazz Radio Blues(Blues)" " "'\E[31;40m'"\033[1m- 10 \033[0m" "${bleuclair}= Exclusively Neil Young" #echo -e " "'\E[31;40m'"\033[1m 5 \033[0m" ${vertclair}"= Fip Monde (World Music)" " "'\E[31;40m'"\033[1m 11 \033[0m" "${vertclair}= Country 108" echo " ================================================================================" echo echo -e -n " ${bleufonce} Choisissez une station pour un enregistrement de $duree minutes ";read choix #-----------------------------------------------Confirmation du choix du N° de station tput sgr0 echo -e ${bleuclair} case $choix in 0) echo Au revoir exit # ;; 1) echo Vous avez choisi : # font = 'URW Chancery L:style=Bold:size=11' echo -n -e " 977 Classic Rock" echo Enregistrement pendant $duree minutes echo -n "Jusqu'à ";date -d "$debut $duree minutes" +'%H:%M' streamripper $url1 -q -l $dur -d ~/EnregRadio/ dossier=~/EnregRadio/Classic\ Rock/ ;; 2) echo Vous avez choisi : echo Radio Paradise echo Enregistrement pendant $duree minutes echo -n "Jusqu'à ";date -d "$debut $duree minutes" +'%H:%M' streamripper $url2 -q -l $dur -d ~/EnregRadio/ dossier=~/EnregRadio/Radio\ Paradise\ \(128k\ mp3\)/ ;; 3) echo Vous avez choisi : Chicago Radio Blues Enregistrement pendant $duree minutes echo -n"Jusqu'à ";date -d "$debut $duree minutes" +'%H:%M' streamripper $url3 -u "FreeAmp/2.x" -l $dur -d ~/EnregRadio/ ;; 4) echo Vous avez choisi : Jazz Radio Blues Enregistrement pendant $duree minutes echo -n "Jusqu'à ";date -d "$debut $duree minutes" +'%H:%M' streamripper $url4 -l $dur -d ~/EnregRadio/ ;; 5) echo Vous avez choisi : Fip Monde Enregistrement pendant $duree minutes echo -n "Jusqu'à ";date -d "$debut $duree minutes" +'%H:%M' streamripper $url5 -a -l $dur -d ~/EnregRadio/ ;; 6) echo Vous avez choisi : Fip Jazz Enregistrement pendant $duree minutes echo -n "Jusqu'à ";date -d "$debut $duree minutes" +'%H:%M' streamripper $url6 -l $dur -d ~/EnregRadio/ ;; 7)echo Vous avez choisi : Wamu Bluegrass Country Enregistrement pendant $duree minutes echo -n "Jusqu'à ";date -d "$debut $duree minutes" +'%H:%M' streamripper $url7 -u "FreeAmp/2.x" -l $dur -d ~/EnregRadio/ ;; 8)echo Vous avez choisi : Lounge Radio Enregistrement pendant $duree minutes echo -n "Jusqu'à ";date -d "$debut $duree minutes" +'%H:%M' streamripper $url8 -l $dur -d ~/EnregRadio/ ;; 9)echo Vous avez choisi : France Inter Enregistrement pendant $duree minutes echo -n "Jusqu'à ";date -d "$debut $duree minutes" +'%H:%M' streamripper $url9 -l $dur -d ~/EnregRadio/ dossier=~/EnregRadio/franceinter-midfi.mp3/ ;; 10)echo Vous avez choisi : Exclusively Neil Young Enregistrement pendant $duree minutes echo -n "Jusqu'à ";date -d "$debut $duree minutes" +'%H:%M' streamripper $url10 -l $dur -d ~/EnregRadio/ dossier=~/EnregRadio/neilyoung/ ;; 11)echo Vous avez choisi : Country 108 Enregistrement pendant $duree minutes echo -n "Jusqu'à ";date -d "$debut $duree minutes" +'%H:%M' streamripper {$url11} -l $dur -d ~/EnregRadio/ ;; *)clear tput blink;echo "STOP ! Choix non valide.....Pressez Entrée pour relancer le programme";tput sgr0 read rep sh streamripper.sh ;; esac # On liste les morceaux enregistrés echo " Enregistrement terminé, voici la liste des fichiers créés :" ls "${dossier}"
Il est certainement perfectible et largement susceptible d'être amélioré et optimisé donc merci de tester , j’attends vos réactions

PS : J'ai oublié de préciser ses fonctions :
Enregistrer des flux préalablement intégrés, par l'intermédiaire d'un menu
Chaque station est enregistrée dans un dossier spécifique
On peut choisir la durée d'enregistrement
Édité par DéBé Le 11/10/2023 à 20h57
Finistère - Matériel : Desktop :Mga 9 x86-64 sur SSD 120 Go Plasma5 - Intel I5-6500 3,2 Ghz /Ram 8 Go --Lenovo T 410 Mga 9 x86-64 Plasma 5 Le monde ne sera pas détruit par ceux qui font le mal, mais par ceux qui les regardent sans rien faire.” Albert Einstein

DéBé Membre non connecté
-
- Voir le profil du membre DéBé
- Inscrit le : 30/01/2010
- Groupes :
Visiblement ça n'intéresse pas grand monde

Finistère - Matériel : Desktop :Mga 9 x86-64 sur SSD 120 Go Plasma5 - Intel I5-6500 3,2 Ghz /Ram 8 Go --Lenovo T 410 Mga 9 x86-64 Plasma 5 Le monde ne sera pas détruit par ceux qui font le mal, mais par ceux qui les regardent sans rien faire.” Albert Einstein

Jybz Membre non connecté
-
- Voir le profil du membre Jybz
- Inscrit le : 10/10/2018
- Groupes :
-
Administrateur
-
Forgeron
Téléverser une image : /wiki/hebergement-de-fichiers-sur-mlo
Arch | Machine | OS |
x86_64 | lenovo x250 | mga9 |
armv7hl | bananapro | mga9 |
aarch64 | Raspberry Pi 4B | mga9 |

Yuusha Membre non connecté
-
- Voir le profil du membre Yuusha
- Inscrit le : 04/07/2017
- Groupes :
-
Modérateur
-
Administrateur
-
Forgeron
DéBé :🤣🤣
Visiblement ça n'intéresse pas grand monde
Il faut dire que ça m'a l'air très spécifique et que tu n'expliques pas à quoi cela sert.
De ce que je comprends, en lisant le code, cela permet d'enregistrer des flux radios. Avec les podcasts et le fait que beaucoup d'émissions soient disponilbes sur le site des radios ou sur YouTube, ce type de logiciel n'intéresse plus grand monde. Je ne dis pas que c'est bien ou mal d'utiliser ta méthode, juste que peu de gens vont en avoir l'utilité.

nic80 Membre non connecté
-
- Voir le profil du membre nic80
- Inscrit le : 06/08/2018
- Groupes :
-
Modérateur
Je pense que dans les lignes, exemple
Code TEXT :
streamripper $url4 -l $dur -d ~/EnregRadio/
il est possible de mettre les variables entre caractère "
Code TEXT :
streamripper "$url4" -l "$dur" -d ~/EnregRadio/
Ainsi si l' url contient des espaces ils seront échappés automatiquement.
Aussi peut être serait t' il préférable de lire le nom des radios et flux depuis un fichier externe avec un format par exemple "nom radio";"adresse du flux" qui serait lu et qui remplirait un fichier 2 tableaux ( un pour les noms de radio, un pour les flux), l' affichage serait ainsi fait par une boucle "for" de la taille des tableaux et dépasser le nombre de stations actuellement 11, de manière "ilimitée".
edit:
Jybz :Merci BéBé
Une erreur de frappe ?

Édité par nic80 Le 14/10/2023 à 20h20

DéBé Membre non connecté
-
- Voir le profil du membre DéBé
- Inscrit le : 30/01/2010
- Groupes :
merci pour ces conseils.
Finistère - Matériel : Desktop :Mga 9 x86-64 sur SSD 120 Go Plasma5 - Intel I5-6500 3,2 Ghz /Ram 8 Go --Lenovo T 410 Mga 9 x86-64 Plasma 5 Le monde ne sera pas détruit par ceux qui font le mal, mais par ceux qui les regardent sans rien faire.” Albert Einstein

Jybz Membre non connecté
-
- Voir le profil du membre Jybz
- Inscrit le : 10/10/2018
- Groupes :
-
Administrateur
-
Forgeron
DéBé, as tu un conpte sur un service en ligne de gestion de code source ? (Framagit, notabug, gitlab, github, … )
Téléverser une image : /wiki/hebergement-de-fichiers-sur-mlo
Arch | Machine | OS |
x86_64 | lenovo x250 | mga9 |
armv7hl | bananapro | mga9 |
aarch64 | Raspberry Pi 4B | mga9 |

DéBé Membre non connecté
-
- Voir le profil du membre DéBé
- Inscrit le : 30/01/2010
- Groupes :
Jybz :Merci nic80 pour faire porter attention à mes coquilles.
DéBé, as tu un conpte sur un service en ligne de gestion de code source ? (Framagit, notabug, gitlab, github, … )
Euh non, juste un compte Framaforms. Pourquoi ?
Finistère - Matériel : Desktop :Mga 9 x86-64 sur SSD 120 Go Plasma5 - Intel I5-6500 3,2 Ghz /Ram 8 Go --Lenovo T 410 Mga 9 x86-64 Plasma 5 Le monde ne sera pas détruit par ceux qui font le mal, mais par ceux qui les regardent sans rien faire.” Albert Einstein

Jybz Membre non connecté
-
- Voir le profil du membre Jybz
- Inscrit le : 10/10/2018
- Groupes :
-
Administrateur
-
Forgeron
Téléverser une image : /wiki/hebergement-de-fichiers-sur-mlo
Arch | Machine | OS |
x86_64 | lenovo x250 | mga9 |
armv7hl | bananapro | mga9 |
aarch64 | Raspberry Pi 4B | mga9 |

DéBé Membre non connecté
-
- Voir le profil du membre DéBé
- Inscrit le : 30/01/2010
- Groupes :
Finistère - Matériel : Desktop :Mga 9 x86-64 sur SSD 120 Go Plasma5 - Intel I5-6500 3,2 Ghz /Ram 8 Go --Lenovo T 410 Mga 9 x86-64 Plasma 5 Le monde ne sera pas détruit par ceux qui font le mal, mais par ceux qui les regardent sans rien faire.” Albert Einstein
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie