大家对短视频是否有了解?提到短视频很多人会想到微信小视频、美拍、秒拍,其实他们是短视频的代表。从更加全面的几个角度来讲,短视频应该是从以下几个纬度来说:适合在移动终端上传播,适合用户在碎片化时间去观看和转发,时间在几秒钟到几分钟之间的一种内容形式。
短视频市场在逐年增大,国家政策的不断完善,移动互联网的普及和4G,5G网络的不断优化,为短视频提供了很好的基础条件,消费的需求进一步放大,短视频的创作、观看、消费等环节的门槛都在降低。 相对于其他典型泛娱乐消费领域,短视频行业用户粘性表现不俗,处于高位,占据用户大量的碎片化时间。
市场上看到的很多直播和社交平台,都加入了短视频功能,可以看出短视频已经变成了很多APP的标配。
短视频APP源码重点功能:
1.录制:支持断点录制、回删、点击拍摄、长按拍摄、美颜、实时滤镜、闪光灯、摄像头切换、分辨率设定等功能;
2.导入:支持从相册选择视频、按视频时长和画面进行裁剪;
3.上传:上传本地文件到阿里云视频点播平台。
其中,短视频app开发业务中的“视频录制”以及 “视频编辑”是两个核心功能。
视频录制又包括:视频采集、实时美颜、自定义码率、摄像头切换、变焦、对焦、曝光度调节以及滤镜等功能。视频编辑则包括:视频裁剪、视频拼接、混音、视频动画效果、动态贴图等功能。
我们先来说说视频录制吧,视频录制的大致实现流程是先由Camera、AudioRecord进行最原始的相机画面以及声音的采集,然后将采集的数据进行滤镜、降噪等前处理,处理完成后由MediaCodec进行硬件编码,最后采用MediaMuxer生成最终的MP4文件。
虽然这几年智能手机的性能大大增强,很多旗舰手机基本都是8核的CPU了,但要操作如此大量的图片数据并进行浮点运算对CPU的消耗还是很大的。CPU暂用率高就会引起手机发烫,手机发烫就会导致Camera采集掉帧,还会引起CPU降频,CPU一旦降频那APP所暂用的CPU比例就更高了,进而引发手机电量消耗过快。
而对于视频编辑功能,目前Android端没有很好的系统API即硬件处理方式,主要还是利用ffmpeg进行相应的叠加、裁剪混音等后期处理。可以优化的一个点是,先将原始的MP4视频进行解码,然后将解码后的YUV数据映射到GPU的纹理上进行亮度、饱和度等参数的调节,然后将调好的参数配置为ffmpeg进行编辑处理。