#26 Le 18/09/2008, à 09:12
- Ras'
Re : Script Nautilus pour convertir/transcoder en mp3...
Ce n'est pas un ajout trivial la prise en charge d'arborescences!
Ca veut dire que tu ne compte pas essayer ou c'est juste qu'il te faudra du temps ?
Non pas que je veuille te mettre la pression, j'en aurais pas besoin avant un petit bout de temps... mais c'est pour savoir si je propsoe à quelqu'un d'autre ou si je m'y file
Merci bien
Va t'faire shampouiner par le compteur_V2 en timezone[Canada/Eastern] !
Les types awesome n'ont rien à prouver. À personne.
'k bye là
Hors ligne
#27 Le 19/09/2008, à 08:59
- Se6
Re : Script Nautilus pour convertir/transcoder en mp3...
Ok, je regarde...
Se6.
Hors ligne
#28 Le 19/09/2008, à 13:14
- Se6
Re : Script Nautilus pour convertir/transcoder en mp3...
Ok. C'est fait, les arborescences sont maitenant prises en charges.
Donc. On selectionne les fichiers et/ou repertoires dans Nautilus.
Ensuite on clique droit / Scripts / Convertir en mp3
Une fenetre de selection de repertoire s'ouvre alors. On ne peut selectionner qu'un seul repertoire ici. Celui ou les fichiers convertis seront mis.
Ensuite une fenetre de selection du debit s'ouvre.
Tout se passe ensuite en tache de fond.
Un fichier de log est cree: ~/mp3-convert.log (a consulter pour voir les eventuelles erreurs rencontrees)
ogg, flac, wav, mp3, ra, aac, etc. tout format reconnu par gstreamer peuvent etre convertis!
Convertir en autre chose qu'en mp3, changer les options de codage etc.. ne demande que des changements triviaux au script. A vous de l'adapter a vos besoins.
Se6.
A mettre dans un fichier ~/.gnome2/nautilus-scripts/Convertir en mp3
et a rendre executable.
#!/bin/bash
#
# dependancies:
# zenity
# gstreamer0.10-plugins-ugly
# gstreamer-tools
#
# Usage: To use in Nautilus
# You select files and directorie in Nautilus, then you right click, script/Convert to mp3...
# A first dialog will ask you where to put the converted files
# A second one will let you select the bit rate
# Then everything will happen in the background, no other info will be printed...
# A log file ~/mp3-convert.log will be created.
#
LOGFILE=~/mp3-convert.log
echo "" >$LOGFILE
exec 1>>$LOGFILE
exec 2>>$LOGFILE
LOC=$(zenity --file-selection --directory --title="Directory to receive the converted audio") || exit
RATE=$(zenity --list --radiolist \
--height=400 \
--text="bitrate in kb/s" --title="Select mp3 bit rate" \
--column="Select" --column="Bit rate" \
FALSE 32 FALSE 48 FALSE 56 FALSE 64 FALSE 80 FALSE 96 FALSE 112 TRUE 128 FALSE 160 FALSE 192 FALSE 224 FALSE 256 FALSE 320 \
) || exit
IFS=$'\n'
for SELECTED in $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS
do
if [ -f "$SELECTED" ]
then
TARGET="$(basename $SELECTED)"
TARGET=${TARGET%.*}.mp3
if [ -e "$LOC/$TARGET" ]
then
echo -e "\n# Warning: $LOC/$TARGET already exist, did not overwrite it."
else
echo -e "\n#Processing $SELECTED -> $LOC/$TARGET"
gst-launch filesrc location="$SELECTED" ! decodebin ! audioconvert ! lame bitrate=$RATE ! filesink location="$LOC/$TARGET"
fi
elif [ -d "$SELECTED" ]
then
TARGET_DIR="$LOC/${SELECTED##*/}"
if [ ! -d "$TARGET_DIR" ]
then
mkdir -p "$TARGET_DIR"
fi
for FILENAME in $(find "$SELECTED" -type f -printf "%p\n")
do
THEDIR=${FILENAME%/*}
THEDIR=${THEDIR:${#SELECTED}}
THEDIR="$TARGET_DIR$THEDIR"
if [ ! -d "$THEDIR" ]
then
mkdir -p "$THEDIR"
fi
TARGET="$(basename $FILENAME)"
TARGET=${TARGET%.*}.mp3
if [ -e "$THEDIR/$TARGET" ]
then
echo -e "\n#Warning: $THEDIR/$TARGET already exist, did not overwrite it."
else
echo -e "\n#Processing $FILENAME -> $THEDIR/$TARGET"
gst-launch filesrc location="$FILENAME" ! decodebin ! audioconvert ! lame bitrate=$RATE ! filesink location="$THEDIR/$TARGET"
if [ ! -s "$THEDIR/$TARGET" ]
then
echo "# It probably was not audio, copying instead."
rm "$THEDIR/$TARGET"
cp -a -- "$FILENAME" "$THEDIR/$(basename $FILENAME)"
fi
fi
done
fi
done
Dernière modification par Se6 (Le 19/09/2008, à 13:15)
Hors ligne
#29 Le 19/09/2008, à 15:22
- Ras'
Re : Script Nautilus pour convertir/transcoder en mp3...
Cool
Je teste ça dès que possible, dans le week end normalement
Merci beaucoup !
Je regarerais un peu le code aussi voir comment t'as fait, parce que du coup je me suis pas du tout posé la question de la technique à employer...
Va t'faire shampouiner par le compteur_V2 en timezone[Canada/Eastern] !
Les types awesome n'ont rien à prouver. À personne.
'k bye là
Hors ligne
#30 Le 19/09/2008, à 20:52
- Se6
Re : Script Nautilus pour convertir/transcoder en mp3...
Petite amelioration... avec une barre de progression...
#!/bin/bash
#
# dependancies:
# zenity
# gstreamer0.10-plugins-ugly-multiverse
# gstreamer-tools
#
# Usage: To use in Nautilus
# You select files and directorie in Nautilus, then you right click, script/Convert to mp3...
# A first dialog will ask you where to put the converted files
# A second one will let you select the bit rate
# Then a progression bar will appear.
# A log file ~/mp3-convert.log will be created.
#
LOGFILE=~/mp3-convert.log
LOC=$(zenity --file-selection --directory --title="Directory to receive the converted audio") || exit
RATE=$(zenity --list --radiolist \
--height=400 \
--text="bitrate in kb/s" --title="Select mp3 bit rate" \
--column="Select" --column="Bit rate" \
FALSE 32 FALSE 48 FALSE 56 FALSE 64 FALSE 80 FALSE 96 FALSE 112 TRUE 128 FALSE 160 FALSE 192 FALSE 224 FALSE 256 FALSE 320 \
) || exit
(
IFS=$'\n'
TOTAL=0
NB=0
# Checking how many files there are to process
for SELECTED in $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS
do
if [ -f "$SELECTED" ]
then
let TOTAL+=1
elif [ -d "$SELECTED" ]
then
for FILENAME in $(find "$SELECTED" -type f -printf "%p\n")
do
let TOTAL+=1
done
fi
done
function show_progress
{
let NB+=100/TOTAL
echo $NB
}
for SELECTED in $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS
do
if [ -f "$SELECTED" ]
then
show_progress
TARGET="$(basename $SELECTED)"
TARGET=${TARGET%.*}.mp3
if [ -e "$LOC/$TARGET" ]
then
echo -e "\nWarning: $LOC/$TARGET already exist, did not overwrite it."
else
echo -e "\n#Processing $(basename $SELECTED)\n$SELECTED -> $LOC/$TARGET"
gst-launch filesrc location="$SELECTED" ! decodebin ! audioconvert ! lame bitrate=$RATE ! filesink location="$LOC/$TARGET" 2>&1
fi
elif [ -d "$SELECTED" ]
then
TARGET_DIR="$LOC/${SELECTED##*/}"
if [ ! -d "$TARGET_DIR" ]
then
mkdir -p "$TARGET_DIR"
fi
for FILENAME in $(find "$SELECTED" -type f -printf "%p\n")
do
show_progress
THEDIR=${FILENAME%/*}
THEDIR=${THEDIR:${#SELECTED}}
THEDIR="$TARGET_DIR$THEDIR"
if [ ! -d "$THEDIR" ]
then
mkdir -p "$THEDIR"
fi
TARGET="$(basename $FILENAME)"
TARGET=${TARGET%.*}.mp3
if [ -e "$THEDIR/$TARGET" ]
then
echo -e "\nWarning: $THEDIR/$TARGET already exist, did not overwrite it."
else
echo -e "\n#Processing $(basename $FILENAME)\n$FILENAME -> $THEDIR/$TARGET"
gst-launch filesrc location="$FILENAME" ! decodebin ! audioconvert ! lame bitrate=$RATE ! filesink location="$THEDIR/$TARGET" 2>&1
if [ ! -s "$THEDIR/$TARGET" ]
then
echo "It probably was not audio, copying instead."
rm "$THEDIR/$TARGET"
cp -a -- "$FILENAME" "$THEDIR/$(basename $FILENAME)"
fi
fi
done
fi
done
echo 100
) | tee $LOGFILE | zenity --progress --auto-close
EDIT 1: J'ai supprime deux lignes qui n'auraient pas du etre la...
EDIT 2: Dependance corrigee.
Dernière modification par Se6 (Le 22/09/2008, à 08:50)
Hors ligne
#31 Le 20/09/2008, à 19:53
- Ras'
Re : Script Nautilus pour convertir/transcoder en mp3...
Marche pas avec le flac apparement...
le script marche sans problème, étonnament vite d'ailleurs, mais les fichiers créés sont aussi en flac (donc ca doit aller vite parce qu'il encode pas j'imagine...)
ras@ras-laptopoulos:~/.gnome2/nautilus-scripts$ tail /home/ras/.xsession-errors
rm: ne peut enlever `/home/ras/Bureau/Peace Monger/11 - Meaning of Dub.mp3': Aucun fichier ou dossier de ce type
rm: ne peut enlever `/home/ras/Bureau/Peace Monger/08 - Marathon.mp3': Aucun fichier ou dossier de ce type
rm: ne peut enlever `/home/ras/Bureau/Peace Monger/10 - Globy Dub.mp3': Aucun fichier ou dossier de ce type
rm: ne peut enlever `/home/ras/Bureau/Peace Monger/04 - Irie Woman.mp3': Aucun fichier ou dossier de ce type
rm: ne peut enlever `/home/ras/Bureau/Peace Monger/02 - Namibia.mp3': Aucun fichier ou dossier de ce type
rm: ne peut enlever `/home/ras/Bureau/Peace Monger/09 - True Dub.mp3': Aucun fichier ou dossier de ce type
rm: ne peut enlever `/home/ras/Bureau/Peace Monger/06 - Family Affair.mp3': Aucun fichier ou dossier de ce type
rm: ne peut enlever `/home/ras/Bureau/Peace Monger/05 - Living for Dub.mp3': Aucun fichier ou dossier de ce type
rm: ne peut enlever `/home/ras/Bureau/Peace Monger/01 - Channel 77.mp3': Aucun fichier ou dossier de ce type
rm: ne peut enlever `/home/ras/Bureau/Peace Monger/12 - Peace Monger.mp3': Aucun fichier ou dossier de ce type
???
Pas du tout le temps de regarder ça donc si t'as le temps...
Dommage j'en aurais eu besoin ce soir :\
Va t'faire shampouiner par le compteur_V2 en timezone[Canada/Eastern] !
Les types awesome n'ont rien à prouver. À personne.
'k bye là
Hors ligne
#32 Le 21/09/2008, à 21:27
- Se6
Re : Script Nautilus pour convertir/transcoder en mp3...
Marche pas avec le flac apparement...
Je ne comprends pas. Ca marche ici. Que dit ~/mp3-convert.log ?
Seb.
Hors ligne
#33 Le 21/09/2008, à 23:15
- Ras'
Re : Script Nautilus pour convertir/transcoder en mp3...
J'avais oublié des dépendances
Mais j'ai quand même un problème :
#Processing 12 - Peace Monger.flac
/home/ras/Musique/Flac/New/Peace Monger/12 - Peace Monger.flac -> /home/ras/Bureau/Peace Monger/12 - Peace Monger.mp3
AVERTISSEMENT : pipeline erroné : pas d'élément « lame »
It probably was not audio, copying instead.
100
Pareil pour toutes les chansons...
Va t'faire shampouiner par le compteur_V2 en timezone[Canada/Eastern] !
Les types awesome n'ont rien à prouver. À personne.
'k bye là
Hors ligne
#34 Le 22/09/2008, à 08:49
- Se6
Re : Script Nautilus pour convertir/transcoder en mp3...
AVERTISSEMENT : pipeline erroné : pas d'élément « lame »
C'est un probleme de dependances... En fait c'est ma faute, lame ne fait pas partie de gstreamer0.10-plugins-ugly mais de gstreamer0.10-plugins-ugly-multiverse.
Le meta paquet ubuntu-restricted-extras installe entre autres:
gstreamer0.10-ffmpeg, gstreamer0.10-pitfdll, gstreamer0.10-plugins-bad, gstreamer0.10-plugins-bad-multiverse, gstreamer0.10-plugins-ugly, gstreamer0.10-plugins-ugly-multiverse
Seb.
Hors ligne
#35 Le 22/09/2008, à 10:09
- Ras'
Re : Script Nautilus pour convertir/transcoder en mp3...
Cool je teste ça de ce pas
Ca à l'air de marcher, du coup c'est un peu plus long, mais ça à l'air de rester acceptable niveau temps d'encodage
Ensuite j'ai pas tout déchiffré mais j'ai l'impression que le script ne marcherais pas si on à un de la musique dans un dossier dans un dossier dans un dossier... mais c'est assez rare
Va t'faire shampouiner par le compteur_V2 en timezone[Canada/Eastern] !
Les types awesome n'ont rien à prouver. À personne.
'k bye là
Hors ligne
#36 Le 22/09/2008, à 10:49
- Se6
Re : Script Nautilus pour convertir/transcoder en mp3...
j'ai l'impression que le script ne marcherais pas si on à un de la musique dans un dossier dans un dossier dans un dossier...
Si justement ca marche! Et les fichiers qui ne sont pas de l'audio sont copies egalement...
Seb.
Hors ligne
#37 Le 22/09/2008, à 13:08
- Ras'
Re : Script Nautilus pour convertir/transcoder en mp3...
Ah oui au temps pour moi, j'avais pas testé, juste regardé vite fait comment c'était écris...
Sinon tu peux modifier mp3-convert.log pour .mp3-convert.log, vu qu'on est pas censé s'en servir, ou rarement, autant l'avoir caché
et c'est quoi ce fichier "progress" ?
Va t'faire shampouiner par le compteur_V2 en timezone[Canada/Eastern] !
Les types awesome n'ont rien à prouver. À personne.
'k bye là
Hors ligne
#38 Le 22/09/2008, à 13:39
- Se6
Re : Script Nautilus pour convertir/transcoder en mp3...
c'est quoi ce fichier "progress" ?
C'est un oubli, un essai lors du developpement. Je l'avais d'ailleurs retire du code dans mon message precedent:
EDIT 1: J'ai supprime deux lignes qui n'auraient pas du etre la...
Seb.
Hors ligne
#39 Le 06/10/2008, à 20:02
- yanemail
Re : Script Nautilus pour convertir/transcoder en mp3...
Et avec AUDIO SOUND CONVERTER ?
Je choisis un dossier aux multiples sous dossiers, je lui dis ce que je veux en sortie et il transforme gentillement.
Bien sur on peut pas faire de conversions en fonction du type, etc... Mais ca marche bien.
Hors ligne
#40 Le 29/10/2008, à 19:02
- Ras'
Re : Script Nautilus pour convertir/transcoder en mp3...
Arg...
Le script ne laisse pas les IDtags sur les fichiers après encodage... Je croyais que c'était mon lecteur mp3 qui lisait pas ce type d'IDtag mais après encodage, même gmusicbrowser ne les lit plus...
Faudrait checker dans les options du soft de conversion...
Je vais me tourner vers audiosoundconverter en attendant pour voir...
Va t'faire shampouiner par le compteur_V2 en timezone[Canada/Eastern] !
Les types awesome n'ont rien à prouver. À personne.
'k bye là
Hors ligne
#41 Le 29/10/2008, à 21:04
- Se6
Re : Script Nautilus pour convertir/transcoder en mp3...
Le script ne laisse pas les IDtags sur les fichiers après encodage...
Oui en effet. Ceci dit ce n'est pas dur a rajouter. Par exemple en installant le deb situe sur cette page: http://home.wanadoo.nl/squell/id3.html
et ensuite apres l'appel de gst-launch, ajouter la ligne suivante:
id3 -D "$1" -1 -2 "$2" 2>&1
Seb.
Hors ligne
#42 Le 29/10/2008, à 21:05
- Ras'
Re : Script Nautilus pour convertir/transcoder en mp3...
Tu devrais rajouter ça sur le premier post
C'est quand même très important les idtags !
Va t'faire shampouiner par le compteur_V2 en timezone[Canada/Eastern] !
Les types awesome n'ont rien à prouver. À personne.
'k bye là
Hors ligne
#43 Le 29/10/2008, à 21:20
- Se6
Re : Script Nautilus pour convertir/transcoder en mp3...
Oups, je m'etais trompe, le script que j'ai est different de celui ici... ok, je mets a jour le 1er post.
Seb.
Dernière modification par Se6 (Le 29/10/2008, à 21:26)
Hors ligne
#44 Le 03/11/2008, à 09:42
- Ras'
Re : Script Nautilus pour convertir/transcoder en mp3...
Hum...
Ben j'ai ça :
#Processing 11 - Marley.flac
/home/ras/Musique/Flac/Danakil/Dialogue de Sourds/11 - Marley.flac -> /home/ras/Bureau/Danakil/Dialogue de Sourds/11 - Marley.mp3
Définition du pipeline à PAUSED...
Le pipeline est en phase de PREROLL...
Le pipeline a terminé la phase PREROLL...
Passage du pipeline à la phase PLAYING...
New clock: GstSystemClock
EOS reçu de l'élément « pipeline0 ».
Execution ended after 18780351047 ns.
Définition du pipeline à PAUSED...
Définition du pipeline à READY (prêt)...
Définition du pipeline à NULL...
Libération du pipeline (FREE)...
id3: note: could not read tags from /home/ras/Musique/Flac/Danakil/Dialogue de Sourds/11 - Marley.flac
24
Du coup à marche pô
Pourtant gmb lis mes tags sans problèmes, tags créés avec rhythmbox lors de l'encodage du cd original :\
EDIT : et c'est pareil pour toutes les autres chansons, j'ai mis une pour exemple mais sur deux albums y'a pas une piste qui marche...
Dernière modification par Ras' (Le 03/11/2008, à 09:43)
Va t'faire shampouiner par le compteur_V2 en timezone[Canada/Eastern] !
Les types awesome n'ont rien à prouver. À personne.
'k bye là
Hors ligne
#45 Le 03/11/2008, à 10:30
- Se6
Re : Script Nautilus pour convertir/transcoder en mp3...
Ca doit être une limitation du prog utilisé ici pour manipuler les les tags (http://home.wanadoo.nl/squell/id3.html). ID3v2.2 tags ne marchent pas par example.
Il faudrait chercher un autre prog de manipulation des tags.. ensuite mettre à jour le script pour l'utiliser est vraiment trivial.
Je suis débordé de boulot et n'ai pas le temps de regarder ca dans les trois semaines qui viennent.
Seb.
Hors ligne
#46 Le 03/11/2008, à 11:02
- Ras'
Re : Script Nautilus pour convertir/transcoder en mp3...
Arf, je regarderais ça alors
Va t'faire shampouiner par le compteur_V2 en timezone[Canada/Eastern] !
Les types awesome n'ont rien à prouver. À personne.
'k bye là
Hors ligne
#47 Le 07/11/2008, à 17:03
- Ras'
Re : Script Nautilus pour convertir/transcoder en mp3...
Je trouve pas trop comment faire, enfin peut être qu'il faudrait se servir du paquet id3v2 mais c'est chiant à utiliser... :\
Entre temps j'ai essayé xcfa et un autre truc mais rien ne fait ce que je veux, seul ton script avec la gestion des tags me ravirait... je continue de creuser... mais si quelqu'un dans le coin saurait comment faire ?
Va t'faire shampouiner par le compteur_V2 en timezone[Canada/Eastern] !
Les types awesome n'ont rien à prouver. À personne.
'k bye là
Hors ligne
#48 Le 11/11/2008, à 15:15
- gwado
Re : Script Nautilus pour convertir/transcoder en mp3...
Je tombe sur ça :
1
#Processing 01.Gibraltar par Abd Al Malik.ogg
/home/****/Musique/Abd Al Malik/2006 - Gibraltar/01.Gibraltar par Abd Al Malik.ogg -> /home/****/Musique/Abd Al Malik/2006 - Gibraltar/01.Gibraltar par Abd Al Malik.mp3
Définition du pipeline à PAUSED...
Le pipeline est en phase de PREROLL...
Le pipeline a terminé la phase PREROLL...
Passage du pipeline à la phase PLAYING...
New clock: GstSystemClock
EOS reçu de l'élément « pipeline0 ».
Execution ended after 22238732506 ns.
Définition du pipeline à PAUSED...
Définition du pipeline à READY (prêt)...
Définition du pipeline à NULL...
Libération du pipeline (FREE)...
id3: note: could not read tags from /home/****/Musique/Abd Al Malik/2006 - Gibraltar/01.Gibraltar par Abd Al Malik.ogg
97
100
Ça marche quand même... mais d'où vient ce message ? est-ce normal ?
Hors ligne
#49 Le 24/11/2008, à 11:05
- Ras'
Re : Script Nautilus pour convertir/transcoder en mp3...
C'est normal, je sais pas pourquoi Se6 à décidé de l'afficher à la fin, perso je l'ai enlevé.
Pour l'enlever commente la dernière ligne (ou supprime la)
#!/bin/bash
#
# dependancies:
# zenity
# gstreamer0.10-plugins-ugly-multiverse
# gstreamer-tools
# the deb at http://home.wanadoo.nl/squell/id3.html for and id3 command line tool.
#
# Usage: To use in Nautilus
# You select files and directorie in Nautilus, then you right click, script/Convert to mp3...
# A first dialog will ask you where to put the converted files
# A second one will let you select the bit rate
# Then a progression bar will appear.
# A log file ~/mp3-convert.log will be created.
#
LOGFILE=~/mp3-convert.log
LOC="/home/ras/Musique/Archos"
# $(zenity --file-selection --directory --title="Directory to receive the converted audio") || exit
RATE="256"
#$(zenity --list --radiolist \
# --height=400 \
# --text="bitrate in kb/s" --title="Select mp3 bit rate" \
# --column="Select" --column="Bit rate" \
# FALSE 32 FALSE 48 FALSE 56 FALSE 64 FALSE 80 FALSE 96 FALSE 112 TRUE 128 FALSE 160 FALSE 192 FALSE 224 FALSE 256 FALSE 320 \
# ) || exit
(
IFS=$'\n'
TOTAL=0
NB=0
# Checking how many files there are to process
for SELECTED in $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS
do
if [ -f "$SELECTED" ]
then
let TOTAL+=1
elif [ -d "$SELECTED" ]
then
for FILENAME in $(find "$SELECTED" -type f -printf "%p\n")
do
let TOTAL+=1
done
fi
done
function is_ogg
{
file -b "$1" | grep 'Vorbis' || echo $1 | grep -i '\.ogg$'
}
function is_flac
{
file -b "$1" | grep 'FLAC' || echo $1 | grep -i '\.flac$'
}
function get_metatags
{
if (is_ogg "$1")
then
artist_name=`ogginfo "$1" | grep ARTIST | cut -d \= -f 2`
album_name=`ogginfo "$1" | grep ALBUM | cut -d \= -f 2`
song_name=`ogginfo "$1" | grep TITLE | cut -d \= -f 2`
track_number=`ogginfo "$1" | grep TRACKNUMBER | cut -d \= -f 2`
fi
if (is_flac "$1")
then
artist_name=`metaflac --show-tag=artist "$1" | cut -d \= -f 2`
album_name=`metaflac --show-tag=album "$1" | cut -d \= -f 2`
song_name=`metaflac --show-tag=title "$1" | cut -d \= -f 2`
track_number=`metaflac --show-tag=tracknumber "$1" | cut -d \= -f 2`
fi
}
function write_tags
{
if [ "$artist_name" ]
then id3 -a "$artist_name" $1
fi
if [ "$album_name" ]
then id3 -A "$album_name" $1
fi
if [ "$song_name" ]
then id3 -t "$song_name" $1
fi
if [ "$track_number" ]
then id3 -T "$track_number" $1
fi
unset artist_name
unset album_name
unset song_name
unset track_number
}
function audio-convert
{
echo -e "#Processing $(basename $1)"
echo "$1 -> $2"
gst-launch filesrc location="$1" ! decodebin ! audioconvert ! lame bitrate=$RATE ! filesink location="$2" 2>&1
get_metatags $1
write_tags $2
}
function show_progress
{
let NB+=97/TOTAL
echo $NB
}
for SELECTED in $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS
do
echo 1
if [ -f "$SELECTED" ]
then
TARGET="$(basename $SELECTED)"
TARGET=${TARGET%.*}.mp3
if [ -e "$LOC/$TARGET" ]
then
echo -e "\nWarning: $LOC/$TARGET already exist, did not overwrite it." >$LOGFILE
else
audio-convert "$SELECTED" "$LOC/$TARGET"
fi
show_progress
elif [ -d "$SELECTED" ]
then
TARGET_DIR="$LOC/${SELECTED##*/}"
if [ ! -d "$TARGET_DIR" ]
then
mkdir -p "$TARGET_DIR"
fi
for FILENAME in $(find "$SELECTED" -type f -printf "%p\n")
do
THEDIR=${FILENAME%/*}
THEDIR=${THEDIR:${#SELECTED}}
THEDIR="$TARGET_DIR$THEDIR"
if [ ! -d "$THEDIR" ]
then
mkdir -p "$THEDIR"
fi
TARGET="$(basename $FILENAME)"
TARGET=${TARGET%.*}.mp3
if [ -e "$THEDIR/$TARGET" ]
then
echo -e "\nWarning: $THEDIR/$TARGET already exist, did not overwrite it." >$LOGFILE
else
audio-convert "$FILENAME" "$THEDIR/$TARGET"
if [ ! -s "$THEDIR/$TARGET" ]
then
echo "It probably was not audio, copying instead."
rm "$THEDIR/$TARGET"
cp -a -- "$FILENAME" "$THEDIR/$(basename $FILENAME)"
fi
fi
show_progress
done
fi
done
echo 100
) | tee $LOGFILE | zenity --progress --auto-close
# zenity --text-info --title='Conversion log' --filename=$LOGFILE
EDIT : n'utilisez pas ce script si vous n'y connaissez rien, j'ai modifié des trucs qui font que ça marchera pas chez vous, c'est juste pour montrer à Se6.
Dernière modification par Ras' (Le 02/04/2009, à 12:15)
Va t'faire shampouiner par le compteur_V2 en timezone[Canada/Eastern] !
Les types awesome n'ont rien à prouver. À personne.
'k bye là
Hors ligne
#50 Le 02/04/2009, à 06:59
- Ras'
Re : Script Nautilus pour convertir/transcoder en mp3...
J'ai l'impression que je suis le seul posteur dans ce topic ^^
Enfin bon, c'était juste pour dire qu'il y a un truc qui marche pas
A un moment le script fait :
if [ ! -s "$THEDIR/$TARGET" ]
then
echo "It probably was not audio, copying instead."
Donc je me suis renseigné sur ce -s, et ça veut dire :
-s entrée vraie si entrée existe et sa taille est différente de zéro.
or des fichiers peuvent ne pas avoir une taille nulle sans être des fichiers audio (typiquement les jaquettes)...
Je comprennais pas pourquoi à chaque fois il me renommait mes jaquettes en mp3 et les rendait illisibles...
Du coup je vais chercher une autre méthode pour changer ça, faudrait un truc qui vérifie par rapport à l'extension du fichier Mais là j'ai la flemme de réfléchir ^^
Va t'faire shampouiner par le compteur_V2 en timezone[Canada/Eastern] !
Les types awesome n'ont rien à prouver. À personne.
'k bye là
Hors ligne