Ffmpeg SCRIPT:图像序列转换为tiff

时间:2013-10-21 14:54:29

标签: image shell sequence

我遇到一个简单的脚本问题 在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重启?

谢谢

1 个答案:

答案 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