一、WHY
Android SDK提供了MediaRecorder帮助开发者进行视频的录制,不过这个类很鸡肋,实际项目中应该很少用到它,最大的原因我觉得莫过于其输出的视频分辨率太有限了,满足不了项目的需求。
二、HOW
所以实际项目如果需要实现视频录制这个需求,一般只有两条路可以走:
- 找第三方视频录制SDK
- 自己实现
如果你的产品经理选择了第一条路,那么恭喜你,你会少接触到很多坑。说到这里,目前能用的第三方视频录制SDK我知道的就下面两家:
- 趣拍,视频录制功能是免费使用的,SDK包也不太大。
- Vitamio,SDK企业需付费使用。
采用第三方SDK的最大缺点应该就是UI上没办法自由的控制。不过如果你的产品经理不想走第一条路,你还是应该好好劝劝它,第二条路成本是较高的。
这篇博文主要是讲第二条路的。
三、START
先说下要实现的功能:
- 实现短视频的录制
- 视频的分辨率支持自定义
- 支持触摸对焦和测光
- 非功能性需求包括控制视频文件的大小,以及视频帧率至少大于24FPS等
其实视频录制的大步骤并不复杂:图像采集 + 编码。非常不建议这两个过程都自己去实现。
本片文章采用Camera + FFmpeg来实现上述需求,其中Camera用来采集视频数据,FFmpeg用来编码视频数据。
好了,真的开始了。
Android视频录制从不入门到入门系列教程(二)————显示视频图像
Android视频录制从不入门到入门系列教程(三)————视频方向
Android视频录制从不入门到入门系列教程(四)————Camera Parameter
未完待续。