2013-07-19 96 views
0

我正在研究需要通過錄制視頻創建GIF圖像並將此視頻轉換爲GIF的項目。 要做到這一點,我遵循兩個步驟:如何在Android中錄製低幀率視頻?

  1. 將視頻轉換爲圖像列表。
  2. 將圖像列表轉換爲GIF。

問題是:如何記錄長度約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; 

感謝您的關注和對我的英語不好。

+0

請檢查此請http://developer.android.com/reference/android/media/CamcorderProfile.html#QUALITY_LOW –

回答

0

這是一個比答案更多的選擇,但爲什麼不嘗試每0.5秒拍攝一張照片,而不是錄製視頻,如果你想要2幀/秒?

+0

我希望我能做到這一點,因爲它可以節省大量時間。但問題是:拍照時,屏幕會在幾個設備的短時間內變成黑色,這肯定會讓用戶感到不舒服。 – EastBK

+0

我沒有嘗試自己做,但我認爲[LapseIt](https://play.google.com/store/apps/details?id=com.ui.LapseIt)這樣做,我沒有看到在錄製過程中出現的黑屏。 – tyxie

0

在錄製視頻後,您可以嘗試刪除不必要的幀。可能會更容易。

+0

我正在這樣做,但它需要很多時間。我真的需要更好的方法。謝謝 – EastBK

相關問題