我试图弄清楚哪个是 RTP 数据包的最大大小。我知道最小 header 大小为 12 个字节,但我没有找到任何有关有效负载的信息。
RTP 数据包的最大大小可能与 UDP 有效负载的最大大小相同吗?我的意思是,我只有一个负载巨大的 RTP 数据包。这是否可能,在这种情况下,对于不这样做的 RTP 数据包有任何推荐的大小吗?
例如我在 RTP 中封装 MP3 帧。我是用 1 个 MP3 帧、2 个还是多少个来制作 RTP 帧?
我希望你能理解我的问题:)
最佳答案
RTP 数据包的最大大小可能与 UDP 有效负载的最大大小相同吗?
RTP 标准没有设置最大大小,因此您可以自由设置。
(巨型数据包通常有其自身的传输问题,但这通常与较低层协议(protocol)有关。)
RTP 数据包的最大大小可能与 UDP 有效负载的最大大小相同吗?我的意思是,我只有一个负载巨大的 RTP 数据包。这是否可能,在这种情况下,对于不这样做的 RTP 数据包有任何推荐的大小吗?
是的,您可以创建一个 1446 字节长的有效负载,并将其放在 MTU 为 1500 字节的网络上的 12 字节 RTP 数据包(1458 字节)中。
当您包含一个 8 字节的 UDP header + 20 字节的 IP header + 14 字节的以太网 header 时,您有 42 字节的开销,这使您达到 1500 字节。
在实践中,如果您通过 Internet 传输此内容,此流量将被封装或跨不同的传输层传输,您可能希望将其保持在 1400 字节以下以确保安全。
例如我在 RTP 中封装 MP3 帧。我是用 1 个 MP3 帧、2 个还是多少个来制作 RTP 帧?
RTP 具有从一个唯一源到一个 RTP 流的一对一映射(除非流被混合/多路复用到一个流中)因此每个 MP3 源都将放入自己的 RTP 流中,每个都有它有自己独特的同步源标识符 (SSRC) 来区分每个流。
有关 RTP 的更多信息,请访问 the RFC 3550 itself , Colin Perkins 有一本很棒的书叫做“RTP: Audio and Video for the Internet”,I'vea fair bit on RTP on my blog我还创建了一个 Python library for creating RTP packets.
关于udp - RTP 数据包最大大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58097580/