android视频录制原api接口:
recorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);
recorder.setVideoSize(sz.width, sz.height);
recorder.setAudioEncoder(MediaRecorder.AudioEncoder.DEFAULT);
recorder.setVideoEncoder(MediaRecorder.VideoEncoder.H264);
recorder.setVideoFrameRate(20);
android视频录制新api接口:
<span style="white-space:pre"> </span>recorder.setProfile(CamcorderProfile.get(CamcorderProfile.QUALITY_HIGH));
原api接口各种参数可设置,但某些手机不再支持,比如小米3,使用原api后视频效果差的不可忍受,修改参数未生效,但华为3x用原api修改了编码和采样率后720p的视频可以从1.8MBps变为0.18MBps,视频清晰度有受影响但可接受,具体请自行测试感受
新api接口可设置的参数包括高质量和低质量、1080p、720p、480p,高质量时执行手机支持的最高分辨率,比如1080p,自己调用mediarecorder接口录制视频时,视频占用空间的大小随分辨率递增,总结为1080p为3MBps,720p为1.8MBps,480p为0.2MBps.但问题是依然有手机不支持比如华为平板和我自己的手机,录制后视频不能播放
调用手机提供的录制功能时,手机会做优化,比如小米自带的视频录制720p时为1MBps,比自行录制时小了近一半。
测试数据图表: