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。
最新文章
- linux xorddos样本分析1
- 解决MySql无法远程连接
- 在SQLSERVER中快速有条件删除海量数据技巧推荐
- generated clock
- linux -小记(1) 问题:";linux ifconfig查看网卡名称与配置文件不否"; 或 启动网卡提示“ eth0 似乎不存在, 初始化操作将被延迟”。
- leetcode:Rectangle Area
- 第1阶段——关于u-boot目标文件start.o中.globl 和.balignl理解(3)
- Linux的启动流程 (二)
- jquery 中 this 的范围
- BBS论坛(十一)
- Kafka笔记8(管理Kafka)
- apache+php+mysql安装与使用
- react native出现 undefined is not a function_this4.错误函数无法识别
- rac添加新节点的步骤与方法2
- Vmware安装Kali
- form表单提交注意事项
- Alpha版本发布时间安排
- java数组反射实现动态的判断一个对象是否是数组并且对数组进行拆包输出
- Ubuntu mysql开启远程登录的方法
- 讲讲Windows10(UWP)下的Binding
热门文章
- js 获取网页宽/高度
- SpringMVC关于请求参数乱码问题
- FreeMarker之根据模型生成HTML代码
- swagger ui和spring boot集成生成api文档
- webConfig中System.Web 和 System.WebServer节点读取
- [转] 有关java中两个整数的交换问题
- WebApiClient.AOT.dll 调用api地址 ->; 调用方法
- OOP导论系列---抽象过程
- jquery闭包概念
- Nginx(haproxy)+keepalived+Tomcat双主高可用负载均衡