单个RTMP视频消息通常携带一个H.264帧以及时间戳delta。通常,时间戳增量表示单个视频帧的持续时间,例如。 25FPS视频40ms。这允许通过计算流中的RTMP视频增量的总和来计算流的持续时间。
然而,对于某些编码器(例如Wirecast),偶尔会出现仅包含一个H.264帧的RTMP视频消息,但时间戳增量是单个视频帧持续时间的倍数(例如120ms,160ms等)。
这是否意味着在某些情况下,单个H.264帧可以代表多个视频帧?哪个H.264帧元信息(字段)表示这个?如何区分对于所选帧,时间戳delta应该与单个视频帧的持续时间不同?我想正确计算单个H.264帧的表示时间戳。
答案 0 :(得分:2)
这些可能是丢帧。对于RTMP,您应该始终假设可变帧速率(无论onMetadata表示什么)