我正在尝试编写一个 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 中有一个简单的布尔值。如果它是关键帧,则为真