FEC之我见一
2016-03-25 12:08
288 查看
顾名思义,FEC前向纠错,根据收到的包进行计算获取丢掉的包,而和大神沟通的结果就是 纠错神髓:收到的媒体包+冗余包 >= 原始媒体包数据
直到满足 收到的媒体包+ 冗余包 >= 原始媒体包数据 则进入恢复模式,恢复出2 4,然后一次输出2 3 4 5
所谓的Qos,也可以理解为抖动缓冲,解决udp包乱序、包重复的问题
NAT保活,保持udp连接,简言之:
当你向一个公网服务器发送数据时,服务器可以翻转IP和端口向你发数据, 但如果你长时间不发数据给服务器,服务器若想用之前的IP和端口向你发就不一定成功了。因为在路由器上的NAT映射可能已经失效,如果你是一直向服务器发送数据,那就不存在这个问题。
FEC的设计理念大多一样,编码/解码/回调函数:
1.encode,不区分输入内容,编码后输出输出冗余包数据;
2.decode,根据输入数据进行纠错,如果数据不是有序,则等待 (收到的媒体包+冗余包 >= 原始媒体包数据) 输出原数据
3.callback,一包一包数据输出,阻塞接口
直到满足 收到的媒体包+ 冗余包 >= 原始媒体包数据 则进入恢复模式,恢复出2 4,然后一次输出2 3 4 5
所谓的Qos,也可以理解为抖动缓冲,解决udp包乱序、包重复的问题
NAT保活,保持udp连接,简言之:
当你向一个公网服务器发送数据时,服务器可以翻转IP和端口向你发数据, 但如果你长时间不发数据给服务器,服务器若想用之前的IP和端口向你发就不一定成功了。因为在路由器上的NAT映射可能已经失效,如果你是一直向服务器发送数据,那就不存在这个问题。
FEC的设计理念大多一样,编码/解码/回调函数:
1.encode,不区分输入内容,编码后输出输出冗余包数据;
2.decode,根据输入数据进行纠错,如果数据不是有序,则等待 (收到的媒体包+冗余包 >= 原始媒体包数据) 输出原数据
3.callback,一包一包数据输出,阻塞接口
相关文章推荐
- nodejs笔记三--url处理、Query String;
- 事件委托(js实现)
- 剑指offer编程题目汇总(更新中。。)
- html第六节课
- CSS3:不可思议的border属性&Web字体图标Font Awesome
- react、redux什么的都用起来 【3】穿越spa的路由
- JavaScript面向对象编程(对象创建)
- 3月22日 样式表
- JavaScript学习笔记之创建对象
- HTML文件基本标签body
- html5生成柱状图(条形图)效果的实例代码
- jQuery支持mobile的全屏水平横向翻页效果
- 简单的网页处理工具-HtmlParser
- JS实现的颜色实时渐变效果完整实例
- JavaScript小实例:拖拽应用(二)
- JavaScript学习笔记之ES6数组方法
- Html如何设置横向导航结构
- 用html5绘制折线图的实例代码
- Google浏览器开发者工具:CSSViewer(一个Css查看器)
- JSTL常用标签整理