RTP学习笔记(三)
来源:互联网 发布:剑三脸型数据怎么导出 编辑:程序博客网 时间:2024/04/30 15:25
RTP如何打包H264数据
转自http://blog.csdn.net/markman101/article/details/6755034,感谢作者的分享!
拿到H264的裸流数据是,一般码流结构是SPS,PPS,I帧,P帧......SPS,PPS,I帧,P帧...........。用RTP打包H264数据时,SPS和PPS可以不发,直接发I帧和P帧数据即可。还要看I帧和P帧有多大,如果小于MTU就直接加RTP包发送就可以,如果大于MTU就得分片了。具体的分片方法可以参考RFC3984中。
我用的FU-A,分片方式。
第一个 FU-A 包的 FU indicator 应该是:F = NALU 头中的 F;NRI = NALU 头中的 NRI;Type = 28。FU header 应该是:S = 1;E = 0;R = 0;Type = NALU 头中的 Type。
第二个 FU-A 包的 FU indicator 应该是:F = NALU 头中的 F;NRI = NALU 头中的 NRI;Type = 28。FU header 应该是:S = 0;E = 0;R = 0;Type = NALU 头中的 Type。
第三个 FU-A 包的 FU indicator 应该是:F = NALU 头中的 F;NRI = NALU 头中的 NRI;Type = 28。FU header 应该是:S = 0;E = 1;R = 0;Type = NALU 头中的 Type。
像I帧的数据格式一般是这样的00 00 00 01 65 × × × ×.............................。其中00 00 00 01是用来标识一个帧的,65是NAL unit头部,后面的数据是NAL unit数据。RTP发送的数据是00 00 00 01后面的.注意分片的时候分片单元的数据是从65后开始的,65是NAL unit头部,和分片单元头部有点关系,具体关系我上面已经写的很清楚了。
- RTP学习笔记(三)
- RTP学习笔记(一)
- RTP学习笔记(二)
- RTP学习笔记(四)
- RTP学习笔记(五)
- RTP学习(三)RTP/RTCP/RTSP数据包格式
- Live555学习笔记(三)—— RTSP命令处理及RTP,RTCP服务建立
- RTP协议学习笔记
- RTP学习(三):linux下RTP编程(使用 JRTPLIB) ——受益匪浅
- RTSP与RTP(学习笔记)
- live555 rtsp rtp学习笔记
- live555 rtsp rtp学习笔记
- RTP学习笔记(还在持续更新中)
- live555学习三:RTP数据流的获取
- RTP协议学习笔记(1)-RTP/RTCP/RTSP协议初探
- 学习笔记(三)
- 学习笔记(三)
- 学习笔记(三)
- 使用比特位图解决八皇后问题
- sql中触发器的使用
- 团购、秒杀倒计时
- NoSQL数据库探讨之一 - 为什么要用非关系数据库?
- WIN32 application invoke html files
- RTP学习笔记(三)
- SEM
- Opcode 三角索引结构
- SEO技术是如何实现网站优化的
- Android OpenGL 简介
- URLRewriter配置伪静态
- Django 安装与配置 + 极简单Blog搭建(Django实例)
- OGRE粒子系统参数
- etc/ld.so.conf