判断av_read_frame读取出AVPacket是否为关键帧和文件尾方法

1.判断是否为关键帧

在 AVPacket里有一个AVApktl标志值的组合用来判断是否为关键帧,如下图所示:

判断av_read_frame读取出AVPacket是否为关键帧和文件尾方法

读取成功后用此标志位判断如下图所示:

判断av_read_frame读取出AVPacket是否为关键帧和文件尾方法

2.判断文件尾

av_read_frame的返回值代表不同的含义,其中当返回值等于AVERROR_EOF: -541478725表示读到文件尾;
先看源码里面返回值代表含义:

判断av_read_frame读取出AVPacket是否为关键帧和文件尾方法

下面开始应用:

判断av_read_frame读取出AVPacket是否为关键帧和文件尾方法

av_read_frame()返回值参考另外一篇博客:

https://blog.****.net/lipengshiwo/article/details/52610168