Batch перетворити .wav в mp3 і ogg?


20

У мене є кілька сотень .wav-файлів, які мені потрібно конвертувати у формат ogg та mp3. Чи є спосіб, що я можу це зробити в партії або з Audacity, або з іншого інструменту командного рядка?

audio  batch  mp3  audacity  ogg 

Відповіді:


25

З командної лінії, схожої на Unix (Linux, OSX тощо), ffmpeg може використовуватися так:

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

Це перетворить кожен WAV в каталозі в один MP3 і один OGG; зауважте, що він відрізняється від регістру (наведена вище команда конвертуватиме кожен файл, що закінчується .wav, але не .WAV). Якщо ви хочете, що не враховує регістр версії:

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

Для перетворення кожного WAV в каталозі рекурсивно (тобто: кожен WAV у поточному каталозі та всі каталоги в поточному каталозі) ви можете використовувати 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}' '{}' \;

(Макс поважає Денніса за його тут відповідь за те, що він знайшов мені робочу реалізацію знахідки з ffmpeg)

Для нечутливого до регістру пошуку з знахідкою використовуйте -inameзамість -name.

Примітка -q:a: для MP3 - діапазон якості 0-9, де 0 - найкраща якість, а 2 - достатньо хороший для більшості людей для перетворення аудіо CD; для OGG це 1-10, де 10 - найкраще, а 5 - еквівалент якості CD для більшості людей.


4
Дуже корисний. Я змінив це для пакетного перетворення .wav в mp3 рекурсивно, оскільки мені не потрібен ogg:find . -type f -name '*.wav' -exec bash -c 'ffmpeg -i "$0" -c:a libmp3lame -q:a 2 "${0/%wav/mp3}"' '{}' \;
smg

Третій приклад для рекурсивного перетворення не відповідає '.
Анафорія

$ for f in *.wav; do ffmpeg -i "$f" -c:a libmp3lame -b:a 320k "${f/%wav/mp3}"; doneлише для 320 kbps mp3
qwr



2

Завантажте 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

Я зробив деякі зміни в 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{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 змінити кодування (для роботи з наголошеними символами.) ab - швидкість передачі тут 320

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.