短视频app开发——Android端实用短视频录制方案

继抖音、快手、微视等一众短视频豪强并起以来,2018年的短视频市场可谓一片火热,而国内很多短视频平台运营商也开始纷纷布局海外短视频市场。面对眼前的场景,短视频app开发也逐渐引发了创投者的兴趣,生怕自己错过眼下的短视频红海。

今天就为大家简单介绍下短视频app开发中关于Android端比较实用的短视频录制方案,希望能对大家有所帮助。

众所周知,短视频app开发业务中“视频录制”以及 “视频编辑”是两个核心功能。

其中视频录制又包括:视频采集、实时美颜、自定义码率、摄像头切换、变焦、对焦、曝光度调节以及滤镜等功能。视频编辑则包括:视频裁剪、视频拼接、混音、视频动画效果、动态贴图等功能。

我们先来说说视频录制吧,视频录制的大致实现流程是先由Camera、AudioRecord进行最原始的相机画面以及声音的采集,然后将采集的数据进行滤镜、降噪等前处理,处理完成后由MediaCodec进行硬件编码,最后采用MediaMuxer生成最终的MP4文件。

虽然这几年智能手机的性能大大增强,很多旗舰手机基本都是8核的CPU了,但要操作如此大量的图片数据并进行浮点运算对CPU的消耗还是很大的。CPU暂用率高就会引起手机发烫,手机发烫就会导致Camera采集掉帧,还会引起CPU降频,CPU一旦降频那APP所暂用的CPU比例就更高了,进而引发手机电量消耗过快。

而对于视频编辑功能,目前Android端没有很好的系统API即硬件处理方式,主要还是利用ffmpeg进行相应的叠加、裁剪混音等后期处理。可以优化的一个点是,先将原始的MP4视频进行解码,然后将解码后的YUV数据映射到GPU的纹理上进行亮度、饱和度等参数的调节,然后将调好的参数配置为ffmpeg进行编辑处理。

这个方案的优势是全程采用了GPU以及硬件编码,基本上不涉及CPU上的操作,所以在可实现在高帧率(30fps)、高分辨率(720P)以及高码率的情况下CPU暂用率也非常低,即使在性能较差的手机上也能很好的运行。在音视频开发中,通常情况下对音视频的处理,主要是对视频的YUV、H264音频的PCM、AAC这类数据格式进行操作,这类操作都有相关成熟的RFC技术,实现起来比较容易,通常情况下在PC等设备上也可以这么处理。

短视频app开发

以上的方案是目前Android端比较适用的短视频录制方面的解决方案。然而短视频app开发毕竟是一项“大工程”,所以如果想要使开发的短视频系统达到运营级效果,除了要有过硬的音视频开发技术实力,还需要用到许许多多的三方SDK服务,建议大家有条件的话还是寻找专业的开发团队来做。

原文链接:https://www.jianshu.com/p/21a7d80536d2

编辑于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏WeTest质量开放平台团队的专栏

《魂斗罗:归来》卖“情怀”?不!质量体系来撑腰

海量玩家也意味着海量挑战,适配兼容就是其中一个难题。《魂斗罗:归来》从项目初期研发测试期间,就开始非常关注适配兼容的问题,尽量每个外发迭代版本都交付可测版本给到...

17200
来自专栏web前端教室

【思路】学习前端的思路问题

大家好,今天是周五,祝大家周末快乐,今天我们聊一下《学习前端的思路问题》。为什么要聊这个呢,因为群里的小伙伴经常会问我,前端怎么学,学了很久没方向啊,学什么东西...

12610
来自专栏腾讯高校合作

CSDN专访腾讯蒋杰:深度揭秘腾讯大数据平台

image.png 大数据,这个词越来越热,很多人都在谈大数据,其实很多张口闭口大数据的人,或许都不知道数据是如何产生、传递、存储、运算到应用的。其实我一直...

51760
来自专栏知晓程序

微信可以创建付费群了!赶紧用这款小程序做一个吧 | MINA 奖

毕竟,建个微信群太方便了,一群原本互不相识的人,十几秒钟时间,就能拉起一个交流群。

15010
来自专栏web前端教室

7月9号晚10点的微课总结(文字版)

大家好,今天是周五,祝大家周末快乐,今天我们用大概一个小时的时间聊一下《学习前端的思路问题》。为什么要聊这个呢,因为群里的小伙伴经常会问我,前端怎么学,学了很久...

22880
来自专栏企鹅号快讯

人工智能&大数据:加速GPU在数据中心领域的应用

随着数据需求工作负载渗透到数据中心并覆盖传统的CPU性能,GPU各供应商已经为数据中心补充了全新的设备和显示卡。 最近大数据、人工智能以及机器学习的潮流正在企业...

38660
来自专栏Debian社区

运维的未来:云服务兴起,运维人员会“下岗”吗?

本文作者 Tyler Treat 是一名软件工程师,他认为运维的未来从很多方面来说都跟质量保证(QA)的未来走向相似。未来,运维要使开发者能够通过工具、自动化和...

20740
来自专栏互联网杂技

前端工程师是怎样一种职业

前端工程师已经是大家不再陌生的一个软件行业的工种了,尽管这一工种诞生也没几年。作为一名从业三年的前端工程师,我尝试结合业界标准与我的理解,来尽可能诠释一下前端工...

40260
来自专栏互联网杂技

用户体验设计中最常见的误解

UX Myths网站收集了很多关于用户体验设计中最常见的误解和解释了为什么他们不适用。现在将这些经验研究整理出来,为各位设计从业者做参考,避免依赖个人的主观经验...

34460
来自专栏Crossin的编程教室

我用Python做过些什么?

上周我整理了一篇 学了 Python 能用来做什么?,介绍了下 Python 当下的一些应用场景,给打算学习或刚学习此语言的同学一个参考。当然也有人说这个内容太...

61660

扫码关注云+社区

领取腾讯云代金券