【发布时间】:2011-06-17 06:28:09
【问题描述】:
我正在尝试编写一个 c++ 程序,该程序将使用 ffmpeg 从视频文件中读取关键帧。
到目前为止,我设法使用您按顺序阅读的av_read_frame 获取所有帧
一帧一帧。
但是我在使用av_seek_frame 时遇到了一些问题(如果我是正确的)应该可以解决关键帧问题。
int av_seek_frame(AVFormatContext *s, int stream_index, int64_t timestamp, int flags);
我有FormatContext,但还有什么其他正确的参数可以顺序获取所有关键帧?
我可以使用其他功能吗?
谢谢
编辑:在av_read_frame 中,我得到了 AVPacket,我可以用它来获取帧数据,但是如何使用 av_seek_frame 来获取数据包?
解决方案:好的,在 AVFrame->key_frame 中有一个简单的布尔值。如果是关键帧则为真
【问题讨论】:
-
av_seek_frame()到底有什么问题?