跳到主要内容

4. 发送多个媒体流的端点对 RTP 的使用

RTP 本质上是一种组通信协议. RTP 会话中的每个端点都会使用一个或多个 SSRC, 某些类型的 RTP 级中间盒也是如此. 因此, 除非已通过信令对 SSRC 的数量施加了限制, 否则 RTP 端点可以预期在单个 RTP 会话内接收到使用若干不同 SSRC 发送的 RTP 数据包. 无论该 RTP 会话运行在点对点连接上还是组播组上, 这种情况都可能发生, 因为可以使用中间盒将多条传输连接连接成一个 RTP 会话 (RTP 会话由共享的 SSRC 空间定义, 而不是由传输连接定义). 此外, 如果使用了 RTP 混音器, 某些 SSRC 可能只出现在 RTP 包的贡献源 (contributing source, CSRC) 列表和 RTCP 中, 而不会直接作为 RTP 数据包的 SSRC 出现.

每个 RTP 端点都会拥有可用会话带宽的一个分配份额, 该份额由信令和拥塞控制决定. 端点需要使其总媒体发送速率保持在该份额之内. 然而, 发送多个 RTP 流的端点并不一定需要将其可用带宽份额独立地或均匀地再细分给每个 RTP 流及其 SSRC. 特别地, 端点可以根据不同流的需要改变分配给它们的带宽, 并且可以动态改变分配给不同 SSRC 的带宽 (例如通过使用可变速率编解码器), 只要总发送速率不超过其分配份额即可. 这包括随着可用带宽的增减而启用或禁用 RTP 流或其冗余流.