Da man mit ffmpeg flv-dateien in mp3 konvertieren kann wollte ich mir ein Skript schreiben, mit dem man alle flv-Dateien in einem Ordner in mp3 umwandeln kann. Allerdings gestaltet sich dies, da ich ein totaler Anfänger in diesen Dingen bin, als nicht gerade einfach.
Jegliche Versuche ein solches Skript zu erstellen schlugen bisher fehl. Entweder wurde versucht die anderen flv-Dateien im Ordner zu überschreiben oder es konnte nicht festgestellt werden in welches Format umgewandelt werden wurde. Da ich im Moment nicht an meinem PC sitze kann ich das Skript nur aus der Erinnerung wiedergeben.
1
2
3
4 | #um alle flv-Dateien in dem Ordner auszuwählen
for k in *.flv
#-vn um das video abzuschalten, -ab um die Audio-Bitrate einzustellen
ffmpeg i- $k -vn -ab 160k $k.mp3
|
Ohne ffmpeg zu kennen, braucht die for-Schleife ein do - ... - done:
1
2
3
4
5
6
7 | #um alle flv-Dateien in dem Ordner auszuwählen
for k in *.flv
do
#-vn um das video abzuschalten, -ab um die Audio-Bitrate einzustellen
ffmpeg i- $k -vn -ab 160k $k.mp3
done
|
Anführungszeichen um die Variablen nicht vergessen 
"$k" statt $k und "$k.mp3" statt $k.mp3
Gruß Martin
Und anstatt des i- wäre ein -i angebracht...

Hallo zusammen,
ich bin gerade auf diesen Thread gestoßen. Gibt es eine Möglichkeit, dass man die Dateiendung nicht einfach anhängt, sondern ersetzt.
Die Dateien heißen im Moment *.flv.mp3. Ich würde aber gerne folgende Ausgabe erhalten *.mp3 . Gibt es da eine einfache Möglichkeit?
Vielen Dank
Grüße Micha
klenze schrieb:
Hallo zusammen,
ich bin gerade auf diesen Thread gestoßen. Gibt es eine Möglichkeit, dass man die Dateiendung nicht einfach anhängt, sondern ersetzt.
Die Dateien heißen im Moment *.flv.mp3. Ich würde aber gerne folgende Ausgabe erhalten *.mp3 . Gibt es da eine einfache Möglichkeit?
Vielen Dank
Grüße Micha
ja, das ist mit bash-mitteln möglich.
ein einfaches beispiel:
1
2 | myfile="my_test_file.flv"
echo ${myfile%.*}.mp3
|
resultiert in:
my_test_file.mp3
Hallo
danke für die schnelle Antwort:
Ich habe das Skript jetzt wie folgt umgeschrieben:
1
2
3
4 | for k in *.flv
do
ffmpeg -i "$k" -vn -ab 160k ${k%.*}.mp3
done
|
Jetzt steht in den Output Dateien kein flv mehr drin.