如何在给定帧速率、分辨率和每个像素的颜色编码的情况下计算视频大小?
How to calculate video size given framerate, resolution and color encoding per pixel?
我需要找到一个视频大小为 1 小时 45 分钟、每像素 24 位颜色编码且分辨率为 1920x1080 的文件大小。
所以我的计算是这样的:
Total Pixels = 1920 * 1080 = 2073600
Size of Each Frame = Total Pixels * 24 bit = 2073600 * 24 = 49 766 400 bits
Video Length = 1 hour and 45 minutes = 105 minutes = 6300 seconds
Video Size = Framerate * Size of Each frame * Video Length
= 24 * 49766400 * 6300 = 7 524 679 680 000 bits
我不知道如何表达从位到千兆字节的转换,但我刚刚使用转换器检查了以千兆字节为单位的视频大小,它给了我 875.99 GB 的结果。这似乎不对,所以我在这里问我是否遗漏了一些计算。
注意:我需要这个来了解在 12 秒内传输此文件带宽必须达到的最低速度。
你的计算是正确的。这个数字看起来很大,因为这是原始视频的大小。大多数视频都经过压缩以减少占用 space。压缩后视频的大小取决于为压缩选择的设置,例如编解码器和可接受的 quality/information 损失。
Note: I will need this to know what minimal speed a bandwidth must
have to transfer this file in 12 seconds.
这样不行,因为文件大小和带宽都是可配置的变量。您正在尝试求解方程 X = A * B,其中 X 和 A 均未知,并且您正在尝试求解 B。
如果你知道带宽,你设置压缩率来匹配,如果你知道文件大小,你购买必要的带宽需要。需要固定一个值。
假设没有压缩...
将大小形式的位转换为字节:
7524679680000 bits
等于 7524679680000/8
字节 = 940584960000 Bytes
。
将大小从字节转换为千兆字节:
在计算机系统中:
1 KByte = 1024 Bytes
1 MByte = 1024 KByte
1 GByte = 1024 MByte = 1024*1024*1024 Bytes = 2^30 Bytes
940584960000 Bytes
等于940584960000/2^30 GB
等于875.988 GB
计算所需带宽(无压缩):
bandwidth = size / time = 7524679680000[bits]/12[sec] = 627056640000 bits/sec
从 bits/sec
转换为 Gbit/sec
:
备注:带宽通常以每秒 Giga bit 为单位(而不是每秒 Giga Byte)。
根据 Wikipedia's Data-rate units page Gbit/s 是 10^9 bits/sec (不是 2^30 bits/sec)。
627056640000 bits/sec
等于 627056640000/10^9 Gbit/sec
等于 627.0566 Gbit/sec
。
嗯...以目前的技术,即使 RAM 带宽也太低(假设您有 2TB RAM,并且您尝试复制 RAM 中的数据,这将花费超过 12 秒)。
我需要找到一个视频大小为 1 小时 45 分钟、每像素 24 位颜色编码且分辨率为 1920x1080 的文件大小。
所以我的计算是这样的:
Total Pixels = 1920 * 1080 = 2073600
Size of Each Frame = Total Pixels * 24 bit = 2073600 * 24 = 49 766 400 bits
Video Length = 1 hour and 45 minutes = 105 minutes = 6300 seconds
Video Size = Framerate * Size of Each frame * Video Length
= 24 * 49766400 * 6300 = 7 524 679 680 000 bits
我不知道如何表达从位到千兆字节的转换,但我刚刚使用转换器检查了以千兆字节为单位的视频大小,它给了我 875.99 GB 的结果。这似乎不对,所以我在这里问我是否遗漏了一些计算。
注意:我需要这个来了解在 12 秒内传输此文件带宽必须达到的最低速度。
你的计算是正确的。这个数字看起来很大,因为这是原始视频的大小。大多数视频都经过压缩以减少占用 space。压缩后视频的大小取决于为压缩选择的设置,例如编解码器和可接受的 quality/information 损失。
Note: I will need this to know what minimal speed a bandwidth must have to transfer this file in 12 seconds.
这样不行,因为文件大小和带宽都是可配置的变量。您正在尝试求解方程 X = A * B,其中 X 和 A 均未知,并且您正在尝试求解 B。
如果你知道带宽,你设置压缩率来匹配,如果你知道文件大小,你购买必要的带宽需要。需要固定一个值。
假设没有压缩...
将大小形式的位转换为字节:
7524679680000 bits
等于 7524679680000/8
字节 = 940584960000 Bytes
。
将大小从字节转换为千兆字节:
在计算机系统中:
1 KByte = 1024 Bytes
1 MByte = 1024 KByte
1 GByte = 1024 MByte = 1024*1024*1024 Bytes = 2^30 Bytes
940584960000 Bytes
等于940584960000/2^30 GB
等于875.988 GB
计算所需带宽(无压缩):
bandwidth = size / time = 7524679680000[bits]/12[sec] = 627056640000 bits/sec
从 bits/sec
转换为 Gbit/sec
:
备注:带宽通常以每秒 Giga bit 为单位(而不是每秒 Giga Byte)。
根据 Wikipedia's Data-rate units page Gbit/s 是 10^9 bits/sec (不是 2^30 bits/sec)。
627056640000 bits/sec
等于 627056640000/10^9 Gbit/sec
等于 627.0566 Gbit/sec
。
嗯...以目前的技术,即使 RAM 带宽也太低(假设您有 2TB RAM,并且您尝试复制 RAM 中的数据,这将花费超过 12 秒)。