如何正确记录android中的720p视频?以及如何正确设置视频的帧速率。
mParameters = mCameraDevice.getParameters();
mParameters.setPreviewSize(1280,
720);
mParameters.setPreviewFrameRate(30);
mMediaRecorder = new MediaRecorder();
// Unlock the camera object before passing it to media recorder.
mCameraDevice.unlock();
mMediaRecorder.setCamera(mCameraDevice);
mMediaRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
mMediaRecorder.setVideoSource(MediaRecorder.VideoSource.CAMERA);
//mMediaRecorder.setProfile(mProfile);
mMediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
mMediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
mMediaRecorder.setVideoEncoder(MediaRecorder.VideoEncoder.H264);
mMediaRecorder.setMaxDuration(mMaxVideoDurationInMs);
// Set output file.
if (mStorageStatus != STORAGE_STATUS_OK) {
mMediaRecorder.setOutputFile("/dev/null");
} else {
// Try Uri in the intent first. If it doesn't exist, use our own
// instead.
createVideoPath();
mMediaRecorder.setOutputFile(mVideoFilename);
}
mMediaRecorder.setVideoSize(1280, 720);
mMediaRecorder.setVideoFrameRate(30);
mMediaRecorder.setPreviewDisplay(mSurfaceHolder.getSurface());
我在HTC HD设备中测试此代码。它可以成功录制。但是当播放录制的视频时,屏幕只是绿色的声音。谁能解释视频大小和视频帧率之间的关系以及各种视频(音频)源和编码器的区别。
答案 0 :(得分:0)
您可以使用正确配置的相机以720p录制,但大多数设备无法在不将其缩小到标准def的情况下显示720p视频。 720p中的720指的是较小轴(高度)的像素尺寸,通常大多数设备的屏幕分辨率不是1280x720px。随意发布有关如何解码和播放视频的代码。
答案 1 :(得分:0)
对于解码,您可以使用 ffmpeg 。更多信息可以在这里找到:
使用 ffmpeg 时,可以使用 CamcorderProfile 作为记录。