如何在Android中录制低帧率的视频?

时间:2013-07-19 08:59:04

标签: android android-mediarecorder

我正在制作一个需要通过录制视频创建GIF图像并将此视频转换为GIF的项目。 为此,我遵循两个步骤:

  1. 将视频转换为图片列表。
  2. 将图像列表转换为GIF。
  3. 问题是:如何录制长度约为10秒且帧数约为20帧的视频。 mediaRecorder.setVideoFrameRate(framecount)由于某些原因不起作用。

            mediaRecorder.setCamera(GIFCamera.c); 
    
            mediaRecorder.setAudioSource(MediaRecorder.AudioSource.CAMCORDER);
            mediaRecorder.setVideoSource(MediaRecorder.VideoSource.CAMERA);
            // mediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);
    
            mediaRecorder.setProfile(CamcorderProfile
                    .get(CamcorderProfile.QUALITY_HIGH));
            mediaRecorder.setOutputFile(AppConst.VIDEO_PATH);
            Camera.Size bestSize = GIFCamera.getBestSize();
            System.out.println(bestSize.width);
            System.out.println(bestSize.height);
            mediaRecorder.setVideoSize(bestSize.width, bestSize.height);
            mediaRecorder.setVideoFrameRate(30);
    
            mediaRecorder.setPreviewDisplay(myCameraSurfaceView.getHolder()
                    .getSurface());
    
            try {
                mediaRecorder.prepare();
            } catch (IllegalStateException e) {
                releaseMediaRecorder();
                return false;
    

    感谢您的关注并抱歉我的英语不好。

2 个答案:

答案 0 :(得分:0)

除了答案之外,这更像是另一种选择,但如果你想要2帧/秒,为什么不尝试每0.5秒拍一张照片而不是录制视频呢?

答案 1 :(得分:0)

录制视频后,您可以尝试删除不必要的帧。可能会更容易。