浅析视频云行业及实现技术
2019-09-01 20:04 云物互联 阅读(2006) 评论(0) 编辑 收藏 举报目录
文章目录
前言
因为前段时间要外出做一个交流,所以简单的了解了一下视频云行业相关的一些情况,同时也提出一些自己的理解和问题。本文主要参考了《2018 年中国视频云服务行业研究报告》和《AWS 视频直播方案》的内容。
传统自建视频系统的问题
传统的自建视频系统主要由 Cache 服务器、存储服务器、编码服务器、调度服务器、其它应用服务器、带宽、IDC 机房、CDN 节点、系统维护人员和开发人员组成。由于视频系统对资源和技术具有双重要求,企业自主搭建视频系统需要耗费极高的成本,但在高并发、弱网的复杂环境下依然难以避免延时和卡顿等问题。搭建视频系统首先需要投入高昂的资金购置基础设施,其次,音视频技术领域研发过程复杂,涉及多样的技术栈,企业需根据实际应用场景和业务需要进行高难度的二次开发,无论人力成本或时间成本考虑都是一笔不小的投入。由于企业独享整台服务器的资源和性能,但在实际应用中很少能够满载运行,导致服务器的大量资源长期处于闲置状态,资源浪费的现象普遍存在。
成本高:
- 人力成本
- 时间成本
- 建设成本
- 资源浪费成本
效果差:
- 技术门槛高
- 网络环境差
- 用户体验低
- 没有 AI 赋能
- 没有弹性扩张
视频云(VaaS)的定义与缘起
定义:基于云计算技术理念的视频流媒体服务,涵盖从视频采集到视频播放的全部流程,能够让客户以低成本、高效率的方式搭建专业的视频系统。
视频云提供了一站式的解决方案和一键搭建全端直播服务。客户只需要使用视频云服务厂商提供的服务(通常是以 SDK 的形式)即可完成播放视频的一整套流程,作为用户你不用管整个视频是怎么 “编码-分发-解码” 的,你只需要提供视频的内容和视频的消费方即可。视频云是市场高度分工化的体现,极大地降低了视频直播、点播、互动的门槛,也刺激了视频直播的创业浪潮和需求。
视频云的优势:
- 低成本:大大节约了建设时间与建设成本;
- 高效率:通过后台可以清晰快捷的统计来访访客的视频浏览信息,个人信息,帮助客户更好的发挥视频的作用;
- 弹性扩展:可以根据用户具体情况进行弹性计费,强大的数据统计功能;
- 全球化高清流畅播放:视频托管采用多 CDN 分发网络加速技术,使得视频的播放速度大大的提升;
- 视频安全:视频托管技术采用一定的加密技术使得视频难以被盗版盗用;
- 终端能力:视频中可以人为的控制广告的插入与否以及广告自行设计,视频云服务支持流畅、高清等多种播放技术。
视频云的应用场景
- 赛事直播(直播)
- 视频门户(点播)
- 在线教育(互动直播)
- 社交应用
- 远程协作
- 安防监控
点播和直播是视频云中最典型的两种服务类型。云转码是点播云服务的核心技术,通过在云端服务器将视频转换为标准格式,根据终端用户的带宽情况选择不同码率的视频文件,实现兼顾清晰和流畅的观看体验。直播与点播相比更具有实时性和突发性,因而直播云服务对延时和首屏时间等指标更加敏感,对高并发和弱网环境下的稳定性也有着更高的要求。与常见的单向一对多直播不同,互动直播支持用户的双向交流。这种双向交流一方面对延时的容忍度极低,另一方面因为涉及多路视频流,带宽压力和编解码压力成倍增加。当前,视频云厂商多通过结合实时通信技术,解决互动直播中面临的问题。
视频云市场
视频云的实现原理
视频云包括云储存、云转码、云直播、云加密、云发布等功能。视频应用在云端上运行,将运行结果(显示输出、声音输出)编码后经过网络实时传输给终端,终端进行实时解码后显示输出。终端同时可以进行操作,经过网络将操作控制信息实时传送给云端应用运行平台进行应用控制,终端可以精简到仅提供网络能力、视频解码能力和人机交互能力。
采集端:内容提供方采集的视频首先会被编码为特定的格式;采集和渲染会用到具体硬件平台的接口,这和具体硬件设备的接口、设计和性能等密不可分。因此,在系统设计阶段,就要考虑硬件设备的兼容性和跨平台。
服务端:视频在上传到云服务器后,为适应不同的网络环境和播放终端通常会在云端进行转码,服务端会提供包括数据统计、内容审核、实时水印等在内的个性化增值服务。编解码环节会涉及到具体硬件芯片的处理能力,主要有两类:硬编硬解和软编软解。
- 云直播、云点播:业务能力
- 云储存:存储能力(分布式缓存、分布式存储),视频数据存储、容灾/备份。
- 云转码、云加密:计算能力(CPU、GPU、FPGA),视频编码、视频渲染、高清图像流。
- 云发布:CDN 内容分发网络。
播放端:频经由内容分发网络(CDN)加速分发,通过解码最终在内容消费方的终端设备上实现播放。
- 播放器:终端交互(2D、3D、VR)
视频云案例
腾讯云通用视频云方案
阿里云视频点播方案
视频云的需求
性能需求
- 高可靠:抗丢包率超过 30%,抗 800ms 的网络抖动。
- 高并发:千万级并发。
- 低延时:端延时小于 400ms。
- 安全:加密传输。
功能需求
直播核心需求:
- 互动功能:支持文字互动、弹幕消息。
音视频小程序核心需求:
- 提升沟通效率,提升客户服务体验:通过小程序视频通话,用户与客服面对面沟通。
- 视频面对面咨询的需求:服务人员通过视频知道用户操作,解决问题,提升厂商口碑。
教育与培训核心需求:
- 个性化教学:支持高清实时视频通话,实时性、抗回声等性能与 QQ 同一水平。
- 沉浸式互动体验:集音视频通话、互动白板、IM、文档转码、屏幕和媒体共享等功能。
短视频核心需求:
- 快速上传、实时分发:通过快速上传功能,实时与他人分享精彩内容。
- 特效、动效功能开发:拍摄、美颜滤镜、动效挂件、特效插件、绿幕抠像、剪辑等功能。
- 社交变现:通过切换带有面具表情包的短片和原片,实现付费打赏功能。
视频云的技术栈
编解码技术
H.265 标准在 H.264 标准的基础上,改善码流、编码质量、延时和算法复杂度之间的关系,可以在相同画质的情况下标准节省约一半的带宽。
当前视频编码已经进入到后 1080P 时代,由 H.264 主导的视频编码标准正在被撼动。早在 2013 年,新一代的视频编码标准 H.265 就完成了标准的制定工作,但受限于当时的应用环境而没有得到广泛的普及。相比 H.264,H.265 的最大优势是可以在维持画质基本不变的前提下,将视频传输的带宽减少到 H.264 的一半。目前主流的视频云厂商部分或已经支持H.265标准,或正在计划支持 H.265 标准,随着未来软件和硬件环境的支持,H.265 标准将成为视频云服务的标配。
CDN + P2P 技术
云计算与 CDN 形成能力互补,大幅提升 CDN 的节点存储能力和资源利用率,并采用动态节点分发技术提供全局视角的智能资源调取。P2P+CDN 通过利用边缘网络的碎片化闲置资源,提高内容分发网络
的传输效率,能够解决视频播放中的秒开、延时等问题。
在流媒体分发技术方面,P2P 技术因为充分利用边缘设备,从而缓解视频云服务中的高带宽成本的痛点,因而被越来越多视频云厂商运用到内容分发领域。P2P 扩展性好,CDN 可靠性高,P2P 与 CDN 结合,两者取长补短,尤其适用于流量较大、热度集中且相同资源利用率高的应用场景。
视频编解码和内容分发网络是视频云服务中的两项关键技术。
云计算
**中国的云厂商常常采用 SaaS(软件即服务)与 IaaS(基础设施即服务)结合、PaaS(平台即服务)与 IaaS 结合的服务模式。**由于网络、存储等基础设施对音视频业务来说至关重要,所以 IaaS 服务的存在不可或缺。IaaS 厂商会多以基础资源为优势延伸业务体系,顺势提供 PaaS 层级的云服务。PaaS 服务以提供通用音视频能力为主,各需求企业可以根据业务需要自行开发,这会让企业的产品更灵活,更具个性化,但也对企业自身的研发能力提出要求。SaaS 层服务可以提供直接可用的音视频软件,也可帮企业进行运维。但也由于标准化程度较高,再加上不同客户的诉求差异较大,所以 SaaS 服务更适合针对特定的垂直场景开发相应功能。
PaaS
PaaS 层服务以提供通用的视频能力为主,通常面向以视频为关键业务的客户群体,客户可以根据业务具体需要进行定制化开发和优化,对客户自身的 IT 研发能力有较高要求。
PaaS 厂商会更多的聚焦在对视频存在强烈刚性需求的领域当中,其场景化通常表现为一种通用能力的延伸,以模块化的方式呈现,从而可以应对客户愈发灵活的需求。泛娱乐和在线教育是 PaaS 厂商普遍看好的两大应用场景,其中泛娱乐场景要求云服务对市场变化具有极高的敏锐度,能够紧追甚至领先风口,在线教育场景则需要根据不同的教育类型和受众做出定制化调整。
SaaS
SaaS 层服务提供的是可直接使用的视频软件,相比 PaaS 而言,更适合 IT 研发能力较弱或视频非关键业务的客户。SaaS 层服务相对标准化,而不同行业客户之间的诉求差异较大,SaaS 厂商更倾向于针对特定垂直场景开发相应的功能,以满足行业客户深度结合视频业务的发展需求。
由于 PaaS 和 SaaS 面临的客户群体之间存在较大的差异,客户会根据需求特征选择不同的云服务模式,因而在两类厂商的竞争交叉相对有限。
对于大中型传统企业客户而言,标准化的 SaaS 服务通常不能适应他们的需求,视频云需要与客户自身的业务系统打通,因而 SaaS 厂商的服务模式将不完全局限于 SaaS 层,会将服务边界进一步向 PaaS 层延伸。在安防和医疗等相对封闭的领域,利益链条较为固化,且同时涉及到视频的硬件设备和软件服务,行业内既有的视频服务商向云服务转型有一定优势。
AI
人工智能技术的应用可以支持在线教育、视频监控、电子商务等多种场景,实现鉴黄防恐、目标检测识别、片段侦测、视频去重等功能。
视频内容数量激增对于各类型的视频平台而言既是机会也是挑战,2018 年 4 月短视频行业迎来最强监管,低俗、暴力、血腥、色情等问题再度引起关注。现阶段单纯的人工审核方式已经显现出瓶颈,结合人工智能的视频内容审核因大幅节约重复工作所带来的人力成本,正逐渐成为视频云服务的一项重要功能。
在云计算、大数据与人工智能趋向三位一体的背景下,视频云厂商在上传、转码、分发、播放的基础服务上,不断探索新的增值服务,从视频内容审核到可以直接驱动流量变现和内容生产的视频内容理解和视频内容编辑。尽管目前 “AI+” 在客户群体中的渗透程度相对有限,但考虑到人工智能技术的应用将能够带来效率提升、价值创造的显著作用,从而提升视频云服务对客户的价值,势必会成为下一阶段行业发展的重要方向。
视频直播技术实现
终端采集
音频
- 音频模拟信号 --> PCM 编码的原始数据 --> 编码压缩 --> 封装 MP3, AAC, OGG, WMA, Opus, FLAC, APE, m4a, AMR 等;
- 采样率越高,记录这段音频信号数据量越大,音频质量也越高;
- 位宽:每个采样点需要一个数值来表示,数据类型大小可以是 4bit,8bit,16bit,32bit;
- 声道数:音频采集和播放是可以叠加的,声音录制时音源数量或回放时相应的扬声器数量;
- 音频帧:音频数据是流式的,没有明确帧的概念,一般取 2.5ms~60ms 为单位的数据量为一帧音频;
- 假设某音频信号是采样率为 8kHz、双通道、位宽为 16bit,20ms 一帧,则一帧音频数据的大小为:
size = 8000 x 2 x 16bit x 0.02s = 5120 bit = 640 byte
。
图像:
- 摄像头等设备拍摄成 YUV 编码的原始数据 --> 编码压缩 H.264/H.265/VP8/VP9 --> 封装 MP4,3GP,AVI,
MKV、WMV、MPG、VOB、FLV、SWF、MOV、RMVB 和 WebM 等; - 图像传输格式:通用影像传输格式(Common Intermediate Format);
- 图像格式:通常采用 YUV 格式存储原始数据信息,其中包含用 8 位表示的黑白图像灰度值,以及可由 RGB 三种色彩组合成的彩色图像;
- 传输通道:正常情况下视频的拍摄只需 1 路通道;
- 分辨率:视频采集卡能支持的最大点阵反映了其分辨率的性能;
- 采样频率:采样频率反映了采集卡处理图像的速度和能力。采样率越高,图像质量越高,同时保存这些图像信 息的数据量也越大;
边缘端处理
编码压缩前进行处理,比如打上时间戳、公司 Logo 水印,祛斑美颜和声音混淆等处理,这些可以在边缘端或云端完成。
云端编解码
视频编码的意义:
- 原始视频数据存储空间大,一个 1080P 的 7s 视频需要 817MB;
- 原始视频数据传输占用带宽大,10Mbps 的带宽传输上述 7s 视频需要 11分钟;
- 经过 H.264 编码压缩之后,视频大小只有 708k,10Mbps 的带宽仅仅需要 500ms,可以满足实时传输的需求,所以从视频采集传感器采集来的原始视频势必要经过视频编码。
基本原理:
- 空间冗余:图像相邻像素之间有较强的相关性
- 时间冗余:视频序列的相邻图像之间内容相似
- 编码冗余:不同像素值出现的概率不同
- 视觉冗余:人的视觉系统对某些细节不敏感
- 知识冗余:规律性的结构可由先验知识和背景知识得到
编码相关参数:
- 码率:
- 数据传输时,单位时间传送的数据位数,是衡量文件体积大小的关键参数,表示每秒钟多少 KB 的参数,单位 Kbps;
- 码率越大,画质越好,体积越大;
- 帧数:
- fps,每秒的帧数,即每秒含有多少张画面。每秒含有的画面数越多,则画面显得越连续, 越少,则画面越 “卡”。
- 同一码率下,与画质成反比;
- 一般 30fps 可以接受,60fps 提升交互感和逼真感,>75fps 不易觉察;
- 画面大小:
- 单位像素,640x480 就表示该视频的每张画面是由宽 640 点,高 480 点组成的。
- 码率一定时,与清晰度成反比;
- 马赛克:码率不够造成的色阶缺失;
推流
CDN 传输
树状拓扑
- 骨干节点
- 中心节点
- 区域节点
- POP 节点
- 边缘节点
CDN 基于树状网络拓扑结构,每一层都有 GSLB(Global Server Load Balancing)用于同一层内的多个 CDN 节点负载均衡,Cache 系统。
网状拓扑
网状拓扑结构中,每个 CDN 节点都是 Peer,逻辑上每个节点提供的服务对等,不需要按区域设计复杂的网络拓扑结构。系统可以通过智能路由选择任何一个最快的链路。对 Cache 的要求没有以前那么高,对实时性的要求非常高。
直播协议
一些思考
私有视频云、公有视频云的混合架构
市面上常见的视频云方案多为公有云提供,在上文中也反复提到了公有视频云带来的诸多好处。但是,这是否就说明了私有视频云没有存在的必要呢?笔者认为答案是否定的。
实际上,随着企业的发展,用户会更加愿意通过边学习、边探索、边构建的思路逐步搭建出一套自主可控的私有视频云。开始或许是保持着依赖和学习的姿态来使用公有视频云,但最终会反哺到私有视频云上,再结合混合云架构来实现双向收益。当然了,这种做法对企业 IT 技术和资本实力有一定的要求,多出现在中大型企业中。而这里面的关键就在于 公-私 之间的职责应该如何割裂的问题,什么业务放在私有云、什么业务放在公有云,如何求得曲线峰值是真正的价值所在。
边缘技术 + CDN 带来的极致低延迟
视频云的低延时肯定少不了 CDN 技术的加持,而 CDN 的本质就是一个边缘应用程序,是边缘计算的子集。边缘计算和 CDN 的区别在于:前者是 App 和算力的下沉,而后者只是单纯的数据缓存以及内容分发。随着边缘计算的成熟必然会对 CDN 技术的发展带来良性变革,为 CDN 引入了更多 “软件定义” 的空间。
基于分布式云的网络直播应用。在中心云上创建个虚拟机跑一个流媒体服务器,边缘云上也创建虚拟机跑流媒体服务器,然后用手机推送视频流到中心云,通过浏览器访问边缘云虚拟机可以看到手机视频直播,而且不管有多少用户访问边缘云的流媒体服务器,中心到边缘的视频流占用的带宽基本不变 。
5G 对视频云的发展的影响
5G 的到来,会给视频行业带来技术上的改变。根据第三方机构的预测,5G 时代,互联网视频的每月流量将从 2018 年的 100EB 增长至 2022 年的 270EB,这将导致整个产业的视频分发成本快速上升。但已经有云厂商提出了解决方案,华为云是 H.265 编码技术专利的持有者,能保证在相同画质下,实现转码后的视频带宽比业内平均水准低 10%~20%,同时为客户实现更低的分发成本。而且,此前曾有游戏直播平台的实测显示,在秀场直播等相对简单的直播场景下,华为云转码后的 1080P 画面相比平均码率节省了 65%;在电竞游戏等复杂直播场景下,平均码率可节省 41%。可见,5G 让数据的获取变得更加容易,相应的,对数据传输带宽提出了挑战。窄带宽能够有多窄(编解码、加密、压缩)将会成为公有视频云的核心竞争力之一,这直接与成本挂扣。
边缘技术和 5G 打破了原有的技术框架,让视频云不再只限于直播、点播、交互直播的应用场景。激发了更大的想象空间。远程操纵挖掘机、远程手术等新兴应用场景层出不穷。但由于骨干网依旧存在无法避免的物理延时问题,5G、边缘技术加持下的音视频数据流依旧存在物理区域限制。而这一限制将会刺激 SD-WAN、专线、VPN 等技术的发展,当骨干网专线的成本被极大压缩后,真正的全网高速时代就到来了。