我正在尝试使用Flash和RTMFP协议开发实时视频聊天应用,但我对RTMFP如何确保连接对等方存在疑虑,特别是当对等方位于不同的网络中。
我正在尝试使用Flash和RTMFP协议开发实时视频聊天应用,但我对RTMFP如何确保连接对等方存在疑虑,特别是当对等方位于不同的网络中。
不能保证任何两个客户端的网络/防火墙都兼容RTMFP P2P连接(您可以使用 RTMFP连接测试工具进行诊断),这就是为什么Adobe通过其 LiveCycle协作服务或 Adobe Flash媒体服务器提供备用解决方案,以便将所有网络流量传递到中央中继服务(基本上,两个客户端都可以公开访问该服务器)如果无法建立直接的P2P连接。
Adobe的RTMFP是他们专有的Peer 2 Peer网络汇合服务的捆绑,还提供了一些其他更高级别的P2P网络网状特性。
如果您对更开放的标准P2P协议感兴趣,您应该了解WebRTC。基本上,WebRTC是相同的概念,允许客户端通过UDP连接P2P,但面向被采用为Web浏览器标准,并且可以在各种本机设备(例如Android、iPhone等)上实现。在底层,它使用标准NAT和防火墙穿越技术,使用STUN、ICE、TURN、RTP-over-TCP和代理支持。我认为WebRTC是libjingle P2P Google Talk库中完成的部分工作的标准化。