我正在努力使用 ffmpeg 和 libav (使用 C 库,而不是命令行ffmpeg工具)实现精确搜索。
据我了解,获得准确查找的唯一方法是查找最近的(较早的)关键帧,然后解码数据包,直到达到所需的时间戳。我已经使用av_seek_frame和AVSEEK_FLAG_BACKWARD标志来工作了。
现在,我知道没有办法解决这个问题,因为视频是如何使用 I、P 和 B 帧进行编码的。
\n但我正在寻找的是一种方法来告诉 ffmpeg 跳过内存分配和数据复制 \xe2\x80\x93 通过一个标志 to avcodec_receive_frame,也许,或完全另一个函数。有没有办法表明“我不关心实际的帧数据,我只需要解码器来处理这个数据包”?
我的首要目标是尽可能快地进行搜索,因此任何其他类似的建议也将受到欢迎。
\n| 归档时间: |
|
| 查看次数: |
295 次 |
| 最近记录: |