0

图像序列以

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 转换这些类型的图像

4

2 回答 2

3

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

其次,您的图像序列必须从 0 或 1 开始,因此从 1001 开始是行不通的。你可以在 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 *jpgfor i in sdhdfd_plate_bg01_v001_fds_fdse_fdfd.*.

于 2012-07-11T14:38:00.657 回答
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映射到: 1001, 1002, 1003...

于 2021-07-05T03:08:35.160 回答