首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MediaExtractor存在的问题

MediaExtractor存在的问题
EN

Stack Overflow用户
提问于 2014-01-13 23:21:51
回答 1查看 3.7K关注 0票数 2

我正在尝试在特定的时间获取特定的帧,比如使用MediaExtractorMediaCodec从电影中获取图像。如果:

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

因此,我尝试以下几点:

代码语言:javascript
复制
extractor.seekTo(time, MediaExtractor.SEEK_TO_PREVIOUS_SYNC);
while(extractor.getSampleTime()<time /*target time*/) extractor.advance();

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

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-01-15 19:50:08

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

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21103347

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档