Des*_*ith 5 audio mp3 flac ffmpeg
所以我使用 ffmpeg 将 flac 文件从某个文件夹转换为 320k 比特率的 mp3。
我正在使用这个答案作为参考。
所以我在 Windows 命令 shell 中使用的命令是
ffmpeg -i infile.flac -c:v copy -b:a 320k outfile.mp3
Run Code Online (Sandbox Code Playgroud)
但这只是一首歌。如何修改该命令以循环浏览工作目录文件夹中的所有 .flac 文件?
我自己试过这两个,但它们不起作用。
for file in 'C:\Users\...' *.flac; do ffmpeg -i "$file" -c:v copy -q:a 0 "${file%.flac}".mp3; done
ffmpeg -i "*.flac" -c:v copy -q:a 0 outfile.mp3
Run Code Online (Sandbox Code Playgroud)
注意:我正在使用 -c:v 副本,因为专辑插图最终会被转码,从而产生一个更大的文件,我首先试图避免这种情况。所以命令必须复制流。
操作系统:Windows 10
Mic*_*vey 10
您说您使用的是 Windows 命令 shell,但是您显示的第一个命令行(以“for file in”开头的命令行)看起来不像 Windows,更像是某种 Linux shell 命令。第二个不起作用,因为 ffmpeg 不接受通配符作为输入文件规范。
这一行 Windows 命令执行您似乎想要的操作,使 ffmpeg(使用上面的选项)作为其输入,依次将当前文件夹中的每个 flac 文件和输出,在同一文件夹中,具有相同的 mp3 文件扩展名前的名称:
在提示时:
for %A in (*.flac) do ffmpeg -i "%~nA.flac" -c:v copy -b:a 320k "%~nA.mp3"
Run Code Online (Sandbox Code Playgroud)
如果 mp3 文件已经存在,ffmpeg 会询问您是否要覆盖它。
注意:上面的命令是为命令提示符设计的。它不适用于批处理脚本。为此,您需要像这样将所有百分号 (%) 加倍
在批处理(cmd)脚本中:
for %%A in (*.flac) do ffmpeg -i "%%~nA.flac" -c:v copy -b:a 320k "%%~nA.mp3"
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
8765 次 |
最近记录: |