ffmpeg批处理命令修剪文件夹中的所有mp3

时间:2016-02-29 05:38:20

标签: php batch-file ffmpeg

我正在为ffmpeg,

开发一个php shell_exec

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

这是我到目前为止所做的:

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

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

2 个答案:

答案 0 :(得分:1)

前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调用它将是一个更好的选择。

希望这有帮助

答案 1 :(得分:1)

为此,您必须创建批处理文件命令以运行文件。

在记事本中,我创建了以下命令并将其保存为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服务器上执行此操作以节省一些资源。此外,以下命令将复制原始名称vs添加两个,之后实际上更适合我想要做的事情)< / p>