SIP协议之RTP负载类型(payload type)

一、RTP负载类型介绍​

  在SIP 音视频通话中,媒体数据是由RTP包携带的, RTP包中的PT字段标识了负载媒体数据的类型。如下图:
在这里插入图片描述
注: PT表示负载类型(Payload Type), 7 bits,即所传输的多媒体的类型

​  不同的媒体编码格式对应不同的整型数值,由RFC3551定义:0~95范围内,一部分已经被占用,如PCMU是0,PCMA是8等待,另一部分是未定义。 而96-127范围是由使用者动态定义的,可以动态用作未定义的音频和视频RTP包类型, 比如H264、VP8、Opus等。RFC3511中定义如下图:
在这里插入图片描述

在这里插入图片描述

二、类型使用说明

常用的固定类型:
0:G711 ulaw,也称为PCMU
8:G711 alaw,也称为PCMA
9:G722

常用的动态类型:
H264: 一般使用96,97,98,99等
telephone-event: 一般使用101
opus: 一般使用102
iLBC:一般使用97

三、关键说明

在这里插入图片描述
在这里插入图片描述

  1. 对于知名类型如0、8等,0表示PCMU, 8表示PCMA,采样频率固定是8000, 因此SDP媒体属性可以没有rtpmap项
  2. 使用96以上的动态类型,SDP媒体属性必须要有rtpmap项,有的还会有fmtp属性。其中rtpmap中的编码名称表示了是哪种编码
  3. 不同终端使用的H264的类型可以不同,有的终端使用96,有的终端使用98。在媒体协商时,要以rtpmap中的名称为准,而不是以数值96或98作为是否是同一媒体编码的依据。如上图中h264使用的是99数值。
    在这里插入图片描述
  4. 96以上的类型虽然是用户自定义使用的,但要注意同一个终端的不同媒体编码不能使用相同的动态类型。比如,h264占用了102,那么opus就不能使用102了,可以使用103等
  5. 96以上的动态编码虽然没有规范,但有的数值也是常用在某一种编码的,比如101常用于telephone-event,因此不要随意占用101
  6. h264编码有不同的分辨率和模式,因此当一个终端支持多种h264编码能力时,一般使用不同的数值代表不同的能力,比如720P使用96, VGA使用97等等
  7. 在网络抓包中,过滤负载类型报文时使用类型数值过滤
    在这里插入图片描述
  8. 主叫终端和被叫终端对于同一编码使用不同的动态类型数值时,比如主叫h264使用96, 被叫h264使用97。 协商后在通话中可能出现一方的RTP使用96,而另一方的RTP使用97的情况,当终端兼容不好时,可能会识别不出h264数据而将其丢弃。当遇到这种情况时,可以将其中一方的h264类型值改为和对端一样来规避
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

浪游东戴河

你就是这个世界的唯一

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值