一、摘要

视频直播类App当前已经普遍采用CDN来实现访问加速,但还是经常遇到推拉流慢、卡顿的问题,一般是由于调度不精准、域名劫持、终端手机接入网络动态切换等因素导致。结合使用CDN和HTTPDNS可以比较完美解决此类问题。

二、视频直播经典加速架构

当前视频直播类App经典加速架构如下图所示:

视频推流是什么意思(视频号直播推流教程)(1)

图1 视频直播类App经典加速架构

经典加速架构中,推流阶段使用CDN就近接入实现推流加速,用户播放拉流阶段通用使用CDN来做加速。由于CDN节点分布的广泛性与边缘性确保了客户能够就近接入,与直连源站相比,通过CDN加速直播推拉流取得了非常显著的加速效果。

三、经典架构中存在的问题

尽管已经采用了CDN加速,直播类App仍然经常出现访问慢、卡顿等问题,导致大量用户投诉。主要原因是当前架构中存在以下几方面问题:

3.1 运营商Local DNS配置不合理导致无法就近接入

关于这个问题的描述参考文章App如何实现就近接入?如何改善调度不准问题?,那些年移动App域名解析踩过的坑,移动互联网时代,如何优化你的网络 —— 域名解析篇。

3.2 域名劫持

关于这个问题可以参考文章域名劫持与防范,那些年移动App域名解析踩过的坑,移动互联网时代,如何优化你的网络 —— 域名解析篇。

3.3 用户手机网络制式切换

假设用户A从移动4G切换到家中联通的wifi网络,仍然按照原先的CDN节点进行加速会出现跨ISP调度,访问质量差的悲剧事件。

四、解决办法

HTTPDNS + CDN

上述3个问题都可以通过接入HTTPDNS解决。

解决方案1: 终端源站配合的解决方案

视频推流是什么意思(视频号直播推流教程)(2)

图2 终端源站配合使用HTTPDNS的解决方案

下面通过推流阶段2个场景说明改进方案如何确保调度到最佳CDN节点的:

case 1: Local DNS配置问题导致没有调度到最优节点的场景

case 2: 用户网络制式切换(如移动4G切联通wifi)的场景

解决方案2: 轻服务端解决方案

视频推流是什么意思(视频号直播推流教程)(3)

图3 完全基于终端调用HTTPDNS的方案

本方案非常清晰,当推流或者拉流出现服务质量问题(如慢、卡顿)时,立即使用HTTPDNS获取最新的最佳服务质量节点,并利用最新的节点进行推拉流。

另外,首次选用接入CDN节点时也建议使用HTTPDNS来解析决定。

其他要点

请注意,用户网络制式切换时,本架构能够自动找出最优节点并顺利切换到最优节点。

其他因调度问题导致拉流、推流阶段慢、卡顿的问题都可以通过上述方案解决。

五、总结

视频直播类App经常遇到播放质量不佳、慢、卡顿等问题,会引起客户投诉和流失,使用HTTPDNS可以基本解决这类问题。

六、附录

阿里云HTTPDNS六大优势:

1、支持全网域名解析

2、以IP方式对外提供服务,防止自身被劫持

3、AnyCast IP支持异地容灾

各地域使用同一个IP地址提供服务

4、接入延迟低且稳定

以北京为例,测试一下阿里云HTTPDNS的访问延迟:

视频推流是什么意思(视频号直播推流教程)(4)

图4 阿里云HTTPDNS服务器RTT延迟

5、支持https接口

6、提供Android SDK/iOS SDK,方便接入