JPEG 的视频压缩大小和编解码器

JPEG 的视频压缩大小和编解码器

我正在构建一个带有 3 个摄像头的数据记录器,这些摄像头以每秒 24 帧的速度输出 jpeg 帧(o.79MB/jpeg @24bit/pixel)。我想拍摄这些图像并将其转换为视频。每个

对于视频,我想估计视频的大小和应该使用的编码格式,以产生 1080p 的视频质量?以及如何估计编码视频所需的时间?

是否存在一个公式可以估算最终可以达到的数据大小?

答案1

是否存在一个公式可以估算最终可以达到的数据大小?

不是。大小很大程度上取决于您选择的编码设置,即速率控制模式、平均比特率或平均质量、帧速率、压缩效率和速度之间的权衡、特定的编码器等。

当然,如果你有一个简单的恒定比特率编码过程,那么输出文件大小很容易计算。但在大多数情况下,你不想强制使用固定比特率。

对于视频,我试图估计视频的大小和应该使用的编码格式来产生 1080p 的视频质量?

1080p 仅指垂直分辨率为 1080 像素。这些尺寸没有固有的“质量”。当您谈论质量时,您通常会将其归类为:

  • 无损(数学上无损)
  • 视觉无损(原始版本和编码版本之间的差异人眼无法察觉)
  • 有损

选择原始 YUV、FFV1 或 HuffYUV 等无损编解码器时,您唯一担心的就是文件大小。选择视觉无损编解码器(如 ProRes 或 DNxHD)时,您仍可能会遇到不适合在线流媒体的大文件大小。

对于有损部分,您应该考虑您的要求是什么。快速编码比小文件大小更重要吗?您是否担心压缩伪影,或者视频是否应该通过网络流式传输,因此需要压缩?您是否打算将流式传输存档以便以后观看?

根据上述问题的答案,您可能更喜欢使用低比特率和受限比特率的单通道快速编码预设来实现网络流式传输。或者,您可能想要使用恒定质量模式的双通道慢速编码预设(例如,x264中的CRF),如果您关心保真度但仍希望尺寸较小。

以及如何估计编码视频所需的时间?

这取决于您的 CPU 能力、视频的像素尺寸和帧速率、时空复杂度以及编码器选项。例如libx264,您可以使用各种预设进行选择。请参阅FFmpeg H.264 编码指南获得一些提示。

相关内容