我正在测试移动设备之间的音频/视频P2P连接. 学习WebRTC,我注意到NAT遍历(使用STUN服务器)和UDP-hole-punching是使P2P成为可能的关键. 另一方面,我注意到iOS设备上的HLS(HttpLiveStreaming)针对A / V直
学习WebRTC,我注意到NAT遍历(使用STUN服务器)和UDP-hole-punching是使P2P成为可能的关键.
另一方面,我注意到iOS设备上的HLS(HttpLiveStreaming)针对A / V直播流进行了优化,即使使用Android4.x也可以广泛使用(3.x不稳定)
所以,这是我的问题,如果我使用HLS移动P2P:
a)HLS是TCP(HTTP)上的协议而不是UDP,所以不存在性能缺陷吗?
见:TCP vs UDP on video stream
b)NAT遍历怎么样?因为HLS是HTTP(端口:80)会更容易吗?
我读过维基百科http://en.wikipedia.org/wiki/HTTP_Live_Streaming
Since its requests use only standard HTTP transactions, HTTP Live
Streaming is capable of traversing any firewall or proxy server that
lets through standard HTTP traffic, unlike UDP-based protocols such as
RTP. This also allows content to be delivered over widely available
CDNs.
c)Android设备兼容性如何?调用StreamingLive分发有很多问题吗?
谢谢.
防火墙不是HLS的问题的原因是它是一个客户端 – 服务器协议,其中所有请求都通过端口80上的HTTP完成.如果您正在实现P2P应用程序,您将无法将其附加到下面的端口除非您拥有root权限,否则为1024.这意味着通过HLS(端口80)交换数据将不适用于P2P.除非您在中间有翻译服务器,否则会破坏P2P的目的.