Im
ersten und
zweiten Teil habe ich ein kleines bash Skript vorgestellt, dass OGG Vorbis Dateien in MP3 Dateien umwandelt.
Dieses Skript habe ich heute um die Integration in KDE erweitert. Ausserdem kann das Skript jetzt mit Leerzeichen in Pfadangaben umgehen.
Bevor es ans installieren geht, zunächst ein Screenshot, um zu sehen, wo diese Anleitung hinführt:
Die rechte Maustaste auf dem Verzeichnis, das die OGG Dateien enthält, öffnet ein Menü. Unter dem Menüpunkt Aktionen findet sich der neue Eintrag.
Zunächst einmal brauchen wir das Skript, was die eigentliche Arbeit verrichtet:
#!/bin/sh
# Dies kleine Skript konvertiert OGG Dateien in MP3
# Bedienung: o2m absoluter_pfad
# 2005 by Nicolai Beuermannn
# Einstellungen zur Qualität der resultierenden MP3 Dateien.
# 'man lame' gibt Aufschluss über die möglichen Optionen
LAME_OPTS="--preset standard"
if [ -z "$1" ]
then echo "usage: ogg2mp3 "
else
# Test auf notwendige Werkzeuge
if [ ! -x `which ogg123` ] && [ ! -x `which lame` ]; then
echo "Please install 'ogg123' and 'lame'"
fi;
# Notwendig um Leerzeichen in Pfadnamen korrekt zu verarbeiten
IFS=$'\n'
# Übername des zu bearbeitenden Verzeichnisses
WORKDIR=$1
# Rekursives Finden der Verzeichnisse
DIRS=`find $WORKDIR -type d`
# Verzeichnisse werden nach OGG Dateien durchsucht und
# gegebenenfalls über eine Pipe Konstruktion
# direkt nach MP3 gewandelt.
for verz in $DIRS
do
cd $verz
for i in *.ogg
do
DATEINAME=`basename "$i" .ogg`
if [ ! -e $DATEINAME".mp3" ]; then
IFS=$' '
ogg123 -d wav -f - "$DATEINAME"".ogg" | lame $LAME_OPTS - "$DATEINAME"".mp3"
IFS=$'\n'
fi;
done
cd ..
done;
read -p "Drücken der Taste Return schließt das Fenster"
fi;
IFS=$'\n'
exit 0
Zum
Runterladen hab ich das Skript als
o2m auf meinen Server gestellt. (Kommentare sind dort auf englisch)
chmod +x o2m
macht die Datei ausführbar.
Dann kopieren wir das Skript nach ~/bin und verknüpfen es mit Hilfe eines symbolischen Links mit /usr/local/bin.
cp o2m ~/bin
ln -si /home/nicolai/bin/o2m /usr/local/bin/o2m
Integration in KDE
Für die Integration in KDE bzw. im Konqueror müssen wir zunächst das Verzeichnis finden, in dem die Definitionen für das Aktionsmenü stehen.
locate servicemenus
zeigt uns den Ort der *.desktop Dateien. Jede der Dateien dort steht für eine Aktion.
Legen wir dort als
root die Datei ogg2mp3.desktop mit dem folgenden Inhalt an:
[Desktop Entry]
ServiceTypes=inode/directory
Actions=ogg2mp3
[Desktop Action ogg2mp3]
Name=Von OGG nach MP3
Icon=dirsynch_new
Exec=xterm -bg darkblue -fg white -e /usr/local/bin/o2m %u
Nun erscheint der neue Eintrag im Aktionenmenü beim Rechtsklick auf ein Verzeichnis.
Einschränkungen
Die Tags werden nicht übernommen.
Das Skript funktioniert (noch) nicht auf einzelnen Dateien.
Es findet (noch) keine adäquate Kodierung statt, d.h. Alle OGG Dateien werden auf der gleichen Qualitätsstufe in MP3 gewandelt. Es macht gerade bei kleinen Dateien mit kleinen Bitraten wenig Sinn sie in hochqualitative MP3s mit entsprechender Größe zu wandeln.
Anpassungen können über die Zeile LAME_OPTS="--preset standard" im Skript vorgenommen werden.
Links zum Thema
Für alle, die nicht weiterbasteln mögen und/oder mehr Funktionalität benötigen, hier noch ein paar Links:
Für den Dateimanager von GNOME Nautilus:
Audio Convert
Für den Dateimanager von KDE Konqueror:
Perl Audio Converter
Wer mehr
GUI haben möchte:
Soundkonverter
Auch als Gentoo Ebuild!