禁用 ffmpeg 扩展的错误文件类型检测

禁用 ffmpeg 扩展的错误文件类型检测

我正在尝试使用转码 mjpeg 文件,ffmpeg但它检测设置不正确。如果文件没有扩展名或扩展名未知,ffmpeg 将正确检测 mjpeg 格式并读取其中的任意数量的帧。

当文件带有扩展名时,它不起作用.jpg。这会导致 ffmpeg 仅从文件中读取一帧并忽略任何其他帧。

有什么方法可以告诉 ffmpeg 停止根据文件扩展名进行猜测,或者至少实际使用 mjpeg 模块而不是只读取一帧?

我知道,-f image2pipe -i -但是那需要通过其他环节将文件传送到命令,而不仅仅是将文件名提供给进程,因为我是从没有 shell 的另一个进程执行它。

答案1

我如何告诉ffmpeg使用格式想?

(而不是它它应该使用)

ffmpeg对其参数的位置很挑剔。听起来你想强制它用作mjpeg输入格式,这意味着-f需要参数-i。例如:

$ ffmpeg -f mjpeg -i mjpeg_image.jpg <other_options> output

您还可以通过调用 ; 获取受支持格式的列表ffmpeg -formats,其中D表示解码(输入)能力,以及E表示编码(输出)能力。

相关内容