【发布时间】:2012-02-13 11:38:46
【问题描述】:
我需要知道是否可以在无需先解码的情况下找到 I 帧。我希望在 AVPacket 中有一些标志,但我看不到有一个。
谢谢。
【问题讨论】:
标签: mpeg-4
我需要知道是否可以在无需先解码的情况下找到 I 帧。我希望在 AVPacket 中有一些标志,但我看不到有一个。
谢谢。
【问题讨论】:
标签: mpeg-4
您当然可以通过查找适当的标头代码找到 I 框架的位置。如果你解析序列,你可以从起始代码中找到它。
H.264 比特流被分成称为 NAL 单元的部分。这些单元前面有 24 位代码 0x000001 用于同步。之后会有一个唯一的起始码,对应于图片的开始,以及图片的类型,您可以根据它来决定这是哪一帧。
【讨论】:
是的,您可以从 AVPacket 获取关键帧,此结构“标志”中有一个成员。您可以通过 pkt.flags 获取该值,对于 Key-frame,该值将为 1,否则为 0。
【讨论】: