使用 ffmpeg 时出错

使用 ffmpeg 时出错

我正在尝试使用以下命令从一系列 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 帧的视频。

相关内容