【发布时间】:2020-06-07 08:54:33
【问题描述】:
我想从设备上存储的视频文件中提取帧。我找到的每个解决方案都是使用 FFmpegMediaMetadataRetriever 或 MediaMetadaraRetriever,但正如我写的 here 它对我不起作用。还有其他方法可以从视频中提取帧吗?
【问题讨论】:
标签: android video mediametadataretriever
我想从设备上存储的视频文件中提取帧。我找到的每个解决方案都是使用 FFmpegMediaMetadataRetriever 或 MediaMetadaraRetriever,但正如我写的 here 它对我不起作用。还有其他方法可以从视频中提取帧吗?
【问题讨论】:
标签: android video mediametadataretriever
我承认我已经有一段时间没有使用这种方法了,但如果它仍然适用于当前的 Android API,它应该可以解决问题。
如果它仍然有效,请告诉我。如果不是 - 我将删除此答案。
public static Bitmap getVideoFrame(Context context, Uri uri, long time) {
Bitmap bitmap = null;
MediaMetadataRetriever retriever = new MediaMetadataRetriever();
try {
retriever.setDataSource(context, uri);
bitmap = retriever.getFrameAtTime(time);
} catch (RuntimeException ex) {
ex.printStackTrace();
} finally {
try {
retriever.release();
} catch (RuntimeException ex) {
ex.printStackTrace();
}
}
return bitmap;
}
希望这会有所帮助。
【讨论】: