随笔 - 223  文章 - 0  评论 - 77  阅读 - 68万

RTP协议

RTP(Real-time Transport Protocol)即实时传输协议,是一种网络传输协议,对应的RFC文档为RFC3550,RTP协议描述了在互联网上传输音视频的标准数据包格式。

 

RTP头遵循下面的格式:

 起始的12个字节是每个RTP数据包都有,CSRC标识符列表只有当

V:RTP协议的版本号,占2位,目前协议版本号为2

P:填充标志,占1位,若为1,则在该报文的尾部填充一个或多个字节,它们不是有效载荷

X:扩展标志:占1位,若为1,则在RTP固定头部之后有一个扩展头

CC:CSRC计数器,占4位,标识CSRC标识符的个数

M:标记,占1位,不同载荷有不同的含义,对于视频标记一帧的结束;对于音频标记会话的开始

PT:有效载荷类型,占7位,用于说明RTP报文中有效载荷的类型

sequence number:序列号,占16位,用于标识发送者所发送的RTP报文的序列号,每发送一个报文,序列号增1。当下层协议用UDP时,网络不好的情况下可以用来判断丢包;出现网络抖动的时候可以用来对数据进行重新排序,音频和视频时分别计数的。

timestamp:时间戳,占32位,反映了该RTP报文的第一个字节的采样时刻;接收者使用时间戳来计算延迟和延迟抖动,并进行同步控制。

SSRC:同步信源标识符,占32位,用于标识同步信源。该标识符是随机产生的。

 CSRC:特约信源标识符,每个CSRC占32位,可以有0-15个,每个CSRC标识了包含在该RTP报文有效载荷中的所有特约信源。

若扩展标志被置位,说明紧跟在报文头后面的是一个扩展头,格式如下:

 

posted on   Arthurian  阅读(82)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 如何使用 Uni-app 实现视频聊天(源码,支持安卓、iOS)
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
历史上的今天:
2023-09-16 C++智能指针
< 2025年2月 >
26 27 28 29 30 31 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 1
2 3 4 5 6 7 8

点击右上角即可分享
微信分享提示