Windows OpenH264解码,网络延迟导致故障

Windows OpenH264解码,网络延迟导致故障,windows,h.264,openh264,Windows,H.264,Openh264,我在本地网络上使用OpenH264 代码类似于 send(server, frame) recv(client, frame) DecodeFrameNoDelay(frame, frame_buffer) if(frame_buffer.iBufferStatus == 1) //process frame 这在本地网络上的低延迟连接下运行良好。但在高延迟连接(如慢速VPS)上失败 我可以接收第一帧,但流失败,DecodeFrameNoDelay不返回任何帧 如果我将比特率和FPS设置得很

我在本地网络上使用OpenH264

代码类似于

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

if(frame_buffer.iBufferStatus == 1)
//process frame
这在本地网络上的低延迟连接下运行良好。但在高延迟连接(如慢速VPS)上失败

我可以接收第一帧,但流失败,DecodeFrameNoDelay不返回任何帧

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

我是否应该将解码后的帧放入缓冲区,然后让解码器解码缓冲区中的帧?如何维持所需的FPS

非常感谢您的反馈,谢谢

h264_encoder->SetOption(ENCODER_OPTION_IDR_INTERVAL, &iIDRPeriod);
// or
h264_encoder->ForceIntraFrame(TRUE);
我假设在互联网上进行流媒体传输时,需要经常发送IDR帧以保持解码同步


我觉得这是一个相当棘手的问题,但这就完成了工作。

我觉得让发送和接收功能延迟编码/解码队列可能是导致问题的原因。还不确定。在进一步测试中,如果每5秒增加一秒延迟,视频工作正常。所以我不相信现在是时候了。仍在查看我的网络代码。