对多个流媒体和单个接收器使用 RTP 协议是否有意义?



我正在学习并尝试使用RTP/RTCP协议。我的情况是,有 1 到 n 个主播和 1 个(如果需要,可能为 1 到 m(接收器,但在某种程度上,流媒体本身并不了解彼此(由于技术原因,他们不能直接由于技术原因,例如不同的网络、有限的带宽等......所以它更像是多个单播会话,但接收方实际上都知道它们,从所有这些会话中收集数据,只是发送方彼此不知道。

现在阅读有关该协议的信息,在我看来,其中很大一部分与发送一些反馈、碰撞检测等有关。所以我怀疑,RTP真的适用于这种情况吗?是否已经在某处以这种方式使用?

在我看来,收集有关 RTP 提供的数据传输的统计数据(发送的数据、丢失、时间等(仍然是有益的,只是感觉大部分协议都被遗漏了......

另外我还有一个问题,通过各种RTP库,它们都假设发送方也会打开接收RTP/RTCP数据的端口,RTP是否禁止使用单向通信?我的意思是只流式传输数据的应用程序,不期望收到任何返回。库(例如 ccRTP(似乎只假设双向通信......

RTCP是提供统计信息的协议。流接收器(客户端(将通过 RTCP 将统计信息发送给发送方(服务器(。我不相信客户端会从服务器获得任何统计报告。

单个客户端从不同的服务器接收多个单播会话并没有错。

RTP 在设置过程中需要双向通信。设置完成并发送播放cmd后,它主要是单向的。例外情况是必须定期(通常每 60 秒左右(发送到服务器的"保持活动状态"数据包以保持流的运行。确切的超时值将在设置过程中发送到客户端。

但是,如果您实现了自己的 RTP,则没有什么可以阻止您让服务器在客户端没有任何反馈的情况下连续发送流。基本上,它将实现无限的超时值。

您可以阅读规范中的所有详细信息: RTP:实时应用的传输协议

最新更新