如何在android中设置VideoEncodingBitRate?

时间:2015-11-18 03:26:43

标签: android

我已设置mMediaRecorder.setVideoSize

我希望通过setVideoEncodingBitRate()获得高,中,低视频质量效果。当我调用函数setVideoEncodingBitRate()时,我应该为高,中,低质量设置什么值?

recorder.setVideoEncodingBitRate(3000000)质量高吗?如何计算值3000000?

我不想使用CamcorderProfile

顺便说一句,我已阅读文件How to set the MediaRecorder to get the best video quality effect?

1 个答案:

答案 0 :(得分:2)

没有个人资料:

recorder.setVideoSize(640, 480);
recorder.setVideoFrameRate(16); //might be auto-determined due to lighting

recorder.setVideoEncodingBitRate(3000000);

recorder.setVideoEncoder(MediaRecorder.VideoEncoder.H264);// MPEG_4_SP

recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);

或者如果您想使用现有的个人资料

CamcorderProfile cpHigh = CamcorderProfile.get(CamcorderProfile.QUALITY_HIGH);
recorder.setProfile(cpHigh);

请注意,您不能同时拥有这两个选项,因为您会收到错误或准备不起作用

由于并非所有Android API和/或设备都支持相同的值,您必须查询每台设备的最大值或查找适用于所有设备的内容。