我让OpenH264在我的本地网络上工作。
代码类似于。
send(server, frame)
recv(client, frame)
DecodeFrameNoDelay(frame, frame_buffer)
if(frame_buffer.iBufferStatus == 1)
//process frame这在我的本地网络上的低延迟连接上工作得很好。但是在像慢VPS这样的高延迟连接上失败。
我可以接收第一个帧,但是流失败了,DecodeFrameNoDelay没有返回任何帧。
如果我设置的比特率和FPS非常低,我可以让它工作。这让我相信这与时机有关?
我是否应该将解码的帧放到缓冲区中,然后让解码器对缓冲区中的帧进行解码?至于如何维护所需的FPS?
非常感谢您的反馈,谢谢!
发布于 2019-06-19 13:22:14
h264_encoder->SetOption(ENCODER_OPTION_IDR_INTERVAL, &iIDRPeriod);
// or
h264_encoder->ForceIntraFrame(TRUE);我假设,当在互联网上进行流媒体传输时,需要经常发送IDR帧来保持解码同步。
我觉得这是一个很好的技巧,但这就完成了工作。
https://stackoverflow.com/questions/56625434
复制相似问题