将.wav批量转换为mp3和ogg?


Answers:


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}' '{}' \;

(麦克斯·丹尼斯(Max Dennis)感谢丹尼斯(Dennis)在这里为我找到一个使用ffmpeg进行的find的有效实现)。

对于使用find的不区分大小写的搜索,请使用-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

我对在SO上找到的bat文件进行了一些更改,现在它处理文件名中的空格,这在歌曲名中很常见。使用VLC命令行工具将此bat文件将.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

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.