Tant pis, c'est résolu mais ce script fonctionne pas mal. Avec le programme parallel, c'est encore mieux. Ça encode vitesse grand V chez moi.
Encode tous les fichiers flac, wav et ogg dans un dossier MP3 crée sur le bureau par le script.
Crée aussi des sous-répertoires Jour/heures. ( A cause de l'utilisation de mv qui n'écrasent pas les mêmes fichiers) . J'ai pas trouvé une autre combine.
Garde les Tags pour les fichiers qui le sont.
apt install parallel ffmpeg lame
Script:
#!/bin/bash -v
DIR=$(xdg-user-dir DESKTOP)
DIRMP3=$DIR/MP3
JOUR=$(date +%d-%m-%y)
HEURE=$(date +%H.%M.%S)
# Création Du Dossier MP3
if [ ! -d $DIRMP3 ]; then
echo "$DIRMP3 n'existe pas !"
echo "Création du dossier $DIRMP3."
mkdir "$DIRMP3"
else
echo "$DIRMP3"
fi
# Création D'un Dossier JOUR
if [ ! -d "$DIRMP3/$JOUR" ]; then
echo "$DIRMP3/$JOUR n'existe pas !"
echo "Création Du Dossier $JOUR."
mkdir "$DIRMP3/$JOUR"
fi
# Création D'un Sous-Répertoire HEURE
if [ ! -d "$DIRMP3/$JOUR/$HEURE" ]; then
echo "$DIRMP3/$JOUR/$HEURE n'existe pas !"
echo "Création Du Sous Répertoire $HEURE."
mkdir "$DIRMP3/$JOUR/$HEURE"
fi
#find . -type f -regextype posix-extended -iregex ".*\.(flac|wav|aiff|ogg|wv)" -exec bash -c 'ffmpeg -i "$0" -c:a libmp3lame -q:a 0 -map_metadata 0 -id3v2_version 3 -write_id3v1 1 "${0%.*}.mp3"' '{}' \; && find . -type f -name '*.mp3' -print0 | xargs -0 mv -t "$DIRMP3/$JOUR/$HEURE"
find . -type f -name '*.flac' -o -name '*.ogg' -o -name '*.wav' | parallel -i -j$(nproc) ffmpeg -y -i {} -c:a libmp3lame -q:a 0 -map_metadata 0 -id3v2_version 3 -write_id3v1 1 -y {.}.mp3 && find . -type f -name '*.mp3' -print0 | xargs -0 mv -t "$DIRMP3/$JOUR/$HEURE"
Dernière modification par Anonyme (02-10-2017 15:39:46)