观看网络视频时是否会将其下载到硬盘上?

观看网络视频时是否会将其下载到硬盘上?

我对技术的基本工作原理感兴趣。

视频的某些部分(例如,来自 YouTube)是否会进入某个文件夹(如%USERPROFILE%\AppData\Local\Temp),或者它们是否会从 RAM 中进行复杂的处理?

我只熟悉 Google Chrome DevTools 中“网络”标签中的主题。

如果有人能在这里发表一篇好文章我会更高兴!

答案1

首先,这是一个一般性的答案,因为您才刚刚开始。您所问的概念很简单,但是有很多情境细微差别会使问题变得复杂,我不会深入讨论这些。

首先,并非所有视频都是由服务器和网站以相同的方式提供的。尤其是在过去,小视频可以作为二进制下载嵌入到页面中,一旦下载完成并呈现页面,内容就会由 javascript 或本地运行时(如 flash)播放。这在广告中很常见。关于这种方法,有几点需要考虑:

  1. 整个文件都会被下载,并且通常是预先下载的。
  2. 视频播放发生完全在本地计算机上。
  3. 浏览器可能会尝试将视频缓存到磁盘,以便在下次刷新页面时无需再次下载。
  4. 视频格式会影响本地计算机对视频的解码、缓冲和播放方式,并且差异很大。常见的视频格式包括从极不完整的(mpeg-1)到极其复杂的(h.265)等。

流媒体视频更加先进。客户端和服务器上的软件协同工作,即时传送和渲染视频流,使用最少的资源(如 RAM 和 CPU)同时流畅播放视频。流媒体允许服务器提供非常大的长时间播放的视频,而无需预先下载。

  1. 客户端和服务器将协商如何提供流,包括需要多少缓冲等内容。连接的两端都会保持一定程度的“状态”。
  2. 视频本身将采用支持流媒体所需的所有功能的格式。
  3. 即时处理允许系统将下载的数据缓冲到 RAM,并控制该缓冲区,因此它不会变得过大,或者过快地清空。这很好,因为整个下午在 Netflix 上狂欢可能会填满一个小硬盘。
  4. 流视频通常不会缓存到磁盘,因为它将来不太可能被重复使用。如果没有视频的完整副本,这将是毫无意义的。
  5. 如果本地计算机压力过大,一些流内容可能会最终出现在磁盘上,也许是在视频播放器客户端维护的缓存文件中,或者在虚拟内存页面文件/交换中。一般来说,这些只是视频的片段,而不是真正长期连贯的数据。

希望有所帮助。

相关内容