ich will ein shellscript basteln....

pfannkuchen2001

Aktives Mitglied
Thread Starter
Registriert
17.02.2006
Beiträge
2.565
hallo,

ich will mir ein shell script basteln was folgendes tut:

- es durchsucht ordner nach dem ersten *.mp4 (welches es bei rekursiver suche durch die verzeichenisse gefunden hat)
-wenn es das gefunden hat, konvertiert es das nach mp3. (incl. iD3 Tags)
- wenn es die datei konvertiert hat, löscht es die m4a datei.
- dann fängt es wieder von vorn an, und wandelt somit jedes m4a in mp3 um.
(und dann sollte da noch irgendeine abbruchbedingung sein ^^)

kann mir einer sagen, wie ich sowas umsetze? (ich habe keine AHnung von shell / bash programmierung, ich habe nur bescheidene pascal/delphi erfahrung...)

Hannes

zum umwandeln direkt dachte ich nehm ich faad:
( faad -w blabla.m4a | lame - blabla.mp3 )
 

oneOeight

Aktives Mitglied
Registriert
23.11.2004
Beiträge
61.711
find /pfad/zum/ordner -name *.m4a -exec faad -w {}|lame - {}.mp3;rm {} \;

oder so ähnlich...
 

asg

Aktives Mitglied
Registriert
21.10.2003
Beiträge
1.226
Irgendwie so:
Code:
#!/bin/sh
for i in *mp4; do
a=$(basename "$i" .mp4)
mp4=$a.mp4
wa=$a.wav
mp=$a.mp3
faad -w "$mp4" -o "$wa"
lame "$wa" "$mp"
mv "$mp4" /home/name/mp4
rm -f "$wa"
done

Oder der Automator sollte das können.
 

pfannkuchen2001

Aktives Mitglied
Thread Starter
Registriert
17.02.2006
Beiträge
2.565
hmm danke schonmal!

also von dem automator würde ich gern "wegkommen" denn irgendwie ist das ne blöde sache, das man den nur unter osx nutzen kann. sobald man an ner linux koste sitzt ist man aufgeschmissen.

@ asg, wenn ich das so richtig interpretiere, dann löschst du zwar die ausgangsfiles, aber die konvertierten bleiben nicht da, wo sie herkommen...

also nicht ganz das, was es machen soll... die konvertierten sollen ja dann da bleiben, wo die originale lagen...
 

pfannkuchen2001

Aktives Mitglied
Thread Starter
Registriert
17.02.2006
Beiträge
2.565
find /pfad/zum/ordner -name *.m4a -exec faad -w {}|lame - {}.mp3;rm {} \;

oder so ähnlich...

hmm sorry, ich habe deinen beitrag einfach übersehen. tut mir leid.

hast du eine ahnung, wie man nach dateien sucht, die NICHT mit "._" anfangen, aber MIT .m4a aufhören?

Hannes
 

oneOeight

Aktives Mitglied
Registriert
23.11.2004
Beiträge
61.711
spontan jetzt nicht, kann man bestimmt irgendwie über ein regex hinbekommen...
weil in den resource forks (den ._ files) nichts wichtiges drin steht, dann könntest du die auch einfach vor mit einem
find /pfad/zum/ordner -name *._*.m4a -delete
einfach vorher löschen...
dann stören die das andere find nicht mehr...
 

pfannkuchen2001

Aktives Mitglied
Thread Starter
Registriert
17.02.2006
Beiträge
2.565
ich peils irgendwie nicht:
um das auch zu verstehen, was ich da mache, wollte ich mal den befehl schrittweise durchgehen.
warum funktioniert das hier nich??
find Brahms/ -name *.m4a -exec faad *.m4a
find: Fehlendes Argument f"ur "-exec".
hannes-computer:~/Desktop hannes$
eigentlich sollte er doch jetzt den ordner Brahms durchsuchen (und unterordner) und wenn er irgendwas.m4a gefunden hat faad in dem ordner ausführen auf jedes *.m4a objekt, was er da hat oder????


achso und nochwas: hat man mit wav unterstützung für iD3 tags?
eine mp3 datei ohne tags bringt mir garnichts... damit hätte ich mehr arbeit als mir lieb ist ;)


Hannes
 

pfannkuchen2001

Aktives Mitglied
Thread Starter
Registriert
17.02.2006
Beiträge
2.565
ahh ok, ich verstehe dein {}!!!
...man pages helfen ja doch...


EDIT:
funktioniert trotzdem nicht:
find Brahms/ -name *.m4a -exec faad {} ;
da bekommte ich wieder die gleiche Fehlermeldung wie oben...


EDIT2:

ok, also so funktioniert die umwandlung in *.wav : find Verzeichnis/ -name *.m4a -exec faad {} \;
aber wie bekomme ich die wav nun ins mp3 format? so wie du (oneOeight) vorgeschlagen hast funktioniert es jedenfalls nicht... (warum auch immer)
 
Zuletzt bearbeitet:
Oben