【发布时间】:2016-11-11 21:44:50
【问题描述】:
我正在使用 ffmpeg 制作一个 Windows 批处理脚本,可以将音频文件转换为多种格式。
我希望在这里将音频转换为两种格式。 32kbps 和 40kbps。
Setlocal EnableDelayedExpansion
for %%a in ("*.*") do ffmpeg -i "%%a" -b:a 32000 "%%~na - mp3@32kbps.mp3"
for %%a in ("*.*") do ffmpeg -i "%%a" -b:a 40000 "%%~na - mp3@40kbps.mp3"
pause
但是,我似乎得到了三个输出。
声音 - mp3@32kbps.mp3
声音 - mp3@40kbps-mp3
声音 - mp3@32kbps - mp3@40kbps.mp3
我知道我在这里一定做错了,因为我只想要两个文件。为什么我在这里得到第三种格式(sound mp3@32kbps - mp3@40kbps.mp3),我该如何避免这种情况?
这是我正在使用的更新代码:
@echo off
for %%a in (*.*) do (
ffmpeg -i "%%a" -b:a 32000 -ar 44100 "%%~na - [16-bit 44,100kHz - 32kbps].mp3"
)
pause
【问题讨论】:
-
对不起,我不使用 ffmpeg,我猜问题与您的源文件和更改的选项有关,而不是批处理文件。
-
感谢您的帮助,但错误提示为
converter.bat: Invalid data found when processing input,这意味着 ffmpeg 发现批处理文件有问题,而不是音频文件。
标签: batch-file audio ffmpeg