QCon北京「鸿蒙专场」火热来袭!即刻报名,与创新同行~ 了解详情
写点什么

开发仅用两天三个人,谈谈小咖秀背后的技术故事

  • 2015-10-18
  • 本文字数:2056 字

    阅读完需:约 7 分钟

小咖秀是一款非常火爆的移动视频拍摄应用,据爱范儿消息,它三个月的下载量就超过了1500 万。其CEO 官韩坤表示,小咖秀只有两个后端工程师和一个运维人员,开发周期仅有两天,看来在这之前团队已经有了足够的技术积累。记得前不久,另外一个爆红的移动应用足记在突然来了100 万用户之后就遇到了技术上的问题,这也是很多移动应用的短板。那小咖秀是如何做技术积累的?一个小团队是如何玩转如此大用户量的应用的?InfoQ 记者采访了小咖秀的CTO 汤力嘉。

InfoQ:能介绍下你们团队和产品目前的情况吗?

汤力嘉:炫一下科技成立于 2011 年,目前公司 150 人,一半是技术产品。公司旗下三款产品:秒拍、小咖秀、Vitamio 多媒体框架。秒拍是微博官方的短视频拍摄应用,是最大的短视频分享平台;小咖秀是时下最火的对嘴型拍摄应用,刚推出即占据 Apple Store 总榜第一半月之久;Vitamio 是多媒体一揽子解决方案,包括视频拍摄、美化、转码、播放等一系列 SDK,全球有 2 万款应用在使用,覆盖用户超过 5 亿。

InfoQ: 小咖秀和秒拍都是视频类的应用,针对这类的应用,你们的架构是怎么样的?

汤力嘉:上传流程:应用端通过拍摄或导入等方式生成视频,经过特效加工美化,生成 MP4 文件。通过全局调度系统,确定就近的上传点。应用进行视频上传后,服务器会进行截图等操作。最后视频经过审核后,完成整个上传流程。

播放流程:用户打开应用或 HTML 5 页面上进行视频播放。根据不同的操作系统,选择合适的视频格式。通过全局调度系统,选择就近的质量最好的播放 CDN 进行播放。

InfoQ: 小咖秀和秒拍这样的应用最大的挑战是什么?为了应对这些挑战,你们做了怎么样的调整?

汤力嘉:在视频量爆发之后,我们凸显的问题是:如何快速甄选出优质视频,对优质内容进行最大可能的传播。因此我们加入很多触发规则以及监控体系,随时发现热点视频并快速消费。从产品层面上,我们也配合这些内容推出 24 小时热榜栏目,得到很多用户的喜爱。同时由于用户群体的多样化,不同用户消费和渴望看到的内容有很大的差别,为此我们也组建了数据挖掘团队,通过大数据分析,给不同用户推荐不一样的内容,完全根据用户的行为作推荐,通过个性化推荐后,视频播放量上升 30% 以上,这也是我们接下来持续优化的方向。

由于视频数量越来越多,内容的审核压力也越来越大,除了人工审核以外,我们也使用了多方面的技术和手段,进行一些半自动化的审核加速,例如对违规视频的分析和预审,能把高危视频优先审核;另外根据用户行为筛选高风险视频,以及应用机器学习进行反垃圾评论过滤。

InfoQ:足记在爆红之后,服务器曾一度垮掉,小咖秀有遇到这样的访问压力吗?

汤力嘉:视频分享讲究的是即时性,尤其在微博等社交平台上分享尤为突出,视频在刚分享时,就已是最热的时候。例如一个明星大 V 的视频分享到微博上,瞬间就会吸引他的粉丝打开观看,这时往往很考验系统对突发的海量请求做出及时响应。因此在系统的设计之初,我们就一直按着大流量突发请求的方式去做。

系统的设计都是可以随时横向扩展的,所有逻辑请求都会考虑两级的缓存进行分流,确保数据库的轻负载。逻辑服务上,我们使用可弹性伸缩的云平台,以应对突发的流量。视频服务上,我们接入了多家 CDN 厂商进行服务,并且有实时追踪系统,能对出现故障的节点进行快速的屏蔽,同时对应每一个请求,都会选择出最优的节点进行服务(包括性价比、速度和可用性)。

InfoQ:手机端录制的视频会比较大,特别是一些像素高的手机,小咖秀客户端有没有对视频进行压缩处理,请问使用到了哪些技术。服务器端存储的时候是如何进行优化的?

汤力嘉:我们有强大的视频处理团队,多年来一直进行视频处理优化和应用,手机端的拍摄模块,我们使用了 Vitamio 拍摄 SDK(VCamera SDK)进行视频的拍摄和生成,视频大小会压缩到合适网络分享的程度,视频生成后,服务器端没有对视频进行二次处理,这样也加快了视频的准备过程,为视频快速传播祭奠基础。

在服务器端存储上,主要是需要考虑安全性,其次考虑视频存储的性能,尤其是视频读取的性能,便于视频的快速加载播放,所以目前的方案是在全国三地架设存储区,每一个视频都会同步三份,以确保视频的安全,同时便于就近快速访问。

InfoQ:视频特效这块,谈谈你们的解决方案?

汤力嘉:随着手机性能越来越好,手机对视频的处理逻辑已经越来越复杂了,我们的架构是把视频处理过程分成 source、filter、render 三个部分,source 是各种输入源,可以是文件,可以是摄像头,可以是网络流等,用于源视频输入到处理框架上;filter 是各种各样的不同特效,因此可以很方便的做扩展;render 是处理完的视频如何输出,可以是输出成文件,可以输出到屏幕上等等。这三部分组件可以通过脚本的方式,更换不一样的处理逻辑,实现不同的特效。

InfoQ:视频与音频的拼接,特效的处理,你们的解决方案是怎么样的?

汤力嘉:在视频的基本编辑处理方面,iOS 系统有对应的 API,可以直接使用,对于 Android 来说,我们使用 FFmpeg 框架进行基础视频编辑处理。特效的处理,我们主要使用 OpenGL 进行各种效果的叠加。

2015-10-18 02:0312413
用户头像

发布了 219 篇内容, 共 142.8 次阅读, 收获喜欢 194 次。

关注

评论

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

LeetCode题解:2357. 使数组中所有元素都等于零,排序,详细注释

Lee Chen

镜舟科技荣获中国信通院 2024 OSCAR 尖峰开源商业化案例奖

镜舟科技

开源 分析型数据库 StarRocks

鸿蒙新世界亮点聚焦:华为阅读APP升级精品书探索阅读新潮流

最新动态

第一届中国研究生操作系统开源创新大赛总决赛在长沙圆满落幕

最新动态

如何衡量研发效能度量的价值?

思码逸研发效能

DevOps 研发效能 效能度量 研发效能度量 思码逸

LeetCode题解:1238. 循环码排列,归纳法,详细注释

Lee Chen

「Mac畅玩鸿蒙与硬件2」鸿蒙开发环境配置2 - 在 Mac 上安装 DevEco Studio

SoraLuna

鸿蒙 硬件

PIRF 413:Recipe – What are we making?

Echo!!!

English

Redis对象共享池,性能优化小细节

江南一点雨

如何检查Mac上是否启用了SIP系统完整性保护

Rose

在鸿蒙,轻松敲出热爱

最新动态

2363. 合并相似的物品,双指针,详细注释

Lee Chen

LeetCode题解:2373. 矩阵中的局部最大值,遍历,详细注释

Lee Chen

50万奖金池!开放原子大赛——第二届OpenHarmony创新应用挑战赛正式启动

OpenHarmony开发者

OpenHarmony

YAML文件格式校验:免费API使用技巧

幂简集成

API yaml

鸿蒙新世界迎华为阅读重大升级:让电子书也能读出纸书沉浸感

最新动态

合合信息:生成式Al时代的内容安全与系统构建加速,开启智能文档的全新潜能

阿Q说代码

内容安全 智能文档

听听蜻蜓FM鸿蒙开发者的调频“新”声

最新动态

大模型RAG:基于大模型的机器人技术方案

程序员架构进阶

大模型 智能机器人 架构- 10月月更

Apache Calcite SQL Parser 原理剖析

端小强

Calcite

photoshop弹出Time to update 提示框,如何关闭

Rose

Zabbix 数据对接观测云最佳实践

观测云

zabbix

LeetCode题解:89.格雷编码,归纳法,详细注释

Lee Chen

LeetCode题解:2357. 使数组中所有元素都等于零,哈希表,详细注释

Lee Chen

「Mac畅玩鸿蒙与硬件1」鸿蒙开发环境配置1 - 认识鸿蒙系统与开发工具

SoraLuna

鸿蒙 硬件

英特尔CEO帕特·基辛格:共筑x86核心架构,推动AI PC创新

E科讯

开发仅用两天三个人,谈谈小咖秀背后的技术故事_移动_小盖_InfoQ精选文章