写点什么

ArchSummit 讲师专访:微酷首席架构师赵志猛

2012 年 6 月 29 日

编者按:由 InfoQ 中文站主办的首届 International ArchSummit 架构师峰会即将召开。我们也对一些专题的讲师进行了采访,谈谈他们要讲的议题。

本次采访的是微酷首席架构师赵志猛,在 ArchSummit 上,他将会做题为“移动互联网上的微视频处理与分发”的主题分享。

InfoQ:请您进行一个简单的自我介绍。

赵志猛赵志猛,IT 单身男,于 2006 年获得北京理工大学自动控制硕士学位,专业导航、制导与控制。
毕业后加入索贝数码,从事了 5 年视音频专业处理软件的算法研究与产品开发,2009 年 4 月独立研发出基于 CPU 特殊指令集优化的视音频基础算法 SDK,被公司纳为核心底层,后以主任工程师的身份成为算法研究小组负责人。
2011 年 5 月加入盛大创新院多媒体主题院,6 月参与新酷 6 在线视频编辑系统项目,与微酷 CTO 杨继珩在一个月内完成了系统的设计、研发、测试及上线部署等所有工作,同年 8 月以联合创始人身份参与微酷的产品设计与研发。

InfoQ:微酷是一款怎样的产品,请用三个标签来介绍,并说明一下为什么用这三个标签。

赵志猛
微视频:微酷的口号是“捕捉精彩 瞬间分享”,目前我们专注于 30 秒以内的 UGC 微视频。
视频社区:微酷致力于打造最大的移动互联网微视频分享社区,融合微视频与 SoLoMo,给用户提供微视频创作、分享与社交的一站式体验。
视频流:微酷将纷杂的 UGC 微视频按话题、地点等进行内容聚合,以视频流的形式呈现,并根据用户订阅过的流、喜欢和观看过哪些流的视频、社交关系等因素给用户推荐相关的视频流。

InfoQ:微酷对于视频的处理有哪些特点?对用户来说有哪些吸引力?

赵志猛

  1. 提供实时的视频拍摄、特效渲染和结果预览,给用户所见即所得的体验,用户可以轻松拍出好玩、酷炫的视频。
  2. 以接近标清的画质,将分辨率 480x360 的 30 秒视频压缩在 2M 以内,比一般 500 万像素的照片还小,大大节省用户的流量,也提高 3G 网络的观看流畅性。
  3. 用户可以根据自己的喜好选择视频中最漂亮的画面作为视频封面。
  4. 按话题、地点等聚合视频,用户可以订阅喜欢的视频流,系统也会根据用户以往的兴趣进行个性推荐。

InfoQ:移动互联网视频的困境有哪些?请简要介绍微酷是如何解决这些问题的?

赵志猛

1. 移动终端的电量限制
2. 移动网络带宽小且不稳定,流量资费高
3. UGC 视频的生产成本高,用户拍摄视频要比拍照花费更多的时间
4. UGC 视频的内容纷杂,用户不易发现好内容
微酷主要从如下几个方面来解决这些问题:
(1)针对这些问题,我们自主研发了跨平台的 IRIS 引擎,首次在 iOS、Android、Web、Server 等多平台上同时实现专业的视音频实时处理框架,将像 Final Cut Pro、会声会影等几百上千元的非线编软件上才能体验到的功能搬到了移动终端,让用户真正意义上免费体验到专业的实时特效(如过渡、画中画等),而不是简单的颜色滤镜。框架的基本流程如下:

针对移动终端的硬件特性,IRIS 采用“CPU 调度 + CPU/GPU 特效渲染 + 硬件编解码”的异构技术;针对 Web 端的桌面特性,IRIS 采用 Flash/HTML5 技术;针对 Server 端的后台特性,IRIS 采用完全的 CPU 实现。 酷 6 的在线视频编辑系统则是基于 IRIS 引擎的 Web 和 Server 两个模块实现的,用户可以在网页浏览器上剪辑视频、添加过渡和特效、混音等,并实时预览结果,得到所见即所得的良好体验。在用户完成编辑后,服务器会根据打包的数据协议完成最终的后台渲染与结果视频分享。 微酷集成了 IRIS 引擎的 iOS、Android、Server 三个模块,并根据移动终端的机型多样化特性定制了不同的技术运行参数,实现了“拍摄 + 特效渲染 + 文件编码”的一键拍摄功能、“剪辑 + 特效预览 + 配乐或混音 + 字幕”的视频编辑功能、特效插件的在线扩展功能等。
(2)通过集成 IRIS 引擎,简化用户拍摄视频的过程,降低内容生产成本,减少终端运算的时间,节省电量。
(3)通过优化编码参数,在保证画质的前提下尽力压缩文件大小,缩短网络传输时间,降低 3G 网络传输失败的风险与带宽需求,既节省了电量,也节省了流量。
(4)通过 Wi-Fi 预加载的功能,帮用户把想要看的视频在 Wi-Fi 环境下提前下载,为用户节省 3G 环境下观看视频的流量。
(5)按话题、地点等聚合视频,以视频流的形式呈现相近的内容,用户可以根据喜好订阅视频流。同时我们会根据用户的订阅、喜欢与观看习惯、社交关系等因素给用户推荐相近的内容,解决用户发现内容的烦恼。

InfoQ:请谈谈对于微视频的理解。

赵志猛:微视频的时长较短,内容主题一般比较单一鲜明,适合用户在碎片化时间里快速消费。在移动互联网中则主要体现在“易创作、易分享、易消费”,强调的是移动性,即随时随地拍摄、分享和观看。在移动的世界里,碎片化时间的需求场景随处可见,如等人、坐公车、坐地铁等,用户没有特定目的要去消费哪种内容,而主题单一鲜明的微视频正好可以填补空白。

微酷主要通过以下几点技术来支撑微视频的产品理念:

(1)集成 IRIS 引擎,提供一键创作分享体验。
(2)优化编码,提高视频上传、分享与观看的速度。
(3)根据用户的观看习惯进行相关推荐,解决用户看什么的烦恼。
(4)增加 CDN 上的 3G 网络节点,提高视频的观看速度。

InfoQ:您从事了 5 年的视频专业处理软件算法研究和产品开发,请给我们分享一个有趣的视频处理与分发的算法。

赵志猛:ChromaKey(色键),功能是把人物或物体从单一背景色(一般为蓝色或绿色)中提取出来,再合成到其它复杂的场景中。原理主要有两点,一是将 RGB 或 YUV 空间的颜色按某种非线性公式投影到 Alpha 透明度空间,使背景色区域完全透明,想提取的前景区域完全不透明,过渡区域渐变透明,二是利用 Alpha 混叠技术将提取的前景合成到最终的场景中。
虚拟演播室主要依托该算法来实现,现代电影的拍摄与后期处理中也大量地采用了这个算法,如大家熟知的变形金刚、阿凡达等,剧中人物的大量戏份是在影棚中拍摄完成的,然后由制作人员利用色键及其它许多后期处理算法制作出最终的华丽影片。
未来 IRIS 引擎会把 ChromaKey 及类似的专业算法移植到移动终端,让普通用户也可以轻松地制作出专业的视频。

InfoQ:请您谈谈微酷技术架构的核心思想是什么?

赵志猛:移动互联网的创业团队要面临许多相似的问题,如需要不断地“试错”,以找到用户的真实需求;如需要分析用户的行为变化,在产品上做出相应的改变;如会经历用户量与数据的跳跃增长过程,后台服务的负载能力需要不断地升级;等等。所有这些,都要求创业团队能快速应变、小步快跑,因此微酷技术架构的基本原则是组件化、松耦合,在协议化的框架中,各组件可以进行快速的迭代与升级。 目前的架构设计大致如下图所示:

其中,几个主要模块的功能大致如下:
IRIS Engine:移动端负责视频拍摄、特效渲染、文件编码,未来将扩展出视频剪辑、混音、字幕等功能;服务器端负责处理影响移动端体验的视频处理任务(如耗电过大、计算过于密集等类型),以及一些为用户节省流量的任务。
Usher:负责视频与图片的分发请求,根据视频与图片的热度来选择是将内容推送到 CDN 上,还是选择自身的云存储进行分发。
Feeder:负责生成常用的页面数据,提高页面响应速度及服务并发性能。
Data Mining:负责挖掘和分析我们想要观测的用户行为数据、服务器的状态等,根据用户的观看习惯实现个性化的内容推荐。


给 InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ )或者腾讯微博( @InfoQ )关注我们,并与我们的编辑和其他读者朋友交流。

2012 年 6 月 29 日 00:002371

评论

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

一个研发团队是如何坚持7年技术分享的?

PingCode

团队管理 敏捷开发 研发管理 技术分享 程序员节

SpringBoot-技术专题-war包部署读取外部配置Yml

李浩宇/Alex

合约交易所系统开发技术搭建

薇電13242772558

区块链

TensorFlow 篇 | TensorFlow 数据输入的最佳实践

Alex

tensorflow keras input pipeline dataset

在2020年更受关注和追捧的JS框架

Geek_Willie

react.js Vue js Svelte

直播预告 | CloudQuery初体验——安装及多数据源连接

CloudQuery社区

数据库 sql 安全 工具软件 dba

架构师训练营 1 期第 6 周作业

木头发芽

SpringBoot-技术专题-war包部署读取外部配置Properties

李浩宇/Alex

试用阿里网盘内测版-不限速、无广告、隐私安全我全都要

郭旭东

阿里云网盘

面试官:什么是字节码?它最大的优势是什么?

田维常

后端开发

面试官:JDK、JRE、JVM 三者什么关系?

田维常

后端开发

永续合约系统开发源码,合约跟单软件搭建app

WX13823153201

数据结构与算法系列之链表操作全集(二)(GO)

书旅

go 数据结构 算法

基于React+Koa实现一个h5编辑器

徐小夕

Java nodejs H5 React koa

接口测试人员需要掌握的知识技能

测试人生路

接口测试

华为云的销售凭什么说“赢”了罗振宇?

ToB行业头条

tob

快速掌握并发编程---深入学习ThreadLocal

田维常

云图说|知道吗?在和你对话的那头,也许是个机器人哦~

华为云开发者社区

华为 AI 机器人

精解四大集合框架:Queue核心知识总结

田维常

后端开发

笔试题:代码如何实现“百钱买百鸡”?

田维常

面试

架构师训练营第 1 期 第 5 周作业

李循律

极客大学架构师训练营

MySQL中事务的持久性实现原理

X先生

MySQL 数据库 sql 数据库事务 事务

精解四大集合框架:List核心知识总结

田维常

后端开发

MySQL数据库开发中的6个“避免”

田维常

MySQL

笔试题:了解穷举算法吗?如何用代码实现

田维常

后端开发

这10道 Spring 常见面试题,你能搞定吗?

田维常

面试

TypeScript魔法堂:函数类型声明其实很复杂

肥仔John

Java typescript

面试时说Redis是单线程的,被喷惨了!

云流

redis 编程 程序员 计算机

专利申请其实并不难?四步教你玩转专利申请!

华为云开发者社区

专利 保护

精解四大集合框架:Set核心知识总结

田维常

程序员 后端

面试官:什么是面向对象?

田维常

后端开发

InfoQ 极客传媒开发者生态共创计划线上发布会

InfoQ 极客传媒开发者生态共创计划线上发布会

ArchSummit讲师专访:微酷首席架构师赵志猛-InfoQ