基于I帧

时间:2016-10-11 00:30:39

标签: ffmpeg image-compression openh264

假设我有5张非常相似的图片。我想基于第一张图像压缩图像2,3,4和5,有点类似于从I帧生成P帧的方式。

  • 一般来说,最好的方法/工具是什么?
  • 例如,使用FFMPEG,是否可以生成P帧并将它们存储在单独的文件中?

修改 虽然相似,但我并不是要在两个图像之间简单地生成差异。我的目标是以某种方式使用第一张图像中的信息使连续图像更小。如果我只是做一个差异,差异本身大小相同(减少约10%),这没有我想象的那么多。如果我生成包含这5帧的mp4视频,则视频大小远小于在文件中放置5帧,这可能与基于I帧的帧预测有关。有没有办法逐个生成这些预测帧并单独存储?

1 个答案:

答案 0 :(得分:1)

以下是基本语法:

假设I.png是您的基本框架,P1.png是您希望减少到与I.png

之差的框架

然后

ffmpeg -i P1.png -i I.png -lavfi blend=all_expr='A-B' D1.png

生成差异帧D1.png

要从I和D1重建P1,请运行

ffmpeg -i D1.png -i I.png -lavfi blend=all_expr='A+B' P1-r.png

PI-r.pngP1.png相同。