【读书笔记】流媒体 CDN 系统的组成与关键技术

2019-04-03  本文已影响0人  mecury

[TOC]

《CDN技术详解》读书笔记

流媒体 CDN 系统的组成与关键技术

1. 流媒体系统工作原理概述

视频播放的基本步骤:

  1. Access, 文件获取。系统将多媒体文件由硬盘读取到内存。
  2. Demux,解复用。将合在一起的视频和音频分开。
  3. Decode,解码。将压缩后的视频和音频进行解码。
  4. Output, 输出。包括音频输出和视频输出

流媒体的具体传送过程:

  1. 客户端 Web 浏览器首先向 Web 服务器请求一个展现描述的文件,用来获取播放和控制所需的一些信息。
  2. 客户端 Web 浏览器将展现描述文件交付给本地播放器,播放器进行初始化
  3. 播放器向流媒体服务器请求响应的流媒体数据,并在传送过程中实时交互控制信息。一旦流媒体数据抵达客户端。满足播放器缓冲要求后,开始实时播放。

2. 流媒体传送协议体系

流媒体传输过程中问题:

  1. 与纯文本数据相比,多媒体数据需要占用更多的网络带宽。增加了几千倍的压力。
  2. 多媒体需要实时的、稳定的网络传输,只有带宽和时延抖动维持在一定水平,才能保证流媒体在用户端平稳播放。
  3. 多媒体数据流突发性很强,单纯增加带宽往往不能解决这种突发问题。因此,需要多媒体应用程序都有接收端的缓存机制

为了应对以上问题,存在几个流媒体传输协议:

RTP和RTCP

RTP Realtime Transport Protocol 实时传输协议,定义包含音视频数据、序号、时间戳以及其他有用信息的标准分组结构的协议。简单地说,RTP 的任务是提供时间信息和实现流同步。

RTCP Realtime Transport Control Protcol 是 RTP 的伙伴协议,RTP 只负责流媒体数据包的交付,而不负责按顺序保证质量的交付,为了控制质量,RTCP 分组包中包含已发送的数据包数量、丢失的数据包数量等统计信息,服务端可以根据这些信息动态地改变传输速率。

RTSP

RTSP Real Time Streaming Protocol ,实时流传输协议。用来实现播放控制的协议,如流媒体的播放、暂停和继续。

RTMP

RTMP Real Time Message Protocol 实时消息传输协议。Adobe System公司为 Flash 播放器和流媒体服务器之间传输音频、视频和数据所开发的私有协议。

HTTP Streaming

HTTP Streaming 会将视频数据在服务器上进行编码,然后将编码后的数据进行更细粒度的分片,再把每个分片通过 HTTP 协议传输到客户端。

特点:

  1. HTTP Streaming 的客户端需要对视频文件的每个分片发送HTTP请求。
  2. 因为采用分片的特点,客户端可以灵活控制HTTP请求发出的速度。
  3. 可以在播放过程中进行码率切换,结合网络带宽资源,为用户提供更好的体验。

3. 流媒体业务对CDN 系统的要求和挑战

流媒体加速与Web加速之间的业务差异

流媒体CDN系统架构描述

  1. 管理支撑子系统是 CDN 系统的网络管理和业务管理系统。主要功能包括:
  1. 负载均衡子系统
  2. 流媒体服务子系统。为用户提供流媒体服务的各种设备组成的系统,具体来说就是一些 Cache 设备或着 Cache 集群,以及对于集群设备进行资源统计、配合负载均衡系统和运营管理系统进行工作所需要的周边网元设备。
  3. 内容管理子系统。负责对整个 CDN 网络的内容分布情况的管理,从内容进入CDN 网络开始,内容管理系统就负责对内容进行预处理。

4. 流媒体 CDN 系统的关键技术实现

Cache 的设计与实现

  1. 协议实现
  1. 缓存算法

内容分发机制设计与实现

  1. PULL, 被动下拉方式,由用户请求驱动
  2. PUSH,主动推送方式,由内通管理系统发起,将内容由源活中心媒体资源库分发到各个边缘节点。

组网模式

内容文件预提取技术

内容文件预提取是指视频内容进入 CDN 以后,进入内容分发流程之前,CDN 系统对于内容的一系列过程。目的是:

  1. 视频转码。将已经压缩编码封装完成的视频流转换为另一个视频流,以适应不同的网络带宽,不同的终端和不通过的用户需求。
  1. 文件切片。按照一定的规则将一个完整的文件切成大小一致的若干个小文件。目的是:

防盗链机制和实现

网站的盗链指通过技术手段,直接在本网站页面上向最终用户提供其他网站的内容,从而免费获取到其他网站的优秀资源。

防盗链常用形式:

上一篇 下一篇

猜你喜欢

热点阅读