我正在使用 Raspberry Pi 2 来路由 wifi-eth 连接。因此,从 eth 方面来看,我有一台可以使用 Pi wifi 连接到互联网的计算机。在 Raspberry 上我启动 htop 来监控 CPU 负载,然后在计算机上我启动 chrome 并播放 20 分钟 1080 视频。无论如何,CPU 上的负载似乎没有超过 5%。之后,我关闭了 youtube 选项卡并开始从此处的第一行 (https://testdebit.info/) 下载 5GB 的二进制文件。好吧,我注意到 CPU 负载要高得多,大约 10%!
对这种差异有什么解释吗?
最佳答案
它与压缩以及视频的编码方式有关。可以压缩普通文件,但不能像视频流那样压缩。
由于视频的可预测特性,视频流可以实现非常高的压缩率,例如从一帧到另一帧的视频变化不大。因此,视频将发送整个帧(I 帧),然后仅使用更改(P 帧)对其进行更新。甚至可以进行后向预测(B 帧)。这是 wikipedia reference .
是的,我听到你下一个未说导出的问题:更多的压缩不是意味着更多的 CPU 时间来解压缩吗?对于许多类型的压缩都是如此,例如 zip 文件使用的压缩。但是,由于原始视频的信息随着时间的推移不是非常密集,因此您可以使用压缩技术,从本质上减少您发送的数据量,而 CPU 使用率非常低。
我希望这有帮助。
关于youtube - 路由数据时流式传输与文件下载的 CPU 负载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38302823/