I'm currently using MediaMetadataRetriever and ImageView
frame = videoFrame.getFrameAtTime(time, MediaMetadataRetriever.OPTION_CLOSEST);
frameView.setImageBitmap(frame);
and as advised by the API, it has a delay due to seeking.
Are there any faster alternatives for grabbing frames at specific times from a source video within the device? (I'm using a 1st gen Nexus 7)
Yes, there are an external library called FFmpegMediaMetadataRetriever. You can do the same actions like with the other class and it doesn´t fails (Unlike the API´s class that sometimes breaks without a reason at determinated positions). But it is under development and you can´t extract the exact frame and not only the key-frames yet. I suppose in one week it will be ready.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With