【问题标题】:Using SDP media type application with RTP/AVP (m=application <Port #> RTP/AVP <Payload>)使用带有 RTP/AVP 的 SDP 媒体类型应用程序(m=application <Port #> RTP/AVP <Payload>)
【发布时间】:2018-06-09 11:42:24
【问题描述】:

我正在尝试熟悉 SIP SDP 的结构。这是我的 Tandberg VC 部门的 SDP 示例。

v=0
o=tandberg 1 3 IN IP4 192.168.1.94
s=-
c=IN IP4 192.168.1.94
b=AS:768
t=0 0
m=audio 47032 RTP/AVP 97 98 99 100 101 9 15 8 0 102
b=TIAS:64000
a=rtpmap:97 MP4A-LATM/90000
a=fmtp:97 profile-level-id=24;object=23;bitrate=64000
a=rtpmap:98 MP4A-LATM/90000
a=fmtp:98 profile-level-id=24;object=23;bitrate=56000
a=rtpmap:99 MP4A-LATM/90000
a=fmtp:99 profile-level-id=24;object=23;bitrate=48000
a=rtpmap:100 G7221/16000
a=fmtp:100 bitrate=32000
a=rtpmap:101 G7221/16000
a=fmtp:101 bitrate=24000
a=rtpmap:9 G722/8000
a=rtpmap:15 G728/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:0 PCMU/8000
a=rtpmap:102 telephone-event/8000
a=fmtp:102 0-15
m=video 47034 RTP/AVP 122 121 120 34 31
b=TIAS:768000
a=rtpmap:122 H264-RCDO/90000
a=fmtp:122 profile-level-id=008016;max-mbps=42000;max-fs=3600;max-smbps=323500
a=rtpmap:121 H264/90000
a=fmtp:121 profile-level-id=428016;max-mbps=35000;max-fs=3600;max-smbps=323500
a=rtpmap:120 H263-1998/90000
"a=fmtp:120 custom=1280,720,3;custom=1024,768,4;custom=1024,576,2;custom=800,600,3;cif4=2;custom=720,480,2;custom=640,480,2;
custom=512,288,1;cif=1;custom=352,240,1;qcif=1;sqcif=1;maxbr=7680"
a=rtpmap:34 H263/90000
a=fmtp:34 cif4=2;cif=1;qcif=1;sqcif=1;maxbr=7680
a=rtpmap:31 H261/90000
a=fmtp:31 cif=1;qcif=1;maxbr=7680
a=rtcp-fb:* nack pli
a=content:main
a=label:11
a=answer:full
m=application 5071 UDP/BFCP *
a=floorctrl:c-s
a=confid:1
a=floorid:2 mstrm:12
a=userid:1
a=setup:passive
a=connection:new
m=video 47036 RTP/AVP 120 34 31
b=TIAS:768000
a=rtpmap:120 H263-1998/90000
"a=fmtp:120 custom=1280,720,3;custom=1024,768,4;custom=1024,576,2;custom=800,600,3;cif4=2;custom=720,480,2;custom=640,480,2;custom=512,
288,1;cif=1;custom=352,240,1;qcif=1;sqcif=1;maxbr=7680"
a=rtpmap:34 H263/90000
a=fmtp:34 cif4=2;cif=1;qcif=1;sqcif=1;maxbr=7680
a=rtpmap:31 H261/90000
a=fmtp:31 cif=1;qcif=1;maxbr=7680
a=rtcp-fb:* nack pli
a=content:slides
a=label:12
m=application 47038 RTP/AVP 103
a=rtpmap:103 H224/4800

所以我的理解是 RTP/AVP 协议只能用于媒体类型的音频或视频。考虑到这一点,我不明白最后两行:

m=application 47038 RTP/AVP 103
a=rtpmap:103 H224/4800

对它们的含义有什么想法吗?

【问题讨论】:

    标签: sip freeswitch sdp


    【解决方案1】:

    所以我的理解是RTP/AVP协议只能用于媒体类型的音频或视频。

    没有这样的限制,RFC4566 声明

    是媒体类型。当前定义的媒体是“音频”, “video”、“text”、“application”和“message”,虽然这个列表 将来可能会扩展(参见第 8 节)。

    应用程序特定的消息也可以通过 RTP 发送,在您的情况下是

    m=应用程序 47038 RTP/AVP 103

    a=rtpmap:103 H224/4800

    行引用RFC4573,这是一种用于远程摄像机控制的有效载荷格式。

    【讨论】:

      【解决方案2】:

      您使用 SDP 在两个对等方之间协商会话。一个会话可能包含多个媒体行。如果我们想在内部使用音频和视频(=视频通话),我们需要两条媒体线。基于RFC4566,媒体行被描述为:

      m= 媒体端口原型 fmt ...

      媒体可以在哪里:

      是媒体类型。当前定义的媒体是“音频”, “视频”、“文本”、“应用程序”和“消息”,

      所以在我们的例子中,我们需要两条媒体线路,一条用于音频,一条用于视频。每个媒体行描述传输协议端口(例如用于音频的 UDP),例如应接收音频。

      因此,在您的示例中,SDP 消息的发送者希望在端口 47038 上接收数据包。此外,我们通过 RTP 传输信息。 AVP 代表音频视频配置文件(请参阅Wikipedia)。在 RTP 中,我们有一系列预定义的编解码器编号,例如数字 0 代表 PCM U 律。在您的情况下,您正在使用多个动态范围-> 我的想法是我应该能够在 RTP 中扩展编解码器映射。因此 RTP 定义了一个动态编解码器编号范围(= 96 -127)。 我们使用动态编解码器,这个编解码器必须更详细地描述。这就是媒体行下方的a=-line(属性行)的工作。

      RFC 4566:

      属性是扩展 SDP 的主要手段。属性可能 被定义为用作“会话级”属性,“媒体级” 属性,或两者兼而有之。

      媒体描述可以有任意数量的属性(“a=”字段) 这是特定于媒体的。这些被称为“媒体级别” 属性并添加有关媒体流的信息。属性 也可以在第一个媒体字段之前添加字段;这些 “会话级”属性传达适用的附加信息 对整个会议而不是对个别媒体。

      所以你a=-line 描述了上面的媒体行使用 H224 编解码器进行 RTP,其中 RTP 中的有效载荷类型编号设置为 103。我猜4800 代表编解码器的采样率。

      希望对您有所帮助。

      【讨论】:

        猜你喜欢
        • 2011-11-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-05-23
        • 2014-09-27
        • 2023-03-23
        • 1970-01-01
        • 2017-08-11
        相关资源
        最近更新 更多