Android MediaCodec向后搜索
首先,我知道以前也有类似的问题。但我的问题是关于性能Android MediaCodec向后搜索,android,android-mediacodec,Android,Android Mediacodec,首先,我知道以前也有类似的问题。但我的问题是关于性能 我正在使用MediaCodec通过视频进行搜索,这在向前搜索时非常有效。但当向后看时,它是“波涛汹涌的”/“滞后的” 这是“某种程度上”的预期,因为当向后搜索时,我搜索到上一个关键帧/同步帧,然后向前搜索到所需帧,如下所示: extractorSeekTo(时间戳,MediaExtractor.SEEK\u TO\u PREVIOUS\u SYNC); mDecoder.flush(); //继续馈送而不渲染: //mDecoder.rel
我正在使用
MediaCodec
通过视频进行搜索,这在向前搜索时非常有效。但当向后看时,它是“波涛汹涌的”/“滞后的”
这是“某种程度上”的预期,因为当向后搜索时,我搜索到上一个关键帧/同步帧,然后向前搜索到所需帧,如下所示:
extractorSeekTo(时间戳,MediaExtractor.SEEK\u TO\u PREVIOUS\u SYNC);
mDecoder.flush();
//继续馈送而不渲染:
//mDecoder.releaseOutputBuffer(bufferIndex,false);
//直到到达目标帧
额外上下文:我正在测试一个只有两个关键帧的视频。当向后搜索时,它会一直跳回到最近的关键帧,然后向前搜索。所需时间取决于所需缓冲区与关键帧的“接近”程度
我见过一些应用程序在没有跳转/滞后效应的情况下执行反向搜索。我对这些应用程序进行了反编译,以查看它们是否使用本机代码,而且它们都使用本机代码。 这让我想到,
MediaCodec
的性能并不是最佳的
因此,我的问题是(最明显的问题是‘这些应用程序是如何做到的’,但是……):
- 使用ndk/本机实现
是否可以解决此问题?(提高绩效)MediaCodec
- 如果没有,有人对如何克服这种滞后有什么建议吗