什么是流式传输?| 视频流式传输如何工作?

流传输是一种无需真正下载媒体文件即可观看视频或收听音频内容的方法。如果文件所有者使用 CDN,则可以提高流传输性能,并减少缓冲时间。

学习目标

阅读本文后,您将能够:

  • 了解流传输的工作方式
  • 了解哪些因素会延缓流传输
  • 说明如何使流传输更快

相关内容


想要继续学习吗?

订阅 TheNET,这是 Cloudflare 每月对互联网上最流行见解的总结!

参阅 Cloudflare 的隐私政策,了解我们如何收集和处理您的个人数据。

复制文章链接

什么是流传输?

流媒体

最初的网站是简单的文字页面,可能包含一两张图片。但如今,只要互联网连接速度足够快,任何人都可以通过互联网观看高清电影或进行视频通话。正是由于一种称为流传输的技术,这才成为可能。

流传输将音频或视频文件从服务器连续传输到客户端。简而言之,消费者在连接 Internet 的设备上观看电视或收听播客时,就会发生流传输。使用流传输时,将远程存储客户端设备上播放的媒体文件,并通过 Internet 一次传输几秒钟。

流传输和下载之间有什么区别?

流传输是实时进行的,并且比下载媒体文件更高效。若下载视频文件,整个文件的副本都将保存到设备的硬盘驱动器上,并且直到整个文件下载完成后,视频才能播放。如果改为流传输,浏览器将在不实际复制和保存视频的情况下播放视频。视频将一次加载一点,而不是一次加载整个文件,并且浏览器加载的信息不会保存在本地。

想想湖泊与溪流之间的区别:两者都包含水,而且溪流所含的水量可能与湖泊一样多。区别在于,在溪流中,所有的水不会同时汇聚在一处。下载的视频文件更像一个湖泊,因为它占用大量硬盘空间(并且改变湖泊的位置需要很长时间)。流视频更像是溪流或河流,视频数据连续不断地快速流向用户的浏览器。

流传输如何工作?

就像通过 Internet 发送的其他数据一样,音频和视频数据也被分解为数据包。每个数据包都包含一小部分文件,客户端设备上的浏览器中的音频或视频播放器获取数据包流并将其解析为视频或音频。

流式传输使用用户数据报协议 (UDP) 还是传输控制协议 (TCP)?

有些流式传输方法使用 UDP,有些使用 TCP。UDP 和 TCP 是传输协议,这意味着它们用于跨网络移动数据包。两者都与互联网协议 (IP) 搭配使用。TCP 会在传输数据之前打开一个专用连接,它确保所有数据包按顺序到达。与 TCP 不同,UDP 不做这些事情。因此,TCP 更可靠,但通过 UDP 传输数据的时间要低于通过 TCP 传输的时间,尽管在此过程中会丢失一些数据包。

如果说 TCP 是一种要求收件人签收的包裹派送服务,那么 UDP 则会将包裹留在前门廊,无需敲门要求收件人签名。TCP 派送服务丢失的包裹更少,但是 UDP 派送服务更快,因为即使没有人在家签收,它也可以投递包裹。

对于流式传输,在某些情况下,速度远比可靠性重要。例如,如果有人在视频会议中,他们更愿意与其他与会者实时互动,而不是坐下来等待每一个位元数据的传递。因此,丢失一些数据包并不是什么大问题,此时应使用 UDP。

在其他情况下,可靠性对于流媒体更为重要。例如,HTTP 实时流 (HLS)MPEG-DASH 都是使用 TCP 进行传输的流协议。许多视频点播服务使用 TCP。

什么是缓冲?

流传输和缓冲

流媒体播放器会提前加载几秒钟的流,以便在连接暂时中断时可以继续播放视频或音频。这称为缓冲。缓冲确保视频可以流畅地连续播放。但是,在连接速度较慢的情况下,或者如果网络存在大量延迟,视频可能需要很长时间缓冲。

哪些因素会减慢流传输速度?

在网络端:

  • 网络延迟 :多种因素会影响延迟,包括用户尝试访问的内容的存储位置。
  • 网络拥塞 :如果通过网络发送的数据过多,就会降低流传输性能。

在用户端:

  • WiFi 问题 :重启 LAN 路由器,或从 WiFi 切换到以太网,有助于提高流传输性能。
  • 客户端设备运行缓慢 :播放视频需要大量处理能力。如果流传输视频的设备同时在运行很多其他进程,或者设备总是运行缓慢,则流传输性能可能会受到影响。
  • 带宽不足 :对于流视频,家庭网络需要约 4 Mbps 的带宽;对于高清视频,可能需要更大的带宽。

如何使流传输更快?

流传输与其他类型的 Web 内容一样会遭受相同类型的延迟和性能下降。由于流传输的内容存储在其他位置,因此托管位置的影响较大,就像通过 Internet 访问任何类型的内容一样。如果纽约的用户尝试从洛斯盖多斯的 Netflix 服务器流传输,则视频内容必须跨越 3,000 英里才能到达该用户,并且视频将不得不花费很长时间进行缓冲,甚至可能完全无法播放。因此,Netflix 和其他流媒体提供商广泛使用分布式内容分发网络(CDN),将内容存储在全球各地更靠近用户的位置。

CDN 对流传输性能具有巨大的积极影响。Cloudflare Stream 利用 Cloudflare CDN 将视频内容缓存在全球各地的所有 Cloudflare 数据中心中并从中提供该内容,由此缩短了视频启动时间延迟并减少了缓冲时间。

在此处了解有关 Cloudflare Stream 的更多信息