Jalara Studio

veröffentlicht am

FFmpeg: Loop für Umwandlung von WAV in mp3-Dateien

# # # #


Files im WAV-Format lassen sich aufgrund der Dateigröße nicht dem Kunden zum Vorhören senden. Es empfiehlt sich daher eine Umwandlung der Dateien in mp3, die jedoch schnell gehen muss, sofern wieder Änderungen in den WAV-Files auftreten. Im Folgenden wird gezeigt, wie WAV-Dateien in einem Ordner schnell per Klick in mp3-Files konvertiert werden können:

Zunächst benötigst du, wenn nicht bereits geschehen, das kostenlose Tool FFmpeg1.

Nachdem du dieses installiert hast, kannst du testen, ob du bereits eine Wav-Datei in eine mp3 umwandeln kannst.

Öffne hierfür dein Fenster, mit dem Ordner in dem sich deine mp3-Datei befindet.

Gebe in der Adresszeile des Fensters cmd ein, so dass sich das Komandozeilenprogramm (kurz cmd) bereits mit richtiger Pfadangabe öffnet.

Gebe im Kommandozeilenprogramm ffmpeg -i "audio.wav" "audio.mp3" ein, um die Umwandlung zu starten.
Hinweis: Beachte, dass deine Datei audio.wav heißen muss, ansonsten ändere entsprechend den Namen im Batch-Befehl.

Anschließend wird die Wav-Datei mitsamt Metadaten konvertiert.

Die Standart-Umwandlung bewahrt zum Beispiel die Metadaten zum Aufnahmegerät oder dem Erstelldatum der Datei. Standardmäßig wird die Datei zudem auf eine Bitrate von 128 kb/s umgewandelt. Wenn deine WAV-Datei eine Frequenz/Samplingrate von 48kHz besitzt, wird diese in der Standard-Umwandlung von FFmpeg weitergegeben.

Tipp: Mit dem Open Source Programm MediaInfo2, kannst du dir technischen Informationen zur Audiodatei anzeigen lassen.

Du kannst auf die Umwandlung Einfluss nehmen, indem du weitere Befehle hinzufügst.3 Die Weitergabe der Metadaten zum Aufnahmegerät und Erstelldatum lässt sich z.B. mit der Angabe -map_metadata -1 verhindern.4 Mit den Angaben -ar und -b:a nimmst du Einfluss auf die Sampling- und Bitrate.

Im folgenden findest du den Befehl zur Umwandlung der WAV-Datei in eine mp3-Datei, die keine Metadaten enthalten und eine Samplingrate von 44Khz und Bitrate von 192 kb/s besitzen soll:

ffmpeg -i "audio.wav" -map_metadata -1 -ar 44100 -b:a 192k "audio_44Khz_192K.mp3"

Für den Loop benötigst du eine Datei mit der Endung. *.bat. Dies kann eine einfache Text-Datei sein, deren Dateiendung du von *.txt in *.bat veränderst.

In diese fügst du folgende Befehle ein:

@echo off
    for %%F in (*.wav) do (
        REM ffmpeg -i %%F "%%~nF_standart.mp3"
        ffmpeg -i %%F -map_metadata -1 -ar 44100 -b:a 192k "%%~nF.mp3" 
 ) 
pause

Erklärung: Der optionale Befehl @echo off schaltet den Text zur die Befehlsanzeige aus. Mit for %%F in (*.wav) do ( ) wird der Loop definiert, der nur für die Dateien mit der Endung .wav gelten soll. In do() wird geschrieben, was mit diesen Dateien passieren soll. Die Angabe %%F übernimmt den Dateinamen. Gebe den Buchstaben n dem Namen der umgewandelten Datei hinzu, damit die Dateiendung wav bei der Namensvergebung nicht übernommen wird. Die Angabe REM leitet einen Kommentar ein, so dass der Befehl dahinter nicht interpretiert wird. Du kannst ihn entfernen, wenn du die Standart-Umwandlung bevorzugst oder diese zusätzlich benötigst. Der Befehl pause unterdrückt das Schließen der Kommandozeile nach der Umwandlung und kann auch wegelassen werden.

Füge die Datei in den gewünschten Ordner, indem du die Dateien umwandeln willst und klicke drauf. Die Umwandlung wird darauf automatisch geschehen.

Links