这个视频比特率计算有意义吗?

这个视频比特率计算有意义吗?

为了回答这个问题,我下载了以下视频:

下载为“3Uyndrm.mp4”,4,762 kB

在 Windows 11 中,我使用文件资源管理器>详细信息来查看其属性:

在此处输入图片描述

在这些数据中,Data rate是视频比特率,

  • Total bitrate= 音频Bit rate+ 视频Data rate

通过计算这些数字的文件大小可以确认这一点:

File size = 1,765,000 bits/sec * 22 second / 8 / 1024 = 4,740 kB

但对于这些数字,有些事情我不明白。

我们可以计算视频每秒的像素数:

(854 * 480) pixels/frame * 30 frames/sec = 12,297,600 pixels/sec

由此,我们可以得到每个像素的视频位数:

1,635,000 bits per sec / 12,297,600 pixels/sec / 8 = 0.017 byte/pixel

这有道理吗?这意味着视频的数据是每帧中每个像素的一小部分字节。我原本以为每个像素的颜色值至少需要三个字节。将其从 3 减少到 0.017 将实现超过 99% 的压缩率,这比我听说过的任何压缩率都要高。

我的计算是不是有问题?

答案1

根据视频的不同,它们可以有一个主帧,该主帧本质上是类似于 JPEG 的有损压缩图像。它i-frame包含实际的图像数据。

JPEG 已经达到了 10:1 的压缩率,且质量损失最小,较新的视频编解码器可能至少具有同样的效果。

如果接下来的几帧包含大量非常相似的数据,但移动量很小,那么您可以简单地获得一些数据,表示“将图像的这些区域移动 x 像素”,然后仅压缩实际新的屏幕上尚未显示的图像数据。这是p-frame,或基于前一帧的预测帧。

如果您有一系列连续的帧p-frames,那么i-frame您可能会删除整个帧系列。您将把 8 个完整帧的数据减少到 1 个压缩帧,同时还有少量的数据进行变换和数学计算。

如果在每秒 25 帧的情况下每八帧有一个 i 帧,则可以大大减少数据量。它可能会将数据量减少到大约 1/8 加上图像的一些新部分。

然后还有b-frames双向预测帧。它们可以回顾之前的i-frames,但也可以展望未来的下一个 i-frame。如果您知道下一个完整图像中有新数据,那么您可以使用该数据来编码当前图像中更少的数据,b-frame并依赖i-frame更远的数据。

这些预测帧可以大幅减少实际编码数据量,但代价是增加编码和解码视频所需的处理能力。您需要大量的处理能力来回顾和回顾一系列图像,找出所有相似之处和不同之处,并应用变换、混合、模糊、运动等。

它还会花费解码器的成本,因为您需要缓冲至少两个i-frames才能重新创建中间的所有帧。

通过将大量数据卸载到详细描述变换和运动的方程式中,您可以将比特率降低到远远低于您的预期,并实现更高的压缩比,特别是对于没有太多运动或帧间变化的视频。

您链接的视频显示了一些高度压缩的伪影i-frames,几乎没有运动。它可以轻松获得非常高的压缩比。

您可以在以下网址获取有关该流程基础知识的更多信息维基百科:视频压缩图片类型

相关内容