文章插图
本文来自即构科技技术副总裁冼牛在LiveVideoStackCon 2019上海大会的演讲,详细介绍了即构科技在实时流媒体传输协议选择,抖动处理,拥塞控制等多方面的实践 。文 / 冼牛
整理 / LiveVideoStack
大家好,我是冼牛,此次分享和实时音视频、流媒传输的思考与实践有关 。主要会为大家介绍实时音视频的超低延迟架构并简要阐述实时视频调度系统,同时结合拥塞控制策略和信道纠错策略,进一步探索解决网络延迟的最优方法 。
文章插图
分享内容包括四个方面,第一方面简要说明一下低延迟的架构,第二是关于实时视频调度系统方面的问题,第三和第四点是拥塞控制和信道纠错方面对于解决延迟重要性的问题 。
文章插图
1. 实时音视频的超低延迟架构1.1 实时架构的关键点在讨论实时语音和视频通讯的问题时,怎样做到低延迟便是其中不可回避的问题之一 。延迟的产生包括网络传输,网络渠道不良的原因,同时也不能忽略整个视频传输的链条包括采集,前处理,编码,推流,拉流,解码和渲染,这其中各个环节出现问题都有可能带来延迟的增加 。
文章插图
实时架构可以简单的分为两个方面 。其中负载均衡、就“近”接入、质量评估和动态路由这四点属于调度方面的问题,算法流控属于流媒体传输方面的问题 。前四点又可以划分为两个方面,第一个方面,负载均衡和就“近”接入属于第一公里和最后一公里的处理,质量评估和动态路由属于网络调度与路由 。
负载均衡指的是对包括网络边缘节点和传输终节点的容量管理,确保每一个节点的容量不会出现空置或被挤爆 。就“近”接入指的是网络逻辑上的就近接入,我们可以从两个纬度来考虑,一个是确保用户接入了同一个运营商的网络,另外要确保用户接入的地域 。
质量评估是一种事后的做法,根据网络长期运营下来的数据积累作为策略来指导写入的路由 。如果这些基建综合起来还是不能够实现良好的用户体验时,我们就会在上行的推流和下行的拉流做一些算法上的流控 。
1.2 调度系统&传输算法
文章插图
流媒体传输之中包含调度系统与传输算法,那么两者相比谁更加重要?简单的说调度系统所做的事情就是告诉每一个节点传输的方向 。在实时网络传输中,调度系统相当于一个Leader,能够指导每一个节点往哪去传,该怎么去传,采取什么样的策略 。调度系统与传输算法两者之间的关系我通过下图来做一个简单的比喻 。
文章插图
调度系统能够充分利用基建资源,在优质的基础条件下保证相对较好的传输质量,从而提供更好的用户体验,此时对于算法的要求就没有那么苛刻 。但在实际情况下,网络资源并不能够实现良好的传输质量,因此用户体验也无法保证,那么在这种情况下传输算法就变得尤为重要 。
2. 实时视频调度系统2.1 调度系统的拓扑图
文章插图
实时调度系统中需要关注的有几个方面 。上行的推流,其中比较重要的两个部分之前已经提到过,即就近接入与负载均衡 。同时在上行推流时我们还会做一些码率自适应的工作,在 “最后一公里”,上行拉流的时候则会进行分层编码的工作 。传输的过程分为两层,调度中心会帮助并指导节点进行动态回源;服务节点,负责节点跟节点之间的转码工作 。
2.1.1 单节点调度模式(成本优先)
文章插图
调度的模式有两种 。一种是单节点调度模式 。一种是多节点调度模式 。
2.1.2 单节点调度模式(体验优先)
文章插图
单节点的调度模式是成本优先的,在国内一般采取的都是单点的调度模式,而在跨国的环境中才会考虑用到多点的调度模式 。
推荐阅读
- 老忘记给手机充电?iPhone电量实时播报小功能了解下
- 10招教你提升抖音视频播放量-轻松破万的诀窍
- 5G时代-WebRTC音视频高级开发
- 抖音视频点赞一万提现多少 抖音点赞一万怎么提现
- 如何从0开始,搭建企业的实时数据中台?
- 抖音视频多久不会被推荐 抖音都是短视频吗
- Linux 实时性能测试工具 Cyclictest
- 淘宝直播间观看人数是累计的吗 淘宝直播人数是实时还是累计
- Web端实时通信解决方案
- 抖音上热门投放dou什么意思 抖音视频不能投放dou+的还会推荐吗