如何在Android中正确记录720p视频?以及如何正确设置视频的帧速率?

时间:2011-06-29 03:15:34

标签: android android-camera

如何正确记录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设备中测试此代码。它可以成功录制。但是当播放录制的视频时,屏幕只是绿色的声音。谁能解释视频大小和视频帧率之间的关系以及各种视频(音频)源和编码器的区别。

2 个答案:

答案 0 :(得分:0)

您可以使用正确配置的相机以720p录制,但大多数设备无法在不将其缩小到标准def的情况下显示720p视频。 720p中的720指的是较小轴(高度)的像素尺寸,通常大多数设备的屏幕分辨率不是1280x720px。随意发布有关如何解码和播放视频的代码。

答案 1 :(得分:0)

对于解码,您可以使用 ffmpeg 。更多信息可以在这里找到:

使用 ffmpeg 时,可以使用 CamcorderProfile 作为记录。

相关问题