4

MediaRecorder を使用してビデオを録画しています。ビデオのサイズが一定のままであると仮定すると、画像の品質を変更するためにどのパラメーターを使用する必要があるかは明確ではありません。たとえば、常に 640x480 の mp4 ビデオを作成したいと考えています。品質を上げたり下げたりするために調整できるパラメーターは何ですか?

4

3 に答える 3

6

使用してみることができます

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

高品質と低品質のパラメータの設定については、こちらを参照してください

于 2013-01-29T10:48:25.000 に答える
0

これを試してみてくださいuは問題を解決することができます

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);
于 2013-01-29T10:56:49.930 に答える
0

setVideoEncodingBitRate()を使用してビデオの品質を上げるには、ビデオのエンコード ビット レートを上げる必要がありMediaRecorderます。

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

mRecorder.setVideoEncodingBitRate(4000000); `

于 2014-12-22T12:08:10.107 に答える