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

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

Share facebook icon linkedin icon twitter icon email icon

流传输

学习目标

阅读本文后,您将能够:

  • 了解流传输的工作方式
  • 了解哪些因素会延缓流传输
  • 了解为什么流传输使用 UDP/IP 而不是 TCP/IP
  • 说明如何使流传输更快

什么是流传输?

流媒体

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

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

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

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

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

流传输如何工作?

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

与发送文本和静止图像相反,通过 Internet 发送视频需要比 TCP/IP 更快的数据传输方法,而后者优先考虑可靠性而不是速度。

用户数据报协议(UDP)如何改善流传输?

UDP 是一种传输协议,这意味着它用于跨网络传输数据包。UDP 与 Internet 协议(IP)一起使用,它们一起称为 UDP/IP。与 TCP 不同,UDP 无需在传输数据前来回发送消息以开启连接,也无法确保所有数据包都能送达并保持井然有序。因此,传输数据所花费的时间不如通过 TCP 传输所花费的时间长。尽管在传输过程中丢失了一些数据包,但流传输涉及的数据包太多,因此用户不会注意到丢失的数据包。

Internet 数据传输大部分使用 TCP 或传输控制协议。该传输协议需仔细地来回确认,以便开启连接。一旦开启连接并且两个通信设备开始来回发送数据包,TCP 将确保可靠地传输,并且所有数据包均按顺序到达。

对于流媒体而言,速度远比可靠性重要。例如,如果某人正在在线观看某集电视节目,并非该集中每一帧的每个像素都必须出现。用户宁愿剧集以正常速度播放,也不愿意坐下来等待全部数据传送完毕。因此,丢失一些数据包并不是什么大问题,这就是流传输使用 UDP 的原因。

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

什么是缓冲?

流传输和缓冲

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

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

在网络端:

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

在用户端:

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

如何使流传输更快?

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

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