FFMPEG 批处理命令修剪文件夹中的所有 MP3


ffmpeg batch command trim all mp3s in folder

我正在为ffmpeg开发一个php shell_exec,

我想选择一个文件夹中的所有 mp3 文件,然后将它们修剪为 30 秒,并以与输入相同的名称输出它们,但后面有一个 2。

这是我到目前为止所拥有的:

shell_exec('ffmpeg -ss 5 -t 30 -i *.mp3 *+2.mp3');

另外,我只是将php文件放在目录中还是必须指定目录?

用于修剪前 30 秒:

ffmpeg -ss 30 -i inputfile.mp3 -acodec copy outputfile.mp3

保留前 30 秒并修剪其余部分:

ffmpeg -t 30 -i inputfile.mp3 -acodec copy outputfile.mp3

他们不是您可以在 ffmpeg 中应用的直接方法来修剪目录中的每个文件,因此,您需要使用一些逻辑来循环访问文件夹中的每个文件并应用 FFMPEG 命令,

或者编写批处理文件来执行相同的操作并从shell_exec调用它将是更好的选择。

希望这有帮助

为此,

您必须创建一个批处理文件命令来运行这些文件。

在记事本中,我创建了以下命令并将其保存为 batch.bat:

for %%a in ("*.*") do ffmpeg -ss 5 -t 30 -i "%%a" -acodec copy "newfiles'%%~na.mp3"

我在包含文件的文件夹中有一份 ffmpeg 的副本,还有一个名为 newfiles 的新文件夹

感谢csharpcoder,LongNeckbeard和以下链接:http://forum.videohelp.com/threads/356314-How-to-batch-convert-multiplex-any-files-with-ffmpeg

(我最终只是在家用Windows PC与ubuntu服务器上执行此操作以节省一些资源。此外,以下命令将复制原始名称 v.s. 添加两个,之后实际上更适合我想做的事情)