随着互联网的发展,来自用户的音视频媒体上传体量日益增加,媒体上传的速度正在成为影响用户体验的关键因素。由于用户所在地的网络基础设施、网络环境等因素的差异,上传可能会出现速度缓慢、网络抖动或丢包等问题。用户媒体上传依然有很多痛点问题需要解决。

长距离传输质量不稳定

国内主流云服务提供商在北京、上海、广州等城市部署了存储中心,腾讯云也是如此。在业务实践中,不可避免会出现终端用户与存储中心距离间隔太远的场景,例如,对于新疆乌鲁木齐的用户而言,最近的存储中心在约3000公里外的成都。对于印尼这类群岛国家,边缘岛屿的用户也需要将数据跨海上传到雅加达的存储中心。长距离的数据上传通常就意味着更长的网络链路和更大的传输时延,而且一旦中间某一个环节出现网络抖动、丢包等问题,就会拉低整条链路的上传速度和成功率

弱网环境下传输效率低

随着高清视频的普及,用户上传的视频文件也越来越大,而当用户在地铁、电梯或其他基站信号覆盖较弱的环境下使用 APP 时,这类大文件的上传质量会受到很大影响。这一方面是网络环境的因素,另一方面是因为网络协议的效率不高。目前常见的网络协议依然是 HTTP1.1,该协议本质上仍基于串行模型,同时还存在队头阻塞等问题,在大规模数据传输的场景中,很容易触达性能瓶颈。此外,如CUBIC等TCP常见的拥塞控制算法都基于丢包来做拥塞控制,在弱网环境下表现不够好。

网络切换导致频繁建立连接

用户的网络连接会经常在 Wi-Fi 和蜂窝网络之间切换。例如:早上从家里出门,连接从 Wi-Fi 变为蜂窝网络;乘坐公交时,网络连接的移动基站会不断变化;到公司,连接又从蜂窝网络变为 Wi-Fi 的过程。如何在这些弱网环境和连接迁移的场景下降低丢包率,保持稳定的数据传输,是提高上传质量的一大难题。

云点播客户端上传加速方案

针对以上这些问题,腾讯云点播推出了客户端上传加速方案,上线全球链路加速和QUIC协议传输两项功能,为客户提供更高质量的上传服务。利用全球链路加速通道和QUIC协议,该方案能有效改善用户上传速度及质量。

全球链路加速

针对长距离传输场景网络链路过长导致的上传质量不佳问题,云点播基于腾讯云遍布全球的加速网络和边缘节点,为客户提供一套数据上传的全球链路加速通道。借助腾讯云的智能全局流量管理平台,将用户的上传请求递交给最靠近用户的边缘节点,就近接收用户的数据。再通过腾讯云打磨多年的加速网络,选择最优链路,将数据通过更稳定、快速的内网传送到存储中心。

利用分布在全球的机房,世界各地用户的上传文件可以快速发送到腾讯云的接入层,并通过内网传输,相比外网传输链路可以大大减少丢包、时延等问题,上传的速度和稳定性得到提升。借助腾讯云的全局链路探测功能,可以实时选择最优的传输链路。在开通全球链路加速后,文件上传速率平均可提高60%左右

假设我们有一位用户在新疆乌鲁木齐附近旅游,他想把拍摄的美景视频上传到 APP 中。未开启全球链路加速时,这一请求从用户手机出发,一路经过多次公网转发,最终到达成都的存储中心。整个过程中,由于传输链路长、网络基础设施差异,很容易出现丢包、上传缓慢等问题。开启上传加速后,这一请求可以直接在乌鲁木齐接入腾讯云内网,大大提高上传的速度和稳定性。

未开启全球链路加速,通过公网转发请求,跨地域上传

开启全球链路加速,就近接入腾讯云,内网上传文件

QUIC协议传输

针对弱网环境和网络切换的问题,云点播提供的客户端上传已支持 QUIC 协议。QUIC 协议是一种基于 UDP 实现的低延迟高可靠通信协议,目前标准的 HTTP3 协议正是基于 QUIC 实现的。QUIC 协议能在丢包率较高和网络频繁切换的场景下提供高质量的数据传输。开启 QUIC 协议传输后,可以提升弱网下的上传成功率和上传速度。

假设前文的这位用户结束旅游,乘坐高铁回家的路上想继续上传一些视频,这时他处于弱网环境,并且手机连接的基站也在不断变化。通常情况下,TCP 的连接会不断地断开重连,每次重连又需要三次握手,效率很低。好不容易建立连接后,弱网下丢包的问题也可能造成 TCP 队头阻塞问题,上传质量非常糟糕。

QUIC 连接与TCP 连接对比

开启 QUIC 协议传输后,可以做到  0-RTT 握手,大大降低建立连接的开销。并且,QUIC 还支持连接迁移,在移动端频繁切换网络的场景中,也可平滑过渡,保证网络不中断。QUIC 也解决了队头阻塞问题,出现丢包时不会阻塞后续请求的确认,可以更充分的利用网络带宽进行数据传输,提高上传速度。另外,云点播客户端上传还支持 BBR 拥塞控制算法,后者在丢包率较高的环境下,性能远高于 TCP 默认的拥塞控制方式

BBR 和 CUBIC 吞吐量对比

方案优势

我们统计了中国境内 4G 网络环境下,开启和未开启全球链路加速的文件上传速度,对比如下图。可以观察到,未开启全球链路加速时,上传速度主要分布在500-1000KB/s 区间,平均值约为 700 KB/s。当开启全球链路加速后,上传速度基本保持在1000KB/s 以上,平均值达到1170KB/s。

上传加速实测效果

从实测数据中可以看到,使用云点播上传加速方案后,用户上传速度平均提升60%以上,加速效果非常显著

使用指引

云点播提供的上传加速方案简单易用,客户只需在云点播控制台开启相关功能即可获得上传加速效果。

  1. 进入云点播控制台 > 上传存储设置 > 上传加速,单击页面内模块右上角的“编辑”。

  1. 单击对应的滑动开关,可以切换“全球链路加速”和“QUIC 传输”功能的状态,然后单击确定完成配置。

用户开启客户端上传加速配置后,使用客户端进行上传时,云点播会智能地在普通通道和加速通道中进行竞速和择优,同时会自动探测并决定是否使用 QUIC 协议进行数据上传。

如果您想了解更多产品信息,欢迎扫描下方二维码添加音视频小姐姐微信,直接与我们的产研团队沟通咨询。您也可以点击文末「阅读原文」前往腾讯云官网查看产品详细文档。

腾讯云音视频在音视频领域已有超过21年的技术积累,持续支持国内90%的音视频客户实现云上创新,独家具备 RT-ONE™ 全球网络,在此基础上,构建了业界最完整的 PaaS 产品家族,并通过腾讯云视立方 RT-Cube™ 提供All in One 的终端SDK,助力客户一键获取众多腾讯云音视频能力。腾讯云音视频为全真互联时代,提供坚实的数字化助力。

文章来源于腾讯云开发者社区,点击查看原文