什么是视频带宽?

随着越来越多的人开始远程工作,许多公司越来越依赖实时语音、视频聊天和推流应用。这些应用会增加公司的运营成本,同时有很多亟待解决的问题,而带宽是这些问题的关键解决方案之一,所以我们有必要了解我们究竟需要多大的视频带宽。


什么是视频带宽?

网络发送和接收数据的能力是以带宽来衡量的。网络带宽是指在一定时期内能发送和接收的最大数据量,以兆比特/秒(Mbps)为单位。

如果用户要向网页上传视频,就需要更大的上行带宽。此外,用户的直播质量直接由上行带宽决定,用户可通过查看网络设置了解自己所用网络的上行带宽。

如果开发者开发的应用提供视频通话、语音通话、直播、推流等服务,就一定要了解带宽对终端用户体验的重要性,只有优化视频带宽,才能提供更高质量的用户体验(QoE)。

因此,接下来我们一起通过本文来了解视频推流带宽的相关参数,视频带宽对用户体验的影响,以及开发者如何借助声网技术等内容。


比特率

我们通常把单位时间内视频传输的信息量叫作该视频的比特率。

比特率是视频文件从服务器传输到网页的速率,一般以 bps、kbps 和 Mbps 为单位。

直播推流的质量受比特率的影响。当比特率超过可用带宽时,视频质量会下降,出现停顿、缓冲或中断等问题。一旦视频质量下降,用户就会很快关闭会话窗口,因此,对于视频直播来说,要保证用户体验,务必要在文件大小(比特率)、视频质量(分辨率)和传输延迟(ping)之间找到最佳的折衷方案。

对开发者来说,为用户在实时互动中提供 1080p 的视频质量的几乎不可能,尤其是还要追求同步性。


帧率

视频都是由单独的图像组成,组成视频的单独图像叫作“帧”。静态帧快速移动,让观众看到连续变化的视频,而每秒能为观众传输的帧数(fps)叫作帧率。每个视频的帧率不同,创作者通常会将帧率与传输的视频类型匹配。比如,大多数电影是 24 帧/秒;大多数高速动作场景(如体育比赛直播)则使用 60 帧/秒,目的是防止出现视频重影或模糊。

实时视频推流需要至少 30 帧/秒和 1080p 的带宽。如果推流的视频里动作或变化的画面较少,可以使用较低的帧率,但如果视频里有大量动作或变化的画面(如体育运动),则需要较高的帧率。

帧率和数据传输需求互相影响。传输的视频的帧率越高,需要的带宽就越高。


视频的分辨率

影响视频分辨率的因素有很多种,其中最直接的影响因素是拍摄设备的性能,但视频推流的分辨率很大程度上取决于为编码器选择的参数,如比特率和帧率。

此外,全高清视频推流比 720p 视频推流的需要更高的带宽,因为前者的分辨率更高,所以视频文件更大。


视频编码和压缩

视频想在互联网上成功推流,几乎都需要经过压缩。如果不压缩,文件就会非常大。我们要通过压缩来优化带宽,压缩即使用较少的数据对视频推流编码。

大多数压缩的主要任务是消除多余的或不相关的信息。例如,如果视频文件中连续两帧是一样的,就没必要重复传输。

相较于体育赛事等活动画面较多的视频,我们可以对活动画面较少的视频可以进行更高程度的压缩,且不会影响视频质量。因此,比特率与分辨率和帧数成正比,同时要减去压缩过程中造成的损失。帧率、分辨率和最大比特率通常可通过视频编解码器设置。


带宽 vs. 网速

带宽和网速是否有可比性还有待商榷。两者相互关联,但并不相同。同时了解网络下行速率和上行速率才能全面地了解网速。

上行和下行速率是指信息从本地网络传输到互联网的速度。与带宽一样,上行和下行速率使用 Mbps(兆比特/秒)为单位。下行速率指的是互联网的数据到达本地网络的速度。

上行速率指的是信息从一个设备传输到本地网络之外的另一个设备的速度。我们通常用千比特/秒(Kbps)或兆比特/秒(Mbps)表示上行和下行速率。

带宽是指在给定时间内能发送的信息量。上行速率和下行速率加起来就是“网络吞吐量”。

如果将延迟、丢包、抖动和网速等要素都考虑在内,吞吐量指的是在给定时间内真实传递的信息量或数据量。

网络的效率取决于数据包的真实交付率。即使带宽很高,如果没得到有效利用,也会出现服务延迟。

大家通常认为,带宽高则网速快、吞吐量大,但事实并非如此,尤其当我们将延迟考虑在内时。网络延迟通常是由发出请求的客户端和处理响应的服务器之间的物理分离造成的,例如,如果网站托管在纽约市的数据中心,那么新泽西州的网站访问者最多只需等待 10 毫秒,但旧金山(距离纽约市约 2900 英里)的用户则需等待大约 50 毫秒(往返时间)。

往返时间(RTT)是指客户端发出请求后,服务器的回答到达客户端设备所需的总时长。因为信息需要先到达目的地之后再从目的地返回,所以往返时间(RTT)相当于延迟时长的两倍。

大家往往会认为几毫秒不算什么。但如果将客户端和服务器之间建立连接所需的时间,页面的大小和加载时间,以及传输数据的网络设备的潜在故障等各种因素考虑在内,即使只多了几毫秒,加在一起也可能会造成严重延迟。

系统的距离(如广域网)、中间节点的数量、数据包大小、抖动和网络拥堵都有可能造成网络延迟。

例如,互联网交换点(IXPs)是数据包在网络之间传递时停留的位置,RTT 在交换点会增加几毫秒,因为路由器必须处理和路由数据包,有时还需将数据包分成更小的数据包。

如果数据包因上述原因被丢弃和重新发送时,系统会引入更高的延迟。从更远距离重新传输更多数据就会占用更多的内存,进一步拖慢网速。 所以,要解决直播推流中的延迟,上行速率一定要足够快,同时要有合适的带宽。


视频带宽的重要性

视频出现卡顿、无法下载较大的文件或推流服务持续缓冲等问题通常是因为带宽不够。随着消费者对网络信息需求的持续增长,他们需要更快的网速和更高的视频推流带宽,因此,我们需要这个趋势背后的推动力。

自网络诞生以来,消费者对带宽的需求一直在稳步增长,主要原因是视频和游戏。

消费者对带宽的需求平均每年大约增涨 50%。一个轻型住宅互联网用户目前网络体验(大约需要 5 到 10 兆比特/秒的带宽)在 5 年后需要大约 40 兆比特/秒的带宽才能获得,10 年后预计需要 300 兆比特/秒的带宽。

提供视频点播服务、直播推流或使用早期设备的网络更容易经历这种扩张。这种指数式的扩张早有前例,可以追溯到互联网发展的初期。

用户对提高带宽和网速的需求一直都有,比如,视频推流网站上选择 4K 视频的用户越来越多。该行业已经转型为通过下载分发新游戏,但像谷歌 Stadia 这样的公司转型为推流模式。

随着用户数量的扩大,网络服务处理的同时段在线用户越来越多,因此,我们需要更高的带宽,同时网络容量必须足以支持应用程序的访问者数量。


推流带宽推荐

实时视频广播的数据可能会非常密集,具体大小取决于上述变量。我们先来了解一下 720p、1080p 和 4k 视频带宽的数据。

要以每秒 30 帧的速度传输 720p 的实时视频,需要高达 4.16 兆比特/秒的上行速率和大约 4 兆比特/秒的上行速率。

然而,这建立在用户拥有高达 4.16 兆比特/秒的稳定上传速率。如前所述,上传速率是不可预知的,所以最好留出 35%-40%的缓冲,因此,要达到 4.16 兆比特/秒的稳定上传速率,需要大约 5.7 兆比特/秒的上传速率。

高分辨率的视频推流所需的带宽的差异非常大。例如,一个 30 帧的 1080p 带宽视频需要 3.8 到 7.4 兆比特/秒的上传速度,其中 5 兆比特/秒是推荐带宽。如果用户想以 60 帧的速度推流视频,需要增加到 5.6 和 11 兆比特/秒之间。如果用户想将视频分辨率提高到 4k,速度为 30 帧,上传速度需在 15.8 和 41 兆比特/秒之间,最好不低于 25 兆比特/秒。


使用声网

随着用户对视频带宽需求的增长,开发者需要采取相关措施来适应用户需求。

声网的实时语音、视频聊天和实时视频推流解决方案都支持用户的实时互动。声网能够在各种场景中(比如,低带宽环境)进行自动优化来改善用户体验。如果用户使用的旧设备网络连接不佳,声网可以自动调整视频质量来保持稳定,实时避免抖动和丢包。

欢迎大家拨打 408-879-5885 联系我们,或在声网官网进行注册。欢迎大家在网页和移动项目中使用声网技术。



原文作者:声网团队
原文链接:https://www.agora.io/en/blog/what-is-video-bandwidth/
推荐阅读
相关专栏
音视频杂谈
158 文章
本专栏仅用于分享音视频相关的技术文章,与其他开发者和声网 研发团队交流、分享行业前沿技术、资讯。发帖前,请参考「社区发帖指南」,方便您更好的展示所发表的文章和内容。