首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >网络延迟导致的OpenH264解码失败

网络延迟导致的OpenH264解码失败
EN

Stack Overflow用户
提问于 2019-06-17 13:56:58
回答 1查看 607关注 0票数 2

我让OpenH264在我的本地网络上工作。

代码类似于。

代码语言:javascript
复制
send(server, frame)
recv(client, frame)
DecodeFrameNoDelay(frame, frame_buffer)

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

这在我的本地网络上的低延迟连接上工作得很好。但是在像慢VPS这样的高延迟连接上失败。

我可以接收第一个帧,但是流失败了,DecodeFrameNoDelay没有返回任何帧。

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

我是否应该将解码的帧放到缓冲区中,然后让解码器对缓冲区中的帧进行解码?至于如何维护所需的FPS?

非常感谢您的反馈,谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-06-19 13:22:14

代码语言:javascript
复制
h264_encoder->SetOption(ENCODER_OPTION_IDR_INTERVAL, &iIDRPeriod);
// or
h264_encoder->ForceIntraFrame(TRUE);

我假设,当在互联网上进行流媒体传输时,需要经常发送IDR帧来保持解码同步。

我觉得这是一个很好的技巧,但这就完成了工作。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56625434

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档