2012-02-14 98 views
0

我有两个端点,只能通过外部中继/代理进行通信的防火墙。通过代理实时视频流

我打算将视频帧从一个端点传输到另一个端点的中继。帧是否丢失并不重要 - 主要要求是延迟尽可能低。帧顺序也相当重要。

哪一个最适合这个,UDP或TCP?如果我使用UDP,需要做些什么额外的考虑?是否还有其他更适合我使用的协议/库?我正在从Java这样做。

+0

我不认为RTP是在IP广播。 RTP流使用IP组播服务(通常是UDP组播),它通常分为两个不同的组播组:一个用于视频块,另一个用于音频块。但是,通常用户将看到两个会话名称。该会话由RTCP控制端口处理,该端口可以是IP单播或IP多播。考虑到这一点,RTP是IP单播和IP多播的组合。如果RTCP控制端口被强制为IP组播,现在一切都在IP组播中;我们仍然需要管理2个组播组(视频和音频)。代理需要查看这个。 – ecle 2012-02-14 13:59:50

+0

关于如何处理[RFC1889 - RTP:实时应用程序的传输协议]中的防火墙,请参阅标题** 2.3混音器和译码器(http://www.ietf.org/rfc/rfc1889.txt) 。译码器可以在防火墙点将IP多播转换为IP单播。 – ecle 2012-02-14 14:05:18

+0

[IP multicast]上的主题(http://technet.microsoft.com/zh-cn/library/bb726985.aspx) – ecle 2012-02-14 14:11:07

回答

1

从你的描述(帧顺序不重要,有些帧可以丢弃) - UDP(或基于UDP的协议)是理想的候选。这里的some有关各种协议的信息,可用于流传输实时视频