从传入的 jpg 图像逐步构建视频

从传入的 jpg 图像逐步构建视频

是否可以将一个 jpeg 帧(或少量帧)附加到视频中,同时保持良好的图像质量和压缩率?我有一个脚本,每 30 秒从网络摄像头下载一张 jpeg 图像。我可以使用 ffmpeg 或 mencoder 用这些帧制作视频,例如:

ffmpeg -f image2 -i %d.jpg out.swf

我希望在新帧出现时让此视频保持最新,但又不想让计算机如此频繁地重新编码整个视频。我还担心 ffmpeg/mencoder 仅使用一帧新数据就能做一些智能操作 - 例如,它会尝试将每个新帧设为关键帧(使视频不必要地变大)吗?

如果您能就如何合理地做到这一点提供任何见解,我们将不胜感激。

答案1

为什么要一次构建一帧?这对你有什么帮助?为什么不让你的脚本每 15 分钟(30 帧)重建一次视频,或者以更合理的方式重建?

SWF 是一种不常见的视频输出文件格式。一般来说,您无法在 SWF(或 FLV)影片末尾添加单个帧,因为这需要状态压缩器——压缩器必须保留在 RAM 中,并记住最后一个关键帧的状态以及此后进行的所有帧间压缩,以便对下一帧进行编码。

如果出于某种原因,您确实需要在正在制作的视频末尾添加一帧,请使用 MPEG 1。MPEG 1 视频只是一系列没有帧间压缩的单帧,因此您可以让 FFMPEG 压缩每个 JPEG 并将其添加到正在进行的工作的末尾。当然,按照现代标准,结果将是一个巨大的、压缩率很低的文件。

答案2

如果只有那么几帧,请将它们转换为动画 gif 而不是电影(例如,使用 ImageMagick)。

这就是 www.weather.gov 制作动画雷达图像的方式。

相关内容