gpt4 book ai didi

java - ip 语音应用程序需要 rtp 吗?

转载 作者:行者123 更新时间:2023-11-30 07:44:17 24 4
gpt4 key购买 nike

我最近读了一些有关 VOIP 的内容,并且似乎大多数成功的 VOIP 应用程序都使用实时协议(protocol)来发送数据。

但是我想知道 VoIP 应用程序是否需要使用 rtp。

为什么它不能与简单的 UDP 一起工作?

使用 rtp 的阅读内容是什么?您是否通过互联网获得了更高的路由优先级(服务质量)?

不使用 rtp 是否能够编写一个合理工作的 voip 应用程序?

最佳答案

首先,当您说为什么我们不能使用 UDP 时,我就假设您在本次讨论中根本没有使用 TCP。

UDP 是包含 x 个字节的数据包。当它到达您的应用程序时,应用程序需要知道其序列号,以避免网络上 UDP 的各种问题(例如重新排序、丢弃、重新传输)。因此UDP数据包中需要有一些字节来保存序列号。然后,当您收到数据包时,应用程序可能需要知道编解码器或有效负载的类型。那么您也想将该信息保存在 udp 数据包中。同样,您需要保存数据包的时间戳,它告诉您相对于第一个数据包的时间戳。您还需要 ssrc、市场位等来在 eack 数据包到达应用程序时理解它。这对于 UDP 非常重要,因为 UDP 是无状态协议(protocol)。因此,为了保存使应用程序能够理解每个数据包的所有必要信息,您需要 RTP header 。是的,RTP 是许多实时通信所基于的方式。

现在回答你的问题:但是我想知道 VoIP 应用程序是否需要使用 rtp。当您的应用程序以数据包而不是流的形式发送数据时,RTP 是必需的。

为什么它不能与简单的 UDP 一起工作?我上面的解释解决了这个问题。

使用 rtp 的阅读内容是什么?您是否通过互联网获得了更高的路由优先级(服务质量)?路由是基于IP层完成的,udp/tcp是传输层协议(protocol)。所以我想一般来说不会,但可能某些服务提供商可能会通过进一步检查数据包来做到这一点。

不使用 rtp 是否能够编写一个合理工作的 voip 应用程序?接收音频/视频流并播放它们,但我不知道如果其中一个连接变慢,您将如何进行口型同步。这完全取决于玩家的播放速度。

关于java - ip 语音应用程序需要 rtp 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34143413/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com