如何使用avformat_seek_file()进行搜索但仅在搜索向前跳转时?

时间:2017-11-16 19:59:10

标签: c h.264 decoding libavcodec libavformat

我目前正在编写一个解码视频文件并将某些帧输出到图像的程序。我有一个简单的加速技术,需要使用avformat_seek_file在文件中向前搜索到图像前最近的关键帧,然后我解码到所需的图像并输出为jpeg文件。我遇到的问题是,有时候,当我呼叫avformat_seek_file跳转到关键帧时,它会让我及时回到最后一个关键帧。

问题是,在我调用搜索功能之前,我已经解码到了我所处的位置,这意味着我不需要跳回关键帧,它会我可以更快地从我目前所处的点继续解码,直到我到达所需的图像。

所以我的问题是,我怎么能

  1. avformat_seek_file提供一些标记或选项,告诉它不要向后搜索,只从我当前的pts向前寻找
  2. 检测avformat_seek_file将尝试向后搜索,然后在我自己的代码中设置逻辑以跳过对搜索功能的调用,而只是从我当前位置继续解码。
  3. 我想我能做到这一点的一种方法是在进行任何解码之前获取文件中所有关键帧的帧编号列表,然后进行某种查找以查看当前位置和当前位置之间是否存在关键帧。期望的框架。如果有,avformat_seek_file(),如果没有,请不要寻求。

    由于

0 个答案:

没有答案