2013-07-19 2 views
0

Я работаю над проектом, который должен создать изображение GIF, записывая видео и конвертируя это видео в GIF. Для этого следую 2 этапам:Как записать видео с низкой частотой кадров в 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

Смежные вопросы