在Android中录制MP4格式视频是否有推荐的设置?

在Android中录制MP4格式视频是否有推荐的设置?,android,android-camera,Android,Android Camera,我有此选项用于录制MP4格式,并将MPEG\u 4用作输出格式,将MPEG\u 4\u SP用作视频编码。它目前正在工作,但我想知道编码是否可以改进 我似乎找不到推荐设置的相关资源: mVideoRecorder = new MediaRecorder(); mVideoRecorder.setCamera(mCamera); mVideoRecorder.setVideoSource(MediaRecorder.VideoSource.CAMERA); mVideoRecorder.setAu

我有此选项用于录制MP4格式,并将
MPEG\u 4
用作输出格式,将
MPEG\u 4\u SP
用作视频编码。它目前正在工作,但我想知道编码是否可以改进

我似乎找不到推荐设置的相关资源:

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

最后,经过一系列的尝试和错误后,这就是安卓系统的工作原理,当它被转移到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的VLC
信息
来研究在android和iPhone上工作的MP4文件,并尝试生成相同的设置