gpt4 book ai didi

android - MediaExtractor 的问题

转载 作者:行者123 更新时间:2023-11-29 01:46:37 31 4
gpt4 key购买 nike

我正在尝试使用 MediaExtractorMediaCodec 从电影中获取特定时间的特定帧作为图像。如果满足以下条件,我可以成功完成:

  • 我使用 extractor.seekTo(time, MediaExtractor.SEEK_TO_PREVIOUS_SYNC); ,但是,这只给出最近的同步帧而不是目标帧。
  • 我使用 extractor.advance(); 按顺序提取所有帧,但我需要获取目标帧而不是全部。

所以,我尝试以下操作:

extractor.seekTo(time, MediaExtractor.SEEK_TO_PREVIOUS_SYNC);
while(extractor.getSampleTime()<time /*target time*/) extractor.advance();

这提供了正确的框架,但由于某种原因图像已损坏。它看起来像正确的图像(我从成功案例中得到的图像),但有一些像素化和奇怪的雾霾。

while-loop 是成功案例和损坏案例之间唯一不同的地方。如何在不损坏图像的情况下将 MediaExtractor 提前到特定时间(不仅仅是同步时间)?

最佳答案

感谢 fadden comment,我必须继续为编码器提供数据,因为 I-frame 有完整的图片,PB帧有差异(这是实现压缩的方式)。因此,我需要从一个I-frame(它与同步帧相同)开始,并继续将其他帧提供给解码器以接收完整图像。

关于android - MediaExtractor 的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21103347/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com