mp3 in ogg via Script

Lord Kefir

Lord Kefir

König
Servus!

Also, ich will alle meine mp3s in oggs konvertieren. Da mir aber 6GB zuviel sind, um das von Hand zu machen, wollte ich mir ein Script zusammenbasteln. Allerdings habe ich da gar keine Erfahrung.

Das erste was ich mir zusammengefrickelt habe sieht so aus:

ARTIST=`mp3info -p "%a" test.mp3`
LABEL=`mp3info -p "%l" test.mp3`
TRACK=`mp3info -p "%n" test.mp3`
TITLE=`mp3info -p "%t" test.mp3`
GENRE=`mp3info -p "%G" test.mp3`
YEAR=`mp3info -p "%y" test.mp3`

lame test.mp3 track.wav --decode
oggenc track.wav -o $ARTIST"_"$TITLE".ogg" -a $ARTIST -t $TITLE -l $LABEL -G $GENRE -d $YEAR -n $TRACK -q 4
rm track.wav



Mein Problem ist jetzt, dass ich das ganze von einem Stammverzeichnis aus mit allen mp3-Dateien machen will, inklusive Unterordner versteht sich. Wäre nett, wenn mir da einer helfen könnte.

Mfg, Lord Kefir
 
Ok, erst mal ein kleines Skript schreiben (z.b. mp3ogg):

Code:
#!/bin/bash

cd `dirname "$1"`
name=`basename "$1"`

ARTIST=`mp3info -p "%a" "$name"`
LABEL=`mp3info -p "%l" "$name"`
TRACK=`mp3info -p "%n" "$name"`
TITLE=`mp3info -p "%t" "$name"`
GENRE=`mp3info -p "%G" "$name"`
YEAR=`mp3info -p "%y" "$name"`

lame "$name" track.wav --decode
oggenc track.wav -o $ARTIST"_"$TITLE".ogg" -a $ARTIST -t $TITLE -l $LABEL -G $GENRE -d $YEAR -n $TRACK -q 4
rm track.wav

Skript ausführbar machen

Code:
chmod 755 mp3ogg

und

Code:
find <mp3-pfad> -iname "*.mp3" -exec <pfad zum skript>/mp3ogg {} \;

aufrufen.

Gruss, Phorus

p.s.: Habs noch nicht ausprobiert, kleine Schönheitsfehler könnten noch drin sein.
 
Zuletzt bearbeitet:
Jo, vielen Dank. Probiere ich heute Abend mal aus...

Mfg, Lord Kefir
 
So, da bin ich noch mal. Habe das Script wie beschrieben erstellt und unter /usr/bin abgespeichert.

Wenn ich es jetzt allerdings wie beschrieben eingebe, passiert folgendes:

find /home/lordkefir/test -iname "*.mp3" -exec mp3ogg.sh {}\;
find: missing argument to `-exec'


Woran liegt das denn? *blödrumfrag*

Mfg, Lord Kefir
 
Lord Kefir schrieb:
find /home/lordkefir/test -iname "*.mp3" -exec mp3ogg.sh {}\;
find: missing argument to `-exec'

Du musst zwischen {} und \; ein Leerzeichen einfügen.

Gruss, phorus
 
Okay, nochmal danke. Werde mir wohl mal bald ein Buch kaufen... ;)
 
Ich hab auch kein Buch, nur man und info :)

Gruss, Phorus
 
Jaja... ;) Finde Bücher aber meist recht sinnvoll - obwohl ich nicht weiß, ob sich das beim Scripten wirklich lohnt. Muss ich selbst mal schauen.
 
Probier mal Shell-Skript Programmierung von Ditchen, erschienen bei mitp. Fand das beim ersten Reinlesen recht gut und verständlich. Problem: Da, wo ich gerade bin, war ich auch ohne Buch schon und für mehr fehlt mir die Zeit. Sollte aber sehr einsteigerfreundlich sein. Habe es gerade erst geschenkt bekommen, sollte deshalb recht aktuell erschienen sein.
 
Ja ein sehr gutes Buch von Herrn Ditchen. :) Habs auch hier liegen.
 
Danke für den Tipp. Schreibe ich auf meine Weihnachtswunschliste ;)

Mfg, Lord Kefir
 

Ähnliche Themen

Variableninhalt wird nicht gespeichert

Samba RechteProblem

Amavis & Benachrichtigungen

Server-Monitoring mit RRDTool

Zurück
Oben