@lichangadd
2015-08-07T12:28:24.000000Z
字数 1262
阅读 21164
Android
视频录制
蝌蚪音客
FFmpeg
现在市面上视频App有很多,例如:蝌蚪音客、美拍、小影还有最近火起来的小咖秀。这类App的技术难点基本都是在音视频处理这一块,iOS对多媒体处理的支持还算比较丰富,但是Android就会差很多。这里总结蝌蚪音客在多媒体处理上遇到的问题,供大家参考下。
录制方视频
现在市面上的视频应用的视频尺基本全部都是1:1的,这对于Android开发者来说就是一个比较棘手的问题,Android原生Recorder类并不支持视频比例的设置。所以只能想其他办法,目前常用的办法大致可以分为2种:
a. 摒弃原生接口,使用FFmpeg或OpenCV等方式进行录制
这类方法的缺点在于对开发者技术要求较高,FFmpeg和OpenCV移植麻烦,多机型兼容复杂并且要求开发者一定程度的C语言功底,但是最难解决的问题是性能问题,FFmeg和OpenCV都是开源方案,如果要真正达实用级别往往还需要优化定制,这对于熟练于做Android展现的开发者来说完全就是一个新的领域。蝌蚪音客就尝试过这种方案,结果视频的码率只能做到15fps左右,这明显是不够的。
b. 使用原生API录制
在录制界面使遮罩的方式给用户一种1:1的错觉。在预览视频时,使用FFmpeg进行视频裁剪。如果团队没有驾驭FFmpeg的能力,我个人建议使用这种方式。对于视频录制功能来说相对简单,而且裁剪命令优化后基本可以可以做到视频预览一遍也就基本裁剪完毕。
本地视频压缩
本地视频压缩除了FFmpeg之外目前还没有了解到有其他方案,而且如果使用上面说到的b方案进行视频录制的话,本身就已经引入了FFmpeg。那就不用白不用了,但是压缩命令的优化可是一门学问,使用x264还是mpeg4,码率,分辨率,帧频,文件大小等都会影响到压缩速度而且差别相当大。
另外,7月中旬阿里百川开了发布会,宣布将和趣拍合作推出多媒体SDK,在和趣拍的沟通中,感觉趣拍团队的技术支持和响应速度还是很不错的,不过现在推出的SDK扩展性还有待提高,不过趣拍团队也一直在做迭代。个人还是比较看好的。