写点什么

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

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

关注

评论

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

听GPT 讲Rust源代码--compiler(42)

fliter

京东商品详情数据接口python

tbapi

京东 京东商品详情数据接口 京东API接口

Part 3:为什么 NetOps 是通往 AIOps 的桥梁

Geek_d82186

Part 5:NetOps团队的 SecOps和网络安全基础知识

Geek_d82186

互联网这座围城

老张

35岁危机 行业风口

听GPT 讲Rust源代码--compiler(41)

fliter

# OpenIM (Open-Source Instant Messaging) Mac Deployment Guide

Geek_1ef48b

Part 2:NetOps与传统网络运营的区别

Geek_d82186

某SAAS云平台系统单点登录案例基本要求分析

极客罗杰

Tonka Finance 测试网活动,开启新铭文时代财富之门

股市老人

听GPT 讲Rust源代码--compiler(45)

fliter

[杂谈]IDE-idea-可执行JAR项目创建

alexgaoyh

Java IDEA 打包 可执行JAR

听GPT 讲Rust源代码--compiler(46)

fliter

Part 1:什么是网络运营?你需要知道的一切

Geek_d82186

如何高效地利用淘宝API接口获取商品数据

Noah

听GPT 讲Rust源代码--compiler(44)

fliter

听GPT 讲Rust源代码--compiler(43)

fliter

听GPT 讲Rust源代码--compiler(47)

fliter

听GPT 讲Rust源代码--compiler(48)

fliter

Part 4:NetOps 策略如何影响企业网络团队?

Geek_d82186

面向对象的思考

蔡农曰

架构 开发 软件设计 #程序员

基于OpenIM 实现聊天机器人功能

Geek_1ef48b

再要扯皮,就上Xstate

赫杰辉

后端 低代码 状态机 java 架构

INFINI Labs 产品更新 | 统一版本号 1.22.0

极限实验室

Gateway 极限科技 产品更新发布 版本号修复

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