在我们的实现中,我们需要知道用OpenCV解码的帧的pts或帧号,然后在基于解码后的帧进行一些处理之后,然后在原始帧中建立pts或帧号之间的映射流和处理结果。
在检查了OpenCV VideoCapture I / F之后,我没有找到这种方法。
答案 0 :(得分:0)
OpenCV视频界面未公开有关视频流的许多详细信息。它旨在成为易于抓取帧的高级界面,它不提供对编解码器的低级信息的访问。
VideoCapture::read
返回的帧只是图像,它们不包含有关视频的任何信息(例如帧号)。您需要分别手动保存这些信息。
如果从文件的开头开始解码,则可以对从VideoCapture::read
返回的成功解码的帧使用整数计数器。
然后有VideoCapture::get
,您可以通过它们访问CV_CAP_PROP_POS_MSEC
,CV_CAP_PROP_POS_FRAMES
和CV_CAP_PROP_FPS
,可以通过OpenCV界面访问PTS。 / p>