logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).

#51 15-11-2020 13:33:35

Anonyme-14
Invité

Re : Streamripper (play/record + programmation) wav + cue + Titres.txt

Ça a l'air bien cool, j'attends que la version finale sorte dans les bacs tongue

#52 15-11-2020 13:49:08

Croutons
Membre
Distrib. : Debian12
Noyau : Linux 6.1.0-13-amd64
(G)UI : Fluxbox(NakeDeb)
Inscription : 16-12-2016

Re : Streamripper (play/record + programmation) wav + cue + Titres.txt

ba sinon hein comme je met mon nez partout j'avais vu dans les pages utilisateurs
chrono xxs , radio cli .....
j’espère tu as pas trop cherché pour le chrono tongue
https://debian-facile.org/utilisateurs: … s-f-utiles

-->les cahiers du debutant<--      WikiDF-->Découvrir les principales commandes Linux<-- 
L' expérience, c'est le nom que chacun donne à ses erreurs. Oscar Wilde

Hors ligne

#53 15-11-2020 13:54:44

Anonyme-14
Invité

Re : Streamripper (play/record + programmation) wav + cue + Titres.txt

une autre question, c'est mon côté chiant que j'aime bien, est-ce qu'il y a une possibilité de traiter les doublons ... tongue

#54 15-11-2020 15:09:20

Croutons
Membre
Distrib. : Debian12
Noyau : Linux 6.1.0-13-amd64
(G)UI : Fluxbox(NakeDeb)
Inscription : 16-12-2016

Re : Streamripper (play/record + programmation) wav + cue + Titres.txt

je pense avec un bout de commande avec utilitaire fslint ou fdupes
quoi que fdupes utilise les sommes de contrôle donc pas sur que se soit efficace

Dernière modification par Croutons (15-11-2020 15:39:13)


-->les cahiers du debutant<--      WikiDF-->Découvrir les principales commandes Linux<-- 
L' expérience, c'est le nom que chacun donne à ses erreurs. Oscar Wilde

Hors ligne

#55 15-11-2020 16:28:09

Anonyme
Invité

Re : Streamripper (play/record + programmation) wav + cue + Titres.txt

Les doublons, j'ai pas bien compris,

moi je planche sur ça :


Mes radios:
1.  Oldies_but_goldies

Entrer votre choix, 0 pour quitter: 1

play now or later
n.  Play
l.  Play Record
Play(n) or Later(l), 0 for exit: l

On vérifie si une écoute n'est pas déjà programmée.
La programmation n'est plus d'actualité
écoute programmée ...
enter the date in the format  MM/DD/YYYY HH:MM:SS 11/15/2020 16:45:00
00:15:11

 

Dernière modification par Anonyme (15-11-2020 16:30:15)

#56 15-11-2020 17:06:44

Croutons
Membre
Distrib. : Debian12
Noyau : Linux 6.1.0-13-amd64
(G)UI : Fluxbox(NakeDeb)
Inscription : 16-12-2016

Re : Streamripper (play/record + programmation) wav + cue + Titres.txt

doublons des fichiers je pense si il passe plusieurs fois les mêmes titre sur la radio
edit : pas top ce chrono il faut laisser le terminale ouvert du coup
un petit coup d’œil ici
https://debian-facile.org/viewtopic.php?id=14414

Dernière modification par Croutons (15-11-2020 17:39:14)


-->les cahiers du debutant<--      WikiDF-->Découvrir les principales commandes Linux<-- 
L' expérience, c'est le nom que chacun donne à ses erreurs. Oscar Wilde

Hors ligne

#57 15-11-2020 19:12:06

Anonyme
Invité

Re : Streamripper (play/record + programmation) wav + cue + Titres.txt

@Croutons

effectivement, c'est pas top et en plus pour ma part je ne vois pas tellement l'utilité d'une programation sur une chaine Radio ..... j'ai pas le guide des programmes !!! lol

C'était marrant de se casser la tête dessus mais je préfère rester sur le sujet initial. ( j'écoute simplement ou j'écoute tout en enregistrant )
Je sais même pas si je ne vais pas virer le split. Du moment que j'ai un WAV + CUE valide pour graver directement mes galettes.

En tout cas, c'était fonctionnel : big_smile


La programmation n'est plus d'actualitée ... on la supprime
Mes radios:
1.  Oldies_but_goldies

Entrer votre choix, 0 pour quitter: 1

play now or later
n.  Play
l.  Play Record
Play(n) or Later(l), 0 for exit: l

La programmation peut se faire
écoute programmée ...
enter the date in the format  MM/DD/YYYY HH:MM:SS 11/15/2020 19:16:00
C'est partie !!!
 (+) Audio --aid=1 (mp3 2ch 44100Hz)
File tags:
 icy-title: Ricchi E Poveri - M'Innamoro Di Te [G1S]
AO: [alsa] 48000Hz stereo 2ch float
A: 00:00:15 / 00:00:22 (70%) Cache: 6.2s/365KB
 

Dernière modification par Anonyme (15-11-2020 19:16:30)

#58 15-11-2020 23:02:53

Anonyme-14
Invité

Re : Streamripper (play/record + programmation) wav + cue + Titres.txt

je vois que tu avais déjà mis "-o" dans le script, cela devrait éviter trop de fichiers en double, si ça se trouve dans le même dossier de sortie ...

Merci de t'être penché sur la programmation de l'heure d'enregistrement, cela peut-être utile lorsque qu'une radio diffuse un truc sympa à une heure régulièree et que l'on est absent smile

#59 16-11-2020 07:51:20

Anonyme
Invité

Re : Streamripper (play/record + programmation) wav + cue + Titres.txt

@Anonyme-14

Bonjour,

essaies ce script sur l'écoute directe ou programmée et un arrêt avec timeout pour voir. J'ai fait simple pour pouvoir aller plus loin après.


Supprimé
 



Motif, je crois avoir trouvé un moyen (par une parade) de garder la programmation même si on coupe le terminal.
Si je relance le script, il va me signaler qu'une programmation dans le temps est valide et me proposera de la garder ou pas big_smile

Dernière modification par Anonyme (16-11-2020 16:58:52)

#60 16-11-2020 08:01:08

Anonyme-14
Invité

Re : Streamripper (play/record + programmation) wav + cue + Titres.txt

salut Anonyme, ok je vois ça en rentrant et je te dis smile

#61 16-11-2020 16:52:40

Anonyme
Invité

Re : Streamripper (play/record + programmation) wav + cue + Titres.txt

ça prend forme :


Il n'y a pas d'écoute programmée.

Mes radios:
1.  Oldies_but_goldies
2.  Radio_Italo4You

Entrer un choix, 0 pour quitter: 1

play now or later
n.  Play
l.  Play Record
Play(n) or Later(l), 0 for exit: l

Programation de l'écoute:
Entrer la date dans le format:  MM/DD/YYYY HH:MM:SS 11/16/2020 17:00:00
Pour une durée n(s) or n(m) or n(h) ex 30m : 1h
00:12:48

ctrl + c
 





Une écoute est déjà programmée pour le :
lun. 16 nov. 2020 17:00:00 CET

La programmation est encore d'actualité.
Garder cette programmation ? [Y/n] y
00:10:42
ctrl + c
 



ou encore :


Une écoute est déjà programmée pour le :
lun. 16 nov. 2020 17:00:00 CET

La programmation est encore d'actualité.
Garder cette programmation ? [Y/n] n
OK, on supprime donc les fichiers de cette programmation.
Mes radios:
1.  Oldies_but_goldies
2.  Radio_Italo4You

Entrer un choix, 0 pour quitter: 1

play now or later
n.  Play
l.  Play Record
Play(n) or Later(l), 0 for exit: n

Playing ...
 (+) Audio --aid=1 (mp3 2ch 44100Hz)
File tags:
 icy-title: Rod Stewart - Every Beat Of My Heart [G2l]
AO: [alsa] 48000Hz stereo 2ch float
A: 00:00:02 / 00:00:05 (38%) Cache: 3.0s/177KB


Exiting... (Quit)

 



J'arrange le bidule ... tongue

#62 17-11-2020 17:26:18

Anonyme-14
Invité

Re : Streamripper (play/record + programmation) wav + cue + Titres.txt

Version graphique j'utilise Tunapie qui fait l'enregistrement programmé mais je suis curieux de voir en ligne de commande big_smile

#63 17-11-2020 18:33:04

Anonyme
Invité

Re : Streamripper (play/record + programmation) wav + cue + Titres.txt

@Anonyme-14

Bonsoir,

C'est un début :  smile

Bien suivre ce qui s'affiche dans le terminal, ça évite de  planter le script wink


#!/bin/bash  

FILE=stream.txt

if [ -f "$FILE" ]; then
diff=$(sed -n 1p stream.txt)
echo ""
echo  "Une écoute est déjà programmée pour le :"
date  -d @"$diff"
echo ""

else
echo ""
echo  "Il n'y a pas d'écoute programmée."
echo ""



fi



if [ -f "$FILE" ] && [[ "$diff" -gt `date +%s` ]]; then
echo  "La programmation est encore d'actualité."

read -r -p "Garder cette programmation ? [Y/n] " input
case $input in
    [yY][eE][sS]|[yY])


diff=$(sed -n 1p stream.txt)
url_diff=$(sed -n 1p url.txt)
out_diff=$(sed -n 1p out.txt)
date=$(( $diff - `date +%s`))

  while [ "$diff" -ne `date +%s` ]; do
    echo -ne "  $(date -u --date @$(($diff - `date +%s`)) +%H:%M:%S)\r";
    sleep 1
  done
echo "C'est partie !!!"


./command_diff

    rm -f stream.txt
    rm -f url.txt
    rm -f out.txt
    rm -f command_diff

exit 0





 ;;
    [nN][oO]|[nN])
    echo "OK, on supprime donc les fichiers de cette programmation."
    rm -f stream.txt
    rm -f url.txt
    rm -f out.txt
    rm -f command_diff
 ;;
esac
   


fi



if [ -f "$FILE" ] && [[ "$diff" -lt `date +%s` ]]; then
echo  "La programmation n'est plus d'actualité ... on la supprime."
   rm -f stream.txt
   rm -f url.txt
   rm -f out.txt
   rm -f command_diff



fi



#### Radios.
echo "Mes radios:"
echo -e "\e[3;32m1. \033[m \e[3;94mOldies_but_goldies\033[m"
echo -e "\e[3;32m2. \033[m \e[3;94mRadio_Italo4You\033[m"
echo

echo -n "Entrer un choix, 0 pour quitter: "
read -r  choice
echo

if [[ "$choice" == 0 ]]; then
    echo "OK, see you!"
    exit 1


fi



if [[ "$choice" == "" ]]; then
    echo "Invalid input..."
    echo "Quit"
    exit 1

fi



if [[ "$choice" == 1 ]]; then
stream="http://orion.shoutca.st:8248/stream"



fi



if [[ "$choice" == 2 ]]; then
stream="http://s0.radiohost.pl:8018/stream"



fi



echo "Play/Play+Record or Play Diff/Play Diff+Record"
echo -e "\e[3;32m1. \033[m \e[3;94mPlay\033[m"
echo -e "\e[3;32m2. \033[m \e[3;94mPlay + Record\033[m"
echo -e "\e[3;32m3. \033[m \e[3;94mPlay Diff\033[m"
echo -e "\e[3;32m4. \033[m \e[3;94mPlay Diff + Record\033[m"

echo -n "Play(1) or Play + Record(2) or Play Diff(3) or Play Diff + Record(4), 0 for exit: "
read -r  choice_of_use
echo

if [[ "$choice_of_use" == "1" ]]; then
   echo -e "\e[3;32mPlaying ...\033[m"

mpv "$stream" --no-resume-playback --no-save-position-on-quit



fi



if [[ "$choice_of_use" == "2" ]]; then
   echo -e "\e[3;32mPlay + Record ...\033[m"

mpv "$stream" >/dev/null 2>&1 | \
streamripper "$stream" -a -A -s \
                  --codeset-filesys=UTF-8 \
                  --codeset-id3=UTF-8 \
                  --codeset-metadata=UTF-8 \
                  --codeset-relay=UTF-8 \
                  -u FreeAmp/2.x

filename_cue=$(find -type f -name "*.cue" | xargs --null basename)
filename=$(find -type f \( -name "*.mp3" -o -name "*.ogg" -o -name "*.flac" \) -print0 | xargs --null basename)
tr -d '\0' < "$filename_cue" > data.cue
sed -i -e '1 s/^.*$/FILE "data.wav" WAVE/' data.cue
rm -f "$filename_cue"
ffmpeg -i "$filename" -acodec pcm_s16le -ar 44100 data.wav
rm -f "$filename"

### on sort un listing des titres dans un fichier texte.
grep -e 'TITLE' -e 'PERFORMER' data.cue | \
                   awk '{for(x=1;x<=NF;x++)if($x~/TITLE/){sub(/TITLE/,++i)}}1' | \
                   sed '0~2G' \
                   >> Titres.txt


fi


if [[ "$choice_of_use" == "3" ]]; then
echo -e "\e[3;32mProgramation de l'écoute:\033[m"
read -p "Entrer la date dans le format:  MM/DD/YYYY HH:MM:SS " replay
read -p "Pour une durée n(s) or n(m) or n(h) ex 30m : " out

#### Création de commande différée dans le script command_diff
{ echo '#!/bin/bash';
echo '';
echo 'diff=$(sed -n 1p stream.txt)';
echo 'url_diff=$(sed -n 1p url.txt)';
echo 'out_diff=$(sed -n 1p out.txt)';
echo 'date=$(( $diff - `date +%s`))';
echo '';
echo 'timeout --foreground $out_diff mpv "$url_diff" --no-resume-playback --no-save-position-on-quit';
} >> command_diff

chmod u+x command_diff








diff=$(date "+%s" -d "$replay")
echo $diff > stream.txt

echo $stream > url.txt
url_diff=$(sed -n 1p url.txt)

echo $out > out.txt
out_diff=$(sed -n 1p out.txt)


date=$(( $diff - `date +%s`))
  while [ "$diff" -ne `date +%s` ]; do
    echo -ne "  $(date -u --date @$(($diff - `date +%s`)) +%H:%M:%S)\r";
    sleep 1
  done

echo "C'est parti !!!"
    rm -f stream.txt
    rm -f url.txt
    rm -f out.txt
    rm -f command_diff
timeout --foreground $out_diff mpv "$stream" --no-resume-playback --no-save-position-on-quit

exit 0


fi


if [[ "$choice_of_use" == "4" ]]; then



#### Création de commande différée dans le script command_diff
echo -e "\e[3;32mProgramation de l'écoute + enregistrement:\033[m"
read -p "Entrer la date dans le format:  MM/DD/YYYY HH:MM:SS " replay
read -p "Pour une durée n(s) or n(m) or n(h) ex 30m : " out


{ echo '#!/bin/bash';
echo '';
echo 'diff=$(sed -n 1p stream.txt)';
echo 'url_diff=$(sed -n 1p url.txt)';
echo 'out_diff=$(sed -n 1p out.txt)';
echo 'date=$(( $diff - `date +%s`))';
echo '';
echo 'timeout $out_diff bash -c "mpv $url_diff >/dev/null 2>&1 | \';
echo 'streamripper $url_diff -a -A -s \';
echo '                  --codeset-filesys=UTF-8 \';
echo '                  --codeset-id3=UTF-8 \';
echo '                  --codeset-metadata=UTF-8 \';
echo '                  --codeset-relay=UTF-8 \';
echo '                  -u FreeAmp/2.x"';
} >> command_diff

chmod u+x command_diff







diff=$(date "+%s" -d "$replay")
echo $diff > stream.txt

echo $stream > url.txt
url_diff=$(sed -n 1p url.txt)

echo $out > out.txt
out_diff=$(sed -n 1p out.txt)


date=$(( $diff - `date +%s`))
  while [ "$diff" -ne `date +%s` ]; do
    echo -ne "  $(date -u --date @$(($diff - `date +%s`)) +%H:%M:%S)\r";
    sleep 1
  done

echo "C'est parti !!!"
    rm -f stream.txt
    rm -f url.txt
    rm -f out.txt
    rm -f command_diff


timeout $out_diff bash -c "mpv $stream >/dev/null 2>&1 | \
streamripper $stream -a -A -s \
                 --codeset-filesys=UTF-8 \
                 --codeset-id3=UTF-8 \
                 --codeset-metadata=UTF-8 \
                 --codeset-relay=UTF-8 \
                 -u FreeAmp/2.x"


exit 0


fi







 



EDIT : j'ai posté deux fois le mauvais script tongue

Dernière modification par Anonyme (17-11-2020 18:54:26)

#64 17-11-2020 18:56:33

Anonyme-14
Invité

Re : Streamripper (play/record + programmation) wav + cue + Titres.txt

toulibre@toulibre ~/Téléchargements $ ./streamripper.sh

Il n'y a pas d'écoute programmée.

./streamripper.sh: ligne 28: erreur de syntaxe près du symbole inattendu « | »
./streamripper.sh: ligne 28: `    |)'
toulibre@toulibre ~/Téléchargements :( $



smile

#65 17-11-2020 19:02:02

Anonyme
Invité

Re : Streamripper (play/record + programmation) wav + cue + Titres.txt

C'est bizarre cette erreur, moi ça passe bien hmm

#66 17-11-2020 19:04:45

Anonyme-14
Invité

Re : Streamripper (play/record + programmation) wav + cue + Titres.txt

toulibre@toulibre ~/Téléchargements :( $ ./streamripper.sh

Il n'y a pas d'écoute programmée.

Mes radios:
1.  Oldies_but_goldies
2.  Radio_Italo4You

Entrer un choix, 0 pour quitter: 1

Play/Play+Record or Play Diff/Play Diff+Record
1.  Play
2.  Play + Record
3.  Play Diff
4.  Play Diff + Record
Play(1) or Play + Record(2) or Play Diff(3) or Play Diff + Record(4), 0 for exit: 4

Programation de l'écoute + enregistrement:
Entrer la date dans le format:  MM/DD/YYYY HH:MM:SS 11/17/2020 19:00:00
Pour une durée n(s) or n(m) or n(h) ex 30m : 10m
23:59:21
 



Tout nickel, mais au moment de l'écoute + enregistrement rien ne se passe et le compte à rebours repart sur 24h00

#67 17-11-2020 19:09:10

Anonyme
Invité

Re : Streamripper (play/record + programmation) wav + cue + Titres.txt

Tu as dû taper 19:00:00 alors qu'il était déjà 19:00:00, tu es parti pour 24 h d'attente ...... kernal_panic.gif


EDIT: il faudrait que je mette une condition.

Dernière modification par Anonyme (17-11-2020 19:12:12)

#68 17-11-2020 19:14:13

Anonyme-14
Invité

Re : Streamripper (play/record + programmation) wav + cue + Titres.txt

La deuxième fois ça a fonctionné impec, le fichier s'enregistre mais je n'ai pas le son (là ça vient de chez moi sûrement)

#69 17-11-2020 19:14:43

Anonyme
Invité

Re : Streamripper (play/record + programmation) wav + cue + Titres.txt

Oups, je crois que j'ai vu l'erreur tongue

#70 17-11-2020 19:26:43

Anonyme-14
Invité

Re : Streamripper (play/record + programmation) wav + cue + Titres.txt

toulibre@toulibre ~/Téléchargements $ ./streamripper.sh

Il n'y a pas d'écoute programmée.

Mes radios:
1.  Oldies_but_goldies
2.  Radio_Italo4You

Entrer un choix, 0 pour quitter: 1

Play/Play+Record or Play Diff/Play Diff+Record
1.  Play
2.  Play + Record
3.  Play Diff
4.  Play Diff + Record
Play(1) or Play + Record(2) or Play Diff(3) or Play Diff + Record(4), 0 for exit: 4

Programation de l'écoute + enregistrement:
Entrer la date dans le format:  MM/DD/YYYY HH:MM:SS 11/17/2020 19:12:00
Pour une durée n(s) or n(m) or n(h) ex 30m : 10m
C'est parti !!!
Connecting...
stream: DI Radio Digital Impulse - Oldies but goldies
server name: SHOUTcast/
declared bitrate: 320
meta interval: 8192

[skipping...   ] Bing Crosby - I Got Rhythm [FE2] [  1,34M]
[ripping...    ] Tom Jones - Daughter Of Darkness [GeM] [  7,50M]
[ripping...    ] The Beatles - Let It Be [G71] [  8,68M]
[ripping...    ] Ray Martin - Blue Tango [G1M] [  5,08M]
shutting down
bye..
 



Hop, ça vient de finir, pour l'erreur tu parles du son ?

#71 17-11-2020 19:52:27

Anonyme
Invité

Re : Streamripper (play/record + programmation) wav + cue + Titres.txt

Non je ne parlais pas du son, mais une réaction  bizarre que j'ai vu dans le script. On perd sur certaines options le ctrl + c smile

#72 17-11-2020 20:03:17

Anonyme-14
Invité

Re : Streamripper (play/record + programmation) wav + cue + Titres.txt

arf ok, j'ai pas le son à l'écoute mais j'ai le son en écoutant l'enregistrement (?), sinon l'enregistrement ne sépare pas les musiques ?

#73 17-11-2020 20:09:35

Anonyme
Invité

Re : Streamripper (play/record + programmation) wav + cue + Titres.txt

Anonyme-14 a écrit :

arf ok, j'ai pas le son à l'écoute mais j'ai le son en écoutant l'enregistrement (?), sinon l'enregistrement ne sépare pas les musiques ?



Oups pas tout de suite. Faut le temps de corriger les bricoles avant wink

#74 17-11-2020 20:37:46

Anonyme-14
Invité

Re : Streamripper (play/record + programmation) wav + cue + Titres.txt

Ok ça roule, mystère et boule de gomme pour le son, si je lance mplayer directement en diffusion je l'ai...
dès que tu avances un peu plus je teste et je te renvoie le retour smile

#75 17-11-2020 23:48:05

Anonyme-14
Invité

Re : Streamripper (play/record + programmation) wav + cue + Titres.txt

en fait j'ai le lecteur mplayer, pas mpv ... ah bah alors, découverte du soir bonsoir big_smile

Pied de page des forums