youtube - 路由数据时流式传输与文件下载的 CPU 负载

标签 youtube cpu-usage download

我正在使用 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/

相关文章:

ios - 嵌入Youtube 360​​视频在iOS Safari中不起作用

youtube - 首次加载YouTube视频时如何寻找?

android - 在android平台上没有办法自动播放视频吗?

c# - CPU 使用率与任务管理器、PerformanceCounter 或 ManagementObjectSearcher 不匹配

haskell - Haskell 和流融合不断增加 CPU 消耗

php - 通过 PHP 从站点重复检索数据

youtube - 更改 YouTube 嵌入的语言

node.js - 计算nodejs中的cpu使用率

Delphi XE2 Firemonkey 文件下载?

r - 更改从在浏览器中打开的 Shiny 应用程序下载的绘图文件的文件名