前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >短视频APP开发,短视频系统开发,所面临的架构问题

短视频APP开发,短视频系统开发,所面临的架构问题

原创
作者头像
布谷鸟小刘
修改2021-02-08 16:09:29
6620
修改2021-02-08 16:09:29
举报
文章被收录于专栏:用户7603185的专栏

随着抖音的爆火,短视频APP走进人们的视野,无论男女老少似乎都能从其中找到乐趣,来作为繁忙工作生活之中的消遣,但短视频APP是如何开发的呢?它又面临哪些架构问题?今天我们就来一起看一下。

短视频所面临的架构问题:

1.短视频APP开发时的数据处理需求

客户端主要是对于视频的效果叠加、人脸识别和各种美颜美化算法的处理。同时客户端处理还会增加一些必要的转码和水印的视频处理。

目前客户端的视频编解码方式,会有软编码和硬编码的方式,软编码主要是兼容性比较好,编码效果好些,不过缺点就是能耗高且慢些。而硬编码借助于显卡等,能够得到比较低的能耗并且更快,不过兼容和效果要差一些,特别是对于一些低配的机型。所以目前往往采用结合的方式。

服务端的处理,主要是进行视频的一些审核转码工作,也有一些抽帧生成截图的工作等,目前使用ffmpeg进行一些处理。服务端本身需要考虑的一些点,就是因为资源消耗比较高,所以需要机器数会多,所以在服务端做的视频处理操作,会尽量控制在一个合理的范围。

短视频APP开发,短视频系统开发,所面临的架构问题
短视频APP开发,短视频系统开发,所面临的架构问题

2.短视频APP开发中音视频不同步的问题

媒体内容在播放时,最令人头痛的就是音视频不同步。从技术上来说,解决音视频同步问题的最佳方案就是时间戳:首先选择一个参考时钟(要求参考时钟上的时间是线性递增的);生成数据流时依据参考时钟上的时间给每个数据块都打上时间戳(一般包括开始时间和结束时间);在播放时,读取数据块上的时间戳,同时参考当前参考时钟上的时间来安排播放。可见,避免音视频不同步现象有两个关键——一是在生成数据流时要打上正确的时间戳。如果数据块上打的时间戳本身就有问题,那么播放时再怎么调整也于事无补。打时间戳时,视频流和音频流都是参考参考时钟的时间,而数据流之间不会发生参考关系;也就是说,视频流和音频流是通过一个中立的第三方(也就是参考时钟)来实现同步的。第二个关键的地方,就是在播放时基于时间戳对数据流的控制,也就是对数据块早到或晚到采取不同的处理方法。

3. 短视频APP开发中的审核问题

短视频APP内容审核的最大的问题,主要是会面临视频时长过长,会带来人力审核成本的提升。比如100万个视频,每个平均是30s的话,那么就3000W 秒。通过技术手段可以做一些工作,比如:

可以在短视频APP中接入一些比较好的第三方的视频识别模块,如果能够过滤掉85%保证没有问题的视频的话,那么工作量会缩减到15%。

通过抽帧的方式,比如只抽取某几帧的方式进行检查。

通过转码的方式,比如一个60s的美拍视频,通过2倍速的方式,无声,140 * 140的分辨率转换,大概大小能够在650kB左右,这样加速了播放的过程的同时,还能够减少审核带宽的消耗,减少了下载过程。

基于大数据分析,分析一些高危地带、用户画像等,然后通过一些黑名单进行一些处理,或者对于某些潜在高危用户进行完整视频的审核,而对于低危用户进行抽帧的方式等等。

以上总结了短视频APP开发会遇到的问题之后,希望大家在做短视频开发搭建时能少走弯路,顺利拥有自己的短视频平台。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
实时音视频
实时音视频(Tencent RTC)基于腾讯21年来在网络与音视频技术上的深度积累,以多人音视频通话和低延时互动直播两大场景化方案,通过腾讯云服务向开发者开放,致力于帮助开发者快速搭建低成本、低延时、高品质的音视频互动解决方案。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档