ffmpeg将图像序列转换为视频

时间:2012-07-11 11:02:16

标签: python ffmpeg

图像序列以

开头
sdhdfd_plate_bg01_v001_fds_fdse_fdfd.1001
sdhdfd_plate_bg01_v001_fds_fdse_fdfd.1002
sdhdfd_plate_bg01_v001_fds_fdse_fdfd.1003

使用

ffmpeg -i D:/imagesequence/sdhdfd_plate/sdhdfd_plate_bg01_v001_fds_fdse_fdfd.%04d.jpg -vf "[in]drawtext=fontsize=32:fontcolor=White:fontfile='/Windows/Fonts/arial.ttf':text='shotName':x=(w)/2:y=(h)-50[out]" D:/Uss/Temp/sdhdfd_plate_bg01_v001_fds_fdse_fdfd.%04d.jpg

发生以下错误

D:/imagesequence/sdhdfd_plate/sdhdfd_plate_bg01_v001_fds_fdse_fdfd.%04d.jpg: N
o such file or directory

是否可以使用ffmpeg

转换这些类型的图像

2 个答案:

答案 0 :(得分:3)

似乎有几个原因导致这种情况无效。首先,正如pixelistik所指出的,如果你的图像实际上没有.jpg扩展名,那么它将无效(例如,如果它们实际上是png或其他东西)。

其次,您的图像序列必须从0或1开始,因此从10​​01开始将不起作用。您可以在UNIX shell中使用此批处理代码或类似代码将图像重命名为可行的序列。

x=1; for i in *jpg; do counter=$(printf %04d $x); ln "$i" sdhdfd_plate_bg01_v001_fds_fdse_fdfd."$counter".jpg; x=$(($x+1)); done

请注意,您必须位于包含图片的目录中,如果您不想包含其他图片,则必须将for i in *jpg更改为for i in sdhdfd_plate_bg01_v001_fds_fdse_fdfd.*。< / p>

答案 1 :(得分:0)

  1. 似乎模式在 Windows 下不起作用。
  2. 你的模式不正确,

对于文件:

sdhdfd_plate_bg01_v001_fds_fdse_fdfd.1001.jpg
sdhdfd_plate_bg01_v001_fds_fdse_fdfd.1002.jpg
sdhdfd_plate_bg01_v001_fds_fdse_fdfd.1003.jpg

输入模式应该是:

sdhdfd_plate_bg01_v001_fds_fdse_fdfd.1%03d.jpg

这里的 1%03d 映射到:100110021003...