RTP多路复用还是混合?

时间:2012-07-06 19:07:36

标签: streaming audio-streaming rtp

我正在设计一个我想要使用RTP的实时语音通信系统。这是我的一般要求:

  • 每个用户将一个音频流流式传输到服务器
  • 传入的流可能会有不同的压缩方式,具体取决于来源(SIP中继,Android手机,桌面客户端等)。
  • 用户可以选择他们想要接收的流

如果用户拥有无限的带宽且端口数量有限,我只需让每个端口为服务器打开一个RTP流,用于他们想要接收的每个流。但是,很多用户将通过3G或2G网络,所以我的问题是,如何将流(由用户选择)捆绑到一个RTP流中?

我见过的一个选项是将流复用到一个数据包中,但据我所知,这实际上违反了RFC(但是,有多路复用的工作草案)。

另一个选择是将音频混合到一个数据包中。这是推荐的方法吗?我必须首先将所有选择的流规范化为一种格式。

我对整个VoIP /流媒体事物都很陌生,所以这可能是一个很糟糕的问题。

1 个答案:

答案 0 :(得分:1)

我猜你想要使用tcp以免丢失数据。 你需要在tcp see rfc

上使用rtp

这允许在单个套接字上发送几个rtp流,每个流具有唯一的ID。