写点什么

UCloud 高级架构师邵晓春:全方位解读一站式短视频架构

  • 2017-06-20
  • 本文字数:1944 字

    阅读完需:约 6 分钟

短视频作为近年流行起来的娱乐方式,在国内市场迅速引爆,2016 年底迎来集中爆发。在这样的背景下,一系列技术难点接踵而至。UCloud 高级工程师邵晓春将带来短视频文件上传、视频存储、处理、分发播放等一系列一体化的云平台解决方案的深度解析。

什么是短视频

对短视频的定义是大于 10 秒小于 5 分钟的视频,短视频和长视频相比,它的内容产生更多的是偏重于“用户产生内容”。

内容既然是用户生产的,必然会面临一种状况:这个视频的生产者所在的网络状况是非常复杂的,设备终端也不一样,这种情况对视频云平台能够支撑的文件上传的性能要求非常高。

“UCloud 有多个数据中心,我们可以通过 HTTP DNS 调度,保障全国各个区域的用户实现就近上传。我们会提供给我们的客户一套 SDK,用户在 APP 里嵌入我们的 SDK,就可以实现终端用户上传短视频的就近上传。”

邵晓春举例说:“比如广州的用户,他在上传视频的时候会把这个连接请求调度到距离他最近的一个节点,比方说广州的某个数据中心,完成就近上传。”

短视频的另一个特点是,用户上传内容之后视频平台要快速发布。这就涉及到两个问题:一是视频转码,二是 CDN 的分发。

短视频上传之后需要在云端做一些视频处理服务的,比方说转码、水印、截图、切片、鉴黄等等。视频处理对云平台的计算能力提出了很大的要求。

UCloud 的媒体处理服务使用了自家的通用计算产品,UGC,UCloud 通用计算。通用计算是一项可以提供十万核的计算能力的服务,用户可以按需使用,按使用付费,用户只需将处理算法打包镜像并上传至通用计算镜像库,在使用时通过接口调用服务即可。可以通过并行处理的方式去做视频处理,UCloud 平台可以支撑同时 20000 个以上的视频处理任务,所以通过这种方式就保证了视频处理的时效性。

除此之外短视频对 CDN 分发也是有很高要求的,跟传统的长视频相比的话,因为长视频会进行预取刷新的操作,会预先将文件分发到 CDN 节点上去,但是短视频内容因为是 UGC,而且视频上传完成之后页面马上就要发布出去,进行播放,所以往往不能像长视频那样,提前预取到各个 CDN 节点,进行预热,这对视频云平台内部的分发能力是有要求的。

并行转码服务

并发的视频处理能力对云平台其实是有很高要求的。

邵晓春说:“UCloud 的是一家专业的云计算公司,我们在全球范围内有 16 个数据中心,我们有强大的 IDC 的资源,能够保障我们为客户提供强大的计算能力;刚才提到 UGC 产品,我们有超过一万个视频处理节点能够同时并发,处理两万个视频的处理任务,所以媒体处理的服务就能保证用户将他的短视频上传之后能够进行及时的转码、鉴黄、截图、拼接、切片等等,这样的处理能够保证内容能够以最快的速度呈现在观众面前。”

就近上传

用户拍完一段视频,需要立即上传。

UCloud 在全国各地有多个数据中心,“从基础资源能力上来讲,我们有条件为客户提供就近上传的功能”,邵晓春说。

如何实现?通过一套 SDK,开发者将这套 SDK 嵌入到他们 APP 里面去,最终用户在将视频上传的时候,会通过 HTTP DNS 的调度去获取离他最近的或者是当前网络中最佳的一个数据中心节点,并且实现这个文件的上传功能。

海量并发

面对海量存储,稳定性和大并发访问是一个令人头疼的问题。

关于海量存储,邵晓春介绍 UCloud 有两个对应产品,一个是对象存储产品 :UFlie;还有一个归档存储产品:UArchive。

那么如何应对海量并发呢?

邵晓春说:“对象存储产品的架构是三层架构:前端是接入层,中间是索引层,底层是实际的存储层,我们每一层都做了集群化的部署,集群的稳定性保证了我们这个存储的稳定性。”

当其中任何一层某一个节点出现故障的时候,系统会做故障剔除,会把这个节点从集群中踢出去,然后会将该节点处理的业务转发到其他的健康节点上,这样就保证了产品的稳定,也保证了客户业务的稳定性。关于大并发的处理,UCloud 采用的是集群部署方式,可以通过平行扩展的方式在集群中增加节点来满足用户海量的并发访问。

关于新产品

据邵晓春介绍,UCloud 现在在做很多事情:

  1. UGC 平台的对接,支持并行转码、鉴黄、截图、切片等视频处理。
  2. 265 的编码的支持。
  3. UFile 和 UMedia 的打通。后期服务上线后,用户上传视频将自动触发视频处理的服务。

讲师介绍

邵晓春,从事互联网行业近 10 年,涉及云计算架构、SAP ERP 项目实施、JAVA 开发、C#开发、嵌入式平台开发、CDN 开发等。具备强大的云计算规划、架构、迁移和运维能力,现任 UCloud 多媒体事业部高级架构师。目前负责 UCloud 音视频多媒体技术、云计算系统架构优化工作。深谙客户需求,负责项目管理、蓝图设计、实施开发、测试、上线交付等数十个 IT 项目,覆盖银行、电子工业制造、汽车制造、化工、林业、零售等多个行业。胜任企业 IT 系统升级、迁移、灾备规划(DR)、灾难恢复规划(DRP)、业务连续性规划(BCP)等各种高端咨询服务。

2017-06-20 19:001887
用户头像
陈思 InfoQ编辑

发布了 576 篇内容, 共 280.0 次阅读, 收获喜欢 1301 次。

关注

评论

发布
暂无评论
发现更多内容

学会用规则引擎Drools,让你早点下班

小小怪下士

Java 程序员 后端 drools

这份Java面试八股文让329人成功进入大厂,堪称2023最强

Java你猿哥

Java 面经 春招 八股文 Java八股文

YOLOv5全面解析教程⑥:模型训练流程详解

OneFlow

人工智能 深度学习

【分布式技术专题】「分布式技术架构」一文带你厘清分布式事务协议及分布式一致性协议的算法原理和核心流程机制(上篇)

洛神灬殇

分布式 2PC 3PC 原理分析 分布式协议

厉害了!刷完这份 532 算法秘笈后,我成功斩获字节、快手offer

做梦都在改BUG

Java 数据结构 面试 算法

从设计角度,深入分析 Spring 循环依赖的解决思路

做梦都在改BUG

Java spring源码 循环依赖

fcpx专业多媒体剪辑软件:Final Cut Pro X中文激活版

真大的脸盆

Mac 视频剪辑 视频处理 视频剪辑处理

号外号外!简单几步就能把Pinterest视频下载到手机里啦!

frank

Pinterest

DAPP/LP单双币(子母币)流动性质押挖矿分红系统开发(开发说明及源码)

系统开发咨询1357O98O718

分享主流的10个流程管理软件

爱吃小舅的鱼

流程管理 流程管理软件

云边端协同时序数据库的挑战与解决方案

CnosDB

时序数据库 开源社区 CnosDB 云边端协同

深度解析首个Layer3 链 Nautilus Chain,有何优势?

股市老人

死磕Spark事件总线——聊聊Spark中事件监听是如何实现的

做梦都在改BUG

Java 大数据 spark 事件监听

DAPP马蹄链智能合约系统开发(开发方案及详细)

系统开发咨询1357O98O718

三天吃透RabbitMQ面试八股文

程序员大彬

Java RabbitMQ 消息队列

CorelDRAW2023最新版本平面矢量绘图排版软件

茶色酒

CorelDraw2023

量化合约系统开发(规则开发)丨量化合约开发(源码说明)

系统开发咨询1357O98O718

深度解析首个Layer3 链 Nautilus Chain,有何优势?

威廉META

PyTorch深度学习实战 | PyTorch环境搭建

TiAmo

PyTorch

Spring Boot:如何配置Undertow容器?不会我教你 | 超级详细

Java你猿哥

spring Spring Boot 后端 ssm java

Kotlin 学习笔记(一)

修之竹

android kotlin

One-YOLOv5 v1.2.0发布:支持分类、检测、实例分割

OneFlow

人工智能 深度学习

深度解析首个Layer3 链 Nautilus Chain,有何优势?

鳄鱼视界

EasyRcovery16免费电脑照片数据恢复软件

茶色酒

EasyRcovery16

dapp/lp代币合约流动性质押挖矿分红系统开发详细及案例(源码部署)

系统开发咨询1357O98O718

DAPP智能合约链游开发源码案例丨DAPP智能合约链游系统开发(逻辑及方案)

系统开发咨询1357O98O718

阿里内网开源:多位大佬联合撰写的Java多线程手册被我拿到了

做梦都在改BUG

Java 多线程

为什么 Go 语言 struct 要使用 tags

AlwaysBeta

Go

Guitar Pro8吉他学习辅助软件

茶色酒

Guitar Pro8

Spinner(列表选项框)的基本使用

芯动大师

android spinner galley

UCloud高级架构师邵晓春:全方位解读一站式短视频架构_架构_陈思_InfoQ精选文章