如何获取VideoCapture :: read获取的PTS或帧的帧号?

时间:2018-08-20 05:40:30

标签: opencv opencv3.0 opencv3.1

在我们的实现中,我们需要知道用OpenCV解码的帧的pts或帧号,然后在基于解码后的帧进行一些处理之后,然后在原始帧中建立pts或帧号之间的映射流和处理结果。

在检查了OpenCV VideoCapture I / F之后,我没有找到这种方法。

1 个答案:

答案 0 :(得分:0)

OpenCV视频界面未公开有关视频流的许多详细信息。它旨在成为易于抓取帧的高级界面,它不提供对编解码器的低级信息的访问。

VideoCapture::read返回的帧只是图像,它们不包含有关视频的任何信息(例如帧号)。您需要分别手动保存这些信息。

如果从文件的开头开始解码,则可以对从VideoCapture::read返回的成功解码的帧使用整数计数器。

然后有VideoCapture::get,您可以通过它们访问CV_CAP_PROP_POS_MSECCV_CAP_PROP_POS_FRAMESCV_CAP_PROP_FPS,可以通过OpenCV界面访问PTS。 / p>