我正在尝试从视频中提取每 30 帧并向其添加文本,并输出为 jpg。 这是我使用的代码:
ffmpeg -i test.mp4 -vf "select=not(mod(n,30)), drawtext=fontfile='C:\Windows\Fonts\arial.ttf:text='test':fontcolor=white:fontsize=45:x=(main_w/2-text_w/2):y=1800:" -vsync vfr -q:v 2 img_%03d.jpg
第一帧选择输出为img_batch3d.jpg,那么这是我收到的错误消息:
[image2 @ 00000146e59d0500] Could not get frame filename number 2 from pattern 'img_batch3d.jpg' (either set update or use a pattern like %03d within the filename pattern)
av_interleaved_write_frame(): Invalid argument
请帮忙。
您必须转
义Windows批处理文件中的%
,因此img_%03d.jpg
更改为img_%%03d.jpg
。
请参阅批处理文件 - 转义字符。