写点什么

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

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

关注

评论

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

Python OpenCV 彩色图像与灰度图像的转换

梦想橡皮擦

3月日更

2021年Android面试心得,大厂面经合集

欢喜学安卓

android 程序员 面试 移动开发

10种下载YouTube视频的方法-包含网站软件插件app等

Space空间

软件 网站 下载youtube视频

2021最新分享支付宝/美团/拼多多面经总结

比伯

Java 编程 架构 面试 程序人生

Apache Doris(incubating) 0.12.0版本正式发布

ApacheDoris

[C++总结记录]函数相关细节注意点

图解AI

c++

golang设置时区的多种方式

happlyfox

学习 3月日更 Go 语言

NA公链(Nirvana)解决的六大问题在众多公链中脱颖而出NAC公链

区块链第一资讯

EGG Network构建千万级应用的聚合型永动金融公链 EFTalk

币圈那点事

遇见Doris:Apache Doris (incubating)0.10.0开发者沙龙

ApacheDoris

【遇见Doris】Apache Doris在一点资讯自媒体平台的应用

ApacheDoris

【遇见Doris】

MapReduce中shuffle阶段的数据压缩机制

大数据技术指南

大数据 hadoop 3月日更

K8s 原生 Serverless 实践:ASK 与 Knative

Serverless Devs

阿里云 Serverless Kubernetes 云原生

【遇见Doris】Apache Doris Parquet文件读取的设计与实现

ApacheDoris

【遇见Doris】

20天内看完这套GitHub标星18k+的Android资料,含泪整理面经

欢喜学安卓

android 程序员 面试 移动开发

2021出海社交必看:产品、技术、运营指南

拍乐云Pano

音视频 RTC 社交APP出海 出海社交 社交泛娱乐

简单快速搭建,全新语聊方案

anyRTC开发者

ios android 音视频 WebRTC RTC

【遇见Doris】4.13线下开发者沙龙分享--Doris主创团队

ApacheDoris

【遇见Doris】4.13线下开发者沙龙分享--微博团队

ApacheDoris

【遇见Doris】

别再说你不懂规则引起啦

比伯

Java 编程 程序员 架构 计算机

音视频开发——通信直播协议和视频推流丨RTMP-RTSP

Linux服务器开发

音视频 WebRTC ffmpeg 直播推流 SRS流媒体服务器

[C++总结记录]构造函数与析构函数注意点

图解AI

Spark性能调优-Shuffle调优及故障排除篇

五分钟学大数据

大数据 spark 3月日更

开抢| 华为开发者大会2021(Cloud)早鸟票来了!

华为云开发者联盟

华为 开发者

RUOYI 框架教程 0 | 我和RuoYi框架

Java_若依框架教程

Java 技术 Ruoyi 框架 若依

打通混合云网络孤岛,EBN助力企业灵活构建云骨干网

UCloud技术

多云架构 混合云

【遇见Doris】4.13线下开发者沙龙分享--搜狐团队

ApacheDoris

【遇见Doris】

Doris简史 - 为分析而生的11年

ApacheDoris

【遇见Doris】Apache Doris 在京东广告平台的应用

ApacheDoris

【遇见Doris】

RUOYI框架教程1 |小白都能学会的3分钟搭建框架教程

Java_若依框架教程

Java 技术 Ruoyi 框架 若依

[C++总结记录]struct与class注意点

图解AI

c++

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