我有 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
是不带扩展名的名称。