Пакетное преобразование. WAV в MP3 и OGG?

14388

У меня есть несколько сотен WAV-файлов, которые мне нужно конвертировать в формат ogg и mp3. Есть ли способ, которым я могу сделать это в пакетном режиме из Audacity или из какого-либо другого инструмента командной строки?

16
http://superuser.com/a/617414/84229 user 9 лет назад 0

5 ответов на вопрос

22
evilsoup

From a Unix-like (Linux, OSX, etc) commandline, ffmpeg can be used like this:

for f in *.wav; do ffmpeg -i "$f" -c:a libmp3lame -q:a 2 "$" -c:a libvorbis -q:a 4 "$"; done 

This will convert every WAV in a directory into one MP3 and one OGG; note that it's case-sensitive (the above command will convert every file ending in .wav, but not .WAV). If you want a case-insensitive version:

for f in *.; do ffmpeg -i "$f" -c:a libmp3lame -q:a 2 "$.mp3" -c:a libvorbis -q:a 4 "$.ogg"; done 

To convert every WAV in a directory recursively (that is: every WAV in the current directory, and all directories in the current directory), you could use find:

find . -type f -name '*.wav' -exec bash -c 'ffmpeg -i "$0" -c:a libmp3lame -q:a 2 "$" -c:a libvorbis -q:a 4 "$' '{}' \; 

(Max respect to Dennis for his response here for finding me a working implementation of find with ffmpeg)

For case-insensitive search with find, use -iname instead of -name.

A note on -q:a: for MP3, the quality range is 0-9, where 0 is best quality, and 2 is good enough for most people for converting CD audio; for OGG, it's 1-10, where 10 is the best and 5 is equivalent to CD quality for most people.

Очень полезно. Я изменил это для пакетного преобразования .wav в mp3 рекурсивно, так как мне не нужно было ogg: `find. -type f -name '* .wav' -exec bash -c 'ffmpeg -i "$ 0" -c: libmp3lame -q: a 2 "$ "' '{}' \; ` smg 7 лет назад 3
3
Nils Magne Lunde

Вы можете использовать foobar2000 с кодировщиками для ogg и mp3. Я верю, что вы можете найти кодировщики в раритетах .

2
Christian Mann

Похоже, вы можете использовать Oggenc для преобразования WAV в OGG, и вы можете использовать Lame для преобразования WAV в MP3.

2
Sathya

Загрузите ffmpeg по ссылке ниже и установите ее: http://ffmpeg.zeranoe.com/builds/

Создайте и запустите командный файл с приведенными ниже командами:

echo converting *.wav to *.ogg  mkdir ..\Ogg for /r %%i in (*) do ffmpeg -i %%i -acodec libvorbis ..\Ogg\%%~ni.ogg 

Все преобразованные файлы * .ogg будут скопированы в каталог .. \ Ogg.

0
Tom

Я внес некоторые изменения в файл bat, который нашел в SO, теперь он работает с пробелами в именах файлов, как это часто бывает в названиях песен. этот bat файл преобразует .wav в .mp3, используя инструмент командной строки VLC. Но вы можете изменить формат WMA -> MP3 и так далее ...

@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:std,mux=mp3,dst="""!file1!"""}" vlc://quit )  echo . echo conversion finished pause 

chcp изменить кодировку (для работы с выделенными символами). ab здесь битовая скорость 320

Похожие вопросы