Ich habe ein paar hundert .wav-Dateien, die ich sowohl in das ogg- als auch in das mp3-Format konvertieren muss. Gibt es eine Möglichkeit, dies im Batch von Audacity oder einem anderen Befehlszeilentool aus zu tun?
Ich habe ein paar hundert .wav-Dateien, die ich sowohl in das ogg- als auch in das mp3-Format konvertieren muss. Gibt es eine Möglichkeit, dies im Batch von Audacity oder einem anderen Befehlszeilentool aus zu tun?
Antworten:
In einer Unix-ähnlichen Befehlszeile (Linux, OSX usw.) kann ffmpeg folgendermaßen verwendet werden:
for f in *.wav; do ffmpeg -i "$f" -c:a libmp3lame -q:a 2 "${f/%wav/mp3}" -c:a libvorbis -q:a 4 "${f/%wav/ogg}"; done
Dadurch wird jedes WAV in einem Verzeichnis in ein MP3- und ein OGG-Format konvertiert. Beachten Sie, dass zwischen Groß- und Kleinschreibung unterschieden wird (der obige Befehl konvertiert jede Datei, die mit .wav endet, jedoch nicht mit .WAV). Wenn Sie eine Version ohne Berücksichtigung der Groß- und Kleinschreibung wünschen:
for f in *.{wav,WAV}; do ffmpeg -i "$f" -c:a libmp3lame -q:a 2 "${f%.*}.mp3" -c:a libvorbis -q:a 4 "${f%.*}.ogg"; done
Um jeden WAV in einem Verzeichnis rekursiv zu konvertieren (dh jeden WAV im aktuellen Verzeichnis und alle Verzeichnisse im aktuellen Verzeichnis), können Sie Folgendes verwenden find
:
find . -type f -name '*.wav' -exec bash -c 'ffmpeg -i "$0" -c:a libmp3lame -q:a 2 "${0/%wav/mp3}" -c:a libvorbis -q:a 4 "${f/%wav/ogg}' '{}' \;
(Max Respekt an Dennis für seine Antwort hier für die Suche nach einer funktionierenden Umsetzung von find mit ffmpeg)
Verwenden Sie -iname
für die Suche ohne Berücksichtigung der Groß- / Kleinschreibung mit find anstelle von -name
.
Ein Hinweis zu -q:a
: Für MP3 liegt der Qualitätsbereich zwischen 0 und 9, wobei 0 die beste Qualität darstellt und 2 für die meisten Menschen zum Konvertieren von CD-Audio ausreicht. für OGG ist es 1-10, wobei 10 die beste und 5 die CD-Qualität für die meisten Menschen ist.
find . -type f -name '*.wav' -exec bash -c 'ffmpeg -i "$0" -c:a libmp3lame -q:a 2 "${0/%wav/mp3}"' '{}' \;
'
.
$ for f in *.wav; do ffmpeg -i "$f" -c:a libmp3lame -b:a 320k "${f/%wav/mp3}"; done
nur für 320 kbps mp3
Du könntest foobar2000 mit Encodern für ogg und mp3 verwenden. Ich glaube, Sie können Encoder bei Rarewares finden .
Laden Sie ffmpeg von untenstehendem Link herunter und installieren Sie es: http://ffmpeg.zeranoe.com/builds/
Erstellen und Ausführen einer Batch-Datei mit folgenden Befehlen:
echo converting *.wav to *.ogg
mkdir ..\Ogg
for /r %%i in (*) do ffmpeg -i %%i -acodec libvorbis ..\Ogg\%%~ni.ogg
Alle konvertierten * .ogg-Dateien werden in das Verzeichnis .. \ Ogg kopiert.
Ich habe einige Änderungen an einer Fledermausdatei vorgenommen, die ich auf SO gefunden habe. Jetzt werden Leerzeichen in Dateinamen behandelt, wie dies häufig bei Titelnamen der Fall ist. Diese Fledermausdatei konvertiert .wav in .mp3 mit dem VLC-Befehlszeilentool. Du kannst aber zu den Formaten wma -> mp3 und so weiter wechseln ...
@echo off
chcp 65001
SETLOCAL ENABLEDELAYEDEXPANSION
for /f "delims=" %%f IN ('dir /b /s "YOUR_DISK:\Path\To\Your Music\That May contain Spaces\*.wav"') do (
set file1=%%~nf.mp3
echo "file :" !file1!
set fic1=%%f
echo "file : " !fic1!
CALL "C:\Program Files (x86)\VideoLAN\VLC\vlc.exe" "!fic1!" --sout="#transcode{vcodec=none,acodec=mp3,ab=320,channels=2,samplerate=48000}:std{access=file{no-overwrite},mux=mp3,dst="""!file1!"""}" vlc://quit
)
echo .
echo conversion finished
pause
chcp ändere die Kodierung (um mit akzentuierten Zeichen umzugehen). ab ist hier die Bitrate 320