2016-11-29 92 views
0

嗨,我尝试使用Android MediaCodec进行编码。我遵循“grafika”的代码,但是我发现编码视频会丢失一些帧。我检查我的输入,每一帧都是彼此不同的,但在我的编码输出视频中,例如,帧71与帧72相同,帧99与帧100相同,其他帧与输入序列相同。android mediacodec编码丢帧

我使用OpenGL ES,并在编码中使用surface。我的帧速率是30,比特率是1920 * 1080 * 30,并且Iframe间隔是1s。

mediacodec编码有什么问题吗?

回答

0

如果您通过Surface发送帧到编码器,您可能需要为每个帧传送正确的演示时间,因为编码器可能无法获得正确的演示时间。换句话说,在从MediaCodec中拉出输出缓冲区后,您可能需要更正输出缓冲区信息的presentationTimeUs的值。