我想截取视频文件的一帧,所以我使用了av_seek_frame
函数,即我尝试使用timestamp*AV_TIME_BASE
和timestamp/(av_q2d(videostream->time_base)*av_TIME_BASE)
的时间戳值,但是无论我使用哪个第一,所获得的帧始终不是我想要的,并且观察到我想要的帧时间非常不同(因此,AVSEEK_FLAG_BACKWARD
的精度问题在此处已排除)。
我的代码如下:
double tmp0 = timeStamp/(av_q2d(inputVideoStream->time_base)*AV_TIME_BASE);
// double tmp0 = timeStamp * AV_TIME_BASE;
code = av_seek_frame(inputAVFormatContext, videoStreamIndex, tmp0, AVSEEK_FLAG_BACKWARD);