mp3파일을 일괄 인코딩해야 할 일이 생겨서
윈도우 cmd에서 쓸 batch 파일을 만들어 봤습니다.
먼저 cmd로 동작 할 파일을 아래 주소에 가서 받습니다.
http://ffmpeg.zeranoe.com/builds/
전 64bit라서.. 위와 같이 표시된 항목을 받았습니다.
다운로드 받은 파일의 압축을 풀고, bin 폴더에 있는 파일을 path가 걸린 폴더로 복사합니다.
또는 아래 .bat 파일이 있는 폴더에 같이 넣어 주셔도 됩니다.
인코딩 할 상위 폴더에 .bat파일로 아래 내용을 넣고..
실행 하시면.. 하위 폴더의 mp3와 wav 파일을 모두 preset에 지정된 옵션대로 인코딩해서 바꿔 줍니다.
@echo off
set formats=*.mp3 *.wav
set presets=-vn -ar 44100 -map 0:a -b:a 48k -vol 400 -f mp3
set TEMP_FILE=temp.mp3
for /r %%f in (%formats%) do (
ffmpeg.exe -i "%%f" %presets% %TEMP_FILE%
IF "%%~xf%" == ".wav" (
move /Y %TEMP_FILE% "%%~dpnf%.mp3"
del %%~f
) ELSE (
move /Y %TEMP_FILE% "%%f%"
)
)
실행하시기 전에 원본은 백업해 주세요..
batch 파일로 해당 폴더안에 wav 파일들을 다른 폴더에 wav 파일로 변환할려하는데
sox -t .wav C:\2060wave\tmp\*.wav -t .wav -r 16000 -s -2 -c 1 C:\2060wave\*.wav
*.wav로 찾으면 모든 wav 파일이 한 wav로 합쳐져서 저장되네요.... 파일명 변경 없이 각각 저장하는법 아시나요??
답글
위 포스팅의 글처럼.. for 문으로 돌리면 될 것 같습니다.