• FU-A方式分包


    当 NALU 的长度超过 MTU 时, 就必须对 NALU 单元进行分片封包. 也称为 Fragmentation Units (FUs). 
    0 1  2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1  

    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+  

    | FU indicator | FU header | 

    | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | | 

                                        | FU payload | | | 

    | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 

                                                                | :...OPTIONAL RTP padding | 
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+   

    H264码流 NAL HEADER格式

    | FU indicator      |

    +---------------+  

    |0|1|2|3|4|5|6|7|  

    +-+-+-+-+-+-+-+-+  

    |F|NRI|FU-Type     |    (28)

    +---------------+ 

    | FU header |

    +---------------+  

    |0|1|2|3|4|5|6|7|  

    +-+-+-+-+-+-+-+-+  

    |S|E|R| Type      |

    +---------------+

    同一个NALU分包后的FU indicator头、Type是完全一致的,FU header只有S以及E位有区别,分别标记开始和结束,RTP分包的序列号应该是依次递增的,且时间戳必须一致,负载数据为NALU包去掉1个字节的NALU头后对剩余数据的拆分,因为NALU头被拆分成了FU indicator和FU header,所以不再需要1字节的NALU头了。
    1. 第一个FU-A包的FU indicator:F、NRI、Type应该为当前NALU头的F、NRI、Type,Type则等于28,表明是FU-A包。FU header生成方法:S = 1,E = 0,R = 0。
    2. 中间的N个FU-A包(不是最后一个包),FU header应该为:S = 0,E = 0,R = 0。
    3. 最后一个FU-A包FU header应该为:S = 0,E = 1,R = 0。

  • 相关阅读:
    OFDM系统中频域同步技术及FPGA实现
    SystemVerilog的挑战和机遇
    基础知识要牢固..复习复习,再复习
    样式在.net下测试不成功.附解决办法
    学习.net2.0的网站
    08年又快结束了..抱怨下!~
    今天去面试.net开发,感想
    在b/s开发中经常用到的javaScript技术
    淘宝"新版"首页
    Ajax技术简单入门
  • 原文地址:https://www.cnblogs.com/samaritan/p/5063046.html
Copyright © 2020-2023  润新知