OpenH264解码有网络延迟导致失败

OpenH264 decoding with network latency causing failure

我的本地网络上有 OpenH264。

代码是这样的。

send(server, frame)
recv(client, frame)
DecodeFrameNoDelay(frame, frame_buffer)

if(frame_buffer.iBufferStatus == 1)
//process frame

这适用于我本地网络上的低延迟连接。但在像慢 VPS.

这样的高延迟连接上失败

我可以接收第一帧,但随后流失败并且 DecodeFrameNoDelay 没有 return 任何帧。

如果我将比特率和 FPS 设置得非常低,我可以让它工作。这让我相信它与时间有关?

我是否应该将解码后的帧放入缓冲区,然后让解码器从缓冲区解码帧?为了保持所需的 FPS?

感谢任何反馈,谢谢!

h264_encoder->SetOption(ENCODER_OPTION_IDR_INTERVAL, &iIDRPeriod);
// or
h264_encoder->ForceIntraFrame(TRUE);

我假设当通过 Internet 进行流式传输时,需要经常发送 IDR 帧以保持解码同步。

我觉得这个技巧很不错,但这可以完成工作。