写点什么

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

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

关注

评论

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

最火前端Web组态软件(可视化)

尔嵘

大前端 可视化数据分析搭建 web组态 托拉拽组态

AI技术在小程序生态质量保障方向的落地实践

百度Geek说

小程序 AI

程序开发必备的六个信条

这就是编程

程序开发

五年磨一剑,海外运营商数字化转型与新一代OSS

鲸品堂

方法论 数字化转型 运营商

力扣(LeetCode)刷题,简单题(第12期)

不脱发的程序猿

面试 LeetCode 28天写作 算法面经 3月日更

vue+element中引入百度地图

尔嵘

Vue Element 百度地图

互联网大厂100道Android面试题助你冲关金三银四!附小技巧

欢喜学安卓

android 程序员 面试 移动开发

剖析Android开发未来的出路在哪里,终局之战

欢喜学安卓

android 程序员 面试 移动开发

单片机如何从上电复位执行到main函数?

不脱发的程序猿

28天写作 嵌入式软件 单片机 3月日更 上电复位执行到main函数

layui使用templet格式化表格数据

nginx配置日志为json格式,nginx按照天实现日志分割,nginx配置负载均衡

Ng

封装变化的内容

这就是编程

程序开发

使用VUE和Element 创建一个dialog对话框组件的详细过程

尔嵘

Java岗位阿里+字节+滴滴+美团+腾讯+百度+京东12万字面试题总结

Java架构追梦

Java 阿里巴巴 架构 腾讯 面试

第 9 周作业 _ 数据分析

园子

nginx做代理访问慢,优化方案

Ng

APK反编译

行者AI

编译

通过序列号Sequence零代码实现订单流水号

crudapi

低代码 流水号 crud crudapi 序列号

图解 | 原来这就是 IO 多路复用

Java 程序员 架构 面试

关于 JavaScript 闭包

程序员海军

JavaScript 大前端 闭包

音频互动连麦使用手册

anyRTC开发者

ios android 音视频 WebRTC RTC

大侠请留步!欢迎有极客精神的你

Lily

Android内存泄漏检测之LeakCanary2.0(Kotlin版)的实现原理

vivo互联网技术

android kotlin 内存泄漏

聊聊Java的异常机制问题

华为云开发者联盟

Java 对象 异常机制 Throwable Error

从优秀到卓越:成为DevOps专家的7项软技能

禅道项目管理

DevOps 趋势 软技能

中国云基础设施支出创新高,增速全球第一;国内首个区块链特色司法鉴定机构在京成立

京东科技开发者

区块链 人工智能 开发者

产品经理训练营 - 作业六

胡小湖

Hello World !!!

潮湿了我押韵的心情

AI量化智能交易软件,量化策略系统搭建

颠覆认知——Redis会遇到的15个「坑」,你踩过几个?

Kaito

redis 踩坑 后端

Kubernetes弃用Docker运行时,小甜甜变牛夫人影响了谁?

敏捷调度TASKCTL

Docker 云计算 架构 容器 #Kubernetes#

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