我在批处理脚本中使用以下命令,希望最终以编程方式创建带有过渡的简单视频幻灯片:
melt 131.jpg 132.jpg 133.jpg ttl=75 -attach crop center=1 -filter luma cycle=75 duration=25 -transition mix -consumer avformat:out.mp4 frame_rate_num=30 frame_rate_den=1
该命令的大部分内容是对 MLT 网站博客上该命令的 Windows 改编(缩放和转换图像的部分除外)。但是,由于某种原因,当我运行它时,输出视频文件长达 25 分钟!
我有两个主要问题:
一个。如何正确控制视频中每个图像的持续时间?我已经对更改参数进行了相当多的实验,并且对它们的含义有一个半体面的理解(我是 MLT 的新手,但我认为仅在 FFMPEG 中没有办法轻松地做这样的事情)。我发现通过任何数量的控制来减少持续时间的唯一方法是将输出帧速率增加到荒谬的数字(当然,这并不理想,因为它浪费了大量的时间和精力,并且仍然不能真正解决问题)。
湾。如何使用通配符输入 Windows 文件夹中的所有 .jpg 文件?我尝试添加 *.jpg 但这不起作用,我不知道如何在批处理脚本中执行它(我尝试使用以下代码将文件名作为变量获取,但我无法使字符串连接正常工作,因为它只输出最终文件名)
set files=
for /r %%i in (*.jpg) do (
echo %%i
set files=%files% "%%i"
)
echo %files%
感谢您的任何建议!