일괄 변환 .wav를 mp3 및 ogg로?


20

ogg 및 mp3 형식으로 변환해야하는 수백 개의 .wav 파일이 있습니다. Audacity 또는 다른 명령 줄 도구에서 일괄 처리 로이 작업을 수행 할 수있는 방법이 있습니까?

audio  batch  mp3  audacity  ogg 

답변:


25

유닉스 계열 (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로 find의 작동 구현을 찾은 것에 대한 그의 응답 대한 Dennis의 최대 존경 )

find를 사용하여 대소 문자를 구분하지 않고 검색하려면 -iname대신을 사용하십시오 -name.

참고 사항 -q:a: MP3의 경우 품질 범위는 0-9입니다. 여기서 0은 최고 품질이며 2는 대부분의 사람들이 CD 오디오를 변환하기에 충분합니다. OGG의 경우 1-10으로 10이 최고이며 5는 대부분의 사람들이 CD 품질에 해당합니다.


4
매우 유용한. ogg가 필요 없었기 때문에 .wav를 재귀 적으로 일괄 변환하기 위해 이것을 수정했습니다.find . -type f -name '*.wav' -exec bash -c 'ffmpeg -i "$0" -c:a libmp3lame -q:a 2 "${0/%wav/mp3}"' '{}' \;
smg

재귀 변환의 세 번째 예가 일치하지 않습니다 '.
Anaphory

$ for f in *.wav; do ffmpeg -i "$f" -c:a libmp3lame -b:a 320k "${f/%wav/mp3}"; done320kbps 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

SO에서 찾은 bat 파일을 약간 변경했는데, 이제는 노래 이름과 마찬가지로 파일 이름의 공백을 처리합니다. 이 bat 파일은 VLC 명령 줄 도구를 사용하여 .wav를 .mp3로 변환합니다. 그러나 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입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.