6

我目前正在使用 MediaMetadataRetriever 和 ImageView

frame = videoFrame.getFrameAtTime(time, MediaMetadataRetriever.OPTION_CLOSEST);
frameView.setImageBitmap(frame);

并且正如 API 所建议的那样,它由于寻求而有所延迟。

是否有任何更快的替代方法可以在特定时间从设备内的源视频中抓取帧?(我使用的是第一代 Nexus 7)

4

2 回答 2

1

是的,有一个名为FFmpegMediaMetadataRetriever的外部库。您可以像使用其他类一样执行相同的操作并且它不会失败(不像 API 的类有时会在确定的位置无缘无故地中断)。但它正在开发中,你不能提取确切的帧,而不仅仅是关键帧。我想它会在一周内准备好。

于 2013-09-02T22:48:13.290 回答
0

您是只取一帧还是一帧一帧地取帧进行处理?如果是后者,我认为您应该使用MeidaCodec

于 2019-12-05T03:38:03.330 回答