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

2018-11-26 10:13:24 浏览数 (1)

继抖音、快手、微视等一众短视频豪强并起以来,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开发短视频app开发

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

0 人点赞