libav获取缓冲区中剩余的所有帧

时间:2018-07-23 20:33:06

标签: c++ video-processing libav

我正在开发一个使用libav处理视频的应用程序。最近,我们注意到使用av_read_frameav_decode_video2读取视频时实际上实际上跳过了某些帧。

经过一些研究,我认为问题在于视频正在使用双向预测帧(B帧)。我在Github issuelibav mailing list中找到了对该问题的引用。第一个参考资料说,我需要调用av_decode_frame()直到got_frames为零;我试过了,但是got_frames立即返回零。第二个参考资料说:

  

您需要发送刷新数据包(数据/大小设置为0)以获取最后一个   框架

我不确定这是什么意思。 有人可以向我解释如何获取被跳过的数据包吗?

0 个答案:

没有答案