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。

转载于:https://www.cnblogs.com/samaritan/p/5063046.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值