Anwendungen
Portal
Forum
Wiki
Ikhaya
Planet
Mehr
Private Nachrichten
Abonnements
Abmelden

Skript ffmpeg flv->mp3

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

Merci!

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.