У мене є кілька сотень .wav-файлів, які мені потрібно конвертувати у формат ogg та mp3. Чи є спосіб, що я можу це зробити в партії або з Audacity, або з іншого інструменту командного рядка?
У мене є кілька сотень .wav-файлів, які мені потрібно конвертувати у формат ogg та mp3. Чи є спосіб, що я можу це зробити в партії або з Audacity, або з іншого інструменту командного рядка?
Відповіді:
З командної лінії, схожої на 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 для більшості людей.
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
лише для 320 kbps mp3
Ви можете використовувати foobar2000 з кодерами для ogg та mp3. Я вважаю, що ви можете знайти кодери на рідкісних магазинах .
Завантажте 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.
Я зробив деякі зміни в 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