内网穿透的工作原理

在整个音频共享模块中,UDP内网穿透技术是实现多个不同内网节点之间的UDP音频流互相转发的技术重点。音频对讲过程可分解为音频压缩、发送的输出过程和音频接收、解压、播放的输入过程。而多人音频对讲的过程实际上就是多个节点的系统中,两两节点之间的音频流收发过程。在这里无法直接处理的环节是每个参与音频对讲的节点作为服务器端接收其他节点发送过来的音频流数据的输入过程,因为大部分参与者都没有自己的公网IP,这样的内网节点直接在本地启动一个接收音频流的服务器线程,不在同一内网之内的其他节点无法直接连接到这个服务器。虽然可以通过在每个局域网和公网之间的路由器上添加端口映射将内网服务端口呈现在公网上,但这样做涉及到要修改每个节点对应的路由器配的置以及权限等问题,不是理想可用的实现方法。使用UDP内网穿透技术,可以使一个普通的内网节点在需要时将自己的服务器端口自动的呈现在公网上,并且能够让系统内其他节点正确获取这个音频接收服务器的地址,以便其他节点能够将自己的音频流发送到这个音频接收端口。

发表评论