licode(三):流媒体数据怎么转发

前端时间安装stun服务器,由于公司没有开外网的端口映射,所以没有搭建成功。但是单纯的stun服务器搭建成功了

现在有两个问题:

1)stun服务扮演什么角色?

2)流媒体数据的传输方式

3)erizo-controler的作用?

首先回答问题2),上传一张wireshark的截图

licode(三):流媒体数据怎么转发_第1张图片

在这张图中,10.2.31.80是我搭建的Licode服务器,10.134.244.200是我本地的机器,从图中可以看出,数据直接传到了licode的服务器,应该是erizo的wokrer,我让我其他几位同事可以连接了Licode服务器,截图如下

licode(三):流媒体数据怎么转发_第2张图片

这张图里,可以看到10.2.31.80g给我本机转了多路的rtp数据,

所以可以看到,起码有一条路:流媒体数据是通过erizo服务器中转过来的。

 

那么这个流程是怎样的呢?客户端和服务器直接是怎么相互发现?端口号怎么确定?怎么协商媒体信息?stun服务在这其中扮演什么角色?erizo-controler?nuve?这些交互呢?下面一个一个的探索

首先是stun服务器的发现,通过抓包。发现stun服务器通过http协议有服务器给出:

licode(三):流媒体数据怎么转发_第3张图片

这个好像是通过socket.io来获取信息,那么,服务器的组件中,谁拥有socket.io的能力呢?

???

 

拿到stun服务后,客户端会和服务器连接

licode(三):流媒体数据怎么转发_第4张图片

问题是,为啥80服务也有stun服务?

在向stun服务器询问了自己的端口后,客户端会用这个udp端口,和服务器进行连接传输数据

你可能感兴趣的:(licode)