当我在 ffmpeg(或任何其他程序)中使用这样的命令时:
ffmpeg -i input.mp4 image%d.jpg
所有图像的组合文件大小总是比视频本身大。我试过降低每秒帧数、降低压缩设置、模糊以及我能找到的所有其他东西,但之后 JPEG 的尺寸(合并)总是变大。
我试图理解为什么会发生这种情况,以及可以做些什么来匹配视频的大小。除了 JPEG 或我忽略的任何设置或技巧之外,我还可以使用其他压缩格式吗?
有可能吗?
为简化起见,当视频被编码时,只有某些图像(关键帧)被编码为完整图像,例如 JPEG。
其余的被编码为当前图像和下一张图像之间的差异,对于大多数场景来说,与整个图像相比,它的大小要小得多。
这是因为在视频中,您不仅会逐个图像地应用压缩,还会在时间方向上应用压缩。所以单独的图像总是比视频大。你对此无能为力。
Lennart 是正确的,如果你想要更多细节,你应该看看http://en.wikipedia.org/wiki/Video_compression_picture_types#Summary
基本上图像序列只有I帧,而视频可以根据编解码器和编码设置使用I帧、P帧和B帧,这大大提高了压缩效率。