顾名思义,FEC前向纠错,根据收到的包进行计算获取丢掉的包,而和大神沟通的结果就是 纠错神髓:收到的媒体包+冗余包 >= 原始媒体包数据
直到满足 收到的媒体包+ 冗余包 >= 原始媒体包数据 则进入恢复模式,恢复出2 4,然后一次输出2 3 4 5
所谓的Qos,也可以理解为抖动缓冲,解决udp包乱序、包重复的问题
NAT保活,保持udp连接,简言之:
当你向一个公网服务器发送数据时,服务器可以翻转IP和端口向你发数据, 但如果你长时间不发数据给服务器,服务器若想用之前的IP和端口向你发就不一定成功了。因为在路由器上的NAT映射可能已经失效,如果你是一直向服务器发送数据,那就不存在这个问题。
FEC的设计理念大多一样,编码/解码/回调函数:
1.encode,不区分输入内容,编码后输出输出冗余包数据;
2.decode,根据输入数据进行纠错,如果数据不是有序,则等待 (收到的媒体包+冗余包 >= 原始媒体包数据) 输出原数据
3.callback,一包一包数据输出,阻塞接口
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
2014-05-16 怎样使用CMenu类
2014-05-16 mfc menu用法一
2014-05-16 MFC 单文档中动态添加菜单项和响应菜单事件
2014-05-16 MFC 对话框中动态创建N级菜单以及响应事件
2013-05-16 SQLite数据库中的SQL语句及使用
2013-05-16 SQLite3源码在Windows及WinCE平台下的编译方法
2013-05-16 标准C++中的string类的用法总结