我正在尝试用android低级媒体api实时解码h264 nals。
每个nal包含一个完整的框架,所以我希望在用我的nal输入输入并调用dequeueOutputBuffer
之后它会“立即”(当然有litle延迟)显示我的框架但它没有。我看到第一帧和出队只返回第一个缓冲区,只有在给第二个帧提供第二帧的情况下向解码器输入。帧的编码为zerolatency预设为x264,因此没有b帧等...
我想可能有一种方法可以设置编码器在得到它之后立即渲染帧,但我找不到任何好的文档/解释。 有什么建议吗?
答案 0 :(得分:0)
仅仅因为帧以零延迟设置进行编码并不意味着它们将以零延迟进行解码。两个单独的东西。因此,根据编解码器级别(分辨率,比特率,帧速率)和配置文件,您可能需要解码多达16帧的h264视频以获取帧。
答案 1 :(得分:0)
只有在解码前帧后才能解码p帧