How to get the frame from video file in android

android, android-mediaplayer

Solution

You are going to have to use something like FFMPEG to fetch the frames.

You will have to use the NDK, and compile FFMPEG for Android; unfortunately it's not going to be very easy.

A couple of starting points:

http://ffmpeg.org/

ffmpeg for a android (using tutorial: "ffmpeg and Android.mk")

Good luck!

Problem

The MediaMetadataRetriever.getFrameAtTime() always returns same frames when ever call. Have a look my code ``` private ArrayList<Bitmap> getFrames(String path){ try { ArrayList<Bitmap> bArray = new ArrayList<Bitmap>(); bArray.clear(); MediaMetadataRetriever mRetriever = new MediaMetadataRetriever(); mRetriever.setDataSource(getDataSource(path)); for (int i = 3000; i <60000; i=i+5000) { bArray.add(mRetriever.getFrameAtTime(i, MediaMetadataRetriever.OPTION_CLOSEST_SYNC)); } return bArray; } catch (Exception e) { // TODO: handle exception return null; } } ``` This method always return same frames

Original source

Related problems