В зависимости от уровня API вы можете использовать существующие профили или нет.
без профилей:
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 и / или устройства поддерживают одинаковые значения, вам придется либо запросить максимальные значения для каждого устройства, либо найти что-то, что работает везде.