【发布时间】:2011-03-03 06:05:46
【问题描述】:
我试图让 av_seek_frame() 函数转到我指定的字节位置。我正在为我的应用程序实现一个帧精确搜索机制,按照我的看法,我将扫描整个视频文件,并将每个关键帧的字节位置存储在一个结构中。我找到了获取当前字节位置的位置:AVPacket.pos。我现在用av_seek_frame 测试这个职位,如下所示:
av_seek_frame( pFormatCtx, videoStream, 110285594, AVSEEK_FLAG_BYTE);
但是,这似乎不正确,当我调用av_read_frame 时,它只是从第 23 帧开始。如果我不寻找,它从第 1 帧开始。
【问题讨论】:
-
问题是因为您试图寻找不是关键帧的帧吗?
-
嗨 Dmazzoni,不,我确定位置是关键帧。我可以补充一下,它是一个 h264 视频。
标签: c++ ffmpeg libavcodec