如何使用 ffmpeg 将 m4a 文件批量转换为 mp3?

如何使用 ffmpeg 将 m4a 文件批量转换为 mp3?

在 Windows 中,如何使用 ffmpeg 将 m4a 文件批量转换为 mp3?我在命令行中使用以下行:

FOR I in (*.m4a) DO ffmpeg -i %I -codec:v copy -codec:a libmp3lame -q:a 2 "mp3\%I"

但是我收到错误“目前不需要我”。

答案1

我发现 Powershell 对于此类代码更加清晰,而且您无论如何都在使用 Windows,因此 Powershell 内置于您的操作系统中。

例如,我整理了我的相册artist\album\title.mp3

这是我刚刚编写的用于解决同一问题的脚本的略微通用的版本:

#assume the current directory is my music directory. So like `cd ~/music` or whatever.

$ffmpegPath = 'c:\tools\ffmpeg\bin\ffmpeg.exe' # or you can just call ffmpeg.exe directly if it's in the $Env:PATH

ls *.m4a -Recurse | foreach-object {
  $artist = $_.directory.parent.name
  $album = $_.directory.name
  $song = $_.baseName
  $outputDir = "./output/$artist/$album"
  mkdir $outputDir -Force | Out-Null #use -Force to prevent error if it already exists.

  & $ffmpegPath -i $_ -codec:v copy -codec:a libmp3lame -q:a 2 "$outputDir/$song.mp3"
}

相关内容