WebRTC的源码中自带了一个turnserver,编译之后,会在out/Default下生成一个turnserver文件,可以充当STUN和TURN server。用法如下:
./turnserver int_addr ext_addr realm auth_file
int_addr指的是面对turnclient,接收turnclient数据的ip和端口,形式是
host:port
,例如
192.168.1.12:3478
。
ext_addr是公共IP(可能是公网IP,内网使用则可能是相对于NAT的公共IP),例如
192.168.1.12
。
realm是类似
example.com
之类的。
auth_file是认证需要的文本文件。内容是
username=<hash>
这样的数据,一行一个用户。(注意这里的格式和coturn不太一样)
hash值用这个命令生成:
echo -n "<username>:<realm>:<password>" | md5sum
我跑的一个示例是这样的:
关于这些信息,更详细的,可以看源代码,位置:
如果要修改turnserver,想单独编译,在src/out/Default下执行下列命令:
ninja turnserver
参考:
- Ubuntu 14.04下编译WebRTC
- WebRTC学习资料大全