0

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

我使用 OpenGL ES,并在编码中使用表面。我的帧率是30,码率是1920*1080*30,Iframe intervel是1s。

mediacodec 编码有什么问题吗?

4

1 回答 1

1

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

于 2017-01-22T22:09:30.660 回答