使用 FFMpeg 将 BMP 发送到标准输出

使用 FFMpeg 将 BMP 发送到标准输出

我看到很多使用 FFMpeg 从一组图像制作视频文件的示例。如果我想要单个文件,我也可以看到如何执行相反的操作。但是,我希望将图像推送到 stdout。此行失败:

ffmpeg -hwaccel auto -i Wildlife.wmv -pix_fmt bgr24 -an -sn -f bmp - > junk.bin

它说“请求的输出格式‘bmp’不是合适的输出格式”。但是,此行可以很好地生成图像文件:

ffmpeg -hwaccel auto -i Wildlife.wmv -pix_fmt bgr24 -an -sn test%03d.bmp

我如何将图像推送至标准输出?

答案1

问题在于,在 ffmpeg 中,BMP 不是一种文件格式。它是一个编码器(如下图所示ffmpeg -encoders)。普通的 BMP 文件可以用image2复用器,但如果您只想要原始视频编解码器,则需要格式rawvideo

因此,使用如下方法:

ffmpeg -i input.wmv -c:v bmp -f rawvideo -an - > output.bin

相关内容