写点什么

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:002581
用户头像
陈思 InfoQ编辑

发布了 584 篇内容, 共 309.3 次阅读, 收获喜欢 1306 次。

关注

评论

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

第九周作业

dll

SpringCloud 从入门到精通 09--- 支付服务集群

Felix

week8-homework

J

量化交易机器人系统开发|市值管理系统开发搭建

W13902449729

量化交易机器人系统开发 市值管理系统开发搭建

【设计模式】断路器模式

soolaugust

设计模式 28天写作

静态代理,jdk动态代理以及Cglib区别

Java架构师迁哥

Lock锁 精讲

伯阳

Java 多线程 lock lock锁

阿里开发7年大牛:闭关60天学懂NDK+Flutter,大厂面试题汇总

欢喜学安卓

android 程序员 面试 移动开发

安卓开发详解!Flutter全方位深入探索,吊打面试官系列!

欢喜学安卓

android 程序员 面试 移动开发

连续三年蝉联第一,Flink 荣膺全球最活跃的 Apache 开源项目

Apache Flink

Apache flink

量化自动交易系统开发,量化炒币

薇電13242772558

数字货币 策略模式

testing

波场链智能合约软件开发|波场链智能合约APP系统开发

系统开发

LeetCode题解:236. 二叉树的最近公共祖先,存储父节点,JavaScript,详细注释

Lee Chen

算法 大前端 LeetCode

Java 程序经验小结:避免使用float和double表示精确数据

后台技术汇

28天写作

SD-WAN:网络走向业务

JiangX

创业 投资 网络 28天写作 SD-WAN

sync.singleflight 到底怎么用才对?

cyningsun

并发 Concurrency singleflight Cache Miss Go 语言

Dubbo 版 Swagger 来啦!Dubbo-Api-Docs 发布

阿里巴巴云原生

Java 云原生 dubbo 大前端 中间件

真是太刺激了!美团CTO五轮面试,Java岗高级工程师一二三四五面面经(已拿到offer)

Java架构之路

Java 程序员 架构 面试 编程语言

面向对象之魔术方法· 第1篇《__init__方法,__new__方法》

清菡软件测试

测试

市值管理机器人系统开发|量化策略交易系统开发搭建

W13902449729

市值管理机器人系统开发 量化策略交易系统开发搭建

《价值》- 投资分析(4)

石云升

零售 28天写作 价值 投资分析

求职阿里Java 技术岗位的经历,三轮技术面+HR面,面试也不过如此

Java架构之路

Java 程序员 架构 面试 编程语言

毕业三年,从小公司到大厂,先后四面阿里、小米、美团等,终于收到offer!

Java架构之路

Java 程序员 架构 面试 编程语言

脱不花:怎样成为高效学习的人 学习笔记

魔曦

创业失败启示录|校园微生活(故事篇 2)

阿萌

创业 28天写作 创业失败启示录 青城 人生故事

潘建伟团队再登Nature:建成全球首个集成量子通信网,全长4600公里

京东科技开发者

云计算

WireMock 使用

hungxy

测试 WireMock

Alluxio Day 2021 线上直播

腾讯云大数据

大数据

程序员的五年:双非学历,两年进入苏宁,五年跳槽到阿里,建议收藏!

996小迁

Java 架构 面试 JVM Spring全家桶

案例研究之聊聊 QLExpress 源码 (四)

小诚信驿站

刘晓成 小诚信驿站 28天写作 QLExpress源码 聊聊源码

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