我遇到一个简单的脚本问题 在FOLDER中有.jpg的图像序列 所有jpg文件我想将它们转换为tiff
这是我的脚本,但不能正常工作:
for I in *.jpg; do ffmpeg -start_number 000001 -f image2 -i "$I" -c:v tiff TIFF/"%6d.tif";
当我运行脚本时, 每个jpg的ffmpeg不断重启 在输出目录中,我只有一个tif转换。
我怎么不为每个jpg ffmpeg重启?
谢谢
答案 0 :(得分:1)
在ffmpeg中,起始编号通常是指输入图像,而不是输出图像。 FFMPEG也会使用*.jpg
选项将glob
作为输入(请查看docs,而不是循环自己并调用1000次。
目前,您的脚本将为您正在调用的每个不同jpeg生成相同的tiff文件,因为您只是使用相同的参数重新调用它。
您可以尝试将$I.tif
放在最后而不是"%6d.tif"
;
for I in *.jpg; do
ffmpeg -i "$I" -c:v tiff TIFF/${I%%.jpg}.tif
done
此部分${I%%.jpg}
会使用您的原始文件名并删除.jpg
在Imagemagick中你可以做到:
convert *.jpg tiff