哪些文件属性会影响视频文件的大小?

哪些文件属性会影响视频文件的大小?

这个问题与我刚刚发表于堆栈溢出关于Windows shell文件属性“视频压缩”的​​含义。

对于一组 71 个视频文件,我正在查看它们的属性,如 Windows 11 shell 所报告的。有关这些属性的一般信息,请参阅堆栈溢出问答Windows 11 shell 中的文件属性是什么

这个问题是关于与视频文件大小相关的属性。我已确定的属性包括:

  1   Size (in bytes)
 27   Length (i.e., duration)
316   Frame width
314   Frame height
315   Frame rate (in frames / sec)
 28   Bit rate
313   Data rate (in kb / sec)
320   Total bitrate (in kb / sec)
311   Video compression

对于第一种方法,我认为视频文件的大小应该与整个文件所代表的像素总数有关。因此,对于每个文件,我以兆字节/千兆像素为单位计算每个像素的大小,如下所示:

Mb/Gpixel = (Size / 1024 ^ 2) / (Frame width * Frame height * Frame rate * Length * 60 * 60 * 24 / 1e9)

如果这个数字在任意一种文件类型中都相当稳定,那就意味着文件大小将相当可靠地取决于帧大小、帧速率和持续时间的组合。但这个数字远非恒定。在文件集的 45 个 mp4 中,它的范围从 2.6 到 63。在 17 个 wmv 中,它的范围从 6.3 到 50。显然,其他因素正在产生很大的影响。

上述内容后面剩下的属性是比特率、数据率、总比特率和视频压缩。我不了解这些属性中的任何一个,所以我不知道如何计算它们的影响,但从下表来看,它们似乎也没有控制文件大小。

下表按“Mb/Gpixel”降序排列了 45 个 mp4 文件的数据,显示了其余三个速率的巨大差异。最右边的一列是第 19 章中讨论的视频压缩属性的数值。我的另一个问题除第二个文件外,所有文件的值为 6,而第二个文件的值为 3。

兆字节 长度 宽度 高度 频率/秒 兆比特/千兆像素 比特率 数据kb/s 总 kb/s 视频合成
22.9 00:05:18 320 240 15 62.5 99 500 599 6
597.6 01:30:39 400 224 19.93 61.5 128 788 916 3
480.3 00:59:18 368 272 29.97 45.0 128 999 1,127 6
105.2 00:07:24 640 360 二十五 41.1 256 1,727 1,983 6
33.6 00:07:48 320 240 三十 31.2 99 500 600 6
1154.3 01:59:55 640 360 24 29.0 255 1,086 1,342 6
1507.3 01:59:55 720 486 24 24.9 255 1,497 1,753 6
150.1 00:56:13 320 240 二十五 23.2 125 242 368 6
822.3 01:52:00 640 360 24 22.1 256 766 1,022 6
251.5 01:42:05 320 240 29.97 17.8 109 230 339 6
33.7 00:04:37 640 360 三十 17.6 61 957 1,019 6
124.8 00:46:41 426 240 二十五 17.4 125 242 368 6
922.4 01:52:00 720 486 24 16.3 256 883 1,139 6
39.0 00:07:57 480 360 29.97 15.8 61 620 681 6
349.4 00:07:24 1920 1080 二十五 15.2 256 6,341 6,597 6
349.4 00:07:24 1920 1080 二十五 15.2 256 6,341 6,597 6
12.2 00:06:40 400 224 23.98 14.2 四十七 203 251 6
215.0 00:50:35 320 568 29.79 13.1 93 491 584 6
32.7 00:06:41 640 360 29.97 11.8 61 618 679 6
254.1 00:13:20 1280 720 29.97 11.5 159 2,496 2,656 6
24.0 00:06:20 640 360 24 11.4 128 397 525 6
53.5 00:10:53 640 470 二十五 10.9 111 570 682 6
173.5 00:52:31 480 360 29.97 10.6 125 330 455 6
172.6 00:52:16 480 360 29.97 10.6 123 331 455 6
15.1 00:04:21 640 360 23.97 10.5 125 352 478 6
203.4 00:49:47 640 360 29.97 9.9 96 472 568 6
14.1 00:03:55 640 320 29.97 9.8 125 366 492 6
45.8 00:13:36 640 360 二十五 9.8 126 337 463 6
28.9 00:09:07 640 360 二十五 9.2 125 310 435 6
149.4 00:53:26 480 360 29.97 9.0 122 261 384 6
54.4 00:58:56 448 256 14.98 8.9 24 102 127 6
35.7 00:11:52 640 360 二十五 8.7 125 287 413 6
31.2 00:10:3​​3 640 360 二十五 8.6 125 281 407 6
39.7 00:11:23 640 360 29.97 8.4 125 353 478 6
40.3 00:14:34 640 360 二十五 8.0 125 255 380 6
169.6 00:33:32 854 480 29.97 6.9 128 570 698 6
802.7 02:54:16 854 480 三十 6.2 129 506 635 6
52.4 00:11:51 854 480 29.97 6.0 127 487 615 6
713.8 02:47:18 854 480 三十 5.8 127 460 588 6
35.3 00:15:27 640 360 29.97 5.5 125 185 310 6
363.9 01:35:31 854 480 三十 5.2 128 396 524 6
22.6 00:11:42 640 360 29.97 4.7 130 130 261 6
290.5 01:00:08 1024 576 29.97 4.6 127 538 666 6
19.1 00:03:27 1280 720 29.97 3.3 256 515 771 6
253.7 00:30:48 1920 1080 二十五 2.6 125 1,019 1,145 6

我没有发现这些文件的大小和它们的其他文件属性有任何关联。显然,框架宽度和高度不可能完全不相关,但看起来最重要的因素,或者至少是一些非常重要的因素,是我从 shell 获得的文件属性之外的东西。

我的问题是,我可以观察视频文件的哪些属性来决定其文件大小?

相关内容