使用 FFmpeg 将 50 幅图像(带有相同的音频文件)批量转换为 50 个视频

使用 FFmpeg 将 50 幅图像(带有相同的音频文件)批量转换为 50 个视频

我有 50 张不同名称的图像。

在同一个文件夹中,我姓名.txt包含该文件夹中所有图像的名称的文件,如下所示:

apples.jpg
oranges.jpg
blackberries.jpg
etc.

我有一个音频文件,声音.wav

我想将每幅图像与声音.wav 文件混合,生成 50 个视频:

apples.mp4
oranges.mp4
blackberries.mp4
etc.

有任何想法吗?

这是用于手动转换每个图像的脚本:

ffmpeg -loop 1 -y -i oranges.jpg -i sound.wav -shortest oranges.mp4

但我想扩大规模,也许有一个脚本可以遍历姓名.txt文件以获取图像的名称,将该图像转换为视频,然后转到下一个图像。

谢谢

答案1

你可以遍历文件的每一行在 Windows 批处理文件中:

for /F "tokens=*" %%A in (names.txt) do [process]

这里替换[process]为:

ffmpeg -loop 1 -y -i %%A -i intro5.wav -shortest %%~nA_movie.mp4

其中%A是行中的文件名,并且%%~nA是不带扩展名的名称。

相关内容