Android:修改录制的视频质量

时间:2013-01-29 10:41:56

标签: android video

我正在使用MediaRecorder录制视频。假设视频大小保持不变,我不清楚应该使用哪些参数来改变图像的质量。例如,我想创建一个640x480 mp4的视频。我可以调整哪些参数来提高或降低质量?

3 个答案:

答案 0 :(得分:5)

您可以尝试使用

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);

有关设置高质量和低质量参数的信息,请参阅here

答案 1 :(得分:0)

尝试这个你可以解决问题

mediaRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
mediaRecorder.setVideoSource(MediaRecorder.VideoSource.DEFAULT); 
mediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);
mediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AAC);
mediaRecorder.setVideoEncoder(MediaRecorder.VideoEncoder.H264);

String path = Environment.getExternalStorageDirectory() + "/file.mp4";
mediaRecorder.setOutputFile(path);

答案 2 :(得分:0)

您必须使用setVideoEncodingBitRate()中的MediaRecorder来提高视频编码比特率,以提高视频质量。

mRecorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);
mRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
mRecorder.setVideoEncoder(MediaRecorder.VideoEncoder.H264);

<强> mRecorder.setVideoEncodingBitRate(4000000); `