Debian-facile

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

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

#76 17-11-2020 23:52:49

Toulibre
Adhérent(e)
Lieu : Ganges, Cévennes
Distrib. : Debian Buster
Noyau : Linux 4.19.0-10-amd64
(G)UI : xfce
Inscription : 10-08-2020
Site Web

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

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: 1                                                                  
                                                                                                                                                     
Playing ...                                                                                                                                          
main.bash: line 144: mpv: command not found                                                                                                          
                                                                                                                                                     
                                                                                                                                                     
...Program finished with exit code 0  




Je n'ai pas eu ce message dans mon terminal mais ici https://www.onlinegdb.com/online_bash_shell
du coup j'ai vérifié et effectivement pas de lecteur mpv

Dernière modification par Toulibre (17-11-2020 23:57:04)

En ligne

#77 18-11-2020 09:56:25

Toulibre
Adhérent(e)
Lieu : Ganges, Cévennes
Distrib. : Debian Buster
Noyau : Linux 4.19.0-10-amd64
(G)UI : xfce
Inscription : 10-08-2020
Site Web

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

avec mplayer, tout est ok excepté l'option 4 qui ne fonctionne pas complètement, compte à rebours ok puis connecting...

#!/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 parti !!!"


./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"

mplayer "$stream"



fi



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

mplayer "$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 mplayer "$url_diff" ';
} >> 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 mplayer "$stream"

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 "mplayer $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 "mplayer $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
 

En ligne

#78 18-11-2020 10:11:46

golgot200
Membre
Distrib. : Archlinux 2018-02-03
Noyau : 5.9.4-arch1-1
(G)UI : Mate (Strict Minimum)
Inscription : 05-08-2007

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

Bonjour Toulibre

Oui, je sais que l'option 4 merdouillait. C'est à cause de timeout et ses limites. J'ai résoulu le problème en utilisant length dans mpv. Mais il y a fallu que je modifie un peu la saisie du n(s) n(m) et n(h) pour ne laisser que la saisie en secondes wink

Hors ligne

#79 18-11-2020 10:24:55

Toulibre
Adhérent(e)
Lieu : Ganges, Cévennes
Distrib. : Debian Buster
Noyau : Linux 4.19.0-10-amd64
(G)UI : xfce
Inscription : 10-08-2020
Site Web

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

Je n'essaye que de deviner, je n'y comprend absolument rien !

En ligne

#80 18-11-2020 10:40:16

Toulibre
Adhérent(e)
Lieu : Ganges, Cévennes
Distrib. : Debian Buster
Noyau : Linux 4.19.0-10-amd64
(G)UI : xfce
Inscription : 10-08-2020
Site Web

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

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



Le retour en mode 4

En ligne

#81 18-11-2020 10:41:18

golgot200
Membre
Distrib. : Archlinux 2018-02-03
Noyau : 5.9.4-arch1-1
(G)UI : Mate (Strict Minimum)
Inscription : 05-08-2007

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

Toulibre a écrit :

Je n'essaye que de deviner, je n'y comprend absolument rien !




echo -e "\e[32m   900  = \e[0m  0 heures 15 minutes"
echo -e "\e[32m  1800  = \e[0m  0 heures 30 minutes"
echo -e "\e[32m  2700  = \e[0m  0 heures 45 minutes"
echo -e "\e[32m  3600  = \e[0m  1 heures 00 minutes"
echo -e "\e[32m  4500  = \e[0m  1 heures 15 minutes"
echo -e "\e[32m  5400  = \e[0m  1 heures 30 minutes"
echo -e "\e[32m  6300  = \e[0m  1 heures 45 minutes"
echo -e "\e[32m  7200  = \e[0m  2 heures 00 minutes"
echo -e "\e[32m  8100  = \e[0m  2 heures 15 minutes"
echo -e "\e[32m  9000  = \e[0m  2 heures 30 minutes"
echo -e "\e[32m  9900  = \e[0m  2 heures 45 minutes"
echo -e "\e[32m 10800  = \e[0m  3 heures 00 minutes"
echo -e "\e[32m 11700  = \e[0m  3 heures 15 minutes"
echo -e "\e[32m 12600  = \e[0m  3 heures 30 minutes"

read -p "Pour une durée n(s): " out
echo ""
echo -e "\e[32m$out\e[0m secondes"
 




wink

Hors ligne

#82 18-11-2020 11:18:33

Toulibre
Adhérent(e)
Lieu : Ganges, Cévennes
Distrib. : Debian Buster
Noyau : Linux 4.19.0-10-amd64
(G)UI : xfce
Inscription : 10-08-2020
Site Web

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

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

[skipping...   ] Dave Dee, Dozy, Beaky, Mick & Tich - The wreck of  [  2,06M]
shutting down
bye..
 



ici avec l'otpion -ss -endpos

timeout $out_diff bash -c "mplayer -ss -endpos $stream >/dev/null 2>&1 | \


l'enregistrement fonctionne et s'arrête normalement, pas de son pendant la lecture...

En ligne

#83 20-11-2020 21:20:45

golgot200
Membre
Distrib. : Archlinux 2018-02-03
Noyau : 5.9.4-arch1-1
(G)UI : Mate (Strict Minimum)
Inscription : 05-08-2007

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

En fait, je m'apperçois que mon timer ne peut pas aller au lendemain, la programmation fonctionne que si on reste dans la plage du jour présent
scratchhead.gif

Dernière modification par golgot200 (20-11-2020 21:21:04)

Hors ligne

#84 20-11-2020 21:36:17

Toulibre
Adhérent(e)
Lieu : Ganges, Cévennes
Distrib. : Debian Buster
Noyau : Linux 4.19.0-10-amd64
(G)UI : xfce
Inscription : 10-08-2020
Site Web

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

je suis peut-être à côté de la plaque, un truc de ce genre ?

https://stackoverflow.com/questions/187 … ash-script

En ligne

#85 20-11-2020 21:58:40

golgot200
Membre
Distrib. : Archlinux 2018-02-03
Noyau : 5.9.4-arch1-1
(G)UI : Mate (Strict Minimum)
Inscription : 05-08-2007

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

Que j'suis C... c'est pas MM/DD/YYYY HH:MM:SS  mais YYYY/MM/DD HH:MM:SS

ça va beaucoup mieux maintenant big_smile

Hors ligne

#86 20-11-2020 22:09:00

golgot200
Membre
Distrib. : Archlinux 2018-02-03
Noyau : 5.9.4-arch1-1
(G)UI : Mate (Strict Minimum)
Inscription : 05-08-2007

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

Toulibre a écrit :

je suis peut-être à côté de la plaque, un truc de ce genre ?

https://stackoverflow.com/questions/187 … ash-script



A garder sous le coude wink Merci

Hors ligne

#87 20-11-2020 22:13:11

golgot200
Membre
Distrib. : Archlinux 2018-02-03
Noyau : 5.9.4-arch1-1
(G)UI : Mate (Strict Minimum)
Inscription : 05-08-2007

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

@Toulibre

Ci tu veux tester l'engin  (pas de mplayer, c'est mpv wink  )
Pas de séparation pour l'instant, tout doucement ...


#!/bin/bash  
#for f in $(find /tmp -name '*.pdf' -or -name '*.doc'); do rm $f; done
## for f in ./nouveaudossier/stream.txt ./stream.txt ; do rm "$f"; done


WAVE () {
if [[ "$choice_of_use" == "2" ]] || [[ "$choice_of_use" == "4" ]]; then
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"
fi
}

TITLE_TXT () {
if [[ "$choice_of_use" == "2" ]] || [[ "$choice_of_use" == "4" ]]; then
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
}

menage () {
    rm -f stream.txt
    rm -f url.txt
    rm -f out.txt
    rm -f command_diff
    rm -f length.txt
}



FILE=stream.txt
FIND=$( find . -name "$FILE")
COUNT_PROG_FIND=$( find . -name "$FILE" | wc -l )
DIR_FILE_PROG_FIND=$( find . -name "$FILE" -printf '%h\n' )


if [ $COUNT_PROG_FIND -gt 1 ] ; then
echo  "Trop de fichiers, on fait le ménage"
for f in $FIND ; do rm "$f"; done
fi


if [ $COUNT_PROG_FIND == 1 ]; then
cd "$DIR_FILE_PROG_FIND"

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

fi

if [ -f $FILE ] && [[ "$diff" -gt `date +%s` ]]; then
echo ""
echo  "Une écoute est déjà programmée pour le :"
date  -d @"$diff"
echo ""


read -r -p "Garder cette programmation et lancer le décompte ? [Y/n/q] " input
case $input in
    [yY][eE][sS]|[yY])
echo ""
echo "Décompte ..."



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

./command_diff


WAVE
TITLE_TXT
menage


exit 0

 ;;
    [nN][oO]|[nN])
    echo "OK, on supprime donc les fichiers de cette programmation."
   
menage

 ;;
    [qQ][uU][iI][tT]|[qQ])
echo ""
echo "On ignore et on continue ..."
echo ""
 ;;
esac


fi


if [ -f "$FILE" ] && [[ "$diff" -lt `date +%s` ]]; then
echo  "Il n'y a pas d'écoute programmée ou alors plus d'actualité."
   
menage



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

#### le nombre doit correspondre au nombre de radios ci-dessus.
if [[ "$choice" -gt 2 ]]; then
    echo "Il n'y a pas autant de radios."
    echo "Quit"
    exit 1

fi


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


fi



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


fi


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


fi



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

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"

folder_date_direct=$(date "+%s")
mkdir -p "$station/$folder_date_direct"

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

( cd "$station/$folder_date_direct" || exit
WAVE
### on sort un listing des titres dans un fichier texte.
TITLE_TXT
)


fi

###  YYYY/MM/DD HH:MM:SS 20201122 12:00:00
if [[ "$choice_of_use" == "3" ]]; then
echo -e "\e[3;32mProgramation de l'écoute:\033[m"
read -p "Entrer la date dans le format:  YYYY/MM/DD HH:MM:SS " replay
read -p "Pour une durée n(s): " 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 !!!"

menage

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

exit 0



fi



if [[ "$choice" != 0 || "$choice" != "" ]] && [[ "$choice_of_use" == "4" ]]; then
mkdir -p "$station"

#### 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

#folder_date=$(date -d "$replay")
folder_date=$(date "+%s" -d "$replay")
mkdir "$station/$folder_date"


echo ""
echo -e "\e[32m   900  = \e[0m  0 heures 15 minutes"
echo -e "\e[32m  1800  = \e[0m  0 heures 30 minutes"
echo -e "\e[32m  2700  = \e[0m  0 heures 45 minutes"
echo -e "\e[32m  3600  = \e[0m  1 heures 00 minutes"
echo -e "\e[32m  4500  = \e[0m  1 heures 15 minutes"
echo -e "\e[32m  5400  = \e[0m  1 heures 30 minutes"
echo -e "\e[32m  6300  = \e[0m  1 heures 45 minutes"
echo -e "\e[32m  7200  = \e[0m  2 heures 00 minutes"
echo -e "\e[32m  8100  = \e[0m  2 heures 15 minutes"
echo -e "\e[32m  9000  = \e[0m  2 heures 30 minutes"
echo -e "\e[32m  9900  = \e[0m  2 heures 45 minutes"
echo -e "\e[32m 10800  = \e[0m  3 heures 00 minutes"
echo -e "\e[32m 11700  = \e[0m  3 heures 15 minutes"
echo -e "\e[32m 12600  = \e[0m  3 heures 30 minutes"

read -p "Pour une durée n(s): " out
echo ""
echo -e "\e[32m$out\e[0m secondes"

{ 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 'length=$(sed -n 1p "length.txt")';
echo 'date=$(( $diff - `date +%s`))';
echo '';
echo 'timeout $out_diff 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 | \';
echo '                  mpv --length=$length $url_diff --no-resume-playback --no-save-position-on-quit ';

} >> "$station/$folder_date/command_diff"


chmod u+x "$station/$folder_date/command_diff"







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

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

echo $out > "$station/$folder_date/out.txt"
out_diff=$(sed -n 1p "$station/$folder_date/out.txt")


length=$(awk '{print $0}' "$station/$folder_date/out.txt" | sed 's/[^0-9]*//g')
echo $length > "$station/$folder_date/length.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 "$station/$folder_date/stream.txt"
    rm -f "$station/$folder_date/url.txt"
    rm -f "$station/$folder_date/out.txt"
    rm -f "$station/$folder_date/command_diff"
    rm -f "$station/$folder_date/length.txt"


timeout $out_diff streamripper $stream -a -A -s -d "$station/$folder_date" \
                  --codeset-filesys=UTF-8 \
                  --codeset-id3=UTF-8 \
                  --codeset-metadata=UTF-8 \
                  --codeset-relay=UTF-8 \
                  -u FreeAmp/2.x | \
                  mpv --length=$length $stream --no-resume-playback --no-save-position-on-quit

WAVE
TITLE_TXT
menage

exit 0


fi
 

Dernière modification par golgot200 (20-11-2020 22:14:24)

Hors ligne

#88 20-11-2020 22:59:43

Toulibre
Adhérent(e)
Lieu : Ganges, Cévennes
Distrib. : Debian Buster
Noyau : Linux 4.19.0-10-amd64
(G)UI : xfce
Inscription : 10-08-2020
Site Web

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

mini_201120105737103945.png

C'est nickel, lecture, enregistrement et durée d'enregistrement ( la durée d'enregistrement n'est pas une date et heure précise ?)
c'est super le dossier pour la radio mais pourquoi un sous-dossier ? y-a t'il un nouveau sous-dossier à chaque nouvel enregistrement programmé ?
en cas si plus tard tu fais la séparation des morceaux de musique pour mieux repérer les musiques en double un seul dossier par radio serait judicieux non ?
À moins que tu ne puisses pas faire autrement ...

En ligne

#89 21-11-2020 15:33:04

golgot200
Membre
Distrib. : Archlinux 2018-02-03
Noyau : 5.9.4-arch1-1
(G)UI : Mate (Strict Minimum)
Inscription : 05-08-2007

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

Toulibre a écrit :

( la durée d'enregistrement n'est pas une date et heure précise ?)



Quel merdier à faire ce truc. On ne passait pas les 24 H

Maintenant, j'arrive à ça :


Programation de l'écoute:
Entrer la date dans le format:  +J (un nombre) days HH:MM:SS +17 days 08:00:00
 



+17 days 08:00:00




Pour rester dans la journée, on mettra :

+0 days




et pour une durée de 60 (c'est en seconde)

60




Une fois programmée dans le temps, un ctrl+c
je vois que la programmation est notée:

17_16:30:30


On voit bien le jour 17 smile


je peux fermer le terminal.


Je le relance pour vérifier ce qui se passe :


Une écoute est déjà programmée pour le :
mar. 08 déc. 2020 08:00:00 CET
Garder cette programmation et lancer le décompte ? [Y/n/q]
 



je dis oui (y) pour voir si le décompte à passé la barrière de la fin du jour présent :


Une écoute est déjà programmée pour le :
mar. 08 déc. 2020 08:00:00 CET

Garder cette programmation et lancer le décompte ? [Y/n/q] y

Décompte ...
17_16:26:53
 



On est bon !!!  woohoo.gif

Pour ce qui est des sous dossiers, il sont numéroté par le temps en seconde ( c'est déjà une sécurité mais c'est surtout plus pour l'acceuil des fichiers de configuration de la programation). Comme chacun portent le même noms, c'était plus simple pour moi de faire comme ça. Je ne suis pas programmeur, je fait ça juste pour m'ammuser smile

Dernière modification par golgot200 (21-11-2020 15:41:47)

Hors ligne

#90 21-11-2020 16:09:40

Toulibre
Adhérent(e)
Lieu : Ganges, Cévennes
Distrib. : Debian Buster
Noyau : Linux 4.19.0-10-amd64
(G)UI : xfce
Inscription : 10-08-2020
Site Web

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

Ok ok, tes efforts deviennent gratifiants !

En ligne

#91 24-11-2020 16:36:12

Toulibre
Adhérent(e)
Lieu : Ganges, Cévennes
Distrib. : Debian Buster
Noyau : Linux 4.19.0-10-amd64
(G)UI : xfce
Inscription : 10-08-2020
Site Web

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

golgot200, tu avais posté ton nouveau code quelque part ?

En ligne

#92 24-11-2020 17:43:58

golgot200
Membre
Distrib. : Archlinux 2018-02-03
Noyau : 5.9.4-arch1-1
(G)UI : Mate (Strict Minimum)
Inscription : 05-08-2007

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

@Toulibre

Non je le fignole wink

Hors ligne

#93 26-11-2020 12:01:56

golgot200
Membre
Distrib. : Archlinux 2018-02-03
Noyau : 5.9.4-arch1-1
(G)UI : Mate (Strict Minimum)
Inscription : 05-08-2007

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

Bonjour,

Voilà, à tester. Pour la partie diff programation c'est comme ça :

Pour aujourd'hui :

+0 days 13:00:05




Pour demain :

+1 days 13:00:05




Le script


#!/bin/bash

WAVE () {

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"

}

TITLE_TXT () {

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

}


FADE_IN_OUT_WAVE () {
data_wav_duration=$(ffmpeg -i data.wav 2>&1 | awk '/^  Duration/ { split($2, A, ":"); split(A[3], B, "."); print 3600*A[1] + 60*A[2] + B[1]}')
times=()
_t=$(ffmpeg -i data.wav 2>&1 | awk '/^  Duration/ { split($2, A, ":"); split(A[3], B, "."); print 3600*A[1] + 60*A[2] + B[1] - 5 }')

times+=("$_t")

echo "${times[@]}" | sed 's/ /+/g' | bc

if [[ "$data_wav_duration" -gt 15 ]]; then

ffmpeg -i data.wav \
          -acodec pcm_s16le -ar 44100 \
          -af "afade=t=in:ss=0:d=3,afade=t=out:st=${times[*]} :d=3" \
          data-fade.wav
rm -f data.wav  
mv data-fade.wav data.wav


fi

}


menage () {
    rm -f stream.txt
    rm -f url.txt
    rm -f out.txt
    rm -f command_diff
    rm -f length.txt
    rm -f file_saves_station_folder_date.txt
                         
}



FILE=stream.txt
FIND=$( find . -name "$FILE")
COUNT_PROG_FIND=$( find . -name "$FILE" | wc -l )
DIR_FILE_PROG_FIND=$( find . -name "$FILE" -printf '%h\n' )

 

if [ $COUNT_PROG_FIND -gt 1 ] ; then
echo  "Trop de fichiers, on fait le ménage"
for f in $FIND ; do rm "$f"; done
fi


if [ $COUNT_PROG_FIND == 1 ]; then
cd "$DIR_FILE_PROG_FIND"

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

fi

if [ -f $FILE ] && [[ "$diff" -gt `date +%s` ]]; then
echo ""
echo  "Une écoute est déjà programmée pour le :"
date  -d @"$diff"
echo ""


read -r -p "Garder cette programmation et lancer le décompte ? [Y/n/q] " input
case $input in
    [yY][eE][sS]|[yY])
echo ""
echo "Décompte ..."



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

./command_diff


exit 0

 ;;
    [nN][oO]|[nN])
    echo "OK, on supprime donc le dossier et les fichiers de cette programmation par choix."
   
#menage
deldir=$(cat file_saves_station_folder_date.txt)
rm -r "$deldir"

 ;;
    [qQ][uU][iI][tT]|[qQ])
echo ""
echo "On ignore et on continue ..."
echo ""
 ;;
esac


fi


if [ -f "$FILE" ] && [[ "$diff" -lt `date +%s` ]]; then
echo  "La programation n'est plus d'actualité, on supprime donc ce dossier inutile et ses fichiers."
   
#menage
deldir=$(cat file_saves_station_folder_date.txt)
rm -r "$deldir"



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

#### le nombre doit correspondre au nombre de radios ci-dessus.
if [[ "$choice" -gt 2 ]]; then
    echo "Il n'y a pas autant de radios."
    echo "Quit"
    exit 1

fi


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


fi



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


fi


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


fi



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

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"

folder_date=$(date "+%s")
mkdir -p "$station/$folder_date"
readlink -m "$station/$folder_date" > "$station/$folder_date/file_saves_station_folder_date.txt"
DIRECTION=$(cat "$station/$folder_date/file_saves_station_folder_date.txt")


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

(cd "$DIRECTION" || exit
WAVE
### on sort un listing des titres dans un fichier texte.
TITLE_TXT
FADE_IN_OUT_WAVE
    rm -f file_saves_station_folder_date.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:  +J (un nombre) days HH:MM:SS " replay




folder_date=$(date "+%s" -d "$replay")
mkdir -p "$station/$folder_date"
readlink -m "$station/$folder_date" > "$station/$folder_date/file_saves_station_folder_date.txt"
DIRECTION=$(cat "$station/$folder_date/file_saves_station_folder_date.txt")


echo ""
echo -e "\e[32m   900  = \e[0m  0 heures 15 minutes"
echo -e "\e[32m  1800  = \e[0m  0 heures 30 minutes"
echo -e "\e[32m  2700  = \e[0m  0 heures 45 minutes"
echo -e "\e[32m  3600  = \e[0m  1 heures 00 minutes"
echo -e "\e[32m  4500  = \e[0m  1 heures 15 minutes"
echo -e "\e[32m  5400  = \e[0m  1 heures 30 minutes"
echo -e "\e[32m  6300  = \e[0m  1 heures 45 minutes"
echo -e "\e[32m  7200  = \e[0m  2 heures 00 minutes"
echo -e "\e[32m  8100  = \e[0m  2 heures 15 minutes"
echo -e "\e[32m  9000  = \e[0m  2 heures 30 minutes"
echo -e "\e[32m  9900  = \e[0m  2 heures 45 minutes"
echo -e "\e[32m 10800  = \e[0m  3 heures 00 minutes"
echo -e "\e[32m 11700  = \e[0m  3 heures 15 minutes"
echo -e "\e[32m 12600  = \e[0m  3 heures 30 minutes"

read -p "Pour une durée n(s): " out
echo ""
echo -e "\e[32m$out\e[0m secondes"




#### 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';
} >> "$DIRECTION/command_diff"


chmod u+x "$DIRECTION/command_diff"



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

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

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


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

echo "C'est parti !!!"

rm -r "$DIRECTION"

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

exit 0



fi



if [[ "$choice" != 0 || "$choice" != "" ]] && [[ "$choice_of_use" == "4" ]]; then
mkdir -p "$station"

#### 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:  +J (un nombre) days HH:MM:SS " replay


folder_date=$(date "+%s" -d "$replay")
mkdir "$station/$folder_date"
readlink -m "$station/$folder_date" > "$station/$folder_date/file_saves_station_folder_date.txt"
DIRECTION=$(cat "$station/$folder_date/file_saves_station_folder_date.txt")

echo ""
echo -e "\e[32m   900  = \e[0m  0 heures 15 minutes"
echo -e "\e[32m  1800  = \e[0m  0 heures 30 minutes"
echo -e "\e[32m  2700  = \e[0m  0 heures 45 minutes"
echo -e "\e[32m  3600  = \e[0m  1 heures 00 minutes"
echo -e "\e[32m  4500  = \e[0m  1 heures 15 minutes"
echo -e "\e[32m  5400  = \e[0m  1 heures 30 minutes"
echo -e "\e[32m  6300  = \e[0m  1 heures 45 minutes"
echo -e "\e[32m  7200  = \e[0m  2 heures 00 minutes"
echo -e "\e[32m  8100  = \e[0m  2 heures 15 minutes"
echo -e "\e[32m  9000  = \e[0m  2 heures 30 minutes"
echo -e "\e[32m  9900  = \e[0m  2 heures 45 minutes"
echo -e "\e[32m 10800  = \e[0m  3 heures 00 minutes"
echo -e "\e[32m 11700  = \e[0m  3 heures 15 minutes"
echo -e "\e[32m 12600  = \e[0m  3 heures 30 minutes"

read -p "Pour une durée n(s): " out
echo ""
echo -e "\e[32m$out\e[0m secondes"

{ 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 'length=$(sed -n 1p "length.txt")';
echo 'date=$(( $diff - `date +%s`))';
echo '';
echo 'timeout $out_diff 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 | \';
echo '                  mpv --length=$length $url_diff --no-resume-playback --no-save-position-on-quit ';

} >> "$DIRECTION/command_diff"


chmod u+x "$DIRECTION/command_diff"



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

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

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


length=$(awk '{print $0}' "$DIRECTION/out.txt" | sed 's/[^0-9]*//g')
echo $length > "$DIRECTION/length.txt"


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

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


timeout $out_diff streamripper $stream -a -A -s -d "$DIRECTION" \
                  --codeset-filesys=UTF-8 \
                  --codeset-id3=UTF-8 \
                  --codeset-metadata=UTF-8 \
                  --codeset-relay=UTF-8 \
                  -u FreeAmp/2.x | \
                  mpv --length=$length $stream --no-resume-playback --no-save-position-on-quit

(cd "$DIRECTION"  
WAVE
TITLE_TXT
FADE_IN_OUT_WAVE
menage

exit 0
)

fi


 

Dernière modification par golgot200 (26-11-2020 12:09:39)

Hors ligne

#94 26-11-2020 12:21:59

Toulibre
Adhérent(e)
Lieu : Ganges, Cévennes
Distrib. : Debian Buster
Noyau : Linux 4.19.0-10-amd64
(G)UI : xfce
Inscription : 10-08-2020
Site Web

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

toulibre@toulibre:~/Téléchargements$ ./streamripper.sh
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:  +J (un nombre) days HH:MM:SS +0 days 12:16:00

   900  =   0 heures 15 minutes
  1800  =   0 heures 30 minutes
  2700  =   0 heures 45 minutes
  3600  =   1 heures 00 minutes
  4500  =   1 heures 15 minutes
  5400  =   1 heures 30 minutes
  6300  =   1 heures 45 minutes
  7200  =   2 heures 00 minutes
  8100  =   2 heures 15 minutes
  9000  =   2 heures 30 minutes
  9900  =   2 heures 45 minutes
 10800  =   3 heures 00 minutes
 11700  =   3 heures 15 minutes
 12600  =   3 heures 30 minutes
Pour une durée n(s): 100

100 secondes
C'est parti !!!
Playing: http://orion.shoutca.st:8248/stream
 (+) Audio --aid=1 (mp3 2ch 44100Hz)
AO: [pulse] 44100Hz stereo 2ch float
File tags:
 icy-title: The Avons - Rubber Ball [G6o]
A: 00:00:11 / 00:00:18 (63%) Cache:  6s+356KB
File tags:
 icy-title: Tennessee Ernie Ford - Mule Train [G5x]
A: 00:01:39 / 00:01:46 (93%) Cache:  6s+350KB


Exiting... (End of file)
ffmpeg version 4.1.6-1~deb10u1 Copyright (c) 2000-2020 the FFmpeg developers
  built with gcc 8 (Debian 8.3.0-6)
  configuration: --prefix=/usr --extra-version='1~deb10u1' --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --enable-avresample --disable-filter=resample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libjack --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librsvg --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-lv2 --enable-omx --enable-openal --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libx264 --enable-shared
  libavutil      56. 22.100 / 56. 22.100
  libavcodec     58. 35.100 / 58. 35.100
  libavformat    58. 20.100 / 58. 20.100
  libavdevice    58.  5.100 / 58.  5.100
  libavfilter     7. 40.101 /  7. 40.101
  libavresample   4.  0.  0 /  4.  0.  0
  libswscale      5.  3.100 /  5.  3.100
  libswresample   3.  3.100 /  3.  3.100
  libpostproc    55.  3.100 / 55.  3.100
[mp3 @ 0x55ec9447c840] Estimating duration from bitrate, this may be inaccurate
Input #0, mp3, from 'sr_program_2020_11_26_12_16_00.mp3':
  Duration: 00:01:46.09, start: 0.000000, bitrate: 320 kb/s
    Stream #0:0: Audio: mp3, 44100 Hz, stereo, fltp, 320 kb/s
Stream mapping:
  Stream #0:0 -> #0:0 (mp3 (mp3float) -> pcm_s16le (native))
Press [q] to stop, [?] for help
Output #0, wav, to 'data.wav':
  Metadata:
    ISFT            : Lavf58.20.100
    Stream #0:0: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 44100 Hz, stereo, s16, 1411 kb/s
    Metadata:
      encoder         : Lavc58.35.100 pcm_s16le
[mp3float @ 0x55ec9447ec00] invalid new backstep -1
size=   18279kB time=00:01:46.10 bitrate=1411.2kbits/s speed= 358x    
video:0kB audio:18279kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.000417%
101
ffmpeg version 4.1.6-1~deb10u1 Copyright (c) 2000-2020 the FFmpeg developers
  built with gcc 8 (Debian 8.3.0-6)
  configuration: --prefix=/usr --extra-version='1~deb10u1' --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --enable-avresample --disable-filter=resample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libjack --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librsvg --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-lv2 --enable-omx --enable-openal --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libx264 --enable-shared
  libavutil      56. 22.100 / 56. 22.100
  libavcodec     58. 35.100 / 58. 35.100
  libavformat    58. 20.100 / 58. 20.100
  libavdevice    58.  5.100 / 58.  5.100
  libavfilter     7. 40.101 /  7. 40.101
  libavresample   4.  0.  0 /  4.  0.  0
  libswscale      5.  3.100 /  5.  3.100
  libswresample   3.  3.100 /  3.  3.100
  libpostproc    55.  3.100 / 55.  3.100
Guessed Channel Layout for Input Stream #0.0 : stereo
Input #0, wav, from 'data.wav':
  Metadata:
    encoder         : Lavf58.20.100
  Duration: 00:01:46.11, bitrate: 1411 kb/s
    Stream #0:0: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 44100 Hz, stereo, s16, 1411 kb/s
Stream mapping:
  Stream #0:0 -> #0:0 (pcm_s16le (native) -> pcm_s16le (native))
Press [q] to stop, [?] for help
Output #0, wav, to 'data-fade.wav':
  Metadata:
    ISFT            : Lavf58.20.100
    Stream #0:0: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 44100 Hz, stereo, s16, 1411 kb/s
    Metadata:
      encoder         : Lavc58.35.100 pcm_s16le
size=   18279kB time=00:01:46.10 bitrate=1411.2kbits/s speed=1.16e+03x    
video:0kB audio:18279kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.000417%
toulibre@toulibre:~/Téléchargements$



ça fonctionne bien mais avec quelques messages d'erreurs

[mp3 @ 0x55ec9447c840] Estimating duration from bitrate, this may be inaccurate


[mp3float @ 0x55ec9447ec00] invalid new backstep -1


Guessed Channel Layout for Input Stream #0.0 : stereo

En ligne

#95 26-11-2020 13:38:45

golgot200
Membre
Distrib. : Archlinux 2018-02-03
Noyau : 5.9.4-arch1-1
(G)UI : Mate (Strict Minimum)
Inscription : 05-08-2007

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

Salut Toulibre

Ces messages d'erreurs, tu n'en tiens pas compte. C'est au niveau de l'encodage avec ffmpeg et le mp3. J'ai les même messages wink

Hors ligne

#96 26-11-2020 15:05:53

Toulibre
Adhérent(e)
Lieu : Ganges, Cévennes
Distrib. : Debian Buster
Noyau : Linux 4.19.0-10-amd64
(G)UI : xfce
Inscription : 10-08-2020
Site Web

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

ok ok, super ça prend forme alors smile

En ligne

#97 26-11-2020 22:24:56

Toulibre
Adhérent(e)
Lieu : Ganges, Cévennes
Distrib. : Debian Buster
Noyau : Linux 4.19.0-10-amd64
(G)UI : xfce
Inscription : 10-08-2020
Site Web

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

De mon côté je viens de voir que je peux ajouter des radios sur Tunapie en mettant une radio dans les favoris et ensuite il devient possible de la modifier,
du coup j'ai rajouté Oldies_but_goldies big_smile
ah bah je suis pas programmeur mais y en a là dedans ! lol

En ligne

#98 27-11-2020 07:56:00

golgot200
Membre
Distrib. : Archlinux 2018-02-03
Noyau : 5.9.4-arch1-1
(G)UI : Mate (Strict Minimum)
Inscription : 05-08-2007

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

smile

Bonjour,
plutôt que d'utiliser ffmpeg pour le passage du mp3 en wav, je vais opter pour lame et son option --decode. Je pense que ça sera mieux au niveau des streamings mp3 qui n'ont pas de "durée" inscrite.

Hors ligne

#99 27-11-2020 10:44:31

Toulibre
Adhérent(e)
Lieu : Ganges, Cévennes
Distrib. : Debian Buster
Noyau : Linux 4.19.0-10-amd64
(G)UI : xfce
Inscription : 10-08-2020
Site Web

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

j'ai hâte de tester smile

En ligne

#100 27-11-2020 11:42:00

golgot200
Membre
Distrib. : Archlinux 2018-02-03
Noyau : 5.9.4-arch1-1
(G)UI : Mate (Strict Minimum)
Inscription : 05-08-2007

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

Toulibre a écrit :



ça fonctionne bien mais avec quelques messages d'erreurs

[mp3 @ 0x55ec9447c840] Estimating duration from bitrate, this may be inaccurate


[mp3float @ 0x55ec9447ec00] invalid new backstep -1


Guessed Channel Layout for Input Stream #0.0 : stereo




Estimating duration from bitrate, this may be inaccurate


supprimé par l'utilisation de "lame --decode" au lieu de ffmpeg

mp3float @ 0x55ec9447ec00] invalid new backstep -1


De la même façon

Guessed Channel Layout for Input Stream #0.0 : stereo


supprimé par l'option :

ffmpeg -guess_layout_max 0 -i



wink

Dernière modification par golgot200 (27-11-2020 11:42:21)

Hors ligne

Pied de page des forums