Video C++/从视频文件中提取特定帧

Video C++/从视频文件中提取特定帧,video,ffmpeg,Video,Ffmpeg,正如标题所说,我想从视频文件中提取特定帧。现在我可以使用FFmpeg命令行工具来实现这一点 ffmpeg -i in_video.avi -vf "select=gte(n\,100)" -vframes 1 out_img.png 但是我不能直接使用FFmpeg命令行工具那么我可以在C/C++中提取特定帧吗?是来自FFmpeg的一个样本,用于解码视频。只需对其进行修改,以便不将所有帧写入输出视频文件,而只需查找所需帧的位置,然后对单个帧进行解码并将其写入文件。为了寻找,请看一看。查找的诀窍是

正如标题所说,我想从视频文件中提取特定帧。现在我可以使用FFmpeg命令行工具来实现这一点

ffmpeg -i in_video.avi -vf "select=gte(n\,100)" -vframes 1 out_img.png
但是我不能直接使用FFmpeg命令行工具那么我可以在C/C++中提取特定帧吗?

是来自FFmpeg的一个样本,用于解码视频。只需对其进行修改,以便不将所有帧写入输出视频文件,而只需查找所需帧的位置,然后对单个帧进行解码并将其写入文件。为了寻找,请看一看。查找的诀窍是它需要pts,但是您可以通过获取流的时基并与帧索引相乘,从帧索引获取pts