zoukankan      html  css  js  c++  java
  • openfec的学习笔记

    openfec实现了多种纠删码的算法实现,就包括Reed-Solomon算法。其基本使用流程为:输入n个原始包的分组后,计算生成k个额外的冗余包,后续将这n+k包送到接收端,若发生原始包丢包,但只要总共收到的包不少于n个,即可恢复丢失的原始包。n和k就是其具体在编码计算之前,需要设置的参数。另外其编码计算时,要求输入的包长度相同。因而当用在对RTP流实现丢包保护时,对小尺寸的包需要填充到要求的长度。

    openfec对输入的原始包和计算输出的冗余包都有一个编号,范围为 [0, n+k), 在丢包恢复计算时,要求正确提供每个包的编号。

    包的分组编号的传递不属于openfec自身的范畴,需要应用来实现。因而基于openfec实现RTP流抗丢包机制时,发送冗余包时,除了冗余包数据,还需要包含该冗余包生成时RTP包分组的起始序号和自身在分组中的编号。在接收端收到RTP包和该冗余包时,需要先计算出RTP包和冗余包属于哪个分组,以及在该分组中的序号,然后才可以送给openfec进行恢复计算。

  • 相关阅读:
    C++ 函数设计原则
    C++ 转换函数搭配友元函数
    C++ 自动转换和强制类型转换(用户自定义类类型)
    C++ rand函数
    C++ 状态成员
    C++ 友元函数
    C++ 运算符重载
    RabbitMQ的简单应用
    Python的正则表达式
    Python的应用小案例
  • 原文地址:https://www.cnblogs.com/lanyuliuyun/p/8432959.html
Copyright © 2011-2022 走看看