以优质的产品﹑优惠的价格﹑优秀的服务回报客户!
Commitment to enhance customer brand image,customer business goals!
视频直播CDN系统架构简析及应用场景概述
2017-10-10 18:03:22| 发布者: admin| 查看: 3077
通常我们所说的视频,是指连续的图象变化每秒超过 24 帧(Frame)画面以上时,根据视觉暂留原理,人眼无法辨别单幅的静态画面,看上去是平滑连续的视觉效果,这样连续的画面叫做视频。
而媒体转码是指将一段多媒体包括音频、视频或者其他的内容从一种编码格式转换成为另外一种编码格式。 其中内容分发网络就是大家常说的 CDN,这里主要包含流媒体服务器,负载均衡,路由重定向,视频转码,视频录制存储,防盗链,性能等相关技术内容。 本文主要从直播概述、直播架构、业务功能和场景来介绍下阿里云 CDN 直播系统。 一、视频相关词汇介绍在讲解直播 CDN 技术之前,我们先来了解一些直播视频的相关词汇。 码率:数据传输时单位时间传送的数据位数,一般用的单位是 kbps 即千位每秒。通俗一点的理解就是取样率,单位时间内取样率越大,精度就越高,处理出来的文件就越接近原始文件,但是文件体积与取样率是成正比的,所以几乎所有的编码格式重视的都是如何用最低的码率达到最少的失真。但是因为编码算法不一样,所以也不能用码率来统一衡量音质或者画质。 帧:是一段数据的组合,数据传输的基本单位。就是影像动画中最小单位的单幅影像画面,相当于电影胶片上的每一格镜头。一帧就是一副静止的画面,连续的帧就形成动画,如电视图像等。 帧率:每秒显示帧数,帧率表示图形处理器处理场时每秒钟能够更新的次数。高的帧率可以得到更流畅、更逼真的动画。一般来说 30fps 就是可以接受的,但是将性能提升至 60fps 则可以明显提升交互感和逼真感,但是一般来说超过 75fps 一般就不容易察觉到有明显的流畅度提升了。如果帧率超过屏幕刷新率只会浪费图形处理的能力,因为监视器不能以这么快的速度更新,这样超过新率的帧率就浪费掉了。 音频帧一般可以独立解码,直播播放。而视频分为视频关键帧和非关键帧,关键帧可以独立解码渲染,播放器拿到后可以直接看到画面,一般 10K 以上甚至几十 K;其他非关键帧解码依赖于前面的一些视频帧,播放器会根据前面的帧和这一帧来解码产生画面,非关键帧一般大小是几 K 甚至不到 1K。对于播放器来说,服务器一般会从视频关键帧开始发送,这样才不会产生花屏。 对于节点上直播服务器存储的内容,如果是文件加速,节点上存储的内容很明确,就是文件数据, URL 不变的话文件数据内容也不变。但是对于直播来讲,传输的就是帧数据,缓存的也是不断变化的帧序列数据。 下图可以看到,当前的服务器缓存了 V1-V3 五帧数据,当 V4 这个关键帧出现了,服务器把之前的丢掉,开始缓存 V4 开始的音视频数据,以这个策略保证过来的播放端都是当前最新的数据。一般直播服务器都是用这个策略来进行服务器缓存的。 常见的 CDN 加速包括文件加速、点播、直播三种业务。最开始阿里云 CDN 是从文件加速开始,针对的主要是内部客户,如淘宝,它的图片非常多,支持的都是小文件加速。随着各 BU 的端产品衍生,逐渐会支持大的文件下载业务。等阿里云 CDN 正式作为产品上线商业化时候,开始支持点播业务。2015 年下半年,开始支持直播业务。 二、直播概述通常,视频直播常见两种形式是手机直播和游戏直播,手淘、陌陌、映客的典型的手机直播平台,游戏直播就是像斗鱼、全民 TV 等平台。其实对于播放端来讲,直播和点播都是向服务器获取视频数据,播放端对声音和画面进行播放的过程。从这个角度来讲,直播和点播区别并不大。 直播和点播的区别 对于视频点播,用户在观看的时候,可以随时选择快进和回退,直播却不能。 对于视频网站上的视频文件来讲,点播可以选择今天看或明天看,但是直播却不能选择时间,像每周末的联赛只在固定的时间播放。一些机顶盒提供回看的功能,也属于点播。 简而言之,直播就是每一帧数据打上时序标签后进行流式传输的过程。发送端源源不断的采集音视频数据,经过编码、封包、推流、再经过分发网络进行扩散传播,播放端再源源不断地下载数据并按时序进行解码播放。如此就产生了边生产、边传输、边消费的直播过程。 我们将视频直播整个流程主要分为几个关键阶段:视频采集、前处理、编码、推流、转码、分发、播放,下图为简化版直播系统的基本架构,后面我们再详细展开。
这是一张阿里云直播全景解决方案的图,这里包括详细的推流端推流,直播中心的流存储,转码截图录制等视频处理,CDN 智能调度与分发,最后到播放端播放整个过程。
就视频直播服务器的一个进程上来讲,我们可以认为一个推流端和多个播放端是一种非常典型的发布和订阅的关系。从下图可以看到,主播完成发布动作,这条直播内容也就是这一路流推动到服务器,三个观众也就是订阅者,从服务器拉流,也就是用播放动作来完成推流。这种进程内部、节点之间的发布、订阅关系是一种级联的关系,CDN 的直播分发就是依靠这种模式构建。 那下面我们从 CDN 分发的角度来基础架构是怎样的。内容通过存储集群到达发布集群,再通过骨干中转环境的 L2,利用 CDN 智能调度到达 L1,也就是距离用户最近的节点,从顺利的推送给用户。 四、业务功能及场景 对于直播来讲,转码业务功能非常重要。转码后会在原始流名上加后缀,下图是转码前后的画质、码率的区别。和转码相关的有水印、动态模板、延迟转码等功能。 截图也是比较重要的业务,比如说直播平台页面分类下有很多张图片,刷新后图片会变化,都是靠周期性截图来完成。除此之外,阿里云也开放对直播进行动态配置、录制、开播断流回调、推流播放鉴权、断流、黑名单、禁播、各种接口 API、转推其他厂商、触发式拉流、连麦、播放纯音频 / 视频等。 另外比较重要的是直播数据的监控,对客户和我们来说,能时刻关注直播情况,掌握直播数据,对于防范问题来说是十分必要的。视频监控是用来记录一路流重要信息,比如常见的视频码率、播放流量和在线人数、视频帧率监控。视频的特性是每秒钟帧率比较固定,视频帧大概是 20~30 帧 / 秒, 造成卡顿的主要原因一般是网络链路的抖动,有了全链路秒级帧率监控图之后, 排查问题变得非常的方便, 针对一路流卡顿以及客户提出的各种问题可以很快的就明确原因。 正常的监控图应该是一条直线,上图的帧率出现的突刺,就是因为公网网络连接抖动后统计出来的数据降低。对于一路流多个播放端来讲,服务器会不断把帧数据写给播放端,一旦网络抖动,遇到写不出去的情况会将这一帧放到连接的等待队列里,超出了帧队列的长度限制,服务器会选择丢帧。一般这种情况产生是因为网络抖动的比较严重,我们也会以此为依据来确定网络全链路的质量,用红绿颜色来标注区分正常和非正常的链路质量。 那以上的架构和业务功能都可以应用于哪些场景呢?我们也对阿里云视频直播 CDN 服务的客户场景进行了归类汇总,主要有以下五个方向:
以上就是阿里云直播 CDN 相关的内容,目前,超过一半的视频直播、点播平台都在使用阿里云的直播服务,阿里云会通过不断丰富和升级视频服务能力,打造围绕视频领域的技术生态。 |
网站地图
产品导航:卫星天线 视频编码器 高清编码器 邻频调制器 复用器 数字调制器 QAM调制器 数字电视调制器 卫星接收机 光接收机 有线电视放大器 调制器 H264编码器 干线放大器 酒店IPTV网络互动电视解决方案 酒店数字电视解决方案 酒店卫星电视机房系统 网络视频编码器 宾馆有线电视系统方案
友情链接: 酒店IPTV网络电视设备博客 数字电视设备厂家博客 河北数字电视 江西卫星电视 湖北有线数字电视 安徽卫星电视IPTV 山东数字电视 广东有线电视 福建IPTV网络电视直播 北京IPTV网络电视点播 上海数字电视 江苏卫星电视 浙江有线电视 酒店IPTV网络电视设备 长沙航天和一微博 酒店数字电视设备 湖南电视台 湖南IPTV网络电视 中国有线电视网络 国家广电总局官网 长沙航天和一机电 宾馆IPTV网络电视产品
联系我们:电话:0731-88167648 88147436 手机:13755148565
邮箱:414380395@qq.com 微信号:catv888
地址:湖南省长沙市岳麓区枫林三路217号(航天管理局)