我看到很多使用 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