2017-01-10 38 views
0

私はMP4フォーマットを記録するためのこのオプションを持っており、MPEG_4を出力フォーマットとして使用し、MPEG_4_SPをビデオエンコードとして使用しました。現在作業中ですが、エンコードを改善できるかどうかを知りたいと思います。AndroidにMP4形式のビデオを録画するための推奨設定はありますか?

私はお勧めのセットアップのための相対的なリソースを見つけることができないよう:

mVideoRecorder = new MediaRecorder(); 
mVideoRecorder.setCamera(mCamera); 
mVideoRecorder.setVideoSource(MediaRecorder.VideoSource.CAMERA); 
mVideoRecorder.setAudioSource(MediaRecorder.AudioSource.MIC); 
mVideoRecorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4); 
mVideoRecorder.setVideoSize(720, 480); 

//anything higher than frame rate 20 results to black screen 
mVideoRecorder.setVideoFrameRate(20); 
mVideoRecorder.setVideoEncodingBitRate(3000000); 
mVideoRecorder.setVideoEncoder(MediaRecorder.VideoEncoder.MPEG_4_SP); 
mVideoRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_WB); 

// sampling rate for AMR_WB 
mVideoRecorder.setAudioSamplingRate(16000); 

// allowed recording duration is 30 secs only... around 6mb file 
mVideoRecorder.setMaxDuration(30000); 

答えて

0

最後に、試行錯誤の束の後、これはAndroidとするときiphoneに転送のために働いていたものです。

 mVideoRecorder = new MediaRecorder(); 
     mVideoRecorder.setCamera(mCamera); 
     mVideoRecorder.setVideoSource(MediaRecorder.VideoSource.CAMERA); 
     mVideoRecorder.setAudioSource(MediaRecorder.AudioSource.MIC); 
     mVideoRecorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4); 
     mVideoRecorder.setVideoSize(720, 480); 
     mVideoRecorder.setVideoEncodingBitRate(3000000); 
     mVideoRecorder.setVideoEncoder(MediaRecorder.VideoEncoder.H264); 
     mVideoRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AAC); 
     mVideoRecorder.setAudioSamplingRate(441000); 
     mVideoRecorder.setMaxDuration(30000); // allowed recording is 30 seconds only 
     mVideoRecorder.setPreviewDisplay(surfaceHolder.getSurface()); 
     mVideoRecorder.setOutputFile(uniqueOutFile); 
     mVideoRecorder.prepare(); 
     mVideoRecorder.start(); 

注:私はAndroidとiPhoneの両方に取り組んでMP4ファイルを研究し、同じ設定を生成しようとするには、Android InformationのためのVLCを使用しています。

関連する問題