我正在尝试使用以下命令从一系列 JPG 创建视频文件:-
ffmpeg -f image2 -i img*.jpg -s 640x480 movie.mpg
但在生成大量输出后失败,如下所示:-
<lots of output, removed>
Stream #0.0 -> #89.0
Stream #0.0 -> #90.0
Stream #0.0 -> #91.0
Stream #0.0 -> #92.0
Press [q] to stop encoding
[mjpeg @ 0x95dfac0]get_buffer() failed (-1 0 0 (nil))
Video encoding failed
什么原因导致了错误?我该如何修复它?
答案1
Glob 语法 ( *
) 不适用于图像序列。您必须使用%d
来指示在哪里查找编号(假设您的图像序列已编号,否则它将不起作用)。您还可以使用-r
ffmpeg -f image2 -i img%d.jpg -r 25 -s 640x480 movie.mpg
这将获取图像img0.jpg
、、img1.jpg
...img2.jpg
并创建每秒 25 帧的视频。