我有一个场景,我们将使用Mac将video内容stream式传输到RTMP服务器。 此RMTP服务提供2个摄取URL,以便您可以两次上传相同的video内容,并在连接出现问题时提供冗余。 但是,两个RTMP摄取URL是相同的,唯一的区别是它们的TCP端口号,例如:
{ "rtmp1": "rtmp://xxx.xxx.com:1935/id1", "rtmp2": "rtmp://xxx.xxx.com:1936/id1" }
我想要做的是以下几点:
我不知道如何通过OS X中的不同networking接口将stream量分stream到同一个主机(但是不同的端口)。我已经find了这些链接( 这里和这里 ),但他们解决了不同的问题。
有谁知道如何在OS X中使用iptables,nat,主机或任何服务组合来实现我正在寻找的这个分割?
UPDATE
经过一番研究,我相信这应该可以用PF来实现。 我已经创build了下面的规则集,并使用此规则加载了pf。 但是,所有stream量都被阻塞,应该允许出站和正确路由的实际rtmpstream量也被阻止。 似乎我有一个语法问题,让PF与我configuration的规则匹配的RTMPstream量:
ext_if1 = "en0" ext_if1_gwt = "192.168.1.1" ext_if2 = "en5" ext_if2_gwt = "192.168.1.1" rtmp_ip = "104.46.55.96" rtmp_port1 = "1935" rtmp_port2 = "1936" pass in on $ext-if1 route-to ($ext_if1 $ext_if1_gwt) proto tcp from any to $rtmp_ip port $rtmp_port1 pass in on $ext-if1 route-to ($ext_if2 $ext_if2_gwt) proto tcp from any to $rtmp_ip port $rtmp_port2 pass in on $ext-if2 route-to ($ext_if1 $ext_if1_gwt) proto tcp from any to $rtmp_ip port $rtmp_port1 pass in on $ext-if2 route-to ($ext_if2 $ext_if2_gwt) proto tcp from any to $rtmp_ip port $rtmp_port2 block out