拥有一个 AVStream 对象,我应该如何可靠地区分这是视频流还是图像流?
我试过使用持续时间。如果它是 0 - 我们有图像(系统约束允许这样的假设)。但事实证明,持续时间对图像具有特殊意义——存储在文件中的图像数量。
有什么技巧可以更可靠地检测图像流吗?
起初猜测,我建议检查AVStream->codec->pix_fmt
枚举(有关更多信息,请参阅enum PixelFormat
链接)。您应该能够减少图像和视频的值。大多数视频(MPEG-2/4、MOV)通常以PIX_FMT_YUV420P
格式存储它们的帧。
明天当我回到我的开发系统时,我会为你找到答案。