m4aTomp3
#!/bin/bash # # Convert m4a to mp3 for i in $1/*.m4a do mplayer -ao pcm "$i" -ao pcm:file="$i.wav" dest=`echo "$i.wav"|sed -e 's/m4a.wav$/mp3/'` lame -h -b 192 "$i.wav" "$dest" rm "$i" "$i.wav" done |
#!/bin/bash # # Convert m4a to mp3 for i in $1/*.m4a do mplayer -ao pcm "$i" -ao pcm:file="$i.wav" dest=`echo "$i.wav"|sed -e 's/m4a.wav$/mp3/'` lame -h -b 192 "$i.wav" "$dest" rm "$i" "$i.wav" done |
Ah sorry ein Fehler noch. Das ist nicht
lame -b 192 -h saveStream `echo $i | tr m4a mp3` &
sondern
lame -b 192 -h tmpPipe `echo $i | tr m4a mp3` &
Hi
ich habe auch eine kleine Verbesserung. Das Problem was ich sehe ist das es eine Zwischendatei gibt die gespeichert und gelöscht wird.
Mit Pipe kann man das direct weiterleiten und konvertieren.
Außerdem hab ich tr statt sed benutzt, aber das ich bestimmt nur geschmacksache 🙂
#!/bin/bash
mkfifo tmpPipe
for i in $1/*.m4a; do
lame -b 192 -h saveStream `echo $i | tr m4a mp3` &
mplayer -ao pcm:file=tmpPipe `$i`
done
rm tmpPipe
Und noch eine kleine Sache die man machen könnte -> Wenn das ein Video ist dann kann man -osdlevel 3 bei mplayer mitgeben und sieht wie weit ein einzelnes Video ist.
Hallo,
danke für das Skript – sehr praktisch!
Ein kleiner Verbesserungsvorschlag:
statt
rm $i $i.wav
besser
rm “$i” “$i.wav”
setzen, dann werden auch Dateinamen mit Leerzeichen sauber verarbeitet.
Viele Grüße
Marc