我想获得视频的帧速率,但我不想使用FFMPEG,JAVACV lib.是否有可能在Android中获得视频的帧速率?
我读了KEY_FRAME_RATE它说,"具体来说,MediaExtractor提供一个整数值,对应于轨道的帧速率信息,如果指定且非零." 但我不知道如何使用它?
如果您知道如何从视频中获取帧速率,请在此处回答.
我试图从视频中提取所有帧.
通过以下代码我想获取视频的前30帧,但我只得到第一帧30次.
private ArrayList<Bitmap> getFrames(String path) {
try {
ArrayList<Bitmap> bArray = new ArrayList<Bitmap>();
bArray.clear();
MediaMetadataRetriever mRetriever = new MediaMetadataRetriever();
mRetriever.setDataSource("/sdcard/myvideo.mp4");
for (int i = 0; i < 30; i++) {
bArray.add(mRetriever.getFrameAtTime(1000*i,
MediaMetadataRetriever.OPTION_CLOSEST_SYNC));
}
return bArray;
} catch (Exception e) { return null; }
}
Run Code Online (Sandbox Code Playgroud)
现在,我如何从视频中获取所有帧?